@siemens/ix 5.1.0 → 5.2.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 (941) hide show
  1. package/READMEOSS.html +1 -1
  2. package/components/index.js +1 -1
  3. package/components/ix-action-card.js +1 -1
  4. package/components/ix-application-header.js +1 -1
  5. package/components/ix-application-switch-modal.js +1 -1
  6. package/components/ix-application.js +1 -1
  7. package/components/ix-avatar.js +1 -1
  8. package/components/ix-badge.d.ts +11 -0
  9. package/components/ix-badge.js +1 -0
  10. package/components/ix-blind.js +1 -1
  11. package/components/ix-breadcrumb-item.js +1 -1
  12. package/components/ix-breadcrumb.js +1 -1
  13. package/components/ix-button.js +1 -1
  14. package/components/ix-card-accordion.js +1 -1
  15. package/components/ix-card-content.js +1 -1
  16. package/components/ix-card-list.js +1 -1
  17. package/components/ix-card-title.js +1 -1
  18. package/components/ix-card.js +1 -1
  19. package/components/ix-category-filter.js +1 -1
  20. package/components/ix-chat-ai-message.d.ts +11 -0
  21. package/components/ix-chat-ai-message.js +1 -0
  22. package/components/ix-chat-attachment.d.ts +11 -0
  23. package/components/ix-chat-attachment.js +1 -0
  24. package/components/ix-chat-input.d.ts +11 -0
  25. package/components/ix-chat-input.js +1 -0
  26. package/components/ix-chat-user-message.d.ts +11 -0
  27. package/components/ix-chat-user-message.js +1 -0
  28. package/components/ix-chat.d.ts +11 -0
  29. package/components/ix-chat.js +1 -0
  30. package/components/ix-checkbox-group.js +1 -1
  31. package/components/ix-checkbox.js +1 -1
  32. package/components/ix-chip.js +1 -1
  33. package/components/ix-col.js +1 -1
  34. package/components/ix-content-header.js +1 -1
  35. package/components/ix-content.js +1 -1
  36. package/components/ix-css-grid-item.js +1 -1
  37. package/components/ix-css-grid.js +1 -1
  38. package/components/ix-custom-field.js +1 -1
  39. package/components/ix-date-dropdown.js +1 -1
  40. package/components/ix-date-input.js +1 -1
  41. package/components/ix-date-picker.js +1 -1
  42. package/components/ix-date-time-card.js +1 -1
  43. package/components/ix-datetime-input.js +1 -1
  44. package/components/ix-datetime-picker.js +1 -1
  45. package/components/ix-divider.js +1 -1
  46. package/components/ix-dropdown-button.js +1 -1
  47. package/components/ix-dropdown-header.js +1 -1
  48. package/components/ix-dropdown-item.js +1 -1
  49. package/components/ix-dropdown-quick-actions.js +1 -1
  50. package/components/ix-dropdown.js +1 -1
  51. package/components/ix-empty-state.js +1 -1
  52. package/components/ix-event-list-item.js +1 -1
  53. package/components/ix-event-list.js +1 -1
  54. package/components/ix-expanding-search.js +1 -1
  55. package/components/ix-field-label.js +1 -1
  56. package/components/ix-field-wrapper.js +1 -1
  57. package/components/ix-filter-chip.js +1 -1
  58. package/components/ix-flip-tile-content.js +1 -1
  59. package/components/ix-flip-tile.js +1 -1
  60. package/components/ix-group-context-menu.js +1 -1
  61. package/components/ix-group-item.js +1 -1
  62. package/components/ix-group.js +1 -1
  63. package/components/ix-helper-text.js +1 -1
  64. package/components/ix-icon-button.js +1 -1
  65. package/components/ix-icon-toggle-button.js +1 -1
  66. package/components/ix-input.js +1 -1
  67. package/components/ix-key-value-list.js +1 -1
  68. package/components/ix-key-value.js +1 -1
  69. package/components/ix-kpi.js +1 -1
  70. package/components/ix-layout-auto.js +1 -1
  71. package/components/ix-layout-grid.js +1 -1
  72. package/components/ix-link-button.js +1 -1
  73. package/components/ix-menu-about-item.js +1 -1
  74. package/components/ix-menu-about-news.js +1 -1
  75. package/components/ix-menu-about.js +1 -1
  76. package/components/ix-menu-avatar-item.js +1 -1
  77. package/components/ix-menu-avatar.js +1 -1
  78. package/components/ix-menu-category.js +1 -1
  79. package/components/ix-menu-expand-icon.js +1 -1
  80. package/components/ix-menu-item.js +1 -1
  81. package/components/ix-menu-settings-item.js +1 -1
  82. package/components/ix-menu-settings.js +1 -1
  83. package/components/ix-menu.js +1 -1
  84. package/components/ix-message-bar.js +1 -1
  85. package/components/ix-modal-content.js +1 -1
  86. package/components/ix-modal-footer.js +1 -1
  87. package/components/ix-modal-header.js +1 -1
  88. package/components/ix-modal-loading.js +1 -1
  89. package/components/ix-modal.js +1 -1
  90. package/components/ix-number-input.js +1 -1
  91. package/components/ix-pagination.js +1 -1
  92. package/components/ix-pane-layout.js +1 -1
  93. package/components/ix-pane.js +1 -1
  94. package/components/ix-pill.js +1 -1
  95. package/components/ix-popover-content.js +1 -1
  96. package/components/ix-popover-footer.js +1 -1
  97. package/components/ix-popover-header.js +1 -1
  98. package/components/ix-popover-image.js +1 -1
  99. package/components/ix-popover.js +1 -1
  100. package/components/ix-progress-indicator.js +1 -1
  101. package/components/ix-push-card.js +1 -1
  102. package/components/ix-radio-group.js +1 -1
  103. package/components/ix-radio.js +1 -1
  104. package/components/ix-range-field.js +1 -1
  105. package/components/ix-row.js +1 -1
  106. package/components/ix-select-item.js +1 -1
  107. package/components/ix-select.js +1 -1
  108. package/components/ix-slider.js +1 -1
  109. package/components/ix-spinner.js +1 -1
  110. package/components/ix-split-button.js +1 -1
  111. package/components/ix-tab-item.js +1 -1
  112. package/components/ix-tab-panel.js +1 -1
  113. package/components/ix-tab-set.js +1 -1
  114. package/components/ix-tabs.js +1 -1
  115. package/components/ix-textarea.js +1 -1
  116. package/components/ix-tile.js +1 -1
  117. package/components/ix-time-input.js +1 -1
  118. package/components/ix-time-picker.js +1 -1
  119. package/components/ix-toast-container.js +1 -1
  120. package/components/ix-toast.js +1 -1
  121. package/components/ix-toggle-button.js +1 -1
  122. package/components/ix-toggle.js +1 -1
  123. package/components/ix-tooltip.js +1 -1
  124. package/components/ix-tree-item.js +1 -1
  125. package/components/ix-tree.js +1 -1
  126. package/components/ix-typography.js +1 -1
  127. package/components/ix-upload.js +1 -1
  128. package/components/ix-workflow-step.js +1 -1
  129. package/components/ix-workflow-steps.js +1 -1
  130. package/components/p-1FBWW6v2.js +1 -0
  131. package/components/p-3U_cSqu_.js +1 -0
  132. package/components/p-4ZsT_zIm.js +1 -0
  133. package/components/{p-CrLxhwo2.js → p-BC2PyjjU.js} +1 -1
  134. package/{dist/siemens-ix/p-wfVRhTWc.js → components/p-BDnx22Gp.js} +1 -1
  135. package/components/{p-DtOqKp7K.js → p-BGOtCwtj.js} +1 -1
  136. package/components/{p-CuFZ7CXu.js → p-BHjmN8zz.js} +1 -1
  137. package/components/p-BHoJOFM-.js +1 -0
  138. package/components/p-BHtNsBtM.js +1 -0
  139. package/components/p-BQ-hS49k.js +1 -0
  140. package/components/p-BTBxxgtF.js +1 -0
  141. package/components/{p-CT5pAQCz.js → p-BcbFeRB0.js} +1 -1
  142. package/components/p-BmZGQGZi.js +1 -0
  143. package/components/p-Bs5X90wM.js +1 -0
  144. package/components/p-C02EaF8C.js +1 -0
  145. package/components/p-CEE0wwD3.js +1 -0
  146. package/components/p-CLDB-pmj.js +1 -0
  147. package/components/p-CRtj-KBq.js +1 -0
  148. package/components/p-CTRSoM-z.js +1 -0
  149. package/components/p-CUpOF7jN.js +1 -0
  150. package/components/{p-GGleop6j.js → p-C_K74Xlt.js} +1 -1
  151. package/components/{p-CGHbrmJg.js → p-CatmTvkh.js} +1 -1
  152. package/components/{p-Dfd_ifAu.js → p-CgPr717U.js} +1 -1
  153. package/components/p-CtZAuwv3.js +1 -0
  154. package/components/p-Ctb1EExj.js +1 -0
  155. package/components/p-CvAmaEU2.js +1 -0
  156. package/components/p-Cxwq4WaV.js +1 -0
  157. package/components/p-D6O-bCyA.js +1 -0
  158. package/components/{p-BBCsPlPH.js → p-D7qfGAJ7.js} +1 -1
  159. package/components/p-D7sEY2UQ.js +1 -0
  160. package/components/{p-DtmgZu-S.js → p-DWOjSq8j.js} +1 -1
  161. package/components/p-D_HzQCU-.js +1 -0
  162. package/components/p-DdlGyKd2.js +1 -0
  163. package/components/p-DiYkfhDE.js +1 -0
  164. package/components/p-DmtgI24u.js +1 -0
  165. package/components/p-DpvAVNqZ.js +1 -0
  166. package/components/p-DsVj4Cd-.js +1 -0
  167. package/components/{p-BuBQiemL.js → p-DtWFUcZO.js} +1 -1
  168. package/components/p-DylHkzl6.js +1 -0
  169. package/components/p-NXyac9kC.js +1 -0
  170. package/components/p-OxstEnSC.js +1 -0
  171. package/components/{p-BNAvpXSk.js → p-R5tYZVVd.js} +1 -1
  172. package/components/{p-Czy7a3I4.js → p-WisOWbJ8.js} +1 -1
  173. package/components/{p-DhWkcMmR.js → p-YFmbQndr.js} +1 -1
  174. package/components/p-eGuQ8D3W.js +1 -0
  175. package/components/{p-CtDOTMOT.js → p-eN5fQtqO.js} +1 -1
  176. package/components/p-ePylRxs_.js +1 -0
  177. package/components/p-hf_zqlB1.js +1 -0
  178. package/components/p-l9UTiHpM.js +1 -0
  179. package/components/{p-CIA8i4dm.js → p-snX1FfdL.js} +1 -1
  180. package/components/p-tpMN9yTQ.js +1 -0
  181. package/components/p-v9vlPlkd.js +1 -0
  182. package/dist/cjs/chip.types-BD73fAij.js +22 -0
  183. package/dist/cjs/{helper-text-util-BkHm7ofh.js → helper-text-util-Ci_KFQZ4.js} +1 -1
  184. package/dist/cjs/{index-CwJ-mkQd.js → index-BQht1mLe.js} +20 -0
  185. package/dist/cjs/index-DnclGKUw.js +28 -4
  186. package/dist/cjs/index.cjs.js +1 -1
  187. package/dist/cjs/{input.fc-DM-hX3xb.js → input.fc-xGzM_I6q.js} +1 -1
  188. package/dist/cjs/ix-action-card.cjs.entry.js +3 -3
  189. package/dist/cjs/ix-application-header.cjs.entry.js +11 -11
  190. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
  191. package/dist/cjs/ix-application.cjs.entry.js +4 -4
  192. package/dist/cjs/ix-avatar_2.cjs.entry.js +3 -3
  193. package/dist/cjs/ix-badge.cjs.entry.js +716 -0
  194. package/dist/cjs/ix-blind.cjs.entry.js +7 -7
  195. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  196. package/dist/cjs/ix-breadcrumb.cjs.entry.js +4 -4
  197. package/dist/cjs/ix-button.cjs.entry.js +3 -3
  198. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +7 -7
  199. package/dist/cjs/ix-card-list.cjs.entry.js +63 -10
  200. package/dist/cjs/ix-card_2.cjs.entry.js +5 -5
  201. package/dist/cjs/ix-category-filter.cjs.entry.js +5 -5
  202. package/dist/cjs/ix-chat-ai-message.cjs.entry.js +35 -0
  203. package/dist/cjs/ix-chat-attachment.cjs.entry.js +110 -0
  204. package/dist/cjs/ix-chat-input.cjs.entry.js +406 -0
  205. package/dist/cjs/ix-chat-user-message.cjs.entry.js +66 -0
  206. package/dist/cjs/ix-chat.cjs.entry.js +28 -0
  207. package/dist/cjs/ix-checkbox-group.cjs.entry.js +3 -3
  208. package/dist/cjs/ix-checkbox.cjs.entry.js +5 -5
  209. package/dist/cjs/ix-chip.cjs.entry.js +10 -29
  210. package/dist/cjs/ix-col_4.cjs.entry.js +12 -12
  211. package/dist/cjs/ix-content-header.cjs.entry.js +4 -4
  212. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  213. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  214. package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
  215. package/dist/cjs/ix-custom-field.cjs.entry.js +2 -2
  216. package/dist/cjs/ix-date-dropdown.cjs.entry.js +7 -7
  217. package/dist/cjs/ix-date-input.cjs.entry.js +7 -7
  218. package/dist/cjs/ix-date-picker.cjs.entry.js +9 -9
  219. package/dist/cjs/ix-date-time-card.cjs.entry.js +3 -3
  220. package/dist/cjs/ix-datetime-input.cjs.entry.js +7 -7
  221. package/dist/cjs/ix-datetime-picker.cjs.entry.js +4 -4
  222. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  223. package/dist/cjs/ix-dropdown-button.cjs.entry.js +6 -6
  224. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  225. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  226. package/dist/cjs/ix-dropdown_2.cjs.entry.js +7 -7
  227. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  228. package/dist/cjs/ix-event-list-item.cjs.entry.js +6 -6
  229. package/dist/cjs/ix-event-list.cjs.entry.js +8 -5
  230. package/dist/cjs/ix-expanding-search.cjs.entry.js +6 -6
  231. package/dist/cjs/ix-field-label_2.cjs.entry.js +7 -7
  232. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +6 -6
  233. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  234. package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
  235. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +3 -3
  236. package/dist/cjs/ix-group.cjs.entry.js +9 -9
  237. package/dist/cjs/ix-helper-text.cjs.entry.js +4 -4
  238. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  239. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +3 -3
  240. package/dist/cjs/ix-input.cjs.entry.js +8 -8
  241. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  242. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  243. package/dist/cjs/ix-kpi.cjs.entry.js +5 -5
  244. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  245. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  246. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  247. package/dist/cjs/ix-menu-about-news.cjs.entry.js +6 -6
  248. package/dist/cjs/ix-menu-about.cjs.entry.js +4 -4
  249. package/dist/cjs/ix-menu-avatar.cjs.entry.js +4 -4
  250. package/dist/cjs/ix-menu-category.cjs.entry.js +12 -9
  251. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +3 -3
  252. package/dist/cjs/ix-menu-item.cjs.entry.js +5 -5
  253. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  254. package/dist/cjs/ix-menu-settings.cjs.entry.js +4 -4
  255. package/dist/cjs/ix-menu.cjs.entry.js +14 -14
  256. package/dist/cjs/ix-message-bar.cjs.entry.js +3 -3
  257. package/dist/cjs/ix-modal-content_2.cjs.entry.js +5 -5
  258. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  259. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  260. package/dist/cjs/ix-modal.cjs.entry.js +3 -3
  261. package/dist/cjs/ix-number-input.cjs.entry.js +9 -9
  262. package/dist/cjs/ix-pagination.cjs.entry.js +4 -4
  263. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
  264. package/dist/cjs/ix-pane.cjs.entry.js +9 -9
  265. package/dist/cjs/ix-pill_4.cjs.entry.js +20 -20
  266. package/dist/cjs/ix-popover-content.cjs.entry.js +2 -2
  267. package/dist/cjs/ix-popover-footer.cjs.entry.js +2 -2
  268. package/dist/cjs/ix-popover-header.cjs.entry.js +3 -3
  269. package/dist/cjs/ix-popover-image.cjs.entry.js +1 -1
  270. package/dist/cjs/ix-popover.cjs.entry.js +1 -1
  271. package/dist/cjs/ix-progress-indicator.cjs.entry.js +4 -4
  272. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  273. package/dist/cjs/ix-radio-group.cjs.entry.js +3 -3
  274. package/dist/cjs/ix-radio.cjs.entry.js +5 -5
  275. package/dist/cjs/ix-range-field.cjs.entry.js +4 -4
  276. package/dist/cjs/ix-select.cjs.entry.js +17 -14
  277. package/dist/cjs/ix-slider.cjs.entry.js +8 -8
  278. package/dist/cjs/ix-split-button.cjs.entry.js +3 -3
  279. package/dist/cjs/ix-tab-panel.cjs.entry.js +2 -2
  280. package/dist/cjs/ix-textarea.cjs.entry.js +5 -5
  281. package/dist/cjs/ix-tile.cjs.entry.js +5 -5
  282. package/dist/cjs/ix-time-input.cjs.entry.js +7 -7
  283. package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
  284. package/dist/cjs/ix-toast.cjs.entry.js +4 -4
  285. package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
  286. package/dist/cjs/ix-toggle.cjs.entry.js +5 -5
  287. package/dist/cjs/ix-tooltip.cjs.entry.js +1 -1
  288. package/dist/cjs/ix-tree-item.cjs.entry.js +6 -6
  289. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  290. package/dist/cjs/ix-typography.cjs.entry.js +2 -2
  291. package/dist/cjs/ix-upload.cjs.entry.js +5 -5
  292. package/dist/cjs/ix-workflow-step.cjs.entry.js +5 -5
  293. package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
  294. package/dist/cjs/loader.cjs.js +1 -1
  295. package/dist/cjs/siemens-ix.cjs.js +1 -1
  296. package/dist/cjs/{validation-DJaUH-UR.js → validation-B1izlD8M.js} +59 -3
  297. package/dist/collection/collection-manifest.json +6 -0
  298. package/dist/collection/components/action-card/action-card.css +11 -11
  299. package/dist/collection/components/action-card/action-card.js +3 -3
  300. package/dist/collection/components/application/application.css +11 -11
  301. package/dist/collection/components/application/application.js +10 -3
  302. package/dist/collection/components/application-header/application-header.css +11 -11
  303. package/dist/collection/components/application-header/application-header.js +10 -9
  304. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.css +11 -11
  305. package/dist/collection/components/avatar/avatar.css +19 -11
  306. package/dist/collection/components/avatar/avatar.js +3 -0
  307. package/dist/collection/components/badge/badge.css +622 -0
  308. package/dist/collection/components/badge/badge.js +815 -0
  309. package/dist/collection/components/badge/badge.status-icon.js +65 -0
  310. package/dist/collection/components/badge/badge.types.js +24 -0
  311. package/dist/collection/components/badge/badge.utils.js +57 -0
  312. package/dist/collection/components/badge/test/badge.page.js +190 -0
  313. package/dist/collection/components/blind/blind.css +119 -15
  314. package/dist/collection/components/blind/blind.js +10 -5
  315. package/dist/collection/components/breadcrumb/breadcrumb.css +11 -11
  316. package/dist/collection/components/breadcrumb/breadcrumb.js +5 -2
  317. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +52 -44
  318. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +3 -0
  319. package/dist/collection/components/button/button.css +30 -22
  320. package/dist/collection/components/button/button.js +5 -2
  321. package/dist/collection/components/card/card.css +11 -11
  322. package/dist/collection/components/card/card.js +6 -2
  323. package/dist/collection/components/card-accordion/card-accordion.css +61 -44
  324. package/dist/collection/components/card-accordion/card-accordion.js +7 -4
  325. package/dist/collection/components/card-content/card-content.css +11 -11
  326. package/dist/collection/components/card-content/card-content.js +4 -1
  327. package/dist/collection/components/card-list/card-list.css +23 -11
  328. package/dist/collection/components/card-list/card-list.js +70 -10
  329. package/dist/collection/components/card-title/card-title.js +2 -1
  330. package/dist/collection/components/category-filter/category-filter.css +41 -33
  331. package/dist/collection/components/category-filter/category-filter.js +3 -3
  332. package/dist/collection/components/chat/chat.css +114 -0
  333. package/dist/collection/components/chat/chat.js +47 -0
  334. package/dist/collection/components/chat-ai-message/chat-ai-message.css +139 -0
  335. package/dist/collection/components/chat-ai-message/chat-ai-message.js +56 -0
  336. package/dist/collection/components/chat-attachment/chat-attachment.css +135 -0
  337. package/dist/collection/components/chat-attachment/chat-attachment.js +284 -0
  338. package/dist/collection/components/chat-attachment/chat-attachment.types.js +1 -0
  339. package/dist/collection/components/chat-input/chat-input.css +323 -0
  340. package/dist/collection/components/chat-input/chat-input.js +878 -0
  341. package/dist/collection/components/chat-user-message/chat-user-message.css +145 -0
  342. package/dist/collection/components/chat-user-message/chat-user-message.js +112 -0
  343. package/dist/collection/components/checkbox/checkbox.css +11 -11
  344. package/dist/collection/components/checkbox/checkbox.js +4 -3
  345. package/dist/collection/components/checkbox-group/checkbox-group.js +3 -2
  346. package/dist/collection/components/chip/chip.css +28 -19
  347. package/dist/collection/components/chip/chip.js +10 -8
  348. package/dist/collection/components/col/col.css +11 -11
  349. package/dist/collection/components/col/col.js +5 -2
  350. package/dist/collection/components/content/content.css +11 -11
  351. package/dist/collection/components/content/content.js +4 -3
  352. package/dist/collection/components/content-header/content-header.js +4 -4
  353. package/dist/collection/components/css-grid/css-grid-item.js +2 -1
  354. package/dist/collection/components/css-grid/css-grid.js +2 -1
  355. package/dist/collection/components/custom-field/custom-field.js +4 -1
  356. package/dist/collection/components/date-dropdown/date-dropdown.css +30 -22
  357. package/dist/collection/components/date-dropdown/date-dropdown.js +5 -5
  358. package/dist/collection/components/date-input/date-input.css +23 -22
  359. package/dist/collection/components/date-input/date-input.js +3 -3
  360. package/dist/collection/components/date-picker/date-picker.css +19 -11
  361. package/dist/collection/components/date-picker/date-picker.js +7 -7
  362. package/dist/collection/components/date-time-card/date-time-card.css +11 -11
  363. package/dist/collection/components/date-time-card/date-time-card.js +2 -2
  364. package/dist/collection/components/datetime-input/datetime-input.css +23 -22
  365. package/dist/collection/components/datetime-input/datetime-input.js +3 -3
  366. package/dist/collection/components/datetime-picker/datetime-picker.css +11 -11
  367. package/dist/collection/components/datetime-picker/datetime-picker.js +3 -3
  368. package/dist/collection/components/divider/divider.js +1 -1
  369. package/dist/collection/components/dropdown/dropdown.css +11 -11
  370. package/dist/collection/components/dropdown/dropdown.js +4 -1
  371. package/dist/collection/components/dropdown-button/dropdown-button.css +326 -34
  372. package/dist/collection/components/dropdown-button/dropdown-button.js +8 -4
  373. package/dist/collection/components/dropdown-header/dropdown-header.css +11 -11
  374. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  375. package/dist/collection/components/dropdown-item/dropdown-item.css +12 -12
  376. package/dist/collection/components/dropdown-item/dropdown-item.js +6 -3
  377. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +4 -1
  378. package/dist/collection/components/empty-state/empty-state.css +11 -11
  379. package/dist/collection/components/empty-state/empty-state.js +1 -1
  380. package/dist/collection/components/event-list/event-list.css +11 -11
  381. package/dist/collection/components/event-list/event-list.js +10 -4
  382. package/dist/collection/components/event-list-item/event-list-item.css +11 -11
  383. package/dist/collection/components/event-list-item/event-list-item.js +7 -4
  384. package/dist/collection/components/expanding-search/expanding-search.css +11 -11
  385. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  386. package/dist/collection/components/field-label/field-label.js +5 -2
  387. package/dist/collection/components/field-wrapper/field-wrapper.js +2 -2
  388. package/dist/collection/components/filter-chip/filter-chip.css +11 -11
  389. package/dist/collection/components/filter-chip/filter-chip.js +5 -2
  390. package/dist/collection/components/flip-tile/flip-tile.css +11 -11
  391. package/dist/collection/components/flip-tile/flip-tile.js +8 -3
  392. package/dist/collection/components/flip-tile-content/flip-tile-content.js +4 -1
  393. package/dist/collection/components/group/group-context-menu.js +4 -1
  394. package/dist/collection/components/group/group.js +14 -8
  395. package/dist/collection/components/group-item/group-item.css +11 -11
  396. package/dist/collection/components/group-item/group-item.js +3 -0
  397. package/dist/collection/components/helper-text/helper-text.js +1 -1
  398. package/dist/collection/components/icon-button/icon-button.css +49 -39
  399. package/dist/collection/components/icon-button/icon-button.js +2 -2
  400. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +49 -39
  401. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +2 -2
  402. package/dist/collection/components/input/input.css +12 -11
  403. package/dist/collection/components/input/input.js +4 -4
  404. package/dist/collection/components/input/number-input.css +12 -11
  405. package/dist/collection/components/input/number-input.js +5 -5
  406. package/dist/collection/components/input/textarea.css +12 -11
  407. package/dist/collection/components/input/textarea.js +2 -2
  408. package/dist/collection/components/ix-playground/ix-playground.js +1 -1
  409. package/dist/collection/components/key-value/key-value.js +1 -1
  410. package/dist/collection/components/key-value-list/key-value-list.js +4 -1
  411. package/dist/collection/components/kpi/kpi.css +11 -11
  412. package/dist/collection/components/kpi/kpi.js +3 -3
  413. package/dist/collection/components/layout-auto/layout-auto.js +4 -1
  414. package/dist/collection/components/layout-grid/layout-grid.js +5 -2
  415. package/dist/collection/components/link-button/link-button.js +6 -3
  416. package/dist/collection/components/menu/menu-expand-icon.css +30 -22
  417. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  418. package/dist/collection/components/menu/menu.css +11 -11
  419. package/dist/collection/components/menu/menu.js +20 -12
  420. package/dist/collection/components/menu-about/menu-about.css +11 -11
  421. package/dist/collection/components/menu-about/menu-about.js +5 -2
  422. package/dist/collection/components/menu-about-item/menu-about-item.js +2 -1
  423. package/dist/collection/components/menu-about-news/menu-about-news.css +11 -11
  424. package/dist/collection/components/menu-about-news/menu-about-news.js +7 -4
  425. package/dist/collection/components/menu-avatar/menu-avatar.css +11 -11
  426. package/dist/collection/components/menu-avatar/menu-avatar.js +5 -2
  427. package/dist/collection/components/menu-avatar-item/menu-avatar-item.css +11 -11
  428. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  429. package/dist/collection/components/menu-category/menu-category.css +11 -11
  430. package/dist/collection/components/menu-category/menu-category.js +15 -9
  431. package/dist/collection/components/menu-item/menu-item.js +5 -5
  432. package/dist/collection/components/menu-settings/menu-settings.css +11 -11
  433. package/dist/collection/components/menu-settings/menu-settings.js +5 -2
  434. package/dist/collection/components/menu-settings-item/menu-settings-item.js +2 -1
  435. package/dist/collection/components/message-bar/message-bar.css +11 -11
  436. package/dist/collection/components/message-bar/message-bar.js +4 -1
  437. package/dist/collection/components/modal/modal.js +6 -3
  438. package/dist/collection/components/modal-content/modal-content.css +11 -11
  439. package/dist/collection/components/modal-content/modal-content.js +4 -1
  440. package/dist/collection/components/modal-footer/modal-footer.css +11 -11
  441. package/dist/collection/components/modal-footer/modal-footer.js +4 -1
  442. package/dist/collection/components/modal-header/modal-header.css +11 -11
  443. package/dist/collection/components/modal-header/modal-header.js +4 -1
  444. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  445. package/dist/collection/components/pagination/pagination.css +60 -50
  446. package/dist/collection/components/pagination/pagination.js +2 -2
  447. package/dist/collection/components/pane/pane.css +11 -11
  448. package/dist/collection/components/pane/pane.js +8 -7
  449. package/dist/collection/components/pane-layout/pane-layout.css +11 -11
  450. package/dist/collection/components/pane-layout/pane-layout.js +9 -1
  451. package/dist/collection/components/pill/pill.css +11 -11
  452. package/dist/collection/components/pill/pill.js +7 -4
  453. package/dist/collection/components/popover/popover.js +2 -2
  454. package/dist/collection/components/popover-content/popover-content.css +11 -11
  455. package/dist/collection/components/popover-content/popover-content.js +2 -2
  456. package/dist/collection/components/popover-footer/popover-footer.css +11 -11
  457. package/dist/collection/components/popover-footer/popover-footer.js +2 -2
  458. package/dist/collection/components/popover-header/popover-header.css +11 -11
  459. package/dist/collection/components/popover-header/popover-header.js +2 -2
  460. package/dist/collection/components/popover-image/popover-image.css +11 -11
  461. package/dist/collection/components/progress-indicator/progress-indicator.js +5 -3
  462. package/dist/collection/components/push-card/push-card.css +70 -0
  463. package/dist/collection/components/push-card/push-card.js +5 -1
  464. package/dist/collection/components/radio/radio.css +11 -11
  465. package/dist/collection/components/radio/radio.js +4 -3
  466. package/dist/collection/components/radio-group/radio-group.js +3 -2
  467. package/dist/collection/components/range-field/range-field.css +11 -11
  468. package/dist/collection/components/range-field/range-field.js +5 -2
  469. package/dist/collection/components/row/row.js +4 -1
  470. package/dist/collection/components/select/select.css +11 -11
  471. package/dist/collection/components/select/select.js +16 -12
  472. package/dist/collection/components/select-item/select-item.js +2 -2
  473. package/dist/collection/components/slider/slider.css +11 -11
  474. package/dist/collection/components/slider/slider.js +6 -6
  475. package/dist/collection/components/spinner/spinner.css +55 -55
  476. package/dist/collection/components/spinner/spinner.js +1 -1
  477. package/dist/collection/components/split-button/split-button.css +11 -11
  478. package/dist/collection/components/split-button/split-button.js +4 -1
  479. package/dist/collection/components/tab-item/tab-item.css +17 -11
  480. package/dist/collection/components/tab-item/tab-item.js +8 -5
  481. package/dist/collection/components/tab-panel/tab-panel.css +11 -11
  482. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  483. package/dist/collection/components/tab-set/tab-set.css +11 -11
  484. package/dist/collection/components/tab-set/tab-set.js +1 -1
  485. package/dist/collection/components/tabs/tabs.css +11 -11
  486. package/dist/collection/components/tabs/tabs.js +8 -5
  487. package/dist/collection/components/tile/tile.css +11 -11
  488. package/dist/collection/components/tile/tile.js +10 -4
  489. package/dist/collection/components/time-input/time-input.css +23 -22
  490. package/dist/collection/components/time-input/time-input.js +3 -3
  491. package/dist/collection/components/time-picker/time-picker.css +11 -11
  492. package/dist/collection/components/time-picker/time-picker.js +5 -5
  493. package/dist/collection/components/toast/toast-container.css +11 -11
  494. package/dist/collection/components/toast/toast-container.js +5 -2
  495. package/dist/collection/components/toast/toast.css +11 -11
  496. package/dist/collection/components/toast/toast.js +6 -2
  497. package/dist/collection/components/toggle/toggle.css +11 -11
  498. package/dist/collection/components/toggle/toggle.js +3 -3
  499. package/dist/collection/components/toggle-button/toggle-button.css +41 -33
  500. package/dist/collection/components/toggle-button/toggle-button.js +5 -2
  501. package/dist/collection/components/tooltip/tooltip.js +2 -1
  502. package/dist/collection/components/tree/tree.js +4 -1
  503. package/dist/collection/components/tree-item/tree-item.css +11 -11
  504. package/dist/collection/components/tree-item/tree-item.js +7 -4
  505. package/dist/collection/components/typography/typography.css +11 -11
  506. package/dist/collection/components/typography/typography.js +4 -1
  507. package/dist/collection/components/upload/upload.css +11 -11
  508. package/dist/collection/components/upload/upload.js +3 -3
  509. package/dist/collection/components/utils/input/validation.js +58 -3
  510. package/dist/collection/components/workflow-step/workflow-step.css +11 -11
  511. package/dist/collection/components/workflow-step/workflow-step.js +7 -3
  512. package/dist/collection/components/workflow-steps/workflow-steps.css +11 -11
  513. package/dist/collection/components/workflow-steps/workflow-steps.js +4 -1
  514. package/dist/esm/chip.types-4ZsT_zIm.js +20 -0
  515. package/dist/esm/{helper-text-util-D0LEFZuB.js → helper-text-util-sQKO6RPJ.js} +1 -1
  516. package/dist/esm/{index-DgUGsIlh.js → index-BeX6RWvV.js} +11 -1
  517. package/dist/esm/index-EBgS4zhE.js +28 -4
  518. package/dist/esm/index.js +1 -1
  519. package/dist/esm/{input.fc-CE3kP-L_.js → input.fc-DliqEtCM.js} +1 -1
  520. package/dist/esm/ix-action-card.entry.js +3 -3
  521. package/dist/esm/ix-application-header.entry.js +11 -11
  522. package/dist/esm/ix-application-switch-modal.entry.js +2 -2
  523. package/dist/esm/ix-application.entry.js +4 -4
  524. package/dist/esm/ix-avatar_2.entry.js +3 -3
  525. package/dist/esm/ix-badge.entry.js +714 -0
  526. package/dist/esm/ix-blind.entry.js +7 -7
  527. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  528. package/dist/esm/ix-breadcrumb.entry.js +4 -4
  529. package/dist/esm/ix-button.entry.js +3 -3
  530. package/dist/esm/ix-card-accordion_2.entry.js +7 -7
  531. package/dist/esm/ix-card-list.entry.js +63 -10
  532. package/dist/esm/ix-card_2.entry.js +5 -5
  533. package/dist/esm/ix-category-filter.entry.js +5 -5
  534. package/dist/esm/ix-chat-ai-message.entry.js +33 -0
  535. package/dist/esm/ix-chat-attachment.entry.js +108 -0
  536. package/dist/esm/ix-chat-input.entry.js +404 -0
  537. package/dist/esm/ix-chat-user-message.entry.js +64 -0
  538. package/dist/esm/ix-chat.entry.js +26 -0
  539. package/dist/esm/ix-checkbox-group.entry.js +3 -3
  540. package/dist/esm/ix-checkbox.entry.js +5 -5
  541. package/dist/esm/ix-chip.entry.js +9 -28
  542. package/dist/esm/ix-col_4.entry.js +12 -12
  543. package/dist/esm/ix-content-header.entry.js +4 -4
  544. package/dist/esm/ix-content.entry.js +4 -4
  545. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  546. package/dist/esm/ix-css-grid.entry.js +1 -1
  547. package/dist/esm/ix-custom-field.entry.js +2 -2
  548. package/dist/esm/ix-date-dropdown.entry.js +7 -7
  549. package/dist/esm/ix-date-input.entry.js +7 -7
  550. package/dist/esm/ix-date-picker.entry.js +9 -9
  551. package/dist/esm/ix-date-time-card.entry.js +3 -3
  552. package/dist/esm/ix-datetime-input.entry.js +7 -7
  553. package/dist/esm/ix-datetime-picker.entry.js +4 -4
  554. package/dist/esm/ix-divider.entry.js +1 -1
  555. package/dist/esm/ix-dropdown-button.entry.js +6 -6
  556. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  557. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  558. package/dist/esm/ix-dropdown_2.entry.js +7 -7
  559. package/dist/esm/ix-empty-state.entry.js +2 -2
  560. package/dist/esm/ix-event-list-item.entry.js +6 -6
  561. package/dist/esm/ix-event-list.entry.js +8 -5
  562. package/dist/esm/ix-expanding-search.entry.js +6 -6
  563. package/dist/esm/ix-field-label_2.entry.js +7 -7
  564. package/dist/esm/ix-filter-chip_2.entry.js +6 -6
  565. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  566. package/dist/esm/ix-flip-tile.entry.js +5 -5
  567. package/dist/esm/ix-group-context-menu_2.entry.js +3 -3
  568. package/dist/esm/ix-group.entry.js +9 -9
  569. package/dist/esm/ix-helper-text.entry.js +4 -4
  570. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  571. package/dist/esm/ix-icon-toggle-button.entry.js +3 -3
  572. package/dist/esm/ix-input.entry.js +8 -8
  573. package/dist/esm/ix-key-value-list.entry.js +1 -1
  574. package/dist/esm/ix-key-value.entry.js +1 -1
  575. package/dist/esm/ix-kpi.entry.js +5 -5
  576. package/dist/esm/ix-layout-auto.entry.js +1 -1
  577. package/dist/esm/ix-link-button.entry.js +4 -4
  578. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  579. package/dist/esm/ix-menu-about-news.entry.js +6 -6
  580. package/dist/esm/ix-menu-about.entry.js +4 -4
  581. package/dist/esm/ix-menu-avatar.entry.js +4 -4
  582. package/dist/esm/ix-menu-category.entry.js +12 -9
  583. package/dist/esm/ix-menu-expand-icon.entry.js +3 -3
  584. package/dist/esm/ix-menu-item.entry.js +5 -5
  585. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  586. package/dist/esm/ix-menu-settings.entry.js +4 -4
  587. package/dist/esm/ix-menu.entry.js +14 -14
  588. package/dist/esm/ix-message-bar.entry.js +3 -3
  589. package/dist/esm/ix-modal-content_2.entry.js +5 -5
  590. package/dist/esm/ix-modal-footer.entry.js +2 -2
  591. package/dist/esm/ix-modal-loading.entry.js +1 -1
  592. package/dist/esm/ix-modal.entry.js +3 -3
  593. package/dist/esm/ix-number-input.entry.js +9 -9
  594. package/dist/esm/ix-pagination.entry.js +4 -4
  595. package/dist/esm/ix-pane-layout.entry.js +2 -2
  596. package/dist/esm/ix-pane.entry.js +9 -9
  597. package/dist/esm/ix-pill_4.entry.js +20 -20
  598. package/dist/esm/ix-popover-content.entry.js +2 -2
  599. package/dist/esm/ix-popover-footer.entry.js +2 -2
  600. package/dist/esm/ix-popover-header.entry.js +3 -3
  601. package/dist/esm/ix-popover-image.entry.js +1 -1
  602. package/dist/esm/ix-popover.entry.js +1 -1
  603. package/dist/esm/ix-progress-indicator.entry.js +4 -4
  604. package/dist/esm/ix-push-card.entry.js +2 -2
  605. package/dist/esm/ix-radio-group.entry.js +3 -3
  606. package/dist/esm/ix-radio.entry.js +5 -5
  607. package/dist/esm/ix-range-field.entry.js +4 -4
  608. package/dist/esm/ix-select.entry.js +17 -14
  609. package/dist/esm/ix-slider.entry.js +8 -8
  610. package/dist/esm/ix-split-button.entry.js +3 -3
  611. package/dist/esm/ix-tab-panel.entry.js +2 -2
  612. package/dist/esm/ix-textarea.entry.js +5 -5
  613. package/dist/esm/ix-tile.entry.js +5 -5
  614. package/dist/esm/ix-time-input.entry.js +7 -7
  615. package/dist/esm/ix-toast-container.entry.js +3 -3
  616. package/dist/esm/ix-toast.entry.js +4 -4
  617. package/dist/esm/ix-toggle-button.entry.js +3 -3
  618. package/dist/esm/ix-toggle.entry.js +5 -5
  619. package/dist/esm/ix-tooltip.entry.js +1 -1
  620. package/dist/esm/ix-tree-item.entry.js +6 -6
  621. package/dist/esm/ix-tree.entry.js +1 -1
  622. package/dist/esm/ix-typography.entry.js +2 -2
  623. package/dist/esm/ix-upload.entry.js +5 -5
  624. package/dist/esm/ix-workflow-step.entry.js +5 -5
  625. package/dist/esm/ix-workflow-steps.entry.js +2 -2
  626. package/dist/esm/loader.js +1 -1
  627. package/dist/esm/siemens-ix.js +1 -1
  628. package/dist/esm/{validation-VVt5EFy0.js → validation-DXpftrw5.js} +59 -4
  629. package/dist/siemens-ix/index.esm.js +1 -1
  630. package/dist/siemens-ix/{p-71feb871.entry.js → p-0018f327.entry.js} +1 -1
  631. package/dist/siemens-ix/p-0329eb6e.entry.js +1 -0
  632. package/dist/siemens-ix/p-03745110.entry.js +1 -0
  633. package/dist/siemens-ix/p-0555a6fb.entry.js +1 -0
  634. package/dist/siemens-ix/{p-2f7b1e1e.entry.js → p-05c35730.entry.js} +1 -1
  635. package/dist/siemens-ix/p-0b10bb78.entry.js +1 -0
  636. package/dist/siemens-ix/p-0f2ac675.entry.js +1 -0
  637. package/dist/siemens-ix/{p-2202ae94.entry.js → p-12bce791.entry.js} +1 -1
  638. package/dist/siemens-ix/p-14554694.entry.js +1 -0
  639. package/dist/siemens-ix/p-1afa8fb3.entry.js +1 -0
  640. package/dist/siemens-ix/p-1bce1c19.entry.js +1 -0
  641. package/dist/siemens-ix/p-1d06e067.entry.js +1 -0
  642. package/dist/siemens-ix/{p-b181bf0b.entry.js → p-1fbb010f.entry.js} +1 -1
  643. package/dist/siemens-ix/p-1fddf959.entry.js +1 -0
  644. package/dist/siemens-ix/p-207d77b3.entry.js +1 -0
  645. package/dist/siemens-ix/{p-21b09017.entry.js → p-217dc62a.entry.js} +1 -1
  646. package/dist/siemens-ix/{p-f8561834.entry.js → p-222d3d93.entry.js} +1 -1
  647. package/dist/siemens-ix/p-2270cc5d.entry.js +1 -0
  648. package/dist/siemens-ix/p-29e8126a.entry.js +1 -0
  649. package/dist/siemens-ix/{p-34f61a28.entry.js → p-2b0ffba0.entry.js} +1 -1
  650. package/dist/siemens-ix/p-2e780c86.entry.js +1 -0
  651. package/dist/siemens-ix/p-30008054.entry.js +1 -0
  652. package/dist/siemens-ix/p-34d5185d.entry.js +1 -0
  653. package/dist/siemens-ix/p-34f2792e.entry.js +1 -0
  654. package/dist/siemens-ix/{p-12930fcd.entry.js → p-383e95ad.entry.js} +1 -1
  655. package/dist/siemens-ix/p-38e0953a.entry.js +1 -0
  656. package/dist/siemens-ix/p-39079ba7.entry.js +1 -0
  657. package/dist/siemens-ix/p-3c7a8e8b.entry.js +1 -0
  658. package/dist/siemens-ix/p-3ca5d3b9.entry.js +1 -0
  659. package/dist/siemens-ix/{p-646d5219.entry.js → p-4079292f.entry.js} +1 -1
  660. package/dist/siemens-ix/p-447d52de.entry.js +1 -0
  661. package/dist/siemens-ix/p-47e2c5a1.entry.js +1 -0
  662. package/dist/siemens-ix/{p-63491f83.entry.js → p-488b7074.entry.js} +1 -1
  663. package/dist/siemens-ix/p-49d8b129.entry.js +1 -0
  664. package/dist/siemens-ix/p-4ZsT_zIm.js +1 -0
  665. package/dist/siemens-ix/p-4b85292e.entry.js +1 -0
  666. package/dist/siemens-ix/p-4f02b8dd.entry.js +1 -0
  667. package/dist/siemens-ix/{p-d830e3d6.entry.js → p-5014b469.entry.js} +1 -1
  668. package/dist/siemens-ix/p-55a57ce6.entry.js +1 -0
  669. package/dist/siemens-ix/{p-b534dadd.entry.js → p-55ae6204.entry.js} +1 -1
  670. package/dist/siemens-ix/p-55e8ad3b.entry.js +1 -0
  671. package/dist/siemens-ix/p-58c6aa27.entry.js +1 -0
  672. package/dist/siemens-ix/p-5f48d238.entry.js +1 -0
  673. package/dist/siemens-ix/p-64432fa0.entry.js +1 -0
  674. package/dist/siemens-ix/p-66097da1.entry.js +1 -0
  675. package/dist/siemens-ix/p-66e92cdd.entry.js +1 -0
  676. package/dist/siemens-ix/p-6c25b44d.entry.js +1 -0
  677. package/dist/siemens-ix/p-6ebf66b8.entry.js +1 -0
  678. package/dist/siemens-ix/{p-080147bd.entry.js → p-6ffe8ec7.entry.js} +1 -1
  679. package/dist/siemens-ix/{p-d80e7d50.entry.js → p-7690a56d.entry.js} +1 -1
  680. package/dist/siemens-ix/p-7b9d9c0c.entry.js +1 -0
  681. package/dist/siemens-ix/{p-da2e0f0e.entry.js → p-7bc3af96.entry.js} +1 -1
  682. package/dist/siemens-ix/p-80d7a07a.entry.js +1 -0
  683. package/dist/siemens-ix/p-816bcf01.entry.js +1 -0
  684. package/dist/siemens-ix/{p-81248fd2.entry.js → p-836df58e.entry.js} +1 -1
  685. package/dist/siemens-ix/p-86ad005e.entry.js +1 -0
  686. package/dist/siemens-ix/{p-56d2d54c.entry.js → p-884fd236.entry.js} +1 -1
  687. package/dist/siemens-ix/p-89f6329b.entry.js +1 -0
  688. package/dist/siemens-ix/p-8a14750f.entry.js +1 -0
  689. package/dist/siemens-ix/p-8c3e7613.entry.js +1 -0
  690. package/dist/siemens-ix/p-8df1362f.entry.js +1 -0
  691. package/dist/siemens-ix/p-9094212f.entry.js +1 -0
  692. package/{components/p-BbW5EIKF.js → dist/siemens-ix/p-92804589.entry.js} +1 -1
  693. package/dist/siemens-ix/p-95625e2a.entry.js +1 -0
  694. package/dist/siemens-ix/p-99b97922.entry.js +1 -0
  695. package/dist/siemens-ix/p-99df3561.entry.js +1 -0
  696. package/dist/siemens-ix/p-BeX6RWvV.js +1 -0
  697. package/dist/siemens-ix/p-S-XikzrL.js +1 -0
  698. package/dist/siemens-ix/{p-2b9f7512.entry.js → p-a1d79970.entry.js} +1 -1
  699. package/dist/siemens-ix/{p-bc0f5cbe.entry.js → p-a23edbb6.entry.js} +1 -1
  700. package/dist/siemens-ix/{p-ee1617da.entry.js → p-a2a3d749.entry.js} +1 -1
  701. package/dist/siemens-ix/p-a7d695f5.entry.js +1 -0
  702. package/dist/siemens-ix/p-a87b0328.entry.js +1 -0
  703. package/dist/siemens-ix/{p-3bc384b7.entry.js → p-a92495b8.entry.js} +1 -1
  704. package/dist/siemens-ix/{p-9d9fec8c.entry.js → p-abe537f8.entry.js} +1 -1
  705. package/dist/siemens-ix/p-b299eca3.entry.js +1 -0
  706. package/dist/siemens-ix/{p-e9b37020.entry.js → p-b3eaf43d.entry.js} +1 -1
  707. package/dist/siemens-ix/p-b990c3f4.entry.js +1 -0
  708. package/dist/siemens-ix/p-baf74d39.entry.js +1 -0
  709. package/dist/siemens-ix/{p-4f0f97dd.entry.js → p-bd2f7002.entry.js} +1 -1
  710. package/dist/siemens-ix/p-bf75d77b.entry.js +1 -0
  711. package/dist/siemens-ix/{p-aec23f79.entry.js → p-bf827cb3.entry.js} +1 -1
  712. package/dist/siemens-ix/p-c1b669ae.entry.js +1 -0
  713. package/dist/siemens-ix/{p-8d73ddac.entry.js → p-c2d8ec4e.entry.js} +1 -1
  714. package/dist/siemens-ix/p-c3e44b4a.entry.js +1 -0
  715. package/dist/siemens-ix/p-c4379966.entry.js +1 -0
  716. package/dist/siemens-ix/{p-5685a2e6.entry.js → p-c6346987.entry.js} +1 -1
  717. package/dist/siemens-ix/p-c6987c42.entry.js +1 -0
  718. package/dist/siemens-ix/{p-d6c906b7.entry.js → p-ca4259c9.entry.js} +1 -1
  719. package/dist/siemens-ix/{p-b8beb613.entry.js → p-cb43f6e5.entry.js} +1 -1
  720. package/dist/siemens-ix/p-cc6305ab.entry.js +1 -0
  721. package/dist/siemens-ix/{p-264e971c.entry.js → p-ccea2ebf.entry.js} +1 -1
  722. package/dist/siemens-ix/p-cddc43e2.entry.js +1 -0
  723. package/dist/siemens-ix/{p-21e8ccb6.entry.js → p-cf56ddd5.entry.js} +1 -1
  724. package/dist/siemens-ix/{p-6f78e0f1.entry.js → p-cfd83faa.entry.js} +1 -1
  725. package/dist/siemens-ix/p-d0649c07.entry.js +1 -0
  726. package/dist/siemens-ix/p-d39c4aeb.entry.js +1 -0
  727. package/dist/siemens-ix/{p-a6a0b240.entry.js → p-d555f28a.entry.js} +1 -1
  728. package/dist/siemens-ix/p-e4f04831.entry.js +1 -0
  729. package/dist/siemens-ix/p-e789cd7e.entry.js +1 -0
  730. package/dist/siemens-ix/p-e7dedba9.entry.js +1 -0
  731. package/dist/siemens-ix/{p-ff1967de.entry.js → p-ea3b4ad4.entry.js} +1 -1
  732. package/dist/siemens-ix/p-eba11702.entry.js +1 -0
  733. package/dist/siemens-ix/p-eda419ea.entry.js +1 -0
  734. package/dist/siemens-ix/p-f3528209.entry.js +1 -0
  735. package/dist/siemens-ix/p-f3e24bb0.entry.js +1 -0
  736. package/dist/siemens-ix/p-f4575603.entry.js +1 -0
  737. package/dist/siemens-ix/p-f705bb97.entry.js +1 -0
  738. package/dist/siemens-ix/p-fff1f8b1.entry.js +1 -0
  739. package/dist/siemens-ix/{p-C518yBiI.js → p-kmPsIcs5.js} +1 -1
  740. package/{components/p-CAH3dF6j.js → dist/siemens-ix/p-yUgQMMln.js} +1 -1
  741. package/dist/siemens-ix/siemens-ix.css +11 -11
  742. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  743. package/dist/types/components/action-card/action-card.d.ts +1 -1
  744. package/dist/types/components/application/application.d.ts +7 -0
  745. package/dist/types/components/application-header/application-header.d.ts +1 -0
  746. package/dist/types/components/avatar/avatar.d.ts +3 -0
  747. package/dist/types/components/badge/badge.d.ts +210 -0
  748. package/dist/types/components/badge/badge.status-icon.d.ts +21 -0
  749. package/dist/types/components/badge/badge.types.d.ts +19 -0
  750. package/dist/types/components/badge/badge.utils.d.ts +10 -0
  751. package/dist/types/components/badge/test/badge.page.d.ts +67 -0
  752. package/dist/types/components/blind/blind.d.ts +5 -0
  753. package/dist/types/components/breadcrumb/breadcrumb.d.ts +3 -0
  754. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +3 -0
  755. package/dist/types/components/button/button.d.ts +3 -0
  756. package/dist/types/components/card/card.d.ts +4 -0
  757. package/dist/types/components/card-accordion/card-accordion.d.ts +3 -0
  758. package/dist/types/components/card-content/card-content.d.ts +3 -0
  759. package/dist/types/components/card-list/card-list.d.ts +7 -1
  760. package/dist/types/components/card-title/card-title.d.ts +1 -0
  761. package/dist/types/components/chat/chat.d.ts +11 -0
  762. package/dist/types/components/chat-ai-message/chat-ai-message.d.ts +14 -0
  763. package/dist/types/components/chat-attachment/chat-attachment.d.ts +47 -0
  764. package/dist/types/components/chat-attachment/chat-attachment.types.d.ts +1 -0
  765. package/dist/types/components/chat-input/chat-input.d.ts +175 -0
  766. package/dist/types/components/chat-user-message/chat-user-message.d.ts +23 -0
  767. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  768. package/dist/types/components/checkbox-group/checkbox-group.d.ts +1 -0
  769. package/dist/types/components/chip/chip.d.ts +4 -1
  770. package/dist/types/components/col/col.d.ts +3 -0
  771. package/dist/types/components/content/content.d.ts +1 -0
  772. package/dist/types/components/content-header/content-header.d.ts +1 -1
  773. package/dist/types/components/css-grid/css-grid-item.d.ts +1 -0
  774. package/dist/types/components/css-grid/css-grid.d.ts +1 -0
  775. package/dist/types/components/custom-field/custom-field.d.ts +3 -0
  776. package/dist/types/components/dropdown/dropdown.d.ts +3 -0
  777. package/dist/types/components/dropdown-button/dropdown-button.d.ts +4 -0
  778. package/dist/types/components/dropdown-item/dropdown-item.d.ts +3 -0
  779. package/dist/types/components/dropdown-quick-actions/dropdown-quick-actions.d.ts +3 -0
  780. package/dist/types/components/event-list/event-list.d.ts +3 -0
  781. package/dist/types/components/event-list-item/event-list-item.d.ts +3 -0
  782. package/dist/types/components/field-label/field-label.d.ts +3 -0
  783. package/dist/types/components/filter-chip/filter-chip.d.ts +3 -0
  784. package/dist/types/components/flip-tile/flip-tile.d.ts +5 -0
  785. package/dist/types/components/flip-tile-content/flip-tile-content.d.ts +3 -0
  786. package/dist/types/components/group/group-context-menu.d.ts +3 -0
  787. package/dist/types/components/group/group.d.ts +6 -0
  788. package/dist/types/components/group-item/group-item.d.ts +3 -0
  789. package/dist/types/components/key-value-list/key-value-list.d.ts +3 -0
  790. package/dist/types/components/layout-auto/layout-auto.d.ts +3 -0
  791. package/dist/types/components/layout-grid/layout-grid.d.ts +3 -0
  792. package/dist/types/components/link-button/link-button.d.ts +3 -0
  793. package/dist/types/components/menu/menu.d.ts +8 -0
  794. package/dist/types/components/menu-about/menu-about.d.ts +3 -0
  795. package/dist/types/components/menu-about-item/menu-about-item.d.ts +1 -0
  796. package/dist/types/components/menu-about-news/menu-about-news.d.ts +3 -0
  797. package/dist/types/components/menu-avatar/menu-avatar.d.ts +3 -0
  798. package/dist/types/components/menu-category/menu-category.d.ts +4 -1
  799. package/dist/types/components/menu-item/menu-item.d.ts +1 -1
  800. package/dist/types/components/menu-settings/menu-settings.d.ts +3 -0
  801. package/dist/types/components/menu-settings-item/menu-settings-item.d.ts +1 -0
  802. package/dist/types/components/message-bar/message-bar.d.ts +3 -0
  803. package/dist/types/components/modal/modal.d.ts +3 -0
  804. package/dist/types/components/modal-content/modal-content.d.ts +3 -0
  805. package/dist/types/components/modal-footer/modal-footer.d.ts +3 -0
  806. package/dist/types/components/modal-header/modal-header.d.ts +3 -0
  807. package/dist/types/components/pane/pane.d.ts +1 -0
  808. package/dist/types/components/pane-layout/pane-layout.d.ts +8 -0
  809. package/dist/types/components/pill/pill.d.ts +3 -0
  810. package/dist/types/components/popover/popover.d.ts +1 -1
  811. package/dist/types/components/popover-content/popover-content.d.ts +1 -1
  812. package/dist/types/components/popover-footer/popover-footer.d.ts +1 -1
  813. package/dist/types/components/popover-header/popover-header.d.ts +1 -1
  814. package/dist/types/components/progress-indicator/progress-indicator.d.ts +2 -0
  815. package/dist/types/components/push-card/push-card.d.ts +4 -0
  816. package/dist/types/components/radio/radio.d.ts +1 -0
  817. package/dist/types/components/radio-group/radio-group.d.ts +1 -0
  818. package/dist/types/components/range-field/range-field.d.ts +3 -0
  819. package/dist/types/components/row/row.d.ts +3 -0
  820. package/dist/types/components/select/select.d.ts +1 -0
  821. package/dist/types/components/split-button/split-button.d.ts +3 -0
  822. package/dist/types/components/tab-item/tab-item.d.ts +3 -0
  823. package/dist/types/components/tabs/tabs.d.ts +3 -0
  824. package/dist/types/components/tile/tile.d.ts +6 -0
  825. package/dist/types/components/toast/toast-container.d.ts +3 -0
  826. package/dist/types/components/toast/toast.d.ts +4 -0
  827. package/dist/types/components/toggle-button/toggle-button.d.ts +3 -0
  828. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  829. package/dist/types/components/tree/tree.d.ts +3 -0
  830. package/dist/types/components/tree-item/tree-item.d.ts +3 -0
  831. package/dist/types/components/typography/typography.d.ts +3 -0
  832. package/dist/types/components/utils/input/validation.d.ts +6 -0
  833. package/dist/types/components/workflow-step/workflow-step.d.ts +4 -0
  834. package/dist/types/components/workflow-steps/workflow-steps.d.ts +3 -0
  835. package/dist/types/components.d.ts +706 -5
  836. package/dist/types/public-api.d.ts +1 -0
  837. package/hydrate/index.js +2269 -457
  838. package/hydrate/index.mjs +2269 -457
  839. package/package.json +3 -3
  840. package/scss/mixins/_scrollbar.scss +21 -9
  841. package/components/p-3VG6z9c3.js +0 -1
  842. package/components/p-5ntkLbuJ.js +0 -1
  843. package/components/p-7HGOhDMX.js +0 -1
  844. package/components/p-B-O0ylt_.js +0 -1
  845. package/components/p-BDlGgfYh.js +0 -1
  846. package/components/p-BWH03B1n.js +0 -1
  847. package/components/p-BWknDysp.js +0 -1
  848. package/components/p-BtSt9tC5.js +0 -1
  849. package/components/p-BzFLbXmT.js +0 -1
  850. package/components/p-C-sZLWci.js +0 -1
  851. package/components/p-C0WZnIxc.js +0 -1
  852. package/components/p-C2jvmCOl.js +0 -1
  853. package/components/p-CDf5TQum.js +0 -1
  854. package/components/p-CG9cQxRO.js +0 -1
  855. package/components/p-CJoOEoc-.js +0 -1
  856. package/components/p-CMtwWb3-.js +0 -1
  857. package/components/p-CpOGS2e_.js +0 -1
  858. package/components/p-CrDBjFhu.js +0 -1
  859. package/components/p-Cy2KAdml.js +0 -1
  860. package/components/p-DDvuSQX3.js +0 -1
  861. package/components/p-DHydRnvu.js +0 -1
  862. package/components/p-DKH7tPDu.js +0 -1
  863. package/components/p-DM7ma3Eh.js +0 -1
  864. package/components/p-DiLKm3tq.js +0 -1
  865. package/components/p-Dwe6tWhq.js +0 -1
  866. package/components/p-DziPiOL3.js +0 -1
  867. package/components/p-GmOVROeD.js +0 -1
  868. package/components/p-ImMb0joA.js +0 -1
  869. package/components/p-Wr4Qf8LA.js +0 -1
  870. package/components/p-aUZgVnx5.js +0 -1
  871. package/components/p-wFiL3dN1.js +0 -1
  872. package/components/p-zqHenwXl.js +0 -1
  873. package/components/p-zyYHTdEN.js +0 -1
  874. package/dist/siemens-ix/p-074c8b24.entry.js +0 -1
  875. package/dist/siemens-ix/p-0d60bd71.entry.js +0 -1
  876. package/dist/siemens-ix/p-0eb3a12a.entry.js +0 -1
  877. package/dist/siemens-ix/p-18cae4df.entry.js +0 -1
  878. package/dist/siemens-ix/p-1a6b7e92.entry.js +0 -1
  879. package/dist/siemens-ix/p-2072682b.entry.js +0 -1
  880. package/dist/siemens-ix/p-247d2e7a.entry.js +0 -1
  881. package/dist/siemens-ix/p-24c54468.entry.js +0 -1
  882. package/dist/siemens-ix/p-321a10b6.entry.js +0 -1
  883. package/dist/siemens-ix/p-35bfaa91.entry.js +0 -1
  884. package/dist/siemens-ix/p-3854287c.entry.js +0 -1
  885. package/dist/siemens-ix/p-3bb5600a.entry.js +0 -1
  886. package/dist/siemens-ix/p-46768472.entry.js +0 -1
  887. package/dist/siemens-ix/p-46b2b660.entry.js +0 -1
  888. package/dist/siemens-ix/p-4bc4a175.entry.js +0 -1
  889. package/dist/siemens-ix/p-52dc064a.entry.js +0 -1
  890. package/dist/siemens-ix/p-54a22a58.entry.js +0 -1
  891. package/dist/siemens-ix/p-5ff289c7.entry.js +0 -1
  892. package/dist/siemens-ix/p-601224bd.entry.js +0 -1
  893. package/dist/siemens-ix/p-62a7ae9c.entry.js +0 -1
  894. package/dist/siemens-ix/p-641bc66c.entry.js +0 -1
  895. package/dist/siemens-ix/p-66b4875e.entry.js +0 -1
  896. package/dist/siemens-ix/p-705eded9.entry.js +0 -1
  897. package/dist/siemens-ix/p-710d32a6.entry.js +0 -1
  898. package/dist/siemens-ix/p-7c120d09.entry.js +0 -1
  899. package/dist/siemens-ix/p-7e6a5c38.entry.js +0 -1
  900. package/dist/siemens-ix/p-7fc7c67f.entry.js +0 -1
  901. package/dist/siemens-ix/p-8164a98b.entry.js +0 -1
  902. package/dist/siemens-ix/p-83f4cd88.entry.js +0 -1
  903. package/dist/siemens-ix/p-8900e229.entry.js +0 -1
  904. package/dist/siemens-ix/p-8969b2f9.entry.js +0 -1
  905. package/dist/siemens-ix/p-8c2365cc.entry.js +0 -1
  906. package/dist/siemens-ix/p-8cea823b.entry.js +0 -1
  907. package/dist/siemens-ix/p-8d05ae35.entry.js +0 -1
  908. package/dist/siemens-ix/p-90a5cda7.entry.js +0 -1
  909. package/dist/siemens-ix/p-957b77ec.entry.js +0 -1
  910. package/dist/siemens-ix/p-9a88ff9c.entry.js +0 -1
  911. package/dist/siemens-ix/p-DgUGsIlh.js +0 -1
  912. package/dist/siemens-ix/p-ae07f671.entry.js +0 -1
  913. package/dist/siemens-ix/p-b13f34d1.entry.js +0 -1
  914. package/dist/siemens-ix/p-b63d7f36.entry.js +0 -1
  915. package/dist/siemens-ix/p-b75db823.entry.js +0 -1
  916. package/dist/siemens-ix/p-b7f2f229.entry.js +0 -1
  917. package/dist/siemens-ix/p-ba9dcd79.entry.js +0 -1
  918. package/dist/siemens-ix/p-bc11adcd.entry.js +0 -1
  919. package/dist/siemens-ix/p-bfb758cb.entry.js +0 -1
  920. package/dist/siemens-ix/p-c0c6d772.entry.js +0 -1
  921. package/dist/siemens-ix/p-c0dc5a8e.entry.js +0 -1
  922. package/dist/siemens-ix/p-c6d63b3c.entry.js +0 -1
  923. package/dist/siemens-ix/p-c97c218d.entry.js +0 -1
  924. package/dist/siemens-ix/p-d13c0b78.entry.js +0 -1
  925. package/dist/siemens-ix/p-d1ab68b3.entry.js +0 -1
  926. package/dist/siemens-ix/p-d253dadb.entry.js +0 -1
  927. package/dist/siemens-ix/p-d74baa8a.entry.js +0 -1
  928. package/dist/siemens-ix/p-d770d8ba.entry.js +0 -1
  929. package/dist/siemens-ix/p-db105778.entry.js +0 -1
  930. package/dist/siemens-ix/p-dc16a32d.entry.js +0 -1
  931. package/dist/siemens-ix/p-de58069d.entry.js +0 -1
  932. package/dist/siemens-ix/p-e283d7d1.entry.js +0 -1
  933. package/dist/siemens-ix/p-e5d2a048.entry.js +0 -1
  934. package/dist/siemens-ix/p-e698e193.entry.js +0 -1
  935. package/dist/siemens-ix/p-f0d97723.entry.js +0 -1
  936. package/dist/siemens-ix/p-f1257e08.entry.js +0 -1
  937. package/dist/siemens-ix/p-f9628912.entry.js +0 -1
  938. package/dist/siemens-ix/p-fa5c236f.entry.js +0 -1
  939. package/dist/siemens-ix/p-fb1e66a7.entry.js +0 -1
  940. package/dist/siemens-ix/p-fdec73d4.entry.js +0 -1
  941. package/dist/siemens-ix/p-yZFaEeBW.js +0 -1
@@ -0,0 +1,716 @@
1
+ 'use strict';
2
+
3
+ var index$1 = require('./index-DnclGKUw.js');
4
+ var a11y = require('./a11y-_XjpTo2w.js');
5
+ var component = require('./component-DgA9FH-W.js');
6
+ var inheritAriaAttributes_mixin = require('./inherit-aria-attributes.mixin-EyRU0cDO.js');
7
+ var id_mixin = require('./id.mixin-DINDQztK.js');
8
+ var makeRef = require('./make-ref-CHsa3FY7.js');
9
+ var rwd_util = require('./rwd.util-GTn-vgCJ.js');
10
+ var shadowDom = require('./shadow-dom-BL5F7RFW.js');
11
+ var index = require('./index-BQht1mLe.js');
12
+ var chip_types = require('./chip.types-BD73fAij.js');
13
+ require('./focus-utilities-5SZMxJg4.js');
14
+
15
+ /*
16
+ * SPDX-FileCopyrightText: 2026 Siemens AG
17
+ *
18
+ * SPDX-License-Identifier: MIT
19
+ *
20
+ * This source code is licensed under the MIT license found in the
21
+ * LICENSE file in the root directory of this source tree.
22
+ */
23
+ /** Fallback when the variant has no status glyph. */
24
+ const BADGE_STATUS_ICON_FALLBACK_VARIANT = 'info';
25
+ /** Status icons by variant (`outline` / `filled` / `plate`). */
26
+ const BADGE_STATUS_ICON_BY_VARIANT = {
27
+ alarm: {
28
+ filled: index.iconAlarmFilled,
29
+ outline: index.iconAlarm,
30
+ plate: index.iconCircleFilled,
31
+ },
32
+ error: {
33
+ filled: index.iconErrorFilled,
34
+ outline: index.iconError,
35
+ plate: index.iconCircleFilled,
36
+ },
37
+ critical: {
38
+ filled: index.iconWarningRhombFilled,
39
+ outline: index.iconWarningRhomb,
40
+ plate: index.iconRhombFilled,
41
+ },
42
+ warning: {
43
+ filled: index.iconWarningFilled,
44
+ outline: index.iconWarning,
45
+ plate: index.iconTriangleFilled,
46
+ },
47
+ info: {
48
+ filled: index.iconInfoFilled,
49
+ outline: index.iconInfo,
50
+ plate: index.iconCircleFilled,
51
+ },
52
+ success: {
53
+ filled: index.iconSuccessFilled,
54
+ outline: index.iconSuccess,
55
+ plate: index.iconCircleFilled,
56
+ },
57
+ };
58
+ function isBadgeStatusIconVariant(variant) {
59
+ return Object.hasOwn(BADGE_STATUS_ICON_BY_VARIANT, variant);
60
+ }
61
+ function resolveStatusIconVariant(variant) {
62
+ return isBadgeStatusIconVariant(variant)
63
+ ? variant
64
+ : BADGE_STATUS_ICON_FALLBACK_VARIANT;
65
+ }
66
+ /** Status glyph for a variant (falls back to **info**). */
67
+ function getBadgeStatusIcon(variant, outline = false) {
68
+ const icons = BADGE_STATUS_ICON_BY_VARIANT[resolveStatusIconVariant(variant)];
69
+ return outline ? icons.outline : icons.filled;
70
+ }
71
+ /** Plate icon for the filled status stack. */
72
+ function getBadgeStatusIconPlate(variant) {
73
+ return BADGE_STATUS_ICON_BY_VARIANT[resolveStatusIconVariant(variant)].plate;
74
+ }
75
+ /** Resolved status-icon variant for host classes (falls back to **info**). */
76
+ function getResolvedStatusIconVariant(variant) {
77
+ return resolveStatusIconVariant(variant);
78
+ }
79
+
80
+ /*
81
+ * SPDX-FileCopyrightText: 2026 Siemens AG
82
+ *
83
+ * SPDX-License-Identifier: MIT
84
+ *
85
+ * This source code is licensed under the MIT license found in the
86
+ * LICENSE file in the root directory of this source tree.
87
+ */
88
+ const BADGE_ANATOMY_TYPES = [
89
+ 'label',
90
+ 'counter',
91
+ 'dot',
92
+ 'status-icon',
93
+ ];
94
+ const BADGE_POSITIONS = ['top-after', 'bottom-after'];
95
+ /** Default attached offsets (px) added to **offsetX** / **offsetY**. */
96
+ const BADGE_ATTACHED_OFFSET_DEFAULTS = {
97
+ dot: { x: -6, y: -6 },
98
+ label: { x: -10, y: -10 },
99
+ counter: { x: -10, y: -10 },
100
+ 'status-icon': { x: -10, y: -10 },
101
+ };
102
+
103
+ /*
104
+ * SPDX-FileCopyrightText: 2026 Siemens AG
105
+ *
106
+ * SPDX-License-Identifier: MIT
107
+ *
108
+ * This source code is licensed under the MIT license found in the
109
+ * LICENSE file in the root directory of this source tree.
110
+ */
111
+ const BADGE_OVERFLOW_THRESHOLD = 99;
112
+ const INTEGER_LABEL_PATTERN = /^-?\d+(\.\d+)?$/;
113
+ const OVERFLOW_LABEL = `${BADGE_OVERFLOW_THRESHOLD}+`;
114
+ /**
115
+ * Formats badge label text for supported anatomy types.
116
+ * Returns `null` when the type has no text or the value is invalid.
117
+ * Counters truncate decimals and cap at `99+`.
118
+ */
119
+ function formatBadgeLabel(type, label) {
120
+ switch (type) {
121
+ case 'counter':
122
+ return formatCounterLabel(label);
123
+ case 'label':
124
+ return formatTextLabel(label);
125
+ case 'dot':
126
+ case 'status-icon':
127
+ return null;
128
+ }
129
+ }
130
+ function coerceLabelText(label) {
131
+ if (label === undefined || label === null) {
132
+ return '';
133
+ }
134
+ return String(label).trim();
135
+ }
136
+ function formatTextLabel(label) {
137
+ const trimmed = coerceLabelText(label);
138
+ if (!trimmed) {
139
+ return null;
140
+ }
141
+ return trimmed;
142
+ }
143
+ function formatCounterLabel(label) {
144
+ const trimmed = coerceLabelText(label);
145
+ if (!trimmed) {
146
+ return null;
147
+ }
148
+ if (trimmed === OVERFLOW_LABEL) {
149
+ return OVERFLOW_LABEL;
150
+ }
151
+ if (!INTEGER_LABEL_PATTERN.test(trimmed)) {
152
+ return null;
153
+ }
154
+ const intValue = Math.trunc(Number(trimmed));
155
+ if (intValue > BADGE_OVERFLOW_THRESHOLD) {
156
+ return OVERFLOW_LABEL;
157
+ }
158
+ return String(intValue);
159
+ }
160
+
161
+ const badgeCss = () => `@charset "UTF-8";:host{--ix-badge-offset-x:0rem;--ix-badge-offset-y:0rem;--ix-badge-max-width:none;--ix-badge-animation-duration:2s;--ix-badge-color-primary:var(--theme-color-primary);--ix-badge-color-primary-contrast:var(--theme-color-primary--contrast);--ix-badge-color-alarm:var(--theme-color-alarm);--ix-badge-color-alarm-contrast:var(--theme-color-alarm--contrast);--ix-badge-color-alarm-bdr:var(--theme-color-alarm-bdr);--ix-badge-color-critical:var(--theme-color-critical);--ix-badge-color-critical-contrast:var(--theme-color-critical--contrast);--ix-badge-color-warning:var(--theme-color-warning);--ix-badge-color-warning-contrast:var(--theme-color-warning--contrast);--ix-badge-color-warning-bdr:var(--theme-color-warning-bdr);--ix-badge-color-info:var(--theme-color-info);--ix-badge-color-info-contrast:var(--theme-color-info--contrast);--ix-badge-color-success:var(--theme-color-success);--ix-badge-color-success-contrast:var(--theme-color-success--contrast);--ix-badge-color-neutral:var(--theme-color-neutral);--ix-badge-color-neutral-contrast:var(--theme-color-neutral--contrast);--ix-badge-color-ghost:var(--theme-color-ghost);--ix-badge-color-text:var(--theme-color-std-text);--ix-badge-color-contrast-ring:var(--theme-color-1);--ix-badge-pulse-color:var(--ix-badge-color-primary)}:host{display:inline-block;position:relative;width:-moz-fit-content;width:fit-content;max-width:100%;vertical-align:top}:host *,:host *::after,:host *::before{box-sizing:border-box}:host *::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host *{}:host *::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host *{}:host *::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host *::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host *{}:host *::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host *{}:host *::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host *::-webkit-scrollbar-corner{display:none}.anchor{display:contents}:host(.attached) ::slotted(*){position:relative;z-index:0}.indicator{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:100px;font-size:0.875rem;line-height:1.43;letter-spacing:0.012em;max-width:var(--ix-badge-max-width);z-index:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;isolation:isolate}:host([type=label]:not(.attached)) .indicator,:host([type=counter]:not(.attached)) .indicator{pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}:host(.with-tooltip:not(.attached)) .indicator{pointer-events:auto}.label{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis}:host(.attached) .indicator{position:absolute;z-index:1;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}:host(.attached.top-after) .indicator{top:var(--ix-badge-offset-y);inset-inline-end:var(--ix-badge-offset-x)}:host(.attached.bottom-after) .indicator{bottom:var(--ix-badge-offset-y);inset-inline-end:var(--ix-badge-offset-x)}:host([type=dot]:not(.attached)),:host([type=counter]:not(.attached)),:host([type=label]:not(.attached)),:host([type=status-icon]:not(.attached)){display:inline-flex;line-height:0;font-size:0}:host ix-tooltip{font-size:0.875rem;line-height:normal}:host([type=dot]:not(.attached)) slot,:host([type=counter]:not(.attached)) slot,:host([type=label]:not(.attached)) slot,:host([type=status-icon]:not(.attached)) slot{flex:0 0 0;width:0;height:0;overflow:hidden}:host([type=dot]) .indicator{width:0.75rem;height:0.75rem;min-width:0.75rem;min-height:0.75rem;padding:0;line-height:0;font-size:0;flex-shrink:0}:host([type=counter]) .indicator,:host([type=label]) .indicator{height:1.25rem;min-width:1.25rem;min-height:1.25rem;flex-shrink:0}:host([type=counter]) .indicator{padding-inline:0.25rem;font-weight:bold;line-height:1.25rem}:host([type=label]) .indicator{padding-inline:0.5rem;gap:0.25rem;font-weight:400;line-height:1.25rem}:host([type=label]:not(.attached)) .indicator{width:100%;box-sizing:border-box}:host([type=label].outline.with-icon) .indicator{padding-inline:0.4375rem}:host([type=label].align-left) .indicator{justify-content:flex-start}:host([type=label]) .icon{flex-shrink:0}:host([type=counter]) .label,:host([type=label]) .label{line-height:1.25rem}:host([type=status-icon]) .indicator{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;padding:0;line-height:0;font-size:0;flex-shrink:0;background-color:transparent;border:none}:host([type=status-icon]:not(.outline)) .status-icon-stack{position:relative;display:block;width:1.2rem;height:1.2rem;flex-shrink:0}:host([type=status-icon]) .status-icon{flex-shrink:0;width:1.2rem;height:1.2rem;min-width:1.2rem;min-height:1.2rem}:host([type=status-icon]:not(.outline)) .status-icon-stack .status-icon{position:absolute;inset:0}:host([type=status-icon].alarm){--ix-badge-pulse-color:var(--ix-badge-color-alarm)}:host([type=status-icon].alarm) .status-icon:not(.status-icon-plate){color:var(--ix-badge-color-alarm)}:host([type=status-icon].critical){--ix-badge-pulse-color:var(--ix-badge-color-critical)}:host([type=status-icon].critical) .status-icon:not(.status-icon-plate){color:var(--ix-badge-color-critical)}:host([type=status-icon].warning){--ix-badge-pulse-color:var(--ix-badge-color-warning)}:host([type=status-icon].warning) .status-icon:not(.status-icon-plate){color:var(--ix-badge-color-warning)}:host([type=status-icon].info){--ix-badge-pulse-color:var(--ix-badge-color-info)}:host([type=status-icon].info) .status-icon:not(.status-icon-plate){color:var(--ix-badge-color-info)}:host([type=status-icon].success){--ix-badge-pulse-color:var(--ix-badge-color-success)}:host([type=status-icon].success) .status-icon:not(.status-icon-plate){color:var(--ix-badge-color-success)}:host([type=status-icon].critical:not(.outline)) .status-icon-plate,:host([type=status-icon].warning:not(.outline)) .status-icon-plate,:host([type=status-icon].success:not(.outline)) .status-icon-plate{color:#000000}:host([type=status-icon].alarm:not(.outline)) .status-icon-plate,:host([type=status-icon].error:not(.outline)) .status-icon-plate,:host([type=status-icon].info:not(.outline)) .status-icon-plate{color:#ffffff}:host([type=status-icon].error){--ix-badge-pulse-color:var(--ix-badge-color-alarm)}:host([type=status-icon].error) .status-icon:not(.status-icon-plate){color:var(--ix-badge-color-alarm)}:host(.primary:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-primary)}:host(.primary:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-primary);color:var(--ix-badge-color-primary-contrast)}:host(.primary.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-primary)}:host(.primary.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-primary)}:host(.alarm:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-alarm)}:host(.alarm:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-alarm);color:var(--ix-badge-color-alarm-contrast)}:host(.alarm.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-alarm)}:host(.alarm.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-alarm-bdr)}:host(.critical:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-critical)}:host(.critical:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-critical);color:var(--ix-badge-color-critical-contrast)}:host(.critical.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-critical)}:host(.critical.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-critical)}:host(.warning:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-warning)}:host(.warning:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-warning);color:var(--ix-badge-color-warning-contrast)}:host(.warning.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-warning)}:host(.warning.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-warning-bdr)}:host(.info:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-info)}:host(.info:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-info);color:var(--ix-badge-color-info-contrast)}:host(.info.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-info)}:host(.info.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-info)}:host(.neutral:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-neutral)}:host(.neutral:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-neutral);color:var(--ix-badge-color-neutral-contrast)}:host(.neutral.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-neutral)}:host(.neutral.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-neutral)}:host(.success:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-success)}:host(.success:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-success);color:var(--ix-badge-color-success-contrast)}:host(.success.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-color-success)}:host(.success.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);color:var(--ix-badge-color-text);border:0.0625rem solid var(--ix-badge-color-success)}:host(.custom:not(.outline):not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-custom-background)}:host(.custom:not(.outline):not([type=status-icon])) .indicator{background-color:var(--ix-badge-custom-background);color:var(--ix-badge-custom-color)}:host(.custom.outline:not([type=status-icon])){--ix-badge-pulse-color:var(--ix-badge-custom-background)}:host(.custom.outline:not([type=status-icon])) .indicator{background-color:var(--ix-badge-color-ghost);border:0.0625rem solid var(--ix-badge-custom-background);color:var(--ix-badge-custom-color, var(--ix-badge-color-text))}:host(.border:not(.outline):not([type=status-icon])) .indicator{outline:0.0625rem solid var(--ix-badge-color-contrast-ring);outline-offset:0}:host ::slotted(.description){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0}:host(.enable-animation) .indicator{overflow:visible;position:relative}:host(.attached.enable-animation) .indicator{position:absolute}:host([type=status-icon].enable-animation) .indicator::after{content:"";position:absolute;inset:0.025rem;z-index:-1;pointer-events:none;border-radius:inherit;background-color:var(--ix-badge-pulse-color);transform:scale(0.521);transform-origin:center;opacity:0;animation:ix-badge-pulse-status var(--ix-badge-animation-duration) linear infinite}:host(.enable-animation:not([type=status-icon])) .indicator::after{content:"";position:absolute;inset:0.03125rem;z-index:-1;pointer-events:none;box-sizing:border-box;background-color:transparent;border-style:solid;border-color:var(--ix-badge-pulse-color);border-width:0;border-radius:inherit;opacity:0;animation:ix-badge-pulse-border var(--ix-badge-animation-duration) linear infinite}@media (prefers-reduced-motion: reduce){:host(.enable-animation) .indicator::after{animation:none;opacity:0;transform:none;background-color:transparent;border-width:0}}@keyframes ix-badge-pulse-border{0%{inset:0.03125rem;border-width:0;opacity:0}5%{inset:0.03125rem;border-width:0;opacity:0.5}45%{opacity:0.4}80%{animation-timing-function:ease-out;inset:-0.46875rem;border-width:0.5rem;opacity:0.1}90%{inset:-0.59375rem;border-width:0.625rem;opacity:0}100%{inset:0.03125rem;border-width:0;opacity:0}}@keyframes ix-badge-pulse-status{0%{transform:scale(0.521);opacity:0}5%{transform:scale(0.521);opacity:0.5;animation-timing-function:cubic-bezier(0.637, 0.43, 0.928, 1.008)}45%{transform:scale(1);opacity:0.4}80%{animation-timing-function:ease-out;transform:scale(1.6);opacity:0.1}90%{transform:scale(1.8);opacity:0}100%{transform:scale(0.521);opacity:0}}`;
162
+
163
+ /** Slot name for the screen-reader description. */
164
+ const BADGE_DESCRIPTION_SLOT = 'description';
165
+ const Badge = class extends index$1.Mixin(...component.DefaultMixins, inheritAriaAttributes_mixin.InheritAriaAttributesMixin, id_mixin.ComponentIdMixin) {
166
+ constructor(hostRef) {
167
+ super();
168
+ index$1.registerInstance(this, hostRef);
169
+ }
170
+ get hostElement() { return index$1.getElement(this); }
171
+ /**
172
+ * Badge type (`counter`, `label`, `dot`, or `status-icon`).
173
+ *
174
+ * @since 5.2.0
175
+ */
176
+ type = 'counter';
177
+ /**
178
+ * Visible text or count.
179
+ * Required for `label` and `counter`. Omit for `dot` and `status-icon`.
180
+ * Counters accept integers only (decimals truncated); values above 99 render as `99+`.
181
+ *
182
+ * @since 5.2.0
183
+ */
184
+ label;
185
+ /**
186
+ * Color variant.
187
+ * For `status-icon`, unsupported values fall back to `info`.
188
+ * Use `error` only with `status-icon` (other types map it to `alarm`).
189
+ *
190
+ * @since 5.2.0
191
+ */
192
+ variant = 'primary';
193
+ /**
194
+ * Show the badge in outline style.
195
+ *
196
+ * @since 5.2.0
197
+ */
198
+ outline = false;
199
+ /**
200
+ * Add a high-contrast border on filled badges.
201
+ * Ignored when **outline** is `true` or **type** is `status-icon`.
202
+ *
203
+ * @since 5.2.0
204
+ */
205
+ border = false;
206
+ /**
207
+ * Position relative to the slotted anchor.
208
+ * Only has an effect when attached.
209
+ *
210
+ * @since 5.2.0
211
+ */
212
+ position = 'top-after';
213
+ /**
214
+ * Extra horizontal offset in pixels.
215
+ * Only has an effect when attached.
216
+ * Added to the type default.
217
+ *
218
+ * @since 5.2.0
219
+ */
220
+ offsetX = 0;
221
+ /**
222
+ * Extra vertical offset in pixels.
223
+ * Only has an effect when attached.
224
+ * Added to the type default.
225
+ *
226
+ * @since 5.2.0
227
+ */
228
+ offsetY = 0;
229
+ /**
230
+ * Play the attention pulse animation.
231
+ * Override duration with `--ix-badge-animation-duration` (default `2s`).
232
+ *
233
+ * @since 5.2.0
234
+ */
235
+ enableAnimation = false;
236
+ /**
237
+ * Custom background or border color.
238
+ * Only has an effect when **variant** is `custom`.
239
+ *
240
+ * @since 5.2.0
241
+ */
242
+ background;
243
+ /**
244
+ * Custom text color.
245
+ * Only has an effect when **variant** is `custom`.
246
+ *
247
+ * @since 5.2.0
248
+ */
249
+ badgeColor;
250
+ /**
251
+ * Leading icon name.
252
+ * Only has an effect when **type** is `label`.
253
+ *
254
+ * @since 5.2.0
255
+ */
256
+ icon;
257
+ /**
258
+ * Accessible name for the leading icon.
259
+ * When unset, the icon is decorative if **label** provides visible text.
260
+ * Only has an effect when **type** is `label`.
261
+ *
262
+ * @since 5.2.0
263
+ */
264
+ ariaLabelIcon;
265
+ /**
266
+ * Left-align label content.
267
+ * Only has an effect when **type** is `label`.
268
+ *
269
+ * @since 5.2.0
270
+ */
271
+ alignLeft = false;
272
+ /**
273
+ * Display a tooltip when the badge is standalone.
274
+ * By default, no tooltip is displayed.
275
+ * Add the attribute to use the badge label (or host `aria-label`) as the tooltip, or pass a string for custom text.
276
+ * Ignored when the badge is attached to an anchor.
277
+ *
278
+ * @since 5.2.0
279
+ */
280
+ tooltipText = false;
281
+ hasAnchor = false;
282
+ descriptionId = '';
283
+ anchorElements = [];
284
+ slotElement;
285
+ indicatorElementRef = makeRef.makeRef();
286
+ hasDisconnected = false;
287
+ componentWillLoad() {
288
+ // Mixin strips host ARIA into `inheritAriaAttributes` and removes them from the host.
289
+ super.componentWillLoad();
290
+ this.descriptionId = `${this.getHostElementId()}-description`;
291
+ const hasAnchor = this.detectHasAnchor();
292
+ if (hasAnchor) {
293
+ this.hasAnchor = true;
294
+ // Attached: discard host ARIA — the anchor owns naming; the indicator is decorative
295
+ // (`aria-hidden`) and count/label text is exposed via `aria-describedby` on the anchor.
296
+ this.inheritAriaAttributes = {};
297
+ return;
298
+ }
299
+ this.hasAnchor = false;
300
+ // Standalone: keep mixin-captured ARIA and re-apply on `<Host>` in `render()`.
301
+ }
302
+ componentDidLoad() {
303
+ this.syncAnchorDescribedBy();
304
+ }
305
+ componentDidRender() {
306
+ const nextHasAnchor = this.detectHasAnchor();
307
+ if (nextHasAnchor !== this.hasAnchor) {
308
+ this.applyAnchorMode(nextHasAnchor);
309
+ this.syncAnchorDescribedBy();
310
+ }
311
+ }
312
+ connectedCallback() {
313
+ if (this.hasDisconnected) {
314
+ this.syncAnchorDescribedBy();
315
+ this.hasDisconnected = false;
316
+ }
317
+ }
318
+ disconnectedCallback() {
319
+ this.clearAnchorDescribedBy();
320
+ this.hasDisconnected = true;
321
+ }
322
+ labelOrTypeChanged() {
323
+ if (this.hasAnchor) {
324
+ this.syncAnchorDescribedBy();
325
+ }
326
+ }
327
+ setSlotRef = (element) => {
328
+ this.slotElement = element;
329
+ };
330
+ onSlotChange = () => {
331
+ this.applyAnchorMode(this.detectHasAnchor());
332
+ this.syncAnchorDescribedBy();
333
+ };
334
+ isDescriptionElement(element) {
335
+ return (element.getAttribute('slot') === BADGE_DESCRIPTION_SLOT ||
336
+ (!!this.descriptionId && element.id === this.descriptionId));
337
+ }
338
+ getAnchorElements() {
339
+ return Array.from(this.hostElement.children).filter((child) => child instanceof HTMLElement && !this.isDescriptionElement(child));
340
+ }
341
+ detectHasAnchor() {
342
+ if (shadowDom.hasSlottedElements(this.slotElement)) {
343
+ return true;
344
+ }
345
+ return this.getAnchorElements().length > 0;
346
+ }
347
+ applyAnchorMode(hasAnchor) {
348
+ if (hasAnchor === this.hasAnchor) {
349
+ return;
350
+ }
351
+ this.clearAnchorDescribedBy();
352
+ if (hasAnchor) {
353
+ this.hasAnchor = true;
354
+ // Strip any ARIA still on the host (e.g. re-applied while standalone) and discard —
355
+ // attached mode must not keep role / aria-* on the wrapper.
356
+ a11y.a11yHostAttributes(this.hostElement);
357
+ this.inheritAriaAttributes = {};
358
+ this.descriptionId = `${this.getHostElementId()}-description`;
359
+ return;
360
+ }
361
+ this.hasAnchor = false;
362
+ // Leaving attached: capture any author ARIA set on the host for standalone `<Host>`.
363
+ this.inheritAriaAttributes = a11y.a11yHostAttributes(this.hostElement);
364
+ }
365
+ getResolvedVariant() {
366
+ if (this.variant === 'error') {
367
+ return this.getResolvedType() === 'status-icon' ? 'error' : 'alarm';
368
+ }
369
+ return chip_types.CHIP_VARIANTS.includes(this.variant)
370
+ ? this.variant
371
+ : 'primary';
372
+ }
373
+ getResolvedType() {
374
+ return BADGE_ANATOMY_TYPES.includes(this.type) ? this.type : 'counter';
375
+ }
376
+ getResolvedPosition() {
377
+ return BADGE_POSITIONS.includes(this.position)
378
+ ? this.position
379
+ : 'top-after';
380
+ }
381
+ getResolvedOffsets() {
382
+ const type = this.getResolvedType();
383
+ const defaults = this.hasAnchor
384
+ ? BADGE_ATTACHED_OFFSET_DEFAULTS[type]
385
+ : { x: 0, y: 0 };
386
+ return {
387
+ x: defaults.x + this.offsetX,
388
+ y: defaults.y + this.offsetY,
389
+ };
390
+ }
391
+ getFormattedLabel(type) {
392
+ return formatBadgeLabel(type, this.label);
393
+ }
394
+ getAccessibleText(formattedLabel) {
395
+ return formattedLabel || undefined;
396
+ }
397
+ isTooltipRequested() {
398
+ return !!(this.tooltipText || this.hostElement.hasAttribute('tooltip-text'));
399
+ }
400
+ hasVisibleIndicator(type, formattedLabel) {
401
+ if (type === 'counter' || type === 'label') {
402
+ return !!formattedLabel;
403
+ }
404
+ return type === 'dot' || type === 'status-icon';
405
+ }
406
+ shouldShowTooltip(type, formattedLabel) {
407
+ return (!this.hasAnchor &&
408
+ this.isTooltipRequested() &&
409
+ this.hasVisibleIndicator(type, formattedLabel));
410
+ }
411
+ getTooltipContent(formattedLabel) {
412
+ if (typeof this.tooltipText === 'string' && this.tooltipText.trim()) {
413
+ return this.tooltipText.trim();
414
+ }
415
+ return (formattedLabel?.trim() ||
416
+ this.inheritAriaAttributes['aria-label']?.trim() ||
417
+ this.hostElement.getAttribute('aria-label')?.trim() ||
418
+ undefined);
419
+ }
420
+ getTooltip(formattedLabel) {
421
+ if (!this.shouldShowTooltip(this.getResolvedType(), formattedLabel)) {
422
+ return null;
423
+ }
424
+ const text = this.getTooltipContent(formattedLabel);
425
+ if (!text) {
426
+ return null;
427
+ }
428
+ return (index$1.h("ix-tooltip", { for: this.indicatorElementRef.waitForCurrent(), "aria-label": text }, text));
429
+ }
430
+ syncAnchorDescribedBy() {
431
+ this.clearAnchorDescribedBy();
432
+ if (!this.hasAnchor) {
433
+ return;
434
+ }
435
+ const accessibleText = this.getAccessibleText(this.getFormattedLabel(this.getResolvedType()));
436
+ if (!accessibleText) {
437
+ return;
438
+ }
439
+ const descriptionEl = this.ensureLightDomDescription(accessibleText);
440
+ const anchors = this.getAnchorElements();
441
+ for (const anchor of anchors) {
442
+ const existing = anchor.getAttribute('aria-describedby');
443
+ const ids = new Set(existing?.split(/\s+/).filter((id) => id.length > 0) ?? []);
444
+ ids.add(descriptionEl.id);
445
+ anchor.setAttribute('aria-describedby', Array.from(ids).join(' '));
446
+ anchor.dataset.ixBadgeDescribedby = descriptionEl.id;
447
+ }
448
+ this.anchorElements = anchors;
449
+ }
450
+ ensureLightDomDescription(text) {
451
+ let descriptionEl = Array.from(this.hostElement.children).find((child) => child instanceof HTMLElement && this.isDescriptionElement(child));
452
+ if (!descriptionEl) {
453
+ descriptionEl = document.createElement('span');
454
+ descriptionEl.slot = BADGE_DESCRIPTION_SLOT;
455
+ descriptionEl.className = 'description';
456
+ this.hostElement.appendChild(descriptionEl);
457
+ }
458
+ descriptionEl.id = this.descriptionId;
459
+ descriptionEl.textContent = text;
460
+ return descriptionEl;
461
+ }
462
+ removeLightDomDescription() {
463
+ Array.from(this.hostElement.children)
464
+ .filter((child) => child instanceof HTMLElement && this.isDescriptionElement(child))
465
+ .forEach((child) => child.remove());
466
+ }
467
+ clearAnchorDescribedBy() {
468
+ for (const anchor of this.anchorElements) {
469
+ if (anchor.dataset.ixBadgeDescribedby !== this.descriptionId) {
470
+ continue;
471
+ }
472
+ const existing = anchor.getAttribute('aria-describedby');
473
+ const ids = existing?.split(/\s+/).filter((id) => id !== this.descriptionId) ?? [];
474
+ delete anchor.dataset.ixBadgeDescribedby;
475
+ if (ids.length > 0) {
476
+ anchor.setAttribute('aria-describedby', ids.join(' '));
477
+ }
478
+ else {
479
+ anchor.removeAttribute('aria-describedby');
480
+ }
481
+ }
482
+ this.anchorElements = [];
483
+ this.removeLightDomDescription();
484
+ }
485
+ renderIndicatorShell(_accessibleText, content) {
486
+ return (index$1.h("div", { class: "indicator", ref: this.indicatorElementRef, "aria-hidden": this.hasAnchor ? a11y.a11yBoolean(true) : undefined }, content));
487
+ }
488
+ renderIndicator(type, variant, accessibleText, formattedLabel) {
489
+ if (type === 'counter') {
490
+ if (!formattedLabel) {
491
+ return null;
492
+ }
493
+ return this.renderIndicatorShell(accessibleText, index$1.h("span", { class: "label" }, formattedLabel));
494
+ }
495
+ if (type === 'dot') {
496
+ return this.renderIndicatorShell(accessibleText);
497
+ }
498
+ if (type === 'label') {
499
+ if (!formattedLabel) {
500
+ return null;
501
+ }
502
+ const iconIsDecorative = !this.ariaLabelIcon?.trim();
503
+ return this.renderIndicatorShell(accessibleText, [
504
+ this.icon ? (index$1.h("ix-icon", { key: "icon", class: "icon", name: this.icon, size: "16", "aria-label": this.ariaLabelIcon, "aria-hidden": a11y.a11yBoolean(iconIsDecorative) })) : null,
505
+ index$1.h("span", { key: "label", class: "label" }, formattedLabel),
506
+ ]);
507
+ }
508
+ if (type === 'status-icon') {
509
+ if (this.outline) {
510
+ return this.renderIndicatorShell(accessibleText, index$1.h("ix-icon", { class: "status-icon", name: getBadgeStatusIcon(variant, true), size: "16", "aria-hidden": a11y.a11yBoolean(true) }));
511
+ }
512
+ return this.renderIndicatorShell(accessibleText, index$1.h("span", { class: "status-icon-stack" }, index$1.h("ix-icon", { class: "status-icon status-icon-plate", name: getBadgeStatusIconPlate(variant), size: "16", "aria-hidden": a11y.a11yBoolean(true) }), index$1.h("ix-icon", { class: "status-icon status-icon-glyph", name: getBadgeStatusIcon(variant, false), size: "16", "aria-hidden": a11y.a11yBoolean(true) })));
513
+ }
514
+ return null;
515
+ }
516
+ render() {
517
+ const type = this.getResolvedType();
518
+ const variant = this.getResolvedVariant();
519
+ const position = this.getResolvedPosition();
520
+ const offsets = this.getResolvedOffsets();
521
+ const formattedLabel = this.getFormattedLabel(type);
522
+ const accessibleText = this.getAccessibleText(formattedLabel);
523
+ const hostVariant = type === 'status-icon' ? getResolvedStatusIconVariant(variant) : variant;
524
+ const showBorder = this.border && type !== 'status-icon';
525
+ const showTooltip = this.shouldShowTooltip(type, formattedLabel);
526
+ const customHostStyle = hostVariant === 'custom'
527
+ ? {
528
+ '--ix-badge-custom-background': this.background,
529
+ '--ix-badge-custom-color': this.badgeColor,
530
+ }
531
+ : undefined;
532
+ return (index$1.h(index$1.Host, { key: '984c6869acd0d44366c9a90f67e7e0155ac1cffe', ...(this.hasAnchor ? {} : this.inheritAriaAttributes), class: {
533
+ attached: this.hasAnchor,
534
+ outline: this.outline,
535
+ border: showBorder,
536
+ 'enable-animation': this.enableAnimation,
537
+ 'align-left': this.alignLeft,
538
+ 'with-icon': type === 'label' && !!this.icon,
539
+ 'with-tooltip': showTooltip,
540
+ ...(this.hasAnchor ? { [position]: true } : {}),
541
+ [hostVariant]: true,
542
+ }, style: {
543
+ ...customHostStyle,
544
+ ...(this.hasAnchor
545
+ ? {
546
+ '--ix-badge-offset-x': rwd_util.convertToRemString(offsets.x),
547
+ '--ix-badge-offset-y': rwd_util.convertToRemString(offsets.y),
548
+ }
549
+ : {}),
550
+ } }, index$1.h("slot", { key: '17d7aec5f256bf994fdb1e4410840531c3c80081', name: BADGE_DESCRIPTION_SLOT }), index$1.h("div", { key: '18ec0b58489eb3971e7916ea2845ec526c7230a1', class: "anchor" }, index$1.h("slot", { key: 'ee60262b5aaff2fd0128350f64069e9c49e5a3d7', ref: this.setSlotRef, onSlotchange: this.onSlotChange })), this.renderIndicator(type, variant, accessibleText, formattedLabel), this.getTooltip(formattedLabel)));
551
+ }
552
+ static get watchers() { return {
553
+ "role": [{
554
+ "ariaAttributeChanged": 0
555
+ }],
556
+ "aria-activedescendant": [{
557
+ "ariaAttributeChanged": 0
558
+ }],
559
+ "aria-atomic": [{
560
+ "ariaAttributeChanged": 0
561
+ }],
562
+ "aria-autocomplete": [{
563
+ "ariaAttributeChanged": 0
564
+ }],
565
+ "aria-braillelabel": [{
566
+ "ariaAttributeChanged": 0
567
+ }],
568
+ "aria-brailleroledescription": [{
569
+ "ariaAttributeChanged": 0
570
+ }],
571
+ "aria-busy": [{
572
+ "ariaAttributeChanged": 0
573
+ }],
574
+ "aria-checked": [{
575
+ "ariaAttributeChanged": 0
576
+ }],
577
+ "aria-colcount": [{
578
+ "ariaAttributeChanged": 0
579
+ }],
580
+ "aria-colindex": [{
581
+ "ariaAttributeChanged": 0
582
+ }],
583
+ "aria-colindextext": [{
584
+ "ariaAttributeChanged": 0
585
+ }],
586
+ "aria-colspan": [{
587
+ "ariaAttributeChanged": 0
588
+ }],
589
+ "aria-controls": [{
590
+ "ariaAttributeChanged": 0
591
+ }],
592
+ "aria-current": [{
593
+ "ariaAttributeChanged": 0
594
+ }],
595
+ "aria-describedby": [{
596
+ "ariaAttributeChanged": 0
597
+ }],
598
+ "aria-description": [{
599
+ "ariaAttributeChanged": 0
600
+ }],
601
+ "aria-details": [{
602
+ "ariaAttributeChanged": 0
603
+ }],
604
+ "aria-disabled": [{
605
+ "ariaAttributeChanged": 0
606
+ }],
607
+ "aria-errormessage": [{
608
+ "ariaAttributeChanged": 0
609
+ }],
610
+ "aria-expanded": [{
611
+ "ariaAttributeChanged": 0
612
+ }],
613
+ "aria-flowto": [{
614
+ "ariaAttributeChanged": 0
615
+ }],
616
+ "aria-haspopup": [{
617
+ "ariaAttributeChanged": 0
618
+ }],
619
+ "aria-hidden": [{
620
+ "ariaAttributeChanged": 0
621
+ }],
622
+ "aria-invalid": [{
623
+ "ariaAttributeChanged": 0
624
+ }],
625
+ "aria-keyshortcuts": [{
626
+ "ariaAttributeChanged": 0
627
+ }],
628
+ "aria-label": [{
629
+ "ariaAttributeChanged": 0
630
+ }],
631
+ "aria-labelledby": [{
632
+ "ariaAttributeChanged": 0
633
+ }],
634
+ "aria-level": [{
635
+ "ariaAttributeChanged": 0
636
+ }],
637
+ "aria-live": [{
638
+ "ariaAttributeChanged": 0
639
+ }],
640
+ "aria-multiline": [{
641
+ "ariaAttributeChanged": 0
642
+ }],
643
+ "aria-multiselectable": [{
644
+ "ariaAttributeChanged": 0
645
+ }],
646
+ "aria-orientation": [{
647
+ "ariaAttributeChanged": 0
648
+ }],
649
+ "aria-owns": [{
650
+ "ariaAttributeChanged": 0
651
+ }],
652
+ "aria-placeholder": [{
653
+ "ariaAttributeChanged": 0
654
+ }],
655
+ "aria-posinset": [{
656
+ "ariaAttributeChanged": 0
657
+ }],
658
+ "aria-pressed": [{
659
+ "ariaAttributeChanged": 0
660
+ }],
661
+ "aria-readonly": [{
662
+ "ariaAttributeChanged": 0
663
+ }],
664
+ "aria-relevant": [{
665
+ "ariaAttributeChanged": 0
666
+ }],
667
+ "aria-required": [{
668
+ "ariaAttributeChanged": 0
669
+ }],
670
+ "aria-roledescription": [{
671
+ "ariaAttributeChanged": 0
672
+ }],
673
+ "aria-rowcount": [{
674
+ "ariaAttributeChanged": 0
675
+ }],
676
+ "aria-rowindex": [{
677
+ "ariaAttributeChanged": 0
678
+ }],
679
+ "aria-rowindextext": [{
680
+ "ariaAttributeChanged": 0
681
+ }],
682
+ "aria-rowspan": [{
683
+ "ariaAttributeChanged": 0
684
+ }],
685
+ "aria-selected": [{
686
+ "ariaAttributeChanged": 0
687
+ }],
688
+ "aria-setsize": [{
689
+ "ariaAttributeChanged": 0
690
+ }],
691
+ "aria-sort": [{
692
+ "ariaAttributeChanged": 0
693
+ }],
694
+ "aria-valuemax": [{
695
+ "ariaAttributeChanged": 0
696
+ }],
697
+ "aria-valuemin": [{
698
+ "ariaAttributeChanged": 0
699
+ }],
700
+ "aria-valuenow": [{
701
+ "ariaAttributeChanged": 0
702
+ }],
703
+ "aria-valuetext": [{
704
+ "ariaAttributeChanged": 0
705
+ }],
706
+ "label": [{
707
+ "labelOrTypeChanged": 0
708
+ }],
709
+ "type": [{
710
+ "labelOrTypeChanged": 0
711
+ }]
712
+ }; }
713
+ };
714
+ Badge.style = badgeCss();
715
+
716
+ exports.ix_badge = Badge;