@siemens/ix 5.1.1 → 5.2.1

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 (926) 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-4ZsT_zIm.js +1 -0
  131. package/components/p-B3ZUi0gM.js +1 -0
  132. package/components/p-BE708_H3.js +1 -0
  133. package/components/p-BF2IsI5j.js +1 -0
  134. package/components/p-BGpGr8Qv.js +1 -0
  135. package/components/{p-CuFZ7CXu.js → p-BHjmN8zz.js} +1 -1
  136. package/components/{p-CbbabcAR.js → p-BHtNsBtM.js} +1 -1
  137. package/components/p-BKCLcJ_A.js +1 -0
  138. package/components/p-BKVBe7Co.js +1 -0
  139. package/components/p-BOImZPcG.js +1 -0
  140. package/components/p-BTBxxgtF.js +1 -0
  141. package/components/p-BmZGQGZi.js +1 -0
  142. package/components/p-BpE93ty6.js +1 -0
  143. package/components/p-BqeSHO6C.js +1 -0
  144. package/components/p-C02EaF8C.js +1 -0
  145. package/components/{p-baqpOH0g.js → p-CAd-WgR8.js} +1 -1
  146. package/components/p-CFH9HkmQ.js +1 -0
  147. package/components/p-CGGWaScq.js +1 -0
  148. package/components/{p-Czy7a3I4.js → p-CHJbp28K.js} +1 -1
  149. package/components/p-CRbQNmxe.js +1 -0
  150. package/components/p-CYgC-XN6.js +1 -0
  151. package/components/{p-GGleop6j.js → p-C_K74Xlt.js} +1 -1
  152. package/components/p-CiP3eKpd.js +1 -0
  153. package/components/p-CqWfy46u.js +1 -0
  154. package/components/p-Ctb1EExj.js +1 -0
  155. package/components/p-Cxwq4WaV.js +1 -0
  156. package/components/p-D5-dW4IM.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-DB-zpRCO.js +1 -0
  160. package/components/{p-C21npbUc.js → p-DD206pTM.js} +1 -1
  161. package/components/p-DIq_C5Sa.js +1 -0
  162. package/components/p-DKU5FVxI.js +1 -0
  163. package/components/{p-BZgc6bzH.js → p-DLgZfUmI.js} +1 -1
  164. package/components/{p-DtmgZu-S.js → p-DWOjSq8j.js} +1 -1
  165. package/components/p-DXmwthlZ.js +1 -0
  166. package/components/p-D_VBAyPm.js +1 -0
  167. package/components/p-DcOoa9vE.js +1 -0
  168. package/components/p-DiYkfhDE.js +1 -0
  169. package/components/p-DpvAVNqZ.js +1 -0
  170. package/components/p-DsVj4Cd-.js +1 -0
  171. package/components/{p-BRoFUwzJ.js → p-DyC90hvu.js} +1 -1
  172. package/components/p-DzDB4UBp.js +1 -0
  173. package/components/p-QnnFQ3fz.js +1 -0
  174. package/components/p-R5tYZVVd.js +1 -0
  175. package/components/p-WX1HYV2-.js +1 -0
  176. package/components/{p-1KOHyx-1.js → p-YFmbQndr.js} +1 -1
  177. package/components/{p-CUvmGsh_.js → p-_irxfS9S.js} +1 -1
  178. package/components/{p-CtDOTMOT.js → p-eN5fQtqO.js} +1 -1
  179. package/components/p-ePylRxs_.js +1 -0
  180. package/components/p-n2_EOgMr.js +1 -0
  181. package/components/p-q_MHsaAK.js +1 -0
  182. package/components/p-tpMN9yTQ.js +1 -0
  183. package/components/p-v9vlPlkd.js +1 -0
  184. package/components/p-viP8I2_s.js +1 -0
  185. package/dist/cjs/{a11y-_XjpTo2w.js → a11y--G19CFwe.js} +1 -0
  186. package/dist/cjs/{animation-hxDbANsw.js → animation-BIfSQAkX.js} +8 -12
  187. package/dist/cjs/{base-button-BP6iIMR7.js → base-button-DIhNZecD.js} +1 -1
  188. package/dist/cjs/{base-icon-button-BmiGQb9v.js → base-icon-button-DASKxRmK.js} +1 -1
  189. package/dist/cjs/chip.types-BD73fAij.js +22 -0
  190. package/dist/cjs/{focus-visible.mixin-1V7Eldn_.js → focus-visible.mixin-GrZAmMez.js} +1 -1
  191. package/dist/cjs/{helper-text-util-BkHm7ofh.js → helper-text-util-EAfzAOH6.js} +2 -2
  192. package/dist/cjs/{index-CwJ-mkQd.js → index-BQht1mLe.js} +20 -0
  193. package/dist/cjs/index-DnclGKUw.js +28 -4
  194. package/dist/cjs/index.cjs.js +2 -2
  195. package/dist/cjs/inherit-aria-attributes.mixin-DZ_vNjkJ.js +306 -0
  196. package/dist/cjs/{input.fc-DM-hX3xb.js → input.fc-ellguRiE.js} +9 -4
  197. package/dist/cjs/ix-action-card.cjs.entry.js +2 -2
  198. package/dist/cjs/ix-application-header.cjs.entry.js +3 -3
  199. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
  200. package/dist/cjs/ix-application.cjs.entry.js +1 -1
  201. package/dist/cjs/ix-avatar_2.cjs.entry.js +5 -5
  202. package/dist/cjs/ix-badge.cjs.entry.js +565 -0
  203. package/dist/cjs/ix-blind.cjs.entry.js +15 -9
  204. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +5 -158
  205. package/dist/cjs/ix-breadcrumb.cjs.entry.js +5 -5
  206. package/dist/cjs/ix-button.cjs.entry.js +4 -157
  207. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +10 -7
  208. package/dist/cjs/ix-card-list.cjs.entry.js +63 -10
  209. package/dist/cjs/ix-card_2.cjs.entry.js +5 -5
  210. package/dist/cjs/ix-category-filter.cjs.entry.js +8 -8
  211. package/dist/cjs/ix-chat-ai-message.cjs.entry.js +35 -0
  212. package/dist/cjs/ix-chat-attachment.cjs.entry.js +110 -0
  213. package/dist/cjs/ix-chat-input.cjs.entry.js +406 -0
  214. package/dist/cjs/ix-chat-user-message.cjs.entry.js +66 -0
  215. package/dist/cjs/ix-chat.cjs.entry.js +28 -0
  216. package/dist/cjs/ix-checkbox-group.cjs.entry.js +4 -4
  217. package/dist/cjs/ix-checkbox.cjs.entry.js +6 -6
  218. package/dist/cjs/ix-chip.cjs.entry.js +12 -186
  219. package/dist/cjs/ix-col_4.cjs.entry.js +12 -12
  220. package/dist/cjs/ix-content-header.cjs.entry.js +4 -4
  221. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  222. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  223. package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
  224. package/dist/cjs/ix-custom-field.cjs.entry.js +2 -2
  225. package/dist/cjs/ix-date-dropdown.cjs.entry.js +9 -9
  226. package/dist/cjs/ix-date-input.cjs.entry.js +9 -9
  227. package/dist/cjs/ix-date-picker.cjs.entry.js +17 -13
  228. package/dist/cjs/ix-date-time-card.cjs.entry.js +3 -3
  229. package/dist/cjs/ix-datetime-input.cjs.entry.js +9 -9
  230. package/dist/cjs/ix-datetime-picker.cjs.entry.js +4 -4
  231. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  232. package/dist/cjs/ix-dropdown-button.cjs.entry.js +11 -8
  233. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  234. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  235. package/dist/cjs/ix-dropdown_2.cjs.entry.js +19 -13
  236. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  237. package/dist/cjs/ix-event-list-item.cjs.entry.js +7 -7
  238. package/dist/cjs/ix-event-list.cjs.entry.js +11 -4
  239. package/dist/cjs/ix-expanding-search.cjs.entry.js +6 -6
  240. package/dist/cjs/ix-field-label_2.cjs.entry.js +8 -8
  241. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +8 -8
  242. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  243. package/dist/cjs/ix-flip-tile.cjs.entry.js +6 -6
  244. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +3 -3
  245. package/dist/cjs/ix-group.cjs.entry.js +10 -10
  246. package/dist/cjs/ix-helper-text.cjs.entry.js +5 -5
  247. package/dist/cjs/ix-icon-button_2.cjs.entry.js +9 -164
  248. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +7 -162
  249. package/dist/cjs/ix-input.cjs.entry.js +10 -10
  250. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  251. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  252. package/dist/cjs/ix-kpi.cjs.entry.js +5 -5
  253. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  254. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  255. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  256. package/dist/cjs/ix-menu-about-news.cjs.entry.js +6 -6
  257. package/dist/cjs/ix-menu-about.cjs.entry.js +4 -4
  258. package/dist/cjs/ix-menu-avatar.cjs.entry.js +5 -5
  259. package/dist/cjs/ix-menu-category.cjs.entry.js +31 -170
  260. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +5 -5
  261. package/dist/cjs/ix-menu-item.cjs.entry.js +12 -161
  262. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  263. package/dist/cjs/ix-menu-settings.cjs.entry.js +4 -4
  264. package/dist/cjs/ix-menu.cjs.entry.js +42 -20
  265. package/dist/cjs/ix-message-bar.cjs.entry.js +3 -3
  266. package/dist/cjs/ix-modal-content_2.cjs.entry.js +6 -6
  267. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  268. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  269. package/dist/cjs/ix-modal.cjs.entry.js +15 -8
  270. package/dist/cjs/ix-number-input.cjs.entry.js +19 -16
  271. package/dist/cjs/ix-pagination.cjs.entry.js +6 -6
  272. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
  273. package/dist/cjs/ix-pane.cjs.entry.js +11 -11
  274. package/dist/cjs/ix-pill_4.cjs.entry.js +27 -175
  275. package/dist/cjs/ix-popover-content.cjs.entry.js +2 -2
  276. package/dist/cjs/ix-popover-footer.cjs.entry.js +2 -2
  277. package/dist/cjs/ix-popover-header.cjs.entry.js +4 -4
  278. package/dist/cjs/ix-popover-image.cjs.entry.js +1 -1
  279. package/dist/cjs/ix-popover.cjs.entry.js +5 -156
  280. package/dist/cjs/ix-progress-indicator.cjs.entry.js +4 -4
  281. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  282. package/dist/cjs/ix-radio-group.cjs.entry.js +3 -3
  283. package/dist/cjs/ix-radio.cjs.entry.js +6 -6
  284. package/dist/cjs/ix-range-field.cjs.entry.js +4 -4
  285. package/dist/cjs/ix-select.cjs.entry.js +14 -14
  286. package/dist/cjs/ix-slider.cjs.entry.js +9 -9
  287. package/dist/cjs/ix-split-button.cjs.entry.js +3 -3
  288. package/dist/cjs/ix-tab-panel.cjs.entry.js +2 -2
  289. package/dist/cjs/ix-textarea.cjs.entry.js +7 -7
  290. package/dist/cjs/ix-tile.cjs.entry.js +5 -5
  291. package/dist/cjs/ix-time-input.cjs.entry.js +9 -9
  292. package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
  293. package/dist/cjs/ix-toast.cjs.entry.js +4 -4
  294. package/dist/cjs/ix-toggle-button.cjs.entry.js +4 -159
  295. package/dist/cjs/ix-toggle.cjs.entry.js +7 -160
  296. package/dist/cjs/ix-tooltip.cjs.entry.js +6 -2
  297. package/dist/cjs/ix-tree-item.cjs.entry.js +6 -6
  298. package/dist/cjs/ix-tree.cjs.entry.js +2 -1
  299. package/dist/cjs/ix-typography.cjs.entry.js +2 -2
  300. package/dist/cjs/ix-upload.cjs.entry.js +6 -6
  301. package/dist/cjs/ix-workflow-step.cjs.entry.js +12 -6
  302. package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
  303. package/dist/cjs/loader.cjs.js +1 -1
  304. package/dist/cjs/siemens-ix.cjs.js +1 -1
  305. package/dist/cjs/{validation-DJaUH-UR.js → validation-B1izlD8M.js} +59 -3
  306. package/dist/collection/collection-manifest.json +6 -0
  307. package/dist/collection/components/action-card/action-card.css +11 -11
  308. package/dist/collection/components/application/application.css +11 -11
  309. package/dist/collection/components/application-header/application-header.css +11 -11
  310. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.css +11 -11
  311. package/dist/collection/components/avatar/avatar.css +19 -11
  312. package/dist/collection/components/badge/badge.css +622 -0
  313. package/dist/collection/components/badge/badge.js +817 -0
  314. package/dist/collection/components/badge/badge.status-icon.js +65 -0
  315. package/dist/collection/components/badge/badge.types.js +24 -0
  316. package/dist/collection/components/badge/badge.utils.js +57 -0
  317. package/dist/collection/components/badge/test/badge.page.js +194 -0
  318. package/dist/collection/components/blind/blind.css +119 -15
  319. package/dist/collection/components/blind/blind.js +11 -5
  320. package/dist/collection/components/breadcrumb/breadcrumb.css +11 -11
  321. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  322. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +160 -44
  323. package/dist/collection/components/button/button.css +84 -22
  324. package/dist/collection/components/card/card.css +11 -11
  325. package/dist/collection/components/card/card.js +2 -2
  326. package/dist/collection/components/card-accordion/card-accordion.css +61 -44
  327. package/dist/collection/components/card-accordion/card-accordion.js +7 -4
  328. package/dist/collection/components/card-content/card-content.css +11 -11
  329. package/dist/collection/components/card-content/card-content.js +1 -1
  330. package/dist/collection/components/card-list/card-list.css +23 -11
  331. package/dist/collection/components/card-list/card-list.js +67 -10
  332. package/dist/collection/components/card-title/card-title.js +1 -1
  333. package/dist/collection/components/category-filter/category-filter.css +95 -33
  334. package/dist/collection/components/category-filter/category-filter.js +4 -4
  335. package/dist/collection/components/chat/chat.css +114 -0
  336. package/dist/collection/components/chat/chat.js +47 -0
  337. package/dist/collection/components/chat-ai-message/chat-ai-message.css +139 -0
  338. package/dist/collection/components/chat-ai-message/chat-ai-message.js +56 -0
  339. package/dist/collection/components/chat-attachment/chat-attachment.css +135 -0
  340. package/dist/collection/components/chat-attachment/chat-attachment.js +284 -0
  341. package/dist/collection/components/chat-attachment/chat-attachment.types.js +1 -0
  342. package/dist/collection/components/chat-input/chat-input.css +323 -0
  343. package/dist/collection/components/chat-input/chat-input.js +878 -0
  344. package/dist/collection/components/chat-user-message/chat-user-message.css +145 -0
  345. package/dist/collection/components/chat-user-message/chat-user-message.js +112 -0
  346. package/dist/collection/components/checkbox/checkbox.css +11 -11
  347. package/dist/collection/components/checkbox/checkbox.js +3 -3
  348. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  349. package/dist/collection/components/checkbox-group/checkbox-group.js +2 -2
  350. package/dist/collection/components/chip/chip.css +28 -19
  351. package/dist/collection/components/chip/chip.js +7 -8
  352. package/dist/collection/components/col/col.css +11 -11
  353. package/dist/collection/components/col/col.js +2 -2
  354. package/dist/collection/components/content/content.css +11 -11
  355. package/dist/collection/components/content/content.js +3 -3
  356. package/dist/collection/components/content-header/content-header.js +3 -3
  357. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  358. package/dist/collection/components/css-grid/css-grid.js +1 -1
  359. package/dist/collection/components/custom-field/custom-field.js +1 -1
  360. package/dist/collection/components/date-dropdown/date-dropdown.css +30 -22
  361. package/dist/collection/components/date-dropdown/date-dropdown.js +5 -5
  362. package/dist/collection/components/date-input/date-input.css +22 -22
  363. package/dist/collection/components/date-input/date-input.js +3 -3
  364. package/dist/collection/components/date-picker/date-picker.css +19 -11
  365. package/dist/collection/components/date-picker/date-picker.js +15 -11
  366. package/dist/collection/components/date-time-card/date-time-card.css +11 -11
  367. package/dist/collection/components/date-time-card/date-time-card.js +2 -2
  368. package/dist/collection/components/datetime-input/datetime-input.css +22 -22
  369. package/dist/collection/components/datetime-input/datetime-input.js +3 -3
  370. package/dist/collection/components/datetime-picker/datetime-picker.css +11 -11
  371. package/dist/collection/components/datetime-picker/datetime-picker.js +3 -3
  372. package/dist/collection/components/divider/divider.js +1 -1
  373. package/dist/collection/components/dropdown/dropdown.css +11 -11
  374. package/dist/collection/components/dropdown/dropdown.js +11 -5
  375. package/dist/collection/components/dropdown-button/dropdown-button.css +155 -34
  376. package/dist/collection/components/dropdown-button/dropdown-button.js +8 -5
  377. package/dist/collection/components/dropdown-header/dropdown-header.css +11 -11
  378. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  379. package/dist/collection/components/dropdown-item/dropdown-item.css +12 -12
  380. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  381. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  382. package/dist/collection/components/empty-state/empty-state.css +11 -11
  383. package/dist/collection/components/empty-state/empty-state.js +1 -1
  384. package/dist/collection/components/event-list/event-list.css +11 -11
  385. package/dist/collection/components/event-list/event-list.js +10 -3
  386. package/dist/collection/components/event-list-item/event-list-item.css +11 -11
  387. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  388. package/dist/collection/components/expanding-search/expanding-search.css +11 -11
  389. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  390. package/dist/collection/components/field-label/field-label.js +2 -2
  391. package/dist/collection/components/field-wrapper/field-wrapper.js +2 -2
  392. package/dist/collection/components/filter-chip/filter-chip.css +11 -11
  393. package/dist/collection/components/filter-chip/filter-chip.js +2 -2
  394. package/dist/collection/components/flip-tile/flip-tile.css +11 -11
  395. package/dist/collection/components/flip-tile/flip-tile.js +3 -3
  396. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  397. package/dist/collection/components/group/group-context-menu.js +1 -1
  398. package/dist/collection/components/group/group.js +9 -9
  399. package/dist/collection/components/group-item/group-item.css +11 -11
  400. package/dist/collection/components/helper-text/helper-text.js +1 -1
  401. package/dist/collection/components/icon-button/icon-button.css +103 -39
  402. package/dist/collection/components/icon-button/icon-button.js +2 -2
  403. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +103 -39
  404. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +2 -2
  405. package/dist/collection/components/input/input.css +11 -11
  406. package/dist/collection/components/input/input.js +4 -4
  407. package/dist/collection/components/input/input.util.js +6 -1
  408. package/dist/collection/components/input/number-input.css +11 -11
  409. package/dist/collection/components/input/number-input.js +13 -10
  410. package/dist/collection/components/input/textarea.css +11 -11
  411. package/dist/collection/components/input/textarea.js +2 -2
  412. package/dist/collection/components/ix-playground/ix-playground.js +1 -1
  413. package/dist/collection/components/key-value/key-value.js +1 -1
  414. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  415. package/dist/collection/components/kpi/kpi.css +11 -11
  416. package/dist/collection/components/kpi/kpi.js +3 -3
  417. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  418. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  419. package/dist/collection/components/link-button/link-button.js +3 -3
  420. package/dist/collection/components/menu/menu-expand-icon.css +36 -22
  421. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  422. package/dist/collection/components/menu/menu.css +11 -11
  423. package/dist/collection/components/menu/menu.js +39 -17
  424. package/dist/collection/components/menu-about/menu-about.css +11 -11
  425. package/dist/collection/components/menu-about/menu-about.js +2 -2
  426. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  427. package/dist/collection/components/menu-about-news/menu-about-news.css +11 -11
  428. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  429. package/dist/collection/components/menu-avatar/menu-avatar.css +11 -11
  430. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  431. package/dist/collection/components/menu-avatar-item/menu-avatar-item.css +11 -11
  432. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  433. package/dist/collection/components/menu-category/menu-category.css +11 -11
  434. package/dist/collection/components/menu-category/menu-category.js +29 -15
  435. package/dist/collection/components/menu-item/menu-item.js +9 -5
  436. package/dist/collection/components/menu-settings/menu-settings.css +11 -11
  437. package/dist/collection/components/menu-settings/menu-settings.js +2 -2
  438. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  439. package/dist/collection/components/message-bar/message-bar.css +11 -11
  440. package/dist/collection/components/message-bar/message-bar.js +1 -1
  441. package/dist/collection/components/modal/modal.js +13 -6
  442. package/dist/collection/components/modal-content/modal-content.css +11 -11
  443. package/dist/collection/components/modal-content/modal-content.js +1 -1
  444. package/dist/collection/components/modal-footer/modal-footer.css +11 -11
  445. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  446. package/dist/collection/components/modal-header/modal-header.css +11 -11
  447. package/dist/collection/components/modal-header/modal-header.js +2 -2
  448. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  449. package/dist/collection/components/pagination/pagination.css +114 -50
  450. package/dist/collection/components/pagination/pagination.js +2 -2
  451. package/dist/collection/components/pane/pane.css +11 -11
  452. package/dist/collection/components/pane/pane.js +7 -7
  453. package/dist/collection/components/pane-layout/pane-layout.css +11 -11
  454. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  455. package/dist/collection/components/pill/pill.css +11 -11
  456. package/dist/collection/components/pill/pill.js +4 -4
  457. package/dist/collection/components/popover/popover.js +3 -1
  458. package/dist/collection/components/popover/test/popover.page.js +3 -2
  459. package/dist/collection/components/popover-content/popover-content.css +11 -11
  460. package/dist/collection/components/popover-content/popover-content.js +1 -1
  461. package/dist/collection/components/popover-footer/popover-footer.css +11 -11
  462. package/dist/collection/components/popover-footer/popover-footer.js +1 -1
  463. package/dist/collection/components/popover-header/popover-header.css +11 -11
  464. package/dist/collection/components/popover-header/popover-header.js +1 -1
  465. package/dist/collection/components/popover-image/popover-image.css +11 -11
  466. package/dist/collection/components/progress-indicator/progress-indicator.js +3 -3
  467. package/dist/collection/components/push-card/push-card.css +70 -0
  468. package/dist/collection/components/push-card/push-card.js +1 -1
  469. package/dist/collection/components/radio/radio.css +11 -11
  470. package/dist/collection/components/radio/radio.js +3 -3
  471. package/dist/collection/components/radio-group/radio-group.js +2 -2
  472. package/dist/collection/components/range-field/range-field.css +11 -11
  473. package/dist/collection/components/range-field/range-field.js +2 -2
  474. package/dist/collection/components/row/row.js +1 -1
  475. package/dist/collection/components/select/select.css +11 -11
  476. package/dist/collection/components/select/select.js +11 -11
  477. package/dist/collection/components/select-item/select-item.js +2 -2
  478. package/dist/collection/components/slider/slider.css +11 -11
  479. package/dist/collection/components/slider/slider.js +6 -6
  480. package/dist/collection/components/spinner/spinner.css +55 -55
  481. package/dist/collection/components/spinner/spinner.js +1 -1
  482. package/dist/collection/components/split-button/split-button.css +11 -11
  483. package/dist/collection/components/split-button/split-button.js +1 -1
  484. package/dist/collection/components/tab-item/tab-item.css +17 -11
  485. package/dist/collection/components/tab-item/tab-item.js +5 -5
  486. package/dist/collection/components/tab-panel/tab-panel.css +11 -11
  487. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  488. package/dist/collection/components/tab-set/tab-set.css +11 -11
  489. package/dist/collection/components/tab-set/tab-set.js +1 -1
  490. package/dist/collection/components/tabs/tabs.css +11 -11
  491. package/dist/collection/components/tabs/tabs.js +10 -5
  492. package/dist/collection/components/tile/tile.css +11 -11
  493. package/dist/collection/components/tile/tile.js +4 -4
  494. package/dist/collection/components/time-input/time-input.css +22 -22
  495. package/dist/collection/components/time-input/time-input.js +3 -3
  496. package/dist/collection/components/time-picker/test/expect-defined.js +13 -0
  497. package/dist/collection/components/time-picker/time-picker.css +11 -11
  498. package/dist/collection/components/time-picker/time-picker.js +5 -5
  499. package/dist/collection/components/toast/toast-container.css +11 -11
  500. package/dist/collection/components/toast/toast-container.js +2 -2
  501. package/dist/collection/components/toast/toast.css +11 -11
  502. package/dist/collection/components/toast/toast.js +2 -2
  503. package/dist/collection/components/toggle/toggle.css +11 -11
  504. package/dist/collection/components/toggle/toggle.js +3 -3
  505. package/dist/collection/components/toggle-button/toggle-button.css +95 -33
  506. package/dist/collection/components/tooltip/tooltip.js +6 -2
  507. package/dist/collection/components/tree/tree.js +1 -1
  508. package/dist/collection/components/tree-item/tree-item.css +11 -11
  509. package/dist/collection/components/tree-item/tree-item.js +4 -4
  510. package/dist/collection/components/typography/typography.css +11 -11
  511. package/dist/collection/components/typography/typography.js +1 -1
  512. package/dist/collection/components/upload/upload.css +11 -11
  513. package/dist/collection/components/upload/upload.js +3 -3
  514. package/dist/collection/components/utils/a11y.js +1 -1
  515. package/dist/collection/components/utils/animation.js +8 -12
  516. package/dist/collection/components/utils/input/validation.js +58 -3
  517. package/dist/collection/components/utils/internal/mixins/accessibility/aria-attribute-observer.js +106 -0
  518. package/dist/collection/components/utils/internal/mixins/accessibility/inherit-aria-attributes.mixin.js +175 -166
  519. package/dist/collection/components/utils/lazy-list/lazy.js +1 -0
  520. package/dist/collection/components/workflow-step/workflow-step.css +13 -13
  521. package/dist/collection/components/workflow-step/workflow-step.js +10 -4
  522. package/dist/collection/components/workflow-steps/workflow-steps.css +11 -11
  523. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  524. package/dist/collection/tests/utils/test/page.js +3 -0
  525. package/dist/esm/{a11y-C21npbUc.js → a11y-DD206pTM.js} +1 -1
  526. package/dist/esm/{animation-DNIQ2C1K.js → animation-BqeSHO6C.js} +8 -12
  527. package/dist/esm/{base-button-DZdtpLxn.js → base-button-Oanl-VqF.js} +1 -1
  528. package/dist/esm/{base-icon-button-DufFLJC-.js → base-icon-button-CxmfMOOd.js} +1 -1
  529. package/dist/esm/chip.types-4ZsT_zIm.js +20 -0
  530. package/dist/esm/{focus-visible.mixin-CaRK3Ex_.js → focus-visible.mixin-DNYMa4dY.js} +1 -1
  531. package/dist/esm/{helper-text-util-D0LEFZuB.js → helper-text-util-BJ-ZMW2J.js} +2 -2
  532. package/dist/esm/{index-DgUGsIlh.js → index-BeX6RWvV.js} +11 -1
  533. package/dist/esm/index-EBgS4zhE.js +28 -4
  534. package/dist/esm/index.js +2 -2
  535. package/dist/esm/inherit-aria-attributes.mixin-BmTKblYV.js +304 -0
  536. package/dist/esm/{input.fc-CE3kP-L_.js → input.fc-Cwmx0lGN.js} +9 -4
  537. package/dist/esm/ix-action-card.entry.js +2 -2
  538. package/dist/esm/ix-application-header.entry.js +3 -3
  539. package/dist/esm/ix-application-switch-modal.entry.js +2 -2
  540. package/dist/esm/ix-application.entry.js +1 -1
  541. package/dist/esm/ix-avatar_2.entry.js +5 -5
  542. package/dist/esm/ix-badge.entry.js +563 -0
  543. package/dist/esm/ix-blind.entry.js +15 -9
  544. package/dist/esm/ix-breadcrumb-item.entry.js +5 -158
  545. package/dist/esm/ix-breadcrumb.entry.js +5 -5
  546. package/dist/esm/ix-button.entry.js +4 -157
  547. package/dist/esm/ix-card-accordion_2.entry.js +10 -7
  548. package/dist/esm/ix-card-list.entry.js +63 -10
  549. package/dist/esm/ix-card_2.entry.js +5 -5
  550. package/dist/esm/ix-category-filter.entry.js +8 -8
  551. package/dist/esm/ix-chat-ai-message.entry.js +33 -0
  552. package/dist/esm/ix-chat-attachment.entry.js +108 -0
  553. package/dist/esm/ix-chat-input.entry.js +404 -0
  554. package/dist/esm/ix-chat-user-message.entry.js +64 -0
  555. package/dist/esm/ix-chat.entry.js +26 -0
  556. package/dist/esm/ix-checkbox-group.entry.js +4 -4
  557. package/dist/esm/ix-checkbox.entry.js +6 -6
  558. package/dist/esm/ix-chip.entry.js +11 -185
  559. package/dist/esm/ix-col_4.entry.js +12 -12
  560. package/dist/esm/ix-content-header.entry.js +4 -4
  561. package/dist/esm/ix-content.entry.js +4 -4
  562. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  563. package/dist/esm/ix-css-grid.entry.js +1 -1
  564. package/dist/esm/ix-custom-field.entry.js +2 -2
  565. package/dist/esm/ix-date-dropdown.entry.js +9 -9
  566. package/dist/esm/ix-date-input.entry.js +9 -9
  567. package/dist/esm/ix-date-picker.entry.js +17 -13
  568. package/dist/esm/ix-date-time-card.entry.js +3 -3
  569. package/dist/esm/ix-datetime-input.entry.js +9 -9
  570. package/dist/esm/ix-datetime-picker.entry.js +4 -4
  571. package/dist/esm/ix-divider.entry.js +1 -1
  572. package/dist/esm/ix-dropdown-button.entry.js +11 -8
  573. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  574. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  575. package/dist/esm/ix-dropdown_2.entry.js +19 -13
  576. package/dist/esm/ix-empty-state.entry.js +2 -2
  577. package/dist/esm/ix-event-list-item.entry.js +7 -7
  578. package/dist/esm/ix-event-list.entry.js +11 -4
  579. package/dist/esm/ix-expanding-search.entry.js +6 -6
  580. package/dist/esm/ix-field-label_2.entry.js +8 -8
  581. package/dist/esm/ix-filter-chip_2.entry.js +8 -8
  582. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  583. package/dist/esm/ix-flip-tile.entry.js +6 -6
  584. package/dist/esm/ix-group-context-menu_2.entry.js +3 -3
  585. package/dist/esm/ix-group.entry.js +10 -10
  586. package/dist/esm/ix-helper-text.entry.js +5 -5
  587. package/dist/esm/ix-icon-button_2.entry.js +9 -164
  588. package/dist/esm/ix-icon-toggle-button.entry.js +7 -162
  589. package/dist/esm/ix-input.entry.js +10 -10
  590. package/dist/esm/ix-key-value-list.entry.js +1 -1
  591. package/dist/esm/ix-key-value.entry.js +1 -1
  592. package/dist/esm/ix-kpi.entry.js +5 -5
  593. package/dist/esm/ix-layout-auto.entry.js +1 -1
  594. package/dist/esm/ix-link-button.entry.js +4 -4
  595. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  596. package/dist/esm/ix-menu-about-news.entry.js +6 -6
  597. package/dist/esm/ix-menu-about.entry.js +4 -4
  598. package/dist/esm/ix-menu-avatar.entry.js +5 -5
  599. package/dist/esm/ix-menu-category.entry.js +31 -170
  600. package/dist/esm/ix-menu-expand-icon.entry.js +5 -5
  601. package/dist/esm/ix-menu-item.entry.js +12 -161
  602. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  603. package/dist/esm/ix-menu-settings.entry.js +4 -4
  604. package/dist/esm/ix-menu.entry.js +42 -20
  605. package/dist/esm/ix-message-bar.entry.js +3 -3
  606. package/dist/esm/ix-modal-content_2.entry.js +6 -6
  607. package/dist/esm/ix-modal-footer.entry.js +2 -2
  608. package/dist/esm/ix-modal-loading.entry.js +1 -1
  609. package/dist/esm/ix-modal.entry.js +15 -8
  610. package/dist/esm/ix-number-input.entry.js +19 -16
  611. package/dist/esm/ix-pagination.entry.js +6 -6
  612. package/dist/esm/ix-pane-layout.entry.js +2 -2
  613. package/dist/esm/ix-pane.entry.js +11 -11
  614. package/dist/esm/ix-pill_4.entry.js +27 -175
  615. package/dist/esm/ix-popover-content.entry.js +2 -2
  616. package/dist/esm/ix-popover-footer.entry.js +2 -2
  617. package/dist/esm/ix-popover-header.entry.js +4 -4
  618. package/dist/esm/ix-popover-image.entry.js +1 -1
  619. package/dist/esm/ix-popover.entry.js +5 -156
  620. package/dist/esm/ix-progress-indicator.entry.js +4 -4
  621. package/dist/esm/ix-push-card.entry.js +2 -2
  622. package/dist/esm/ix-radio-group.entry.js +3 -3
  623. package/dist/esm/ix-radio.entry.js +6 -6
  624. package/dist/esm/ix-range-field.entry.js +4 -4
  625. package/dist/esm/ix-select.entry.js +14 -14
  626. package/dist/esm/ix-slider.entry.js +9 -9
  627. package/dist/esm/ix-split-button.entry.js +3 -3
  628. package/dist/esm/ix-tab-panel.entry.js +2 -2
  629. package/dist/esm/ix-textarea.entry.js +7 -7
  630. package/dist/esm/ix-tile.entry.js +5 -5
  631. package/dist/esm/ix-time-input.entry.js +9 -9
  632. package/dist/esm/ix-toast-container.entry.js +3 -3
  633. package/dist/esm/ix-toast.entry.js +4 -4
  634. package/dist/esm/ix-toggle-button.entry.js +4 -159
  635. package/dist/esm/ix-toggle.entry.js +7 -160
  636. package/dist/esm/ix-tooltip.entry.js +6 -2
  637. package/dist/esm/ix-tree-item.entry.js +6 -6
  638. package/dist/esm/ix-tree.entry.js +2 -1
  639. package/dist/esm/ix-typography.entry.js +2 -2
  640. package/dist/esm/ix-upload.entry.js +6 -6
  641. package/dist/esm/ix-workflow-step.entry.js +12 -6
  642. package/dist/esm/ix-workflow-steps.entry.js +2 -2
  643. package/dist/esm/loader.js +1 -1
  644. package/dist/esm/siemens-ix.js +1 -1
  645. package/dist/esm/{validation-VVt5EFy0.js → validation-DXpftrw5.js} +59 -4
  646. package/dist/siemens-ix/index.esm.js +1 -1
  647. package/dist/siemens-ix/{p-71feb871.entry.js → p-0018f327.entry.js} +1 -1
  648. package/dist/siemens-ix/p-0409f281.entry.js +1 -0
  649. package/dist/siemens-ix/p-0819923e.entry.js +1 -0
  650. package/dist/siemens-ix/p-0b875bbd.entry.js +1 -0
  651. package/dist/siemens-ix/p-14554694.entry.js +1 -0
  652. package/dist/siemens-ix/p-1a7b51d8.entry.js +1 -0
  653. package/dist/siemens-ix/{p-ea9691c1.entry.js → p-1aef893c.entry.js} +1 -1
  654. package/dist/siemens-ix/p-1bce1c19.entry.js +1 -0
  655. package/dist/siemens-ix/p-1d06e067.entry.js +1 -0
  656. package/dist/siemens-ix/p-1fddf959.entry.js +1 -0
  657. package/dist/siemens-ix/p-207d77b3.entry.js +1 -0
  658. package/dist/siemens-ix/{p-c69036b1.entry.js → p-213059a9.entry.js} +1 -1
  659. package/dist/siemens-ix/{p-2753ed4e.entry.js → p-222d3d93.entry.js} +1 -1
  660. package/dist/siemens-ix/p-2270cc5d.entry.js +1 -0
  661. package/dist/siemens-ix/p-24138425.entry.js +1 -0
  662. package/dist/siemens-ix/p-32104d25.entry.js +1 -0
  663. package/dist/siemens-ix/p-34d5185d.entry.js +1 -0
  664. package/dist/siemens-ix/p-34f2792e.entry.js +1 -0
  665. package/dist/siemens-ix/p-35042cda.entry.js +1 -0
  666. package/dist/siemens-ix/p-351e8732.entry.js +1 -0
  667. package/dist/siemens-ix/{p-e5e220c7.entry.js → p-38e0953a.entry.js} +1 -1
  668. package/dist/siemens-ix/{p-d1cd3cb9.entry.js → p-38eef16a.entry.js} +1 -1
  669. package/dist/siemens-ix/p-39079ba7.entry.js +1 -0
  670. package/dist/siemens-ix/p-3a60004f.entry.js +1 -0
  671. package/dist/siemens-ix/p-3ad11c04.entry.js +1 -0
  672. package/dist/siemens-ix/{p-ab202c45.entry.js → p-3c7a8e8b.entry.js} +1 -1
  673. package/dist/siemens-ix/p-3c92d126.entry.js +1 -0
  674. package/dist/siemens-ix/p-3ca5d3b9.entry.js +1 -0
  675. package/dist/siemens-ix/p-3fe85552.entry.js +1 -0
  676. package/dist/siemens-ix/{p-eac237a1.entry.js → p-40239cf6.entry.js} +1 -1
  677. package/dist/siemens-ix/{p-8f72a218.entry.js → p-403b7d10.entry.js} +1 -1
  678. package/dist/siemens-ix/p-4739e88e.entry.js +1 -0
  679. package/dist/siemens-ix/p-4ZsT_zIm.js +1 -0
  680. package/dist/siemens-ix/p-4c765c73.entry.js +1 -0
  681. package/dist/siemens-ix/p-4f02b8dd.entry.js +1 -0
  682. package/dist/siemens-ix/{p-d16ee3bd.entry.js → p-5014b469.entry.js} +1 -1
  683. package/dist/siemens-ix/p-50ece3e2.entry.js +1 -0
  684. package/dist/siemens-ix/p-53319a22.entry.js +1 -0
  685. package/dist/siemens-ix/{p-c0d56b86.entry.js → p-571a1628.entry.js} +1 -1
  686. package/dist/siemens-ix/p-58c6aa27.entry.js +1 -0
  687. package/dist/siemens-ix/{p-34eaf010.entry.js → p-60f7be48.entry.js} +1 -1
  688. package/dist/siemens-ix/p-643ed439.entry.js +1 -0
  689. package/dist/siemens-ix/p-6505e43d.entry.js +1 -0
  690. package/dist/siemens-ix/p-66097da1.entry.js +1 -0
  691. package/dist/siemens-ix/p-66e92cdd.entry.js +1 -0
  692. package/dist/siemens-ix/{p-21b09017.entry.js → p-675e2aa8.entry.js} +1 -1
  693. package/dist/siemens-ix/p-6c25b44d.entry.js +1 -0
  694. package/dist/siemens-ix/p-79a08a2a.entry.js +1 -0
  695. package/dist/siemens-ix/p-7b9d9c0c.entry.js +1 -0
  696. package/dist/siemens-ix/{p-da2e0f0e.entry.js → p-7bc3af96.entry.js} +1 -1
  697. package/dist/siemens-ix/p-83827bb2.entry.js +1 -0
  698. package/dist/siemens-ix/p-859294b4.entry.js +1 -0
  699. package/dist/siemens-ix/p-8a14750f.entry.js +1 -0
  700. package/dist/siemens-ix/p-8af23465.entry.js +1 -0
  701. package/dist/siemens-ix/{p-a2aa806e.entry.js → p-8bc225b7.entry.js} +1 -1
  702. package/dist/siemens-ix/p-9254cb19.entry.js +1 -0
  703. package/dist/siemens-ix/p-95625e2a.entry.js +1 -0
  704. package/dist/siemens-ix/p-9c6e5dcc.entry.js +1 -0
  705. package/dist/siemens-ix/{p-b2fe56c7.entry.js → p-9df616d3.entry.js} +1 -1
  706. package/dist/siemens-ix/p-BeX6RWvV.js +1 -0
  707. package/dist/siemens-ix/p-Bemn50Nk.js +1 -0
  708. package/dist/siemens-ix/p-BqeSHO6C.js +1 -0
  709. package/dist/siemens-ix/{p-HpQs38Y0.js → p-CDKWxg_L.js} +1 -1
  710. package/dist/siemens-ix/{p-CXbob2Ew.js → p-CLxF-dX8.js} +1 -1
  711. package/dist/siemens-ix/p-Cv_omozQ.js +1 -0
  712. package/dist/siemens-ix/{p-C21npbUc.js → p-DD206pTM.js} +1 -1
  713. package/dist/siemens-ix/p-S-XikzrL.js +1 -0
  714. package/dist/siemens-ix/p-a05bf6b5.entry.js +1 -0
  715. package/dist/siemens-ix/{p-bc0f5cbe.entry.js → p-a23edbb6.entry.js} +1 -1
  716. package/dist/siemens-ix/{p-f43c97cf.entry.js → p-a2a3d749.entry.js} +1 -1
  717. package/dist/siemens-ix/p-a4c3f3d3.entry.js +1 -0
  718. package/dist/siemens-ix/p-a87b0328.entry.js +1 -0
  719. package/dist/siemens-ix/p-aa0770ab.entry.js +1 -0
  720. package/dist/siemens-ix/{p-0e74e65c.entry.js → p-abe537f8.entry.js} +1 -1
  721. package/dist/siemens-ix/p-b299eca3.entry.js +1 -0
  722. package/dist/siemens-ix/p-b5bf48cb.entry.js +1 -0
  723. package/dist/siemens-ix/p-b990c3f4.entry.js +1 -0
  724. package/dist/siemens-ix/p-b9dcbd84.entry.js +1 -0
  725. package/dist/siemens-ix/p-c1b669ae.entry.js +1 -0
  726. package/dist/siemens-ix/{p-95e8951f.entry.js → p-c2d8ec4e.entry.js} +1 -1
  727. package/dist/siemens-ix/p-c393c20e.entry.js +1 -0
  728. package/dist/siemens-ix/p-c3e44b4a.entry.js +1 -0
  729. package/dist/siemens-ix/p-c4379966.entry.js +1 -0
  730. package/dist/siemens-ix/{p-52096875.entry.js → p-c6346987.entry.js} +1 -1
  731. package/dist/siemens-ix/p-c6987c42.entry.js +1 -0
  732. package/dist/siemens-ix/{p-7655c4c2.entry.js → p-ca4259c9.entry.js} +1 -1
  733. package/dist/siemens-ix/{p-e9b37020.entry.js → p-caac5984.entry.js} +1 -1
  734. package/dist/siemens-ix/{p-7899597f.entry.js → p-cb43f6e5.entry.js} +1 -1
  735. package/dist/siemens-ix/p-cc6305ab.entry.js +1 -0
  736. package/dist/siemens-ix/{p-5d7ede96.entry.js → p-ccea2ebf.entry.js} +1 -1
  737. package/dist/siemens-ix/{p-a44b1452.entry.js → p-cf56ddd5.entry.js} +1 -1
  738. package/dist/siemens-ix/p-cfd75035.entry.js +1 -0
  739. package/dist/siemens-ix/p-d39c4aeb.entry.js +1 -0
  740. package/dist/siemens-ix/p-d4d99140.entry.js +1 -0
  741. package/dist/siemens-ix/{p-d699bb26.entry.js → p-d555f28a.entry.js} +1 -1
  742. package/dist/siemens-ix/p-d94ad8f8.entry.js +1 -0
  743. package/dist/siemens-ix/p-da700215.entry.js +1 -0
  744. package/dist/siemens-ix/p-ddb49318.entry.js +1 -0
  745. package/dist/siemens-ix/p-de9a4607.entry.js +1 -0
  746. package/dist/siemens-ix/p-e2e7c16a.entry.js +1 -0
  747. package/dist/siemens-ix/p-e4f04831.entry.js +1 -0
  748. package/dist/siemens-ix/p-e5239c6d.entry.js +1 -0
  749. package/dist/siemens-ix/p-e789cd7e.entry.js +1 -0
  750. package/dist/siemens-ix/p-e7dedba9.entry.js +1 -0
  751. package/dist/siemens-ix/p-e87e947c.entry.js +1 -0
  752. package/dist/siemens-ix/p-e8d73d19.entry.js +1 -0
  753. package/dist/siemens-ix/p-e8f5519f.entry.js +1 -0
  754. package/dist/siemens-ix/{p-b7570885.entry.js → p-ea3b4ad4.entry.js} +1 -1
  755. package/dist/siemens-ix/p-eba11702.entry.js +1 -0
  756. package/dist/siemens-ix/p-eda419ea.entry.js +1 -0
  757. package/dist/siemens-ix/p-f3e24bb0.entry.js +1 -0
  758. package/dist/siemens-ix/{p-ac804eb2.entry.js → p-f4d8f94b.entry.js} +1 -1
  759. package/dist/siemens-ix/p-f705bb97.entry.js +1 -0
  760. package/{components/p-DkAUNod9.js → dist/siemens-ix/p-f7f6cf46.entry.js} +1 -1
  761. package/dist/siemens-ix/{p-4faa3c03.entry.js → p-fcfecc91.entry.js} +1 -1
  762. package/dist/siemens-ix/{p-C518yBiI.js → p-rgh7lt60.js} +1 -1
  763. package/dist/siemens-ix/p-xptA1Kt1.js +1 -0
  764. package/dist/siemens-ix/siemens-ix.css +11 -11
  765. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  766. package/dist/types/components/badge/badge.d.ts +195 -0
  767. package/dist/types/components/badge/badge.status-icon.d.ts +21 -0
  768. package/dist/types/components/badge/badge.types.d.ts +19 -0
  769. package/dist/types/components/badge/badge.utils.d.ts +10 -0
  770. package/dist/types/components/badge/test/badge.page.d.ts +67 -0
  771. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +1 -16
  772. package/dist/types/components/button/button.d.ts +1 -16
  773. package/dist/types/components/card-list/card-list.d.ts +4 -1
  774. package/dist/types/components/chat/chat.d.ts +11 -0
  775. package/dist/types/components/chat-ai-message/chat-ai-message.d.ts +14 -0
  776. package/dist/types/components/chat-attachment/chat-attachment.d.ts +47 -0
  777. package/dist/types/components/chat-attachment/chat-attachment.types.d.ts +1 -0
  778. package/dist/types/components/chat-input/chat-input.d.ts +175 -0
  779. package/dist/types/components/chat-user-message/chat-user-message.d.ts +23 -0
  780. package/dist/types/components/chip/chip.d.ts +2 -17
  781. package/dist/types/components/dropdown/dropdown-focus.d.ts +1 -1
  782. package/dist/types/components/group/group.d.ts +1 -1
  783. package/dist/types/components/icon-button/icon-button.d.ts +2 -17
  784. package/dist/types/components/icon-toggle-button/icon-toggle-button.d.ts +1 -16
  785. package/dist/types/components/input/input.util.d.ts +2 -3
  786. package/dist/types/components/input/number-input.d.ts +1 -0
  787. package/dist/types/components/menu/menu.d.ts +1 -1
  788. package/dist/types/components/menu-category/menu-category.d.ts +3 -18
  789. package/dist/types/components/menu-item/menu-item.d.ts +1 -16
  790. package/dist/types/components/modal/modal.d.ts +1 -0
  791. package/dist/types/components/modal-header/modal-header.d.ts +1 -1
  792. package/dist/types/components/popover/popover.d.ts +1 -16
  793. package/dist/types/components/tabs/tabs.d.ts +3 -16
  794. package/dist/types/components/time-picker/test/expect-defined.d.ts +1 -0
  795. package/dist/types/components/toggle/toggle.d.ts +1 -16
  796. package/dist/types/components/toggle-button/toggle-button.d.ts +1 -16
  797. package/dist/types/components/tree/tree.d.ts +1 -1
  798. package/dist/types/components/utils/a11y.d.ts +1 -0
  799. package/dist/types/components/utils/input/validation.d.ts +6 -0
  800. package/dist/types/components/utils/internal/mixins/accessibility/aria-attribute-observer.d.ts +7 -0
  801. package/dist/types/components/utils/internal/mixins/accessibility/inherit-aria-attributes.mixin.d.ts +7 -18
  802. package/dist/types/components/utils/shadow-dom.d.ts +1 -1
  803. package/dist/types/components/workflow-step/workflow-step.d.ts +1 -0
  804. package/dist/types/components.d.ts +706 -5
  805. package/dist/types/public-api.d.ts +1 -0
  806. package/hydrate/index.js +2279 -2169
  807. package/hydrate/index.mjs +2279 -2169
  808. package/package.json +3 -3
  809. package/scss/mixins/_scrollbar.scss +21 -9
  810. package/components/p-3VG6z9c3.js +0 -1
  811. package/components/p-7HGOhDMX.js +0 -1
  812. package/components/p-BH2Yhp3V.js +0 -1
  813. package/components/p-BIcWFids.js +0 -1
  814. package/components/p-BST8QY5w.js +0 -1
  815. package/components/p-BWH03B1n.js +0 -1
  816. package/components/p-BWknDysp.js +0 -1
  817. package/components/p-B_MBGj0b.js +0 -1
  818. package/components/p-Bj_6nynP.js +0 -1
  819. package/components/p-BtSt9tC5.js +0 -1
  820. package/components/p-BzFLbXmT.js +0 -1
  821. package/components/p-C7MRPZvZ.js +0 -1
  822. package/components/p-CAH3dF6j.js +0 -1
  823. package/components/p-CHV-_J6i.js +0 -1
  824. package/components/p-Ca8JFa1v.js +0 -1
  825. package/components/p-CgHioxG-.js +0 -1
  826. package/components/p-CkIELF-1.js +0 -1
  827. package/components/p-Cvpz1Ji5.js +0 -1
  828. package/components/p-D1sONqtj.js +0 -1
  829. package/components/p-D69Mojvn.js +0 -1
  830. package/components/p-DKH7tPDu.js +0 -1
  831. package/components/p-DLe8Pp58.js +0 -1
  832. package/components/p-DM7ma3Eh.js +0 -1
  833. package/components/p-DNIQ2C1K.js +0 -1
  834. package/components/p-DO3HtUke.js +0 -1
  835. package/components/p-DfdjJL6W.js +0 -1
  836. package/components/p-DjIyhGBC.js +0 -1
  837. package/components/p-Dl_YKIKl.js +0 -1
  838. package/components/p-DuMiVxY1.js +0 -1
  839. package/components/p-Dwe6tWhq.js +0 -1
  840. package/components/p-DwmHytZi.js +0 -1
  841. package/components/p-DziPiOL3.js +0 -1
  842. package/components/p-GmOVROeD.js +0 -1
  843. package/components/p-LbnItC1h.js +0 -1
  844. package/components/p-R1AQtGdV.js +0 -1
  845. package/components/p-_f_q2Etu.js +0 -1
  846. package/components/p-f1jZqaUz.js +0 -1
  847. package/components/p-olkZUb1j.js +0 -1
  848. package/components/p-z19mjzlp.js +0 -1
  849. package/dist/cjs/inherit-aria-attributes.mixin-EyRU0cDO.js +0 -36
  850. package/dist/esm/inherit-aria-attributes.mixin-nCmPujqf.js +0 -34
  851. package/dist/siemens-ix/p-03215d55.entry.js +0 -1
  852. package/dist/siemens-ix/p-04a42013.entry.js +0 -1
  853. package/dist/siemens-ix/p-0b24f8d0.entry.js +0 -1
  854. package/dist/siemens-ix/p-0fd5baf1.entry.js +0 -1
  855. package/dist/siemens-ix/p-18cae4df.entry.js +0 -1
  856. package/dist/siemens-ix/p-1a6b7e92.entry.js +0 -1
  857. package/dist/siemens-ix/p-1cd9a45a.entry.js +0 -1
  858. package/dist/siemens-ix/p-1ea183fb.entry.js +0 -1
  859. package/dist/siemens-ix/p-227ba1b8.entry.js +0 -1
  860. package/dist/siemens-ix/p-2eb094c0.entry.js +0 -1
  861. package/dist/siemens-ix/p-39fb1c9e.entry.js +0 -1
  862. package/dist/siemens-ix/p-3bb5600a.entry.js +0 -1
  863. package/dist/siemens-ix/p-3bfa4bbc.entry.js +0 -1
  864. package/dist/siemens-ix/p-3f5ac9f7.entry.js +0 -1
  865. package/dist/siemens-ix/p-4154d18a.entry.js +0 -1
  866. package/dist/siemens-ix/p-427f85c3.entry.js +0 -1
  867. package/dist/siemens-ix/p-45106215.entry.js +0 -1
  868. package/dist/siemens-ix/p-4ceb3543.entry.js +0 -1
  869. package/dist/siemens-ix/p-4d179abe.entry.js +0 -1
  870. package/dist/siemens-ix/p-50a44cb9.entry.js +0 -1
  871. package/dist/siemens-ix/p-54a22a58.entry.js +0 -1
  872. package/dist/siemens-ix/p-57678563.entry.js +0 -1
  873. package/dist/siemens-ix/p-5ff289c7.entry.js +0 -1
  874. package/dist/siemens-ix/p-601224bd.entry.js +0 -1
  875. package/dist/siemens-ix/p-6aa5adb4.entry.js +0 -1
  876. package/dist/siemens-ix/p-703c7e7c.entry.js +0 -1
  877. package/dist/siemens-ix/p-71a31d92.entry.js +0 -1
  878. package/dist/siemens-ix/p-71a5fae5.entry.js +0 -1
  879. package/dist/siemens-ix/p-747d14a2.entry.js +0 -1
  880. package/dist/siemens-ix/p-7c120d09.entry.js +0 -1
  881. package/dist/siemens-ix/p-8164a98b.entry.js +0 -1
  882. package/dist/siemens-ix/p-83f4cd88.entry.js +0 -1
  883. package/dist/siemens-ix/p-8658717f.entry.js +0 -1
  884. package/dist/siemens-ix/p-8900e229.entry.js +0 -1
  885. package/dist/siemens-ix/p-8b839f30.entry.js +0 -1
  886. package/dist/siemens-ix/p-8cea823b.entry.js +0 -1
  887. package/dist/siemens-ix/p-8d535dc9.entry.js +0 -1
  888. package/dist/siemens-ix/p-96a3b3df.entry.js +0 -1
  889. package/dist/siemens-ix/p-9f2905df.entry.js +0 -1
  890. package/dist/siemens-ix/p-B4oiZyZC.js +0 -1
  891. package/dist/siemens-ix/p-DNIQ2C1K.js +0 -1
  892. package/dist/siemens-ix/p-DgUGsIlh.js +0 -1
  893. package/dist/siemens-ix/p-a25f267b.entry.js +0 -1
  894. package/dist/siemens-ix/p-a7f5e11e.entry.js +0 -1
  895. package/dist/siemens-ix/p-a8911648.entry.js +0 -1
  896. package/dist/siemens-ix/p-aa904521.entry.js +0 -1
  897. package/dist/siemens-ix/p-af808244.entry.js +0 -1
  898. package/dist/siemens-ix/p-b004e845.entry.js +0 -1
  899. package/dist/siemens-ix/p-b534dadd.entry.js +0 -1
  900. package/dist/siemens-ix/p-b63d7f36.entry.js +0 -1
  901. package/dist/siemens-ix/p-bddd1cca.entry.js +0 -1
  902. package/dist/siemens-ix/p-bfb758cb.entry.js +0 -1
  903. package/dist/siemens-ix/p-c0c6d772.entry.js +0 -1
  904. package/dist/siemens-ix/p-c1c209f6.entry.js +0 -1
  905. package/dist/siemens-ix/p-c9718f0d.entry.js +0 -1
  906. package/dist/siemens-ix/p-cd42c4e6.entry.js +0 -1
  907. package/dist/siemens-ix/p-d02d2e49.entry.js +0 -1
  908. package/dist/siemens-ix/p-d13c0b78.entry.js +0 -1
  909. package/dist/siemens-ix/p-d45ff0a0.entry.js +0 -1
  910. package/dist/siemens-ix/p-d5761950.entry.js +0 -1
  911. package/dist/siemens-ix/p-d770d8ba.entry.js +0 -1
  912. package/dist/siemens-ix/p-daf43138.entry.js +0 -1
  913. package/dist/siemens-ix/p-dc16a32d.entry.js +0 -1
  914. package/dist/siemens-ix/p-ddcc8627.entry.js +0 -1
  915. package/dist/siemens-ix/p-e3da7c67.entry.js +0 -1
  916. package/dist/siemens-ix/p-e58ae892.entry.js +0 -1
  917. package/dist/siemens-ix/p-e6046255.entry.js +0 -1
  918. package/dist/siemens-ix/p-eff190ad.entry.js +0 -1
  919. package/dist/siemens-ix/p-f1cd82bd.entry.js +0 -1
  920. package/dist/siemens-ix/p-f507157f.entry.js +0 -1
  921. package/dist/siemens-ix/p-fa5c236f.entry.js +0 -1
  922. package/dist/siemens-ix/p-fbd006be.entry.js +0 -1
  923. package/dist/siemens-ix/p-fdec73d4.entry.js +0 -1
  924. package/dist/siemens-ix/p-vphIrWGB.js +0 -1
  925. package/dist/siemens-ix/p-wfVRhTWc.js +0 -1
  926. package/dist/siemens-ix/p-yZFaEeBW.js +0 -1
@@ -52,25 +52,60 @@ export function checkFieldClasses(hostElement, includeChildren = false) {
52
52
  isWarning: classListContains(hostElement, 'ix-warning', includeChildren),
53
53
  };
54
54
  }
55
+ /**
56
+ * Thrown when a form control’s native input is not available yet (or already gone).
57
+ */
58
+ export class NativeInputNotFoundError extends Error {
59
+ constructor(message = 'Input element not found') {
60
+ super(message);
61
+ this.name = 'NativeInputNotFoundError';
62
+ }
63
+ }
64
+ function isMissingNativeInputError(error) {
65
+ return (error instanceof NativeInputNotFoundError ||
66
+ // Cross-bundle / duplicated class copies still carry the stable name.
67
+ (error instanceof Error && error.name === 'NativeInputNotFoundError'));
68
+ }
55
69
  export function HookValidationLifecycle(options) {
56
70
  return (proto, methodName) => {
57
71
  let checkIfRequiredFunction;
58
72
  let classMutationObserver;
73
+ let checkTimeoutId = null;
59
74
  const { componentWillLoad, disconnectedCallback, connectedCallback } = proto;
60
75
  proto.connectedCallback = function () {
61
76
  const host = getElement(this);
77
+ if (checkTimeoutId != null) {
78
+ clearTimeout(checkTimeoutId);
79
+ checkTimeoutId = null;
80
+ }
62
81
  checkIfRequiredFunction = async () => {
63
82
  const skipValidation = await shouldSuppressInternalValidation(host);
64
- if (skipValidation) {
83
+ if (skipValidation || !host.isConnected) {
65
84
  return;
66
85
  }
67
86
  if (!isIxInputFieldComponent(host)) {
68
87
  return;
69
88
  }
70
- const validationElement = await host.getNativeInputElement?.();
89
+ let validationElement;
90
+ try {
91
+ validationElement = await host.getNativeInputElement?.();
92
+ }
93
+ catch (error) {
94
+ // Expected during connect/teardown when the native input is unset (e.g. ix-select).
95
+ if (!isMissingNativeInputError(error)) {
96
+ throw error;
97
+ }
98
+ validationElement = undefined;
99
+ }
100
+ if (!host.isConnected) {
101
+ return;
102
+ }
71
103
  if (host.hasValidValue && typeof host.hasValidValue === 'function') {
72
104
  const hasValue = await host.hasValidValue();
73
105
  const touched = await isTouched(host);
106
+ if (!host.isConnected) {
107
+ return;
108
+ }
74
109
  if (host.required) {
75
110
  host.classList.toggle('ix-invalid--required', !hasValue && touched);
76
111
  }
@@ -82,12 +117,18 @@ export function HookValidationLifecycle(options) {
82
117
  typeof host.getValidityState === 'function') {
83
118
  const validityState = await host.getValidityState();
84
119
  const touched = await isTouched(host);
120
+ if (!host.isConnected) {
121
+ return;
122
+ }
85
123
  host.classList.toggle(`ix-invalid--validity-patternMismatch`, validityState.patternMismatch);
86
124
  host.classList.toggle('ix-invalid--validity-invalid', !validityState.valid && touched);
87
125
  const fieldWrapper = host.shadowRoot?.querySelector('ix-field-wrapper');
88
126
  if (validationElement && fieldWrapper) {
89
127
  const ariaErrorMessageElement = await fieldWrapper.getAriaErrorMessageElement();
90
128
  const ariaHelperMessageElement = await fieldWrapper.getAriaHelperMessageElement();
129
+ if (!host.isConnected) {
130
+ return;
131
+ }
91
132
  if (ariaHelperMessageElement) {
92
133
  validationElement.setAttribute('aria-describedby', `${ariaHelperMessageElement.id}`);
93
134
  }
@@ -107,7 +148,17 @@ export function HookValidationLifecycle(options) {
107
148
  host.addEventListener('checkedChange', checkIfRequiredFunction);
108
149
  host.addEventListener('valueChange', checkIfRequiredFunction);
109
150
  host.addEventListener('ixBlur', checkIfRequiredFunction);
110
- setTimeout(checkIfRequiredFunction);
151
+ checkTimeoutId = setTimeout(() => {
152
+ checkTimeoutId = null;
153
+ if (checkIfRequiredFunction) {
154
+ void checkIfRequiredFunction().catch((error) => {
155
+ if (isMissingNativeInputError(error)) {
156
+ return;
157
+ }
158
+ console.error(error);
159
+ });
160
+ }
161
+ });
111
162
  return connectedCallback?.call(this);
112
163
  };
113
164
  proto.componentWillLoad = function () {
@@ -122,6 +173,10 @@ export function HookValidationLifecycle(options) {
122
173
  };
123
174
  proto.disconnectedCallback = function () {
124
175
  const host = getElement(this);
176
+ if (checkTimeoutId != null) {
177
+ clearTimeout(checkTimeoutId);
178
+ checkTimeoutId = null;
179
+ }
125
180
  if (host && classMutationObserver) {
126
181
  classMutationObserver.destroy();
127
182
  classMutationObserver = null;
@@ -0,0 +1,106 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2026 Siemens AG
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { a11yAttributes } from "./../../../a11y";
10
+ const reportMutationError = (error) => {
11
+ if (typeof reportError === 'function') {
12
+ reportError(error);
13
+ return;
14
+ }
15
+ console.error(error);
16
+ };
17
+ // A MutationObserver can watch many direct targets and keeps only weak references
18
+ // to them, so all IX hosts can share one observer without observing a whole subtree.
19
+ const registrations = new WeakMap();
20
+ const suppressedHosts = new WeakSet();
21
+ let observer;
22
+ let registrationCount = 0;
23
+ const dispatchMutations = (mutations) => {
24
+ const changesByHandler = new Map();
25
+ mutations.forEach((mutation) => {
26
+ const hostElement = mutation.target;
27
+ if (suppressedHosts.has(hostElement)) {
28
+ return;
29
+ }
30
+ const registration = registrations.get(hostElement);
31
+ const attributeName = mutation.attributeName;
32
+ if (!registration || !attributeName) {
33
+ return;
34
+ }
35
+ let changedAttributes = changesByHandler.get(registration.handler);
36
+ if (!changedAttributes) {
37
+ changedAttributes = new Set();
38
+ changesByHandler.set(registration.handler, changedAttributes);
39
+ }
40
+ changedAttributes.add(attributeName);
41
+ });
42
+ changesByHandler.forEach((attributeNames, handler) => {
43
+ try {
44
+ handler(attributeNames);
45
+ }
46
+ catch (error) {
47
+ reportMutationError(error);
48
+ }
49
+ });
50
+ };
51
+ const getObserver = () => {
52
+ if (typeof MutationObserver === 'undefined') {
53
+ return undefined;
54
+ }
55
+ observer ??= new MutationObserver(dispatchMutations);
56
+ return observer;
57
+ };
58
+ export const observeAriaAttributes = (hostElement, handler) => {
59
+ const ariaObserver = getObserver();
60
+ if (!ariaObserver) {
61
+ return false;
62
+ }
63
+ if (!registrations.has(hostElement)) {
64
+ registrationCount++;
65
+ }
66
+ registrations.set(hostElement, { handler });
67
+ ariaObserver.observe(hostElement, {
68
+ attributeFilter: a11yAttributes,
69
+ attributes: true,
70
+ });
71
+ return true;
72
+ };
73
+ export const unobserveAriaAttributes = (hostElement) => {
74
+ if (!registrations.delete(hostElement)) {
75
+ return;
76
+ }
77
+ registrationCount--;
78
+ if (registrationCount === 0) {
79
+ observer?.disconnect();
80
+ observer = undefined;
81
+ }
82
+ };
83
+ export const runWithoutAriaAttributeObservation = (hostElement, callback) => {
84
+ const registration = registrations.get(hostElement);
85
+ if (!registration || !observer) {
86
+ return callback();
87
+ }
88
+ const activeObserver = observer;
89
+ dispatchMutations(activeObserver.takeRecords(), activeObserver);
90
+ suppressedHosts.add(hostElement);
91
+ try {
92
+ return callback();
93
+ }
94
+ finally {
95
+ const remainingMutations = activeObserver
96
+ .takeRecords()
97
+ .filter((mutation) => mutation.target !== hostElement);
98
+ suppressedHosts.delete(hostElement);
99
+ dispatchMutations(remainingMutations, activeObserver);
100
+ }
101
+ };
102
+ export const flushAriaAttributeMutations = () => {
103
+ if (observer) {
104
+ dispatchMutations(observer.takeRecords(), observer);
105
+ }
106
+ };
@@ -1,190 +1,199 @@
1
- import { a11yHostAttributes, } from "./../../../a11y";
1
+ import { a11yAttributes, a11yHostAttributes, } from "./../../../a11y";
2
+ import { flushAriaAttributeMutations, observeAriaAttributes, runWithoutAriaAttributeObservation, unobserveAriaAttributes, } from "./aria-attribute-observer";
2
3
  export const InheritAriaAttributesMixin = (Base) => {
3
4
  class InheritAriaAttributesMixinCtor extends Base {
5
+ constructor() {
6
+ super();
7
+ }
4
8
  inheritAriaAttributes = {};
5
- constructor(...args) {
6
- super(...args);
9
+ #ariaObserverInitialized = false;
10
+ #ariaObservationActive = false;
11
+ #ariaInitializationPending = false;
12
+ #disconnected = false;
13
+ #ariaAttributesBeforeDisconnect;
14
+ #ariaAttributesChangedWhileDisconnected = new Set();
15
+ #ariaAttributeRemovalPatched = false;
16
+ #readingAriaAttributes = false;
17
+ #handleAriaMutations(changedAttributes) {
18
+ const hostElement = this.#getHostElement();
19
+ const ignoredAttributes = this.getIgnoredAriaAttributes();
20
+ let updatedAttributes = this.inheritAriaAttributes;
21
+ changedAttributes.forEach((attributeName) => {
22
+ if (ignoredAttributes.includes(attributeName)) {
23
+ return;
24
+ }
25
+ const newValue = hostElement.getAttribute(attributeName);
26
+ const currentValue = updatedAttributes[attributeName] ?? null;
27
+ if (newValue === currentValue) {
28
+ return;
29
+ }
30
+ if (updatedAttributes === this.inheritAriaAttributes) {
31
+ updatedAttributes = { ...updatedAttributes };
32
+ }
33
+ if (newValue === null) {
34
+ delete updatedAttributes[attributeName];
35
+ }
36
+ else {
37
+ updatedAttributes[attributeName] = newValue;
38
+ }
39
+ });
40
+ if (updatedAttributes !== this.inheritAriaAttributes) {
41
+ this.inheritAriaAttributes = updatedAttributes;
42
+ }
7
43
  }
8
44
  getIgnoredAriaAttributes() {
9
45
  return [];
10
46
  }
47
+ readAriaAttributesFromHost() {
48
+ const hostElement = this.#getHostElement();
49
+ return runWithoutAriaAttributeObservation(hostElement, () => {
50
+ this.#readingAriaAttributes = true;
51
+ try {
52
+ return a11yHostAttributes(hostElement, this.getIgnoredAriaAttributes());
53
+ }
54
+ finally {
55
+ this.#readingAriaAttributes = false;
56
+ }
57
+ });
58
+ }
59
+ #getHostElement() {
60
+ if (!this.hostElement) {
61
+ throw new Error('Host element is not defined. Make sure to apply the InheritAriaAttributesMixin to a Stencil component.');
62
+ }
63
+ return this.hostElement;
64
+ }
65
+ #getAriaAttributesFromHost() {
66
+ const hostElement = this.#getHostElement();
67
+ const attributes = new Map();
68
+ a11yAttributes.forEach((attributeName) => {
69
+ const value = hostElement.getAttribute(attributeName);
70
+ if (value !== null) {
71
+ attributes.set(attributeName, value);
72
+ }
73
+ });
74
+ return attributes;
75
+ }
76
+ #patchAriaAttributeRemoval() {
77
+ if (this.#ariaAttributeRemovalPatched ||
78
+ typeof MutationObserver === 'undefined') {
79
+ return;
80
+ }
81
+ const hostElement = this.#getHostElement();
82
+ const removeAttribute = hostElement.removeAttribute.bind(hostElement);
83
+ // ARIA attributes are moved from the host to the internal element during
84
+ // initialization. When Angular later calls removeAttribute(), the host
85
+ // attribute is already absent, so no MutationObserver record is created.
86
+ // Intercept the call to also clear the forwarded internal attribute.
87
+ hostElement.removeAttribute = (attributeName) => {
88
+ removeAttribute(attributeName);
89
+ if (a11yAttributes.includes(attributeName)) {
90
+ if (this.#readingAriaAttributes) {
91
+ return;
92
+ }
93
+ if (!this.#ariaObservationActive) {
94
+ this.#ariaAttributesChangedWhileDisconnected.add(attributeName);
95
+ }
96
+ this.#updateInheritedAriaAttribute(null, attributeName);
97
+ }
98
+ };
99
+ this.#ariaAttributeRemovalPatched = true;
100
+ }
101
+ #observeAriaAttributes() {
102
+ this.#ariaObservationActive = observeAriaAttributes(this.#getHostElement(), (attributeNames) => this.#handleAriaMutations(attributeNames));
103
+ }
104
+ connectedCallback() {
105
+ if (super.connectedCallback) {
106
+ super.connectedCallback();
107
+ }
108
+ this.#disconnected = false;
109
+ if (this.#ariaInitializationPending && !this.#ariaObserverInitialized) {
110
+ this.#ariaInitializationPending = false;
111
+ this.#initializeAriaAttributes();
112
+ return;
113
+ }
114
+ if (this.#ariaObserverInitialized) {
115
+ const hostElement = this.#getHostElement();
116
+ this.#observeAriaAttributes();
117
+ if (this.#ariaAttributesBeforeDisconnect) {
118
+ const inheritedAttributes = this.readAriaAttributesFromHost();
119
+ a11yAttributes.forEach((attributeName) => {
120
+ const oldValue = this.#ariaAttributesBeforeDisconnect?.get(attributeName) ?? null;
121
+ const newValue = inheritedAttributes[attributeName] ??
122
+ hostElement.getAttribute(attributeName);
123
+ if (newValue !== oldValue ||
124
+ this.#ariaAttributesChangedWhileDisconnected.has(attributeName)) {
125
+ this.#updateInheritedAriaAttribute(newValue ?? null, attributeName);
126
+ }
127
+ });
128
+ }
129
+ }
130
+ this.#ariaAttributesBeforeDisconnect = undefined;
131
+ this.#ariaAttributesChangedWhileDisconnected.clear();
132
+ }
11
133
  componentWillLoad() {
12
- this.inheritAriaAttributes = a11yHostAttributes(this.hostElement, this.getIgnoredAriaAttributes ? this.getIgnoredAriaAttributes() : []);
134
+ if (super.componentWillLoad) {
135
+ const baseLoad = super.componentWillLoad();
136
+ if (baseLoad) {
137
+ return baseLoad.then(() => this.#initializeAriaAttributesIfConnected());
138
+ }
139
+ }
140
+ this.#initializeAriaAttributesIfConnected();
141
+ }
142
+ #initializeAriaAttributesIfConnected() {
143
+ if (this.#disconnected) {
144
+ this.#ariaInitializationPending = true;
145
+ return;
146
+ }
147
+ this.#initializeAriaAttributes();
148
+ }
149
+ #initializeAriaAttributes() {
150
+ this.inheritAriaAttributes = this.readAriaAttributesFromHost();
151
+ this.#patchAriaAttributeRemoval();
152
+ this.#ariaObserverInitialized = true;
153
+ this.#observeAriaAttributes();
13
154
  }
14
- ariaAttributeChanged(newValue, _, propName) {
155
+ #updateInheritedAriaAttribute(newValue, propName) {
15
156
  const ignoredAttributes = this.getIgnoredAriaAttributes();
16
157
  if (ignoredAttributes.includes(propName)) {
17
158
  return;
18
159
  }
19
- const updateAttribute = {
20
- [propName]: newValue,
21
- };
22
- this.inheritAriaAttributes = {
160
+ const currentValue = this.inheritAriaAttributes[propName] ?? null;
161
+ if (newValue === currentValue) {
162
+ return;
163
+ }
164
+ const updatedAttributes = {
23
165
  ...this.inheritAriaAttributes,
24
- ...updateAttribute,
25
166
  };
167
+ if (newValue === null) {
168
+ delete updatedAttributes[propName];
169
+ }
170
+ else {
171
+ updatedAttributes[propName] = newValue;
172
+ }
173
+ this.inheritAriaAttributes = updatedAttributes;
174
+ }
175
+ disconnectedCallback() {
176
+ this.#disconnected = true;
177
+ this.#ariaAttributesChangedWhileDisconnected.clear();
178
+ if (this.#ariaObserverInitialized) {
179
+ flushAriaAttributeMutations();
180
+ this.#ariaAttributesBeforeDisconnect =
181
+ this.#getAriaAttributesFromHost();
182
+ unobserveAriaAttributes(this.#getHostElement());
183
+ this.#ariaObservationActive = false;
184
+ }
185
+ else {
186
+ this.#ariaAttributesBeforeDisconnect = undefined;
187
+ }
188
+ if (super.disconnectedCallback) {
189
+ super.disconnectedCallback();
190
+ }
26
191
  }
27
192
  static get states() {
28
193
  return {
29
194
  "inheritAriaAttributes": {}
30
195
  };
31
196
  }
32
- static get watchers() {
33
- return [{
34
- "propName": "role",
35
- "methodName": "ariaAttributeChanged"
36
- }, {
37
- "propName": "aria-activedescendant",
38
- "methodName": "ariaAttributeChanged"
39
- }, {
40
- "propName": "aria-atomic",
41
- "methodName": "ariaAttributeChanged"
42
- }, {
43
- "propName": "aria-autocomplete",
44
- "methodName": "ariaAttributeChanged"
45
- }, {
46
- "propName": "aria-braillelabel",
47
- "methodName": "ariaAttributeChanged"
48
- }, {
49
- "propName": "aria-brailleroledescription",
50
- "methodName": "ariaAttributeChanged"
51
- }, {
52
- "propName": "aria-busy",
53
- "methodName": "ariaAttributeChanged"
54
- }, {
55
- "propName": "aria-checked",
56
- "methodName": "ariaAttributeChanged"
57
- }, {
58
- "propName": "aria-colcount",
59
- "methodName": "ariaAttributeChanged"
60
- }, {
61
- "propName": "aria-colindex",
62
- "methodName": "ariaAttributeChanged"
63
- }, {
64
- "propName": "aria-colindextext",
65
- "methodName": "ariaAttributeChanged"
66
- }, {
67
- "propName": "aria-colspan",
68
- "methodName": "ariaAttributeChanged"
69
- }, {
70
- "propName": "aria-controls",
71
- "methodName": "ariaAttributeChanged"
72
- }, {
73
- "propName": "aria-current",
74
- "methodName": "ariaAttributeChanged"
75
- }, {
76
- "propName": "aria-describedby",
77
- "methodName": "ariaAttributeChanged"
78
- }, {
79
- "propName": "aria-description",
80
- "methodName": "ariaAttributeChanged"
81
- }, {
82
- "propName": "aria-details",
83
- "methodName": "ariaAttributeChanged"
84
- }, {
85
- "propName": "aria-disabled",
86
- "methodName": "ariaAttributeChanged"
87
- }, {
88
- "propName": "aria-errormessage",
89
- "methodName": "ariaAttributeChanged"
90
- }, {
91
- "propName": "aria-expanded",
92
- "methodName": "ariaAttributeChanged"
93
- }, {
94
- "propName": "aria-flowto",
95
- "methodName": "ariaAttributeChanged"
96
- }, {
97
- "propName": "aria-haspopup",
98
- "methodName": "ariaAttributeChanged"
99
- }, {
100
- "propName": "aria-hidden",
101
- "methodName": "ariaAttributeChanged"
102
- }, {
103
- "propName": "aria-invalid",
104
- "methodName": "ariaAttributeChanged"
105
- }, {
106
- "propName": "aria-keyshortcuts",
107
- "methodName": "ariaAttributeChanged"
108
- }, {
109
- "propName": "aria-label",
110
- "methodName": "ariaAttributeChanged"
111
- }, {
112
- "propName": "aria-labelledby",
113
- "methodName": "ariaAttributeChanged"
114
- }, {
115
- "propName": "aria-level",
116
- "methodName": "ariaAttributeChanged"
117
- }, {
118
- "propName": "aria-live",
119
- "methodName": "ariaAttributeChanged"
120
- }, {
121
- "propName": "aria-multiline",
122
- "methodName": "ariaAttributeChanged"
123
- }, {
124
- "propName": "aria-multiselectable",
125
- "methodName": "ariaAttributeChanged"
126
- }, {
127
- "propName": "aria-orientation",
128
- "methodName": "ariaAttributeChanged"
129
- }, {
130
- "propName": "aria-owns",
131
- "methodName": "ariaAttributeChanged"
132
- }, {
133
- "propName": "aria-placeholder",
134
- "methodName": "ariaAttributeChanged"
135
- }, {
136
- "propName": "aria-posinset",
137
- "methodName": "ariaAttributeChanged"
138
- }, {
139
- "propName": "aria-pressed",
140
- "methodName": "ariaAttributeChanged"
141
- }, {
142
- "propName": "aria-readonly",
143
- "methodName": "ariaAttributeChanged"
144
- }, {
145
- "propName": "aria-relevant",
146
- "methodName": "ariaAttributeChanged"
147
- }, {
148
- "propName": "aria-required",
149
- "methodName": "ariaAttributeChanged"
150
- }, {
151
- "propName": "aria-roledescription",
152
- "methodName": "ariaAttributeChanged"
153
- }, {
154
- "propName": "aria-rowcount",
155
- "methodName": "ariaAttributeChanged"
156
- }, {
157
- "propName": "aria-rowindex",
158
- "methodName": "ariaAttributeChanged"
159
- }, {
160
- "propName": "aria-rowindextext",
161
- "methodName": "ariaAttributeChanged"
162
- }, {
163
- "propName": "aria-rowspan",
164
- "methodName": "ariaAttributeChanged"
165
- }, {
166
- "propName": "aria-selected",
167
- "methodName": "ariaAttributeChanged"
168
- }, {
169
- "propName": "aria-setsize",
170
- "methodName": "ariaAttributeChanged"
171
- }, {
172
- "propName": "aria-sort",
173
- "methodName": "ariaAttributeChanged"
174
- }, {
175
- "propName": "aria-valuemax",
176
- "methodName": "ariaAttributeChanged"
177
- }, {
178
- "propName": "aria-valuemin",
179
- "methodName": "ariaAttributeChanged"
180
- }, {
181
- "propName": "aria-valuenow",
182
- "methodName": "ariaAttributeChanged"
183
- }, {
184
- "propName": "aria-valuetext",
185
- "methodName": "ariaAttributeChanged"
186
- }];
187
- }
188
197
  }
189
198
  return InheritAriaAttributesMixinCtor;
190
199
  };
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-restricted-syntax */
1
2
  /*
2
3
  * SPDX-FileCopyrightText: 2024 Siemens AG
3
4
  *
@@ -58,7 +58,7 @@
58
58
  :host *::before {
59
59
  box-sizing: border-box;
60
60
  }
61
- :host ::-webkit-scrollbar-button {
61
+ :host *::-webkit-scrollbar-button {
62
62
  display: none;
63
63
  }
64
64
  @-moz-document url-prefix() {
@@ -67,37 +67,37 @@
67
67
  scrollbar-width: thin;
68
68
  }
69
69
  }
70
- :host {
70
+ :host * {
71
71
  /* width */
72
72
  }
73
- :host ::-webkit-scrollbar {
73
+ :host *::-webkit-scrollbar {
74
74
  width: 0.5rem;
75
75
  height: 0.5rem;
76
76
  }
77
- :host {
77
+ :host * {
78
78
  /* Track */
79
79
  }
80
- :host ::-webkit-scrollbar-track {
80
+ :host *::-webkit-scrollbar-track {
81
81
  border-radius: 5px;
82
82
  background: var(--theme-scrollbar-track--background);
83
83
  }
84
- :host ::-webkit-scrollbar-track:hover {
84
+ :host *::-webkit-scrollbar-track:hover {
85
85
  background: var(--theme-scrollbar-track--background--hover);
86
86
  }
87
- :host {
87
+ :host * {
88
88
  /* Handle */
89
89
  }
90
- :host ::-webkit-scrollbar-thumb {
90
+ :host *::-webkit-scrollbar-thumb {
91
91
  border-radius: 5px;
92
92
  background: var(--theme-scrollbar-thumb--background);
93
93
  }
94
- :host {
94
+ :host * {
95
95
  /* Handle on hover */
96
96
  }
97
- :host ::-webkit-scrollbar-thumb:hover {
97
+ :host *::-webkit-scrollbar-thumb:hover {
98
98
  background: var(--theme-scrollbar-thumb--background--hover);
99
99
  }
100
- :host ::-webkit-scrollbar-corner {
100
+ :host *::-webkit-scrollbar-corner {
101
101
  display: none;
102
102
  }
103
103
  :host .step {
@@ -202,8 +202,8 @@
202
202
  background-color: var(--theme-workflow-step--background--active);
203
203
  }
204
204
  :host .step:focus-visible {
205
- outline: 1px solid var(--focus--border-color);
206
- border-radius: 0;
205
+ outline: 1px solid var(--theme-color-focus-bdr);
206
+ outline-offset: var(--theme-btn--focus--outline-offset);
207
207
  }
208
208
  :host .step.selected {
209
209
  background-color: var(--theme-workflow-step--background--selected);