@siemens/ix 0.0.0-pr-2166-20251001134702 → 0.0.0-pr-2214-20251017134939

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 (911) hide show
  1. package/READMEOSS.html +20 -20
  2. package/components/index.js +4 -4
  3. package/components/index.js.map +1 -1
  4. package/components/ix-action-card.js +3 -3
  5. package/components/ix-action-card.js.map +1 -1
  6. package/components/ix-application-header.js +1 -1
  7. package/components/ix-application-switch-modal.js +6 -6
  8. package/components/ix-application.js +2 -2
  9. package/components/ix-avatar.js +1 -1
  10. package/components/ix-basic-navigation.js +7 -7
  11. package/components/ix-blind.js +1 -1
  12. package/components/ix-breadcrumb-item.js +1 -1
  13. package/components/ix-breadcrumb.js +10 -10
  14. package/components/ix-breadcrumb.js.map +1 -1
  15. package/components/ix-button.js +1 -1
  16. package/components/ix-card-list.js +4 -4
  17. package/components/ix-category-filter.js +22 -13
  18. package/components/ix-category-filter.js.map +1 -1
  19. package/components/ix-checkbox-group.js +4 -4
  20. package/components/ix-checkbox.js +1 -1
  21. package/components/ix-chip.js +15 -14
  22. package/components/ix-chip.js.map +1 -1
  23. package/components/ix-content-header.js +3 -3
  24. package/components/ix-custom-field.js +4 -4
  25. package/components/ix-date-dropdown.js +20 -20
  26. package/components/ix-date-dropdown.js.map +1 -1
  27. package/components/ix-date-input.js +14 -14
  28. package/components/ix-date-input.js.map +1 -1
  29. package/components/ix-date-picker.js +1 -1
  30. package/components/ix-date-time-card.js +1 -1
  31. package/components/ix-datetime-picker.js +34 -13
  32. package/components/ix-datetime-picker.js.map +1 -1
  33. package/components/ix-drawer.js +7 -8
  34. package/components/ix-drawer.js.map +1 -1
  35. package/components/ix-dropdown-button.js +4 -4
  36. package/components/ix-dropdown-header.js +1 -1
  37. package/components/ix-dropdown.js +1 -1
  38. package/components/ix-empty-state.js +3 -3
  39. package/components/ix-event-list.js +4 -4
  40. package/components/ix-event-list.js.map +1 -1
  41. package/components/ix-expanding-search.js +2 -2
  42. package/components/ix-field-label.js +1 -1
  43. package/components/ix-field-wrapper.js +1 -1
  44. package/components/ix-filter-chip.js +1 -1
  45. package/components/ix-flip-tile.js +2 -2
  46. package/components/ix-group-context-menu.js +1 -1
  47. package/components/ix-group-item.js +1 -1
  48. package/components/ix-group.js +24 -24
  49. package/components/ix-group.js.map +1 -1
  50. package/components/ix-helper-text.js +2 -2
  51. package/components/ix-icon-button.js +1 -1
  52. package/components/ix-icon-toggle-button.js +2 -2
  53. package/components/ix-input-group.d.ts +11 -0
  54. package/components/ix-input-group.js +154 -0
  55. package/components/ix-input-group.js.map +1 -0
  56. package/components/ix-input.js +11 -11
  57. package/components/ix-input.js.map +1 -1
  58. package/components/ix-key-value-list.js +1 -1
  59. package/components/ix-key-value.js +1 -1
  60. package/components/ix-kpi.js +3 -3
  61. package/components/ix-layout-auto.js +1 -1
  62. package/components/ix-layout-grid.js +1 -1
  63. package/components/ix-link-button.js +3 -3
  64. package/components/ix-map-navigation-overlay.js +1 -1
  65. package/components/ix-map-navigation.js +9 -10
  66. package/components/ix-map-navigation.js.map +1 -1
  67. package/components/ix-menu-about-item.js +1 -1
  68. package/components/ix-menu-about-news.js +8 -8
  69. package/components/ix-menu-about.js +4 -4
  70. package/components/ix-menu-avatar-item.js +1 -1
  71. package/components/ix-menu-avatar.js +11 -11
  72. package/components/ix-menu-avatar.js.map +1 -1
  73. package/components/ix-menu-category.js +9 -9
  74. package/components/ix-menu-expand-icon.js +1 -1
  75. package/components/ix-menu-item.js +1 -1
  76. package/components/ix-menu-settings-item.js +1 -1
  77. package/components/ix-menu-settings.js +1 -1
  78. package/components/ix-menu.js +26 -21
  79. package/components/ix-menu.js.map +1 -1
  80. package/components/ix-message-bar.js +11 -8
  81. package/components/ix-message-bar.js.map +1 -1
  82. package/components/ix-modal-content.js +1 -1
  83. package/components/ix-modal-footer.js +1 -1
  84. package/components/ix-modal-header.js +1 -1
  85. package/components/ix-modal-loading.js +2 -2
  86. package/components/ix-modal.js +17 -17
  87. package/components/ix-modal.js.map +1 -1
  88. package/components/ix-number-input.js +12 -12
  89. package/components/ix-pagination.js +15 -15
  90. package/components/ix-pagination.js.map +1 -1
  91. package/components/ix-pane-layout.js +1 -1
  92. package/components/ix-pane.js +4 -4
  93. package/components/ix-pill.js +3 -3
  94. package/components/ix-pill.js.map +1 -1
  95. package/components/ix-progress-indicator.js +2 -2
  96. package/components/ix-push-card.js +5 -5
  97. package/components/ix-push-card.js.map +1 -1
  98. package/components/ix-radio-group.js +4 -4
  99. package/components/ix-radio.js +1 -1
  100. package/components/ix-select.js +1 -1
  101. package/components/ix-slider.js +2 -2
  102. package/components/ix-spinner.js +1 -1
  103. package/components/ix-split-button.js +4 -4
  104. package/components/ix-tab-item.js +1 -1
  105. package/components/ix-textarea.js +6 -6
  106. package/components/ix-time-input.js +20 -13
  107. package/components/ix-time-input.js.map +1 -1
  108. package/components/ix-time-picker.js +1 -1
  109. package/components/ix-toast-container.js +9 -9
  110. package/components/ix-toast-container.js.map +1 -1
  111. package/components/ix-toast.js +1 -1
  112. package/components/ix-toggle-button.js +1 -1
  113. package/components/ix-toggle.js +5 -5
  114. package/components/ix-toggle.js.map +1 -1
  115. package/components/ix-tooltip.js +1 -1
  116. package/components/ix-tree-item.js +1 -1
  117. package/components/ix-tree.js +2 -2
  118. package/components/ix-typography.js +1 -1
  119. package/components/ix-upload.js +5 -5
  120. package/components/ix-validation-tooltip.d.ts +11 -0
  121. package/components/ix-validation-tooltip.js +184 -0
  122. package/components/ix-validation-tooltip.js.map +1 -0
  123. package/components/ix-workflow-step.js +5 -4
  124. package/components/ix-workflow-step.js.map +1 -1
  125. package/components/ix-workflow-steps.js +1 -1
  126. package/components/{p-COHP8TmU.js → p-4zrYEasX.js} +3 -3
  127. package/components/p-4zrYEasX.js.map +1 -0
  128. package/components/{p-DklPCkRW.js → p-8MS-omi7.js} +3 -3
  129. package/components/{p-DklPCkRW.js.map → p-8MS-omi7.js.map} +1 -1
  130. package/components/{p-7-Wnr7e5.js → p-BFuOBAQB.js} +12 -6
  131. package/components/p-BFuOBAQB.js.map +1 -0
  132. package/components/{p-Baga5bu5.js → p-BSiqAMAr.js} +6 -6
  133. package/components/{p-Baga5bu5.js.map → p-BSiqAMAr.js.map} +1 -1
  134. package/components/{p-DE74-VWH.js → p-BYRT3Z1w.js} +12 -11
  135. package/components/p-BYRT3Z1w.js.map +1 -0
  136. package/components/{p-ts3VxLYi.js → p-BYvKfy9G.js} +6 -6
  137. package/components/{p-ts3VxLYi.js.map → p-BYvKfy9G.js.map} +1 -1
  138. package/components/{p-DOGuJxKg.js → p-BnT1mAuX.js} +6 -6
  139. package/components/{p-DOGuJxKg.js.map → p-BnT1mAuX.js.map} +1 -1
  140. package/components/{p-C4MK63gz.js → p-BrgHqrnH.js} +3 -3
  141. package/components/{p-C4MK63gz.js.map → p-BrgHqrnH.js.map} +1 -1
  142. package/components/{p-DaR6pX8w.js → p-C-7UhkWz.js} +8 -8
  143. package/components/{p-DaR6pX8w.js.map → p-C-7UhkWz.js.map} +1 -1
  144. package/components/{p-D3ZlTDAF.js → p-C3irznVN.js} +3 -3
  145. package/components/{p-D3ZlTDAF.js.map → p-C3irznVN.js.map} +1 -1
  146. package/components/{p-CiSM2A9Q.js → p-CAqtPJ4-.js} +3 -102
  147. package/components/p-CAqtPJ4-.js.map +1 -0
  148. package/components/p-CFRrPFxi.js +103 -0
  149. package/components/p-CFRrPFxi.js.map +1 -0
  150. package/components/{p-BmLRwuMH.js → p-CGPMGyof.js} +6 -5
  151. package/components/p-CGPMGyof.js.map +1 -0
  152. package/components/{p-DlNAQJQO.js → p-CMNpJTDF.js} +3 -3
  153. package/components/{p-DlNAQJQO.js.map → p-CMNpJTDF.js.map} +1 -1
  154. package/components/{p-uiKHewyI.js → p-CMk-tLmg.js} +4 -4
  155. package/components/{p-uiKHewyI.js.map → p-CMk-tLmg.js.map} +1 -1
  156. package/components/{p-CCyj6Nhd.js → p-CO2zhw6V.js} +3 -3
  157. package/components/{p-CCyj6Nhd.js.map → p-CO2zhw6V.js.map} +1 -1
  158. package/components/{p-C8wXJCK3.js → p-C_x_G0ux.js} +5 -5
  159. package/components/{p-C8wXJCK3.js.map → p-C_x_G0ux.js.map} +1 -1
  160. package/components/{p-BruPthTZ.js → p-CbQqqTKK.js} +71 -17
  161. package/components/p-CbQqqTKK.js.map +1 -0
  162. package/components/{p-w319yPRv.js → p-Cl420PSP.js} +6 -6
  163. package/components/{p-w319yPRv.js.map → p-Cl420PSP.js.map} +1 -1
  164. package/components/{p-C9yPT68I.js → p-CsHYWHE6.js} +25 -37
  165. package/components/p-CsHYWHE6.js.map +1 -0
  166. package/components/p-Ctze1Bh6.js +64 -0
  167. package/components/p-Ctze1Bh6.js.map +1 -0
  168. package/components/{p-BU9xngEb.js → p-CyJWaxhg.js} +9 -9
  169. package/components/{p-BU9xngEb.js.map → p-CyJWaxhg.js.map} +1 -1
  170. package/components/{p-gkooEHol.js → p-CzzcLSmV.js} +4 -4
  171. package/components/p-CzzcLSmV.js.map +1 -0
  172. package/components/{p-Cx5H0GeI.js → p-D5QNBS-J.js} +18 -21
  173. package/components/p-D5QNBS-J.js.map +1 -0
  174. package/components/{p-bBkFZC8X.js → p-D99ntB9D.js} +4 -4
  175. package/components/{p-bBkFZC8X.js.map → p-D99ntB9D.js.map} +1 -1
  176. package/components/{p-BLcKiU45.js → p-DAWZ76L0.js} +4 -4
  177. package/components/{p-BLcKiU45.js.map → p-DAWZ76L0.js.map} +1 -1
  178. package/components/{p-Ba6JlSP8.js → p-DRlGkOeX.js} +5 -5
  179. package/components/{p-Ba6JlSP8.js.map → p-DRlGkOeX.js.map} +1 -1
  180. package/components/{p-DSF854K6.js → p-DZNnQyWO.js} +4 -3
  181. package/components/p-DZNnQyWO.js.map +1 -0
  182. package/components/{p-DLcItN6d.js → p-DmTyQW2E.js} +5 -5
  183. package/components/p-DmTyQW2E.js.map +1 -0
  184. package/components/{p-Bc15ecXv.js → p-DyW_A5Tq.js} +13 -13
  185. package/components/p-DyW_A5Tq.js.map +1 -0
  186. package/components/{p-4dm0FrTr.js → p-FnN74Elm.js} +4 -3
  187. package/components/p-FnN74Elm.js.map +1 -0
  188. package/components/{p-CfOUCcs9.js → p-GkRC08qs.js} +3 -3
  189. package/components/{p-CfOUCcs9.js.map → p-GkRC08qs.js.map} +1 -1
  190. package/components/p-fef9-zXA.js +56 -0
  191. package/components/{p-R9YNQy08.js.map → p-fef9-zXA.js.map} +1 -1
  192. package/components/{p-BNYHD56q.js → p-j4BMT-Rr.js} +25 -25
  193. package/components/p-j4BMT-Rr.js.map +1 -0
  194. package/components/{p-Fbu6eUjk.js → p-s3E9saxz.js} +5 -5
  195. package/components/{p-Fbu6eUjk.js.map → p-s3E9saxz.js.map} +1 -1
  196. package/components/p-taILGXkr.js.map +1 -1
  197. package/dist/cjs/find-element-D7yD1Ukn.js +106 -0
  198. package/dist/cjs/find-element-D7yD1Ukn.js.map +1 -0
  199. package/dist/cjs/{find-element-BNZJcvT8.js → floating-ui.dom-CMzYsRR7.js} +2 -103
  200. package/dist/cjs/floating-ui.dom-CMzYsRR7.js.map +1 -0
  201. package/dist/cjs/{index-BJkiBUu0.js → index-B7AMgiIZ.js} +3 -3
  202. package/dist/cjs/{index-BJkiBUu0.js.map → index-B7AMgiIZ.js.map} +1 -1
  203. package/dist/cjs/index-DuDLgBnw.js +8 -0
  204. package/dist/cjs/index-Dyz3z1FD.js.map +1 -1
  205. package/dist/cjs/index.cjs.js +3 -3
  206. package/dist/cjs/index.cjs.js.map +1 -1
  207. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  208. package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
  209. package/dist/cjs/ix-application-header.cjs.entry.js +3 -3
  210. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  211. package/dist/cjs/ix-application.cjs.entry.js +2 -2
  212. package/dist/cjs/ix-avatar.ix-menu-avatar-item.entry.cjs.js.map +1 -1
  213. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  214. package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
  215. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +7 -7
  216. package/dist/cjs/ix-breadcrumb-item.entry.cjs.js.map +1 -1
  217. package/dist/cjs/ix-breadcrumb.cjs.entry.js +6 -6
  218. package/dist/cjs/ix-breadcrumb.entry.cjs.js.map +1 -1
  219. package/dist/cjs/ix-category-filter.cjs.entry.js +16 -8
  220. package/dist/cjs/ix-category-filter.entry.cjs.js.map +1 -1
  221. package/dist/cjs/ix-chip.cjs.entry.js +10 -9
  222. package/dist/cjs/ix-chip.entry.cjs.js.map +1 -1
  223. package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
  224. package/dist/cjs/ix-col_4.cjs.entry.js +18 -18
  225. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -11
  226. package/dist/cjs/ix-date-dropdown.entry.cjs.js.map +1 -1
  227. package/dist/cjs/ix-date-input.cjs.entry.js +4 -4
  228. package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
  229. package/dist/cjs/ix-date-time-card.cjs.entry.js +8 -3
  230. package/dist/cjs/ix-date-time-card.entry.cjs.js.map +1 -1
  231. package/dist/cjs/ix-datetime-picker.cjs.entry.js +21 -3
  232. package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
  233. package/dist/cjs/ix-drawer.cjs.entry.js +5 -6
  234. package/dist/cjs/ix-drawer.entry.cjs.js.map +1 -1
  235. package/dist/cjs/ix-dropdown.cjs.entry.js +8 -7
  236. package/dist/cjs/ix-dropdown.entry.cjs.js.map +1 -1
  237. package/dist/cjs/ix-event-list.cjs.entry.js +4 -4
  238. package/dist/cjs/ix-event-list.entry.cjs.js.map +1 -1
  239. package/dist/cjs/ix-filter-chip.ix-select-item.entry.cjs.js.map +1 -1
  240. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +1 -1
  241. package/dist/cjs/ix-group-context-menu.ix-group-item.entry.cjs.js.map +1 -1
  242. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +5 -18
  243. package/dist/cjs/ix-group.cjs.entry.js +18 -18
  244. package/dist/cjs/ix-group.entry.cjs.js.map +1 -1
  245. package/dist/cjs/ix-helper-text.cjs.entry.js +1 -1
  246. package/dist/cjs/ix-icon-button.ix-spinner.entry.cjs.js.map +1 -1
  247. package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
  248. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  249. package/dist/cjs/ix-input-group.cjs.entry.js +130 -0
  250. package/dist/cjs/ix-input-group.entry.cjs.js.map +1 -0
  251. package/dist/cjs/ix-input.cjs.entry.js +5 -5
  252. package/dist/cjs/ix-input.entry.cjs.js.map +1 -1
  253. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  254. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  255. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  256. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  257. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  258. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  259. package/dist/cjs/ix-map-navigation.cjs.entry.js +2 -3
  260. package/dist/cjs/ix-map-navigation.entry.cjs.js.map +1 -1
  261. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  262. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  263. package/dist/cjs/ix-menu-avatar.cjs.entry.js +4 -4
  264. package/dist/cjs/ix-menu-avatar.entry.cjs.js.map +1 -1
  265. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  266. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  267. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  268. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  269. package/dist/cjs/ix-menu.cjs.entry.js +20 -16
  270. package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
  271. package/dist/cjs/ix-message-bar.cjs.entry.js +8 -5
  272. package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
  273. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  274. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  275. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  276. package/dist/cjs/ix-modal.cjs.entry.js +14 -14
  277. package/dist/cjs/ix-modal.entry.cjs.js.map +1 -1
  278. package/dist/cjs/ix-number-input.cjs.entry.js +6 -6
  279. package/dist/cjs/ix-pagination.cjs.entry.js +5 -5
  280. package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
  281. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  282. package/dist/cjs/ix-pane.cjs.entry.js +1 -1
  283. package/dist/cjs/ix-pill.cjs.entry.js +1 -1
  284. package/dist/cjs/ix-pill.entry.cjs.js.map +1 -1
  285. package/dist/cjs/ix-push-card.cjs.entry.js +3 -3
  286. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  287. package/dist/cjs/ix-select.cjs.entry.js +8 -11
  288. package/dist/cjs/ix-select.entry.cjs.js.map +1 -1
  289. package/dist/cjs/ix-tab-item.ix-tabs.entry.cjs.js.map +1 -1
  290. package/dist/cjs/ix-tab-item_2.cjs.entry.js +1 -1
  291. package/dist/cjs/ix-textarea.cjs.entry.js +2 -2
  292. package/dist/cjs/ix-time-input.cjs.entry.js +9 -3
  293. package/dist/cjs/ix-time-input.entry.cjs.js.map +1 -1
  294. package/dist/cjs/ix-time-picker.cjs.entry.js +58 -10
  295. package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
  296. package/dist/cjs/ix-toast-container.cjs.entry.js +5 -5
  297. package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
  298. package/dist/cjs/ix-toast.cjs.entry.js +6 -5
  299. package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
  300. package/dist/cjs/ix-toggle.cjs.entry.js +4 -4
  301. package/dist/cjs/ix-toggle.entry.cjs.js.map +1 -1
  302. package/dist/cjs/ix-tooltip.cjs.entry.js +10 -9
  303. package/dist/cjs/ix-tooltip.entry.cjs.js.map +1 -1
  304. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  305. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  306. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  307. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  308. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +155 -0
  309. package/dist/cjs/ix-validation-tooltip.entry.cjs.js.map +1 -0
  310. package/dist/cjs/ix-workflow-step.cjs.entry.js +5 -4
  311. package/dist/cjs/ix-workflow-step.entry.cjs.js.map +1 -1
  312. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  313. package/dist/cjs/loader.cjs.js +1 -1
  314. package/dist/cjs/{modal-BdSf3C6f.js → modal-CsEGB0kd.js} +4 -3
  315. package/dist/cjs/modal-CsEGB0kd.js.map +1 -0
  316. package/dist/cjs/{service-DuiJmf7R.js → service-FGbUpQQM.js} +4 -4
  317. package/dist/cjs/service-FGbUpQQM.js.map +1 -0
  318. package/dist/cjs/siemens-ix.cjs.js +1 -1
  319. package/dist/cjs/{theme-switcher-Do9dkNUv.js → theme-switcher-76Td30il.js} +25 -37
  320. package/dist/cjs/theme-switcher-76Td30il.js.map +1 -0
  321. package/dist/collection/collection-manifest.json +2 -0
  322. package/dist/collection/components/action-card/action-card.js +2 -2
  323. package/dist/collection/components/action-card/action-card.js.map +1 -1
  324. package/dist/collection/components/avatar/avatar.js +1 -1
  325. package/dist/collection/components/avatar/avatar.js.map +1 -1
  326. package/dist/collection/components/breadcrumb/breadcrumb.js +9 -9
  327. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  328. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +16 -16
  329. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  330. package/dist/collection/components/category-filter/category-filter.js +43 -12
  331. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  332. package/dist/collection/components/chip/chip.css +1 -1
  333. package/dist/collection/components/chip/chip.js +13 -12
  334. package/dist/collection/components/chip/chip.js.map +1 -1
  335. package/dist/collection/components/date-dropdown/date-dropdown.js +19 -19
  336. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  337. package/dist/collection/components/date-input/date-input.js +5 -5
  338. package/dist/collection/components/date-input/date-input.js.map +1 -1
  339. package/dist/collection/components/date-picker/date-picker-component.js.map +1 -1
  340. package/dist/collection/components/date-picker/date-picker.js +31 -26
  341. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  342. package/dist/collection/components/date-time-card/date-time-card.js +30 -5
  343. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  344. package/dist/collection/components/datetime-picker/datetime-picker.js +94 -7
  345. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  346. package/dist/collection/components/drawer/drawer.js +5 -6
  347. package/dist/collection/components/drawer/drawer.js.map +1 -1
  348. package/dist/collection/components/event-list/event-list.js +6 -6
  349. package/dist/collection/components/event-list/event-list.js.map +1 -1
  350. package/dist/collection/components/filter-chip/filter-chip.css +1 -0
  351. package/dist/collection/components/group/group.css +0 -12
  352. package/dist/collection/components/group/group.js +23 -23
  353. package/dist/collection/components/group/group.js.map +1 -1
  354. package/dist/collection/components/group-item/group-item.css +6 -22
  355. package/dist/collection/components/group-item/group-item.js +8 -44
  356. package/dist/collection/components/group-item/group-item.js.map +1 -1
  357. package/dist/collection/components/helper-text/helper-text.js +1 -1
  358. package/dist/collection/components/icon-button/icon-button.js +2 -2
  359. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  360. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  361. package/dist/collection/components/input/input.js +5 -5
  362. package/dist/collection/components/input/input.js.map +1 -1
  363. package/dist/collection/components/input/number-input.js +6 -6
  364. package/dist/collection/components/input/textarea.js +2 -2
  365. package/dist/collection/components/input-group/input-group.css +115 -0
  366. package/dist/collection/components/input-group/input-group.js +152 -0
  367. package/dist/collection/components/input-group/input-group.js.map +1 -0
  368. package/dist/collection/components/key-value/key-value.js +1 -1
  369. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  370. package/dist/collection/components/kpi/kpi.js +3 -3
  371. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  372. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  373. package/dist/collection/components/link-button/link-button.js +3 -3
  374. package/dist/collection/components/map-navigation/map-navigation.js +2 -3
  375. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  376. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  377. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  378. package/dist/collection/components/menu/menu.js +36 -12
  379. package/dist/collection/components/menu/menu.js.map +1 -1
  380. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  381. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  382. package/dist/collection/components/menu-avatar/menu-avatar.js +7 -7
  383. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  384. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  385. package/dist/collection/components/menu-category/menu-category.js +5 -5
  386. package/dist/collection/components/menu-item/menu-item.js +4 -4
  387. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  388. package/dist/collection/components/message-bar/message-bar.js +18 -12
  389. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  390. package/dist/collection/components/modal/modal.css +1 -1
  391. package/dist/collection/components/modal/modal.js +29 -29
  392. package/dist/collection/components/modal/modal.js.map +1 -1
  393. package/dist/collection/components/modal-content/modal-content.js +1 -1
  394. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  395. package/dist/collection/components/modal-header/modal-header.js +1 -1
  396. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  397. package/dist/collection/components/pagination/pagination.js +9 -9
  398. package/dist/collection/components/pagination/pagination.js.map +1 -1
  399. package/dist/collection/components/pill/pill.css +1 -1
  400. package/dist/collection/components/push-card/push-card.js +7 -7
  401. package/dist/collection/components/push-card/push-card.js.map +1 -1
  402. package/dist/collection/components/select/select.js +8 -11
  403. package/dist/collection/components/select/select.js.map +1 -1
  404. package/dist/collection/components/spinner/spinner.css +5 -5
  405. package/dist/collection/components/tab-item/tab-item.css +1 -1
  406. package/dist/collection/components/time-input/time-input.js +32 -3
  407. package/dist/collection/components/time-input/time-input.js.map +1 -1
  408. package/dist/collection/components/time-picker/time-picker.js +199 -14
  409. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  410. package/dist/collection/components/toast/toast-container.js +5 -5
  411. package/dist/collection/components/toast/toast-container.js.map +1 -1
  412. package/dist/collection/components/toast/toast.js +9 -8
  413. package/dist/collection/components/toast/toast.js.map +1 -1
  414. package/dist/collection/components/toggle/toggle.css +227 -0
  415. package/dist/collection/components/toggle/toggle.js +3 -3
  416. package/dist/collection/components/tooltip/tooltip.js +1 -1
  417. package/dist/collection/components/tree/tree.js +1 -1
  418. package/dist/collection/components/tree-item/tree-item.js +4 -4
  419. package/dist/collection/components/typography/typography.js +1 -1
  420. package/dist/collection/components/upload/upload.js +3 -3
  421. package/dist/collection/components/utils/application-layout/service.js +2 -2
  422. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  423. package/dist/collection/components/utils/modal/loading.js +1 -1
  424. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  425. package/dist/collection/components/utils/modal/message.js +2 -1
  426. package/dist/collection/components/utils/modal/message.js.map +1 -1
  427. package/dist/collection/components/utils/notification-color.js.map +1 -1
  428. package/dist/collection/components/utils/theme-switcher.js +23 -35
  429. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  430. package/dist/collection/components/validation-tooltip/validation-tooltip.css +225 -0
  431. package/dist/collection/components/validation-tooltip/validation-tooltip.js +250 -0
  432. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -0
  433. package/dist/collection/components/workflow-step/workflow-step.js +5 -4
  434. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  435. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  436. package/dist/collection/tests/utils/test/page.js +2 -2
  437. package/dist/collection/tests/utils/test/page.js.map +1 -1
  438. package/dist/esm/find-element-CFRrPFxi.js +103 -0
  439. package/dist/esm/find-element-CFRrPFxi.js.map +1 -0
  440. package/dist/esm/{find-element-CiSM2A9Q.js → floating-ui.dom-CAqtPJ4-.js} +3 -102
  441. package/dist/esm/floating-ui.dom-CAqtPJ4-.js.map +1 -0
  442. package/dist/esm/{index-D4tQ_iTq.js → index--ZIr3Aqz.js} +3 -3
  443. package/dist/esm/{index-D4tQ_iTq.js.map → index--ZIr3Aqz.js.map} +1 -1
  444. package/dist/esm/index-Cz75KU1f.js.map +1 -1
  445. package/dist/esm/index-DGODjp4O.js +8 -0
  446. package/dist/esm/index.js +4 -4
  447. package/dist/esm/index.js.map +1 -1
  448. package/dist/esm/ix-action-card.entry.js +2 -2
  449. package/dist/esm/ix-action-card.entry.js.map +1 -1
  450. package/dist/esm/ix-application-header.entry.js +3 -3
  451. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  452. package/dist/esm/ix-application.entry.js +2 -2
  453. package/dist/esm/ix-avatar.ix-menu-avatar-item.entry.js.map +1 -1
  454. package/dist/esm/ix-avatar_2.entry.js +1 -1
  455. package/dist/esm/ix-basic-navigation.entry.js +1 -1
  456. package/dist/esm/ix-breadcrumb-item.entry.js +7 -7
  457. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  458. package/dist/esm/ix-breadcrumb.entry.js +6 -6
  459. package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
  460. package/dist/esm/ix-category-filter.entry.js +16 -8
  461. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  462. package/dist/esm/ix-chip.entry.js +10 -9
  463. package/dist/esm/ix-chip.entry.js.map +1 -1
  464. package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
  465. package/dist/esm/ix-col_4.entry.js +18 -18
  466. package/dist/esm/ix-date-dropdown.entry.js +11 -11
  467. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  468. package/dist/esm/ix-date-input.entry.js +4 -4
  469. package/dist/esm/ix-date-input.entry.js.map +1 -1
  470. package/dist/esm/ix-date-time-card.entry.js +8 -3
  471. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  472. package/dist/esm/ix-datetime-picker.entry.js +21 -3
  473. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  474. package/dist/esm/ix-drawer.entry.js +5 -6
  475. package/dist/esm/ix-drawer.entry.js.map +1 -1
  476. package/dist/esm/ix-dropdown.entry.js +2 -1
  477. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  478. package/dist/esm/ix-event-list.entry.js +4 -4
  479. package/dist/esm/ix-event-list.entry.js.map +1 -1
  480. package/dist/esm/ix-filter-chip.ix-select-item.entry.js.map +1 -1
  481. package/dist/esm/ix-filter-chip_2.entry.js +1 -1
  482. package/dist/esm/ix-group-context-menu.ix-group-item.entry.js.map +1 -1
  483. package/dist/esm/ix-group-context-menu_2.entry.js +5 -18
  484. package/dist/esm/ix-group.entry.js +19 -19
  485. package/dist/esm/ix-group.entry.js.map +1 -1
  486. package/dist/esm/ix-helper-text.entry.js +1 -1
  487. package/dist/esm/ix-icon-button.ix-spinner.entry.js.map +1 -1
  488. package/dist/esm/ix-icon-button_2.entry.js +2 -2
  489. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  490. package/dist/esm/ix-input-group.entry.js +128 -0
  491. package/dist/esm/ix-input-group.entry.js.map +1 -0
  492. package/dist/esm/ix-input.entry.js +5 -5
  493. package/dist/esm/ix-input.entry.js.map +1 -1
  494. package/dist/esm/ix-key-value-list.entry.js +1 -1
  495. package/dist/esm/ix-key-value.entry.js +1 -1
  496. package/dist/esm/ix-kpi.entry.js +3 -3
  497. package/dist/esm/ix-layout-auto.entry.js +1 -1
  498. package/dist/esm/ix-link-button.entry.js +3 -3
  499. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  500. package/dist/esm/ix-map-navigation.entry.js +2 -3
  501. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  502. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  503. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  504. package/dist/esm/ix-menu-avatar.entry.js +4 -4
  505. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  506. package/dist/esm/ix-menu-category.entry.js +5 -5
  507. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  508. package/dist/esm/ix-menu-item.entry.js +4 -4
  509. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  510. package/dist/esm/ix-menu.entry.js +20 -16
  511. package/dist/esm/ix-menu.entry.js.map +1 -1
  512. package/dist/esm/ix-message-bar.entry.js +8 -5
  513. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  514. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  515. package/dist/esm/ix-modal-footer.entry.js +1 -1
  516. package/dist/esm/ix-modal-loading.entry.js +1 -1
  517. package/dist/esm/ix-modal.entry.js +14 -14
  518. package/dist/esm/ix-modal.entry.js.map +1 -1
  519. package/dist/esm/ix-number-input.entry.js +6 -6
  520. package/dist/esm/ix-pagination.entry.js +5 -5
  521. package/dist/esm/ix-pagination.entry.js.map +1 -1
  522. package/dist/esm/ix-pane-layout.entry.js +1 -1
  523. package/dist/esm/ix-pane.entry.js +1 -1
  524. package/dist/esm/ix-pill.entry.js +1 -1
  525. package/dist/esm/ix-pill.entry.js.map +1 -1
  526. package/dist/esm/ix-push-card.entry.js +3 -3
  527. package/dist/esm/ix-push-card.entry.js.map +1 -1
  528. package/dist/esm/ix-select.entry.js +8 -11
  529. package/dist/esm/ix-select.entry.js.map +1 -1
  530. package/dist/esm/ix-tab-item.ix-tabs.entry.js.map +1 -1
  531. package/dist/esm/ix-tab-item_2.entry.js +1 -1
  532. package/dist/esm/ix-textarea.entry.js +2 -2
  533. package/dist/esm/ix-time-input.entry.js +9 -3
  534. package/dist/esm/ix-time-input.entry.js.map +1 -1
  535. package/dist/esm/ix-time-picker.entry.js +58 -10
  536. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  537. package/dist/esm/ix-toast-container.entry.js +5 -5
  538. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  539. package/dist/esm/ix-toast.entry.js +6 -5
  540. package/dist/esm/ix-toast.entry.js.map +1 -1
  541. package/dist/esm/ix-toggle.entry.js +4 -4
  542. package/dist/esm/ix-toggle.entry.js.map +1 -1
  543. package/dist/esm/ix-tooltip.entry.js +3 -2
  544. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  545. package/dist/esm/ix-tree-item.entry.js +4 -4
  546. package/dist/esm/ix-tree.entry.js +1 -1
  547. package/dist/esm/ix-typography.entry.js +1 -1
  548. package/dist/esm/ix-upload.entry.js +3 -3
  549. package/dist/esm/ix-validation-tooltip.entry.js +153 -0
  550. package/dist/esm/ix-validation-tooltip.entry.js.map +1 -0
  551. package/dist/esm/ix-workflow-step.entry.js +5 -4
  552. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  553. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  554. package/dist/esm/loader.js +1 -1
  555. package/dist/esm/{modal-BQcyFJfE.js → modal-D9BaTrTa.js} +4 -3
  556. package/dist/esm/modal-D9BaTrTa.js.map +1 -0
  557. package/dist/esm/{service-Da0kv8hS.js → service-ktcE7NzB.js} +4 -4
  558. package/dist/esm/service-ktcE7NzB.js.map +1 -0
  559. package/dist/esm/siemens-ix.js +1 -1
  560. package/dist/esm/{theme-switcher-Bg6wsOIn.js → theme-switcher-DRqJGlG2.js} +25 -37
  561. package/dist/esm/theme-switcher-DRqJGlG2.js.map +1 -0
  562. package/dist/siemens-ix/index.esm.js +1 -1
  563. package/dist/siemens-ix/index.esm.js.map +1 -1
  564. package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
  565. package/dist/siemens-ix/ix-avatar.ix-menu-avatar-item.entry.esm.js.map +1 -1
  566. package/dist/siemens-ix/ix-breadcrumb-item.entry.esm.js.map +1 -1
  567. package/dist/siemens-ix/ix-breadcrumb.entry.esm.js.map +1 -1
  568. package/dist/siemens-ix/ix-category-filter.entry.esm.js.map +1 -1
  569. package/dist/siemens-ix/ix-chip.entry.esm.js.map +1 -1
  570. package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
  571. package/dist/siemens-ix/ix-date-dropdown.entry.esm.js.map +1 -1
  572. package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
  573. package/dist/siemens-ix/ix-date-time-card.entry.esm.js.map +1 -1
  574. package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
  575. package/dist/siemens-ix/ix-drawer.entry.esm.js.map +1 -1
  576. package/dist/siemens-ix/ix-dropdown.entry.esm.js.map +1 -1
  577. package/dist/siemens-ix/ix-event-list.entry.esm.js.map +1 -1
  578. package/dist/siemens-ix/ix-filter-chip.ix-select-item.entry.esm.js.map +1 -1
  579. package/dist/siemens-ix/ix-group-context-menu.ix-group-item.entry.esm.js.map +1 -1
  580. package/dist/siemens-ix/ix-group.entry.esm.js.map +1 -1
  581. package/dist/siemens-ix/ix-icon-button.ix-spinner.entry.esm.js.map +1 -1
  582. package/dist/siemens-ix/ix-input-group.entry.esm.js.map +1 -0
  583. package/dist/siemens-ix/ix-input.entry.esm.js.map +1 -1
  584. package/dist/siemens-ix/ix-map-navigation.entry.esm.js.map +1 -1
  585. package/dist/siemens-ix/ix-menu-avatar.entry.esm.js.map +1 -1
  586. package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
  587. package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
  588. package/dist/siemens-ix/ix-modal.entry.esm.js.map +1 -1
  589. package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
  590. package/dist/siemens-ix/ix-pill.entry.esm.js.map +1 -1
  591. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  592. package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
  593. package/dist/siemens-ix/ix-tab-item.ix-tabs.entry.esm.js.map +1 -1
  594. package/dist/siemens-ix/ix-time-input.entry.esm.js.map +1 -1
  595. package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
  596. package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
  597. package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
  598. package/dist/siemens-ix/ix-toggle.entry.esm.js.map +1 -1
  599. package/dist/siemens-ix/ix-tooltip.entry.esm.js.map +1 -1
  600. package/dist/siemens-ix/ix-validation-tooltip.entry.esm.js.map +1 -0
  601. package/dist/siemens-ix/ix-workflow-step.entry.esm.js.map +1 -1
  602. package/dist/siemens-ix/{p-639d0d7f.entry.js → p-02621eb8.entry.js} +2 -2
  603. package/dist/siemens-ix/p-02621eb8.entry.js.map +1 -0
  604. package/dist/siemens-ix/{p-bf2374a0.entry.js → p-0469aec7.entry.js} +2 -2
  605. package/dist/siemens-ix/{p-800f59a7.entry.js → p-09cce59e.entry.js} +2 -2
  606. package/dist/siemens-ix/p-09cce59e.entry.js.map +1 -0
  607. package/dist/siemens-ix/{p-f14790b4.entry.js → p-14fca48a.entry.js} +2 -2
  608. package/dist/siemens-ix/{p-111687a2.entry.js → p-19c2cb50.entry.js} +2 -2
  609. package/dist/siemens-ix/{p-111687a2.entry.js.map → p-19c2cb50.entry.js.map} +1 -1
  610. package/dist/siemens-ix/{p-c31b2027.entry.js → p-1ca58d8b.entry.js} +2 -2
  611. package/dist/siemens-ix/p-1d0ae43f.entry.js +2 -0
  612. package/dist/siemens-ix/p-1d0ae43f.entry.js.map +1 -0
  613. package/dist/siemens-ix/p-1fa5a3e4.entry.js +2 -0
  614. package/dist/siemens-ix/p-1fa5a3e4.entry.js.map +1 -0
  615. package/dist/siemens-ix/{p-1ac88556.entry.js → p-223c9d79.entry.js} +2 -2
  616. package/dist/siemens-ix/{p-1ac88556.entry.js.map → p-223c9d79.entry.js.map} +1 -1
  617. package/dist/siemens-ix/p-27f1d6c9.entry.js +2 -0
  618. package/dist/siemens-ix/p-27f1d6c9.entry.js.map +1 -0
  619. package/dist/siemens-ix/p-2d01c802.entry.js +2 -0
  620. package/dist/siemens-ix/p-2d01c802.entry.js.map +1 -0
  621. package/dist/siemens-ix/p-2d3f7bb5.entry.js +2 -0
  622. package/dist/siemens-ix/p-2d3f7bb5.entry.js.map +1 -0
  623. package/dist/siemens-ix/p-2d9b7dbd.entry.js +2 -0
  624. package/dist/siemens-ix/p-2d9b7dbd.entry.js.map +1 -0
  625. package/dist/siemens-ix/p-30545ef9.entry.js +2 -0
  626. package/dist/siemens-ix/{p-13fb0104.entry.js → p-3522b3af.entry.js} +2 -2
  627. package/dist/siemens-ix/{p-13fb0104.entry.js.map → p-3522b3af.entry.js.map} +1 -1
  628. package/dist/siemens-ix/{p-6645d4ee.entry.js → p-404dffde.entry.js} +2 -2
  629. package/dist/siemens-ix/{p-3f06687e.entry.js → p-42a70164.entry.js} +2 -2
  630. package/dist/siemens-ix/p-42a70164.entry.js.map +1 -0
  631. package/dist/siemens-ix/{p-2041357d.entry.js → p-48b0fef4.entry.js} +2 -2
  632. package/dist/siemens-ix/{p-ae2e5e0c.entry.js → p-4b88c430.entry.js} +2 -2
  633. package/dist/siemens-ix/{p-ae2e5e0c.entry.js.map → p-4b88c430.entry.js.map} +1 -1
  634. package/dist/siemens-ix/{p-91fa3ab0.entry.js → p-5140e6e6.entry.js} +2 -2
  635. package/dist/siemens-ix/{p-28fe8512.entry.js → p-52dc3ba0.entry.js} +2 -2
  636. package/dist/siemens-ix/{p-fbd0973d.entry.js → p-53e82da9.entry.js} +2 -2
  637. package/dist/siemens-ix/p-53e82da9.entry.js.map +1 -0
  638. package/dist/siemens-ix/p-53e9e280.entry.js +2 -0
  639. package/dist/siemens-ix/p-53e9e280.entry.js.map +1 -0
  640. package/dist/siemens-ix/p-5bed04ac.entry.js +2 -0
  641. package/dist/siemens-ix/p-5bed04ac.entry.js.map +1 -0
  642. package/dist/siemens-ix/{p-c248940f.entry.js → p-5c109476.entry.js} +2 -2
  643. package/dist/siemens-ix/p-5f72640f.entry.js +2 -0
  644. package/dist/siemens-ix/p-5f72640f.entry.js.map +1 -0
  645. package/dist/siemens-ix/{p-e3a219e3.entry.js → p-6a39d630.entry.js} +2 -2
  646. package/dist/siemens-ix/p-6c873cc5.entry.js +2 -0
  647. package/dist/siemens-ix/p-6d8e725c.entry.js +2 -0
  648. package/dist/siemens-ix/p-6d8e725c.entry.js.map +1 -0
  649. package/dist/siemens-ix/{p-e201fa04.entry.js → p-71550396.entry.js} +2 -2
  650. package/dist/siemens-ix/{p-e201fa04.entry.js.map → p-71550396.entry.js.map} +1 -1
  651. package/dist/siemens-ix/{p-32203c19.entry.js → p-71e94914.entry.js} +2 -2
  652. package/dist/siemens-ix/p-71e94914.entry.js.map +1 -0
  653. package/dist/siemens-ix/p-740420eb.entry.js +2 -0
  654. package/dist/siemens-ix/p-740420eb.entry.js.map +1 -0
  655. package/dist/siemens-ix/{p-c6ecc2e3.entry.js → p-746b04cb.entry.js} +2 -2
  656. package/dist/siemens-ix/p-78ddd5f5.entry.js +2 -0
  657. package/dist/siemens-ix/p-78ddd5f5.entry.js.map +1 -0
  658. package/dist/siemens-ix/{p-75edf091.entry.js → p-7989235e.entry.js} +2 -2
  659. package/dist/siemens-ix/p-7989235e.entry.js.map +1 -0
  660. package/dist/siemens-ix/{p-9dbfd7cd.entry.js → p-7a108b0d.entry.js} +2 -2
  661. package/dist/siemens-ix/{p-1cd4280f.entry.js → p-7d95ae34.entry.js} +2 -2
  662. package/dist/siemens-ix/{p-75f4bbb1.entry.js → p-81c8d542.entry.js} +2 -2
  663. package/dist/siemens-ix/{p-d7c7d38b.entry.js → p-8dcc6456.entry.js} +2 -2
  664. package/dist/siemens-ix/{p-d1254b5b.entry.js → p-8e48a7a1.entry.js} +2 -2
  665. package/dist/siemens-ix/{p-c413e3c4.entry.js → p-8eee6a03.entry.js} +2 -2
  666. package/dist/siemens-ix/p-90089ce1.entry.js +2 -0
  667. package/dist/siemens-ix/{p-0ba7d263.entry.js → p-90bd8d7b.entry.js} +2 -2
  668. package/dist/siemens-ix/{p-1bd1380b.entry.js → p-95d4d849.entry.js} +2 -2
  669. package/dist/siemens-ix/{p-a7cb47ca.entry.js → p-9638c57b.entry.js} +2 -2
  670. package/dist/siemens-ix/p-9638c57b.entry.js.map +1 -0
  671. package/dist/siemens-ix/p-96a20067.entry.js +2 -0
  672. package/dist/siemens-ix/{p-2355f27d.entry.js.map → p-96a20067.entry.js.map} +1 -1
  673. package/dist/siemens-ix/{p-38f9b6e2.entry.js → p-99ad8022.entry.js} +2 -2
  674. package/dist/siemens-ix/p-99ad8022.entry.js.map +1 -0
  675. package/dist/siemens-ix/p-9bd4c682.entry.js +2 -0
  676. package/dist/siemens-ix/{p-b895b3db.entry.js → p-9d7a2428.entry.js} +2 -2
  677. package/dist/siemens-ix/p-9d7a2428.entry.js.map +1 -0
  678. package/dist/siemens-ix/p-CAqtPJ4-.js +2 -0
  679. package/dist/siemens-ix/p-CAqtPJ4-.js.map +1 -0
  680. package/dist/siemens-ix/p-CFRrPFxi.js +2 -0
  681. package/dist/siemens-ix/p-CFRrPFxi.js.map +1 -0
  682. package/dist/siemens-ix/p-CpVbQsUI.js +2 -0
  683. package/dist/siemens-ix/p-CpVbQsUI.js.map +1 -0
  684. package/dist/siemens-ix/p-CsHYWHE6.js +2 -0
  685. package/dist/siemens-ix/p-CsHYWHE6.js.map +1 -0
  686. package/dist/siemens-ix/p-Cz75KU1f.js.map +1 -1
  687. package/dist/siemens-ix/{p-gkooEHol.js → p-CzzcLSmV.js} +2 -2
  688. package/dist/siemens-ix/p-CzzcLSmV.js.map +1 -0
  689. package/dist/siemens-ix/{p-CNToWy_R.js → p-DRnSC9aV.js} +2 -2
  690. package/dist/siemens-ix/{p-CNToWy_R.js.map → p-DRnSC9aV.js.map} +1 -1
  691. package/dist/siemens-ix/p-a25ebeb2.entry.js +2 -0
  692. package/dist/siemens-ix/{p-f55c3bed.entry.js.map → p-a25ebeb2.entry.js.map} +1 -1
  693. package/dist/siemens-ix/p-b11b63ca.entry.js +2 -0
  694. package/dist/siemens-ix/p-b11b63ca.entry.js.map +1 -0
  695. package/dist/siemens-ix/p-b59285eb.entry.js +2 -0
  696. package/dist/siemens-ix/{p-d9766334.entry.js.map → p-b59285eb.entry.js.map} +1 -1
  697. package/dist/siemens-ix/{p-c949686e.entry.js → p-b6d9c16c.entry.js} +2 -2
  698. package/dist/siemens-ix/{p-c949686e.entry.js.map → p-b6d9c16c.entry.js.map} +1 -1
  699. package/dist/siemens-ix/{p-d0213ff0.entry.js → p-b6dad40c.entry.js} +2 -2
  700. package/dist/siemens-ix/{p-331f1b60.entry.js → p-bb28a2d6.entry.js} +2 -2
  701. package/dist/siemens-ix/{p-e55cd52b.entry.js → p-bd369344.entry.js} +2 -2
  702. package/dist/siemens-ix/{p-db02f4c2.entry.js → p-c446ffdb.entry.js} +2 -2
  703. package/dist/siemens-ix/{p-96533ffc.entry.js → p-c8cf26c5.entry.js} +2 -2
  704. package/dist/siemens-ix/p-c8cf26c5.entry.js.map +1 -0
  705. package/dist/siemens-ix/{p-bb878ea4.entry.js → p-cd11dfa8.entry.js} +2 -2
  706. package/dist/siemens-ix/p-d0d972c2.entry.js +2 -0
  707. package/dist/siemens-ix/{p-5f7943f2.entry.js.map → p-d0d972c2.entry.js.map} +1 -1
  708. package/dist/siemens-ix/{p-a67bc456.entry.js → p-dc5b5c0c.entry.js} +2 -2
  709. package/dist/siemens-ix/p-ddaf98b6.entry.js +2 -0
  710. package/dist/siemens-ix/p-ddaf98b6.entry.js.map +1 -0
  711. package/dist/siemens-ix/{p-7060645f.entry.js → p-eba51393.entry.js} +2 -2
  712. package/dist/siemens-ix/p-ec8f67b0.entry.js +2 -0
  713. package/dist/siemens-ix/p-ec8f67b0.entry.js.map +1 -0
  714. package/dist/siemens-ix/{p-d585e581.entry.js → p-f112fabd.entry.js} +2 -2
  715. package/dist/siemens-ix/{p-d585e581.entry.js.map → p-f112fabd.entry.js.map} +1 -1
  716. package/dist/siemens-ix/{p-9272ae83.entry.js → p-f29eaee8.entry.js} +2 -2
  717. package/dist/siemens-ix/p-f55eef69.entry.js +2 -0
  718. package/dist/siemens-ix/p-f55eef69.entry.js.map +1 -0
  719. package/dist/siemens-ix/{p-9b88a932.entry.js → p-f6d678a6.entry.js} +2 -2
  720. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  721. package/dist/siemens-ix/siemens-ix.css +2312 -2248
  722. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  723. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  724. package/dist/siemens-ix/theme/classic-light.css +1 -1
  725. package/dist/types/components/avatar/avatar.d.ts +1 -1
  726. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -1
  727. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +3 -3
  728. package/dist/types/components/category-filter/category-filter.d.ts +9 -3
  729. package/dist/types/components/chip/chip.d.ts +2 -2
  730. package/dist/types/components/date-dropdown/date-dropdown.d.ts +6 -6
  731. package/dist/types/components/date-input/date-input.d.ts +4 -0
  732. package/dist/types/components/date-picker/date-picker-component.d.ts +1 -1
  733. package/dist/types/components/date-picker/date-picker.d.ts +5 -7
  734. package/dist/types/components/date-time-card/date-time-card.d.ts +5 -1
  735. package/dist/types/components/datetime-picker/datetime-picker.d.ts +20 -2
  736. package/dist/types/components/event-list/event-list.d.ts +1 -1
  737. package/dist/types/components/group/group.d.ts +4 -4
  738. package/dist/types/components/group-item/group-item.d.ts +2 -9
  739. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  740. package/dist/types/components/input-group/input-group.d.ts +24 -0
  741. package/dist/types/components/menu/menu.d.ts +4 -0
  742. package/dist/types/components/menu-avatar/menu-avatar.d.ts +1 -1
  743. package/dist/types/components/message-bar/message-bar.d.ts +4 -3
  744. package/dist/types/components/modal/modal.d.ts +9 -9
  745. package/dist/types/components/pagination/pagination.d.ts +2 -2
  746. package/dist/types/components/push-card/push-card.d.ts +2 -2
  747. package/dist/types/components/time-input/time-input.d.ts +6 -0
  748. package/dist/types/components/time-picker/time-picker.d.ts +40 -2
  749. package/dist/types/components/toast/toast.d.ts +1 -1
  750. package/dist/types/components/utils/notification-color.d.ts +1 -1
  751. package/dist/types/components/utils/theme-switcher.d.ts +4 -11
  752. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +45 -0
  753. package/dist/types/components.d.ts +421 -197
  754. package/hydrate/index.js +715 -329
  755. package/hydrate/index.mjs +715 -329
  756. package/package.json +3 -3
  757. package/scss/_core.scss +1 -0
  758. package/scss/components/_input-group.scss +32 -0
  759. package/scss/theme/classic/dark/_variables.scss +185 -185
  760. package/scss/theme/classic/light/_variables.scss +185 -185
  761. package/scss/theme/core/_common.scss +123 -123
  762. package/scss/theme/core/components/action-card.scss +65 -65
  763. package/scss/theme/core/components/app-header.scss +3 -3
  764. package/scss/theme/core/components/avatar.scss +5 -5
  765. package/scss/theme/core/components/blind.scss +16 -16
  766. package/scss/theme/core/components/button.scss +124 -124
  767. package/scss/theme/core/components/card.scss +61 -61
  768. package/scss/theme/core/components/checkbox.scss +61 -61
  769. package/scss/theme/core/components/chip.scss +21 -21
  770. package/scss/theme/core/components/datepicker.scss +54 -54
  771. package/scss/theme/core/components/event-list.scss +14 -14
  772. package/scss/theme/core/components/flip.scss +23 -23
  773. package/scss/theme/core/components/ghost.scss +1 -1
  774. package/scss/theme/core/components/group.scss +16 -16
  775. package/scss/theme/core/components/input-helper.scss +2 -2
  776. package/scss/theme/core/components/input.scss +28 -28
  777. package/scss/theme/core/components/kpi.scss +5 -5
  778. package/scss/theme/core/components/label.scss +2 -2
  779. package/scss/theme/core/components/link.scss +6 -6
  780. package/scss/theme/core/components/map-navigation.scss +2 -2
  781. package/scss/theme/core/components/menu.scss +19 -19
  782. package/scss/theme/core/components/message-bar.scss +3 -3
  783. package/scss/theme/core/components/modal-dialog.scss +1 -1
  784. package/scss/theme/core/components/navigation.scss +11 -11
  785. package/scss/theme/core/components/pagination.scss +6 -6
  786. package/scss/theme/core/components/pane.scss +5 -5
  787. package/scss/theme/core/components/pill.scss +1 -1
  788. package/scss/theme/core/components/progress-indicator.scss +22 -22
  789. package/scss/theme/core/components/push-card.scss +124 -124
  790. package/scss/theme/core/components/radiobutton.scss +44 -44
  791. package/scss/theme/core/components/scrollbar.scss +3 -3
  792. package/scss/theme/core/components/select-list.scss +11 -11
  793. package/scss/theme/core/components/slider.scss +12 -12
  794. package/scss/theme/core/components/switch.scss +145 -109
  795. package/scss/theme/core/components/tab.scss +33 -33
  796. package/scss/theme/core/components/table.scss +30 -30
  797. package/scss/theme/core/components/tile.scss +1 -1
  798. package/scss/theme/core/components/toast.scss +5 -5
  799. package/scss/theme/core/components/tooltip.scss +2 -2
  800. package/scss/theme/core/components/tree.scss +7 -7
  801. package/scss/theme/core/components/upload.scss +4 -4
  802. package/scss/theme/core/components/workflow.scss +7 -7
  803. package/components/p-4dm0FrTr.js.map +0 -1
  804. package/components/p-7-Wnr7e5.js.map +0 -1
  805. package/components/p-BNYHD56q.js.map +0 -1
  806. package/components/p-Bc15ecXv.js.map +0 -1
  807. package/components/p-BmLRwuMH.js.map +0 -1
  808. package/components/p-BruPthTZ.js.map +0 -1
  809. package/components/p-C9yPT68I.js.map +0 -1
  810. package/components/p-COHP8TmU.js.map +0 -1
  811. package/components/p-CiSM2A9Q.js.map +0 -1
  812. package/components/p-Cx5H0GeI.js.map +0 -1
  813. package/components/p-DE74-VWH.js.map +0 -1
  814. package/components/p-DLcItN6d.js.map +0 -1
  815. package/components/p-DSF854K6.js.map +0 -1
  816. package/components/p-DVPJHakC.js +0 -78
  817. package/components/p-DVPJHakC.js.map +0 -1
  818. package/components/p-R9YNQy08.js +0 -56
  819. package/components/p-gkooEHol.js.map +0 -1
  820. package/dist/cjs/find-element-BNZJcvT8.js.map +0 -1
  821. package/dist/cjs/modal-BdSf3C6f.js.map +0 -1
  822. package/dist/cjs/service-DuiJmf7R.js.map +0 -1
  823. package/dist/cjs/theme-switcher-Do9dkNUv.js.map +0 -1
  824. package/dist/esm/find-element-CiSM2A9Q.js.map +0 -1
  825. package/dist/esm/modal-BQcyFJfE.js.map +0 -1
  826. package/dist/esm/service-Da0kv8hS.js.map +0 -1
  827. package/dist/esm/theme-switcher-Bg6wsOIn.js.map +0 -1
  828. package/dist/siemens-ix/p-21106fcd.entry.js +0 -2
  829. package/dist/siemens-ix/p-21106fcd.entry.js.map +0 -1
  830. package/dist/siemens-ix/p-2355f27d.entry.js +0 -2
  831. package/dist/siemens-ix/p-2b046df5.entry.js +0 -2
  832. package/dist/siemens-ix/p-2b046df5.entry.js.map +0 -1
  833. package/dist/siemens-ix/p-32200cc4.entry.js +0 -2
  834. package/dist/siemens-ix/p-32200cc4.entry.js.map +0 -1
  835. package/dist/siemens-ix/p-32203c19.entry.js.map +0 -1
  836. package/dist/siemens-ix/p-38f9b6e2.entry.js.map +0 -1
  837. package/dist/siemens-ix/p-3f06687e.entry.js.map +0 -1
  838. package/dist/siemens-ix/p-566a58f4.entry.js +0 -2
  839. package/dist/siemens-ix/p-566a58f4.entry.js.map +0 -1
  840. package/dist/siemens-ix/p-5d48f9cb.entry.js +0 -2
  841. package/dist/siemens-ix/p-5d48f9cb.entry.js.map +0 -1
  842. package/dist/siemens-ix/p-5f7943f2.entry.js +0 -2
  843. package/dist/siemens-ix/p-639d0d7f.entry.js.map +0 -1
  844. package/dist/siemens-ix/p-670d5b84.entry.js +0 -2
  845. package/dist/siemens-ix/p-670d5b84.entry.js.map +0 -1
  846. package/dist/siemens-ix/p-71a38f35.entry.js +0 -2
  847. package/dist/siemens-ix/p-75edf091.entry.js.map +0 -1
  848. package/dist/siemens-ix/p-78797f4b.entry.js +0 -2
  849. package/dist/siemens-ix/p-78797f4b.entry.js.map +0 -1
  850. package/dist/siemens-ix/p-800f59a7.entry.js.map +0 -1
  851. package/dist/siemens-ix/p-86ac2254.entry.js +0 -2
  852. package/dist/siemens-ix/p-86ac2254.entry.js.map +0 -1
  853. package/dist/siemens-ix/p-8bd3f89a.entry.js +0 -2
  854. package/dist/siemens-ix/p-8bd3f89a.entry.js.map +0 -1
  855. package/dist/siemens-ix/p-96533ffc.entry.js.map +0 -1
  856. package/dist/siemens-ix/p-98ab64dc.entry.js +0 -2
  857. package/dist/siemens-ix/p-98ab64dc.entry.js.map +0 -1
  858. package/dist/siemens-ix/p-9a8188a7.entry.js +0 -2
  859. package/dist/siemens-ix/p-9a8188a7.entry.js.map +0 -1
  860. package/dist/siemens-ix/p-C9yPT68I.js +0 -2
  861. package/dist/siemens-ix/p-C9yPT68I.js.map +0 -1
  862. package/dist/siemens-ix/p-CiSM2A9Q.js +0 -2
  863. package/dist/siemens-ix/p-CiSM2A9Q.js.map +0 -1
  864. package/dist/siemens-ix/p-DxCNpXRB.js +0 -2
  865. package/dist/siemens-ix/p-DxCNpXRB.js.map +0 -1
  866. package/dist/siemens-ix/p-a6612a5b.entry.js +0 -2
  867. package/dist/siemens-ix/p-a7cb47ca.entry.js.map +0 -1
  868. package/dist/siemens-ix/p-ac1f35ad.entry.js +0 -2
  869. package/dist/siemens-ix/p-ac1f35ad.entry.js.map +0 -1
  870. package/dist/siemens-ix/p-b895b3db.entry.js.map +0 -1
  871. package/dist/siemens-ix/p-c10b2e40.entry.js +0 -2
  872. package/dist/siemens-ix/p-d4b0b3d1.entry.js +0 -2
  873. package/dist/siemens-ix/p-d4b0b3d1.entry.js.map +0 -1
  874. package/dist/siemens-ix/p-d9766334.entry.js +0 -2
  875. package/dist/siemens-ix/p-ea435816.entry.js +0 -2
  876. package/dist/siemens-ix/p-ea435816.entry.js.map +0 -1
  877. package/dist/siemens-ix/p-f55c3bed.entry.js +0 -2
  878. package/dist/siemens-ix/p-fbd0973d.entry.js.map +0 -1
  879. package/dist/siemens-ix/p-fbedad11.entry.js +0 -2
  880. package/dist/siemens-ix/p-gkooEHol.js.map +0 -1
  881. /package/dist/siemens-ix/{p-bf2374a0.entry.js.map → p-0469aec7.entry.js.map} +0 -0
  882. /package/dist/siemens-ix/{p-f14790b4.entry.js.map → p-14fca48a.entry.js.map} +0 -0
  883. /package/dist/siemens-ix/{p-c31b2027.entry.js.map → p-1ca58d8b.entry.js.map} +0 -0
  884. /package/dist/siemens-ix/{p-c10b2e40.entry.js.map → p-30545ef9.entry.js.map} +0 -0
  885. /package/dist/siemens-ix/{p-6645d4ee.entry.js.map → p-404dffde.entry.js.map} +0 -0
  886. /package/dist/siemens-ix/{p-2041357d.entry.js.map → p-48b0fef4.entry.js.map} +0 -0
  887. /package/dist/siemens-ix/{p-91fa3ab0.entry.js.map → p-5140e6e6.entry.js.map} +0 -0
  888. /package/dist/siemens-ix/{p-28fe8512.entry.js.map → p-52dc3ba0.entry.js.map} +0 -0
  889. /package/dist/siemens-ix/{p-c248940f.entry.js.map → p-5c109476.entry.js.map} +0 -0
  890. /package/dist/siemens-ix/{p-e3a219e3.entry.js.map → p-6a39d630.entry.js.map} +0 -0
  891. /package/dist/siemens-ix/{p-71a38f35.entry.js.map → p-6c873cc5.entry.js.map} +0 -0
  892. /package/dist/siemens-ix/{p-c6ecc2e3.entry.js.map → p-746b04cb.entry.js.map} +0 -0
  893. /package/dist/siemens-ix/{p-9dbfd7cd.entry.js.map → p-7a108b0d.entry.js.map} +0 -0
  894. /package/dist/siemens-ix/{p-1cd4280f.entry.js.map → p-7d95ae34.entry.js.map} +0 -0
  895. /package/dist/siemens-ix/{p-75f4bbb1.entry.js.map → p-81c8d542.entry.js.map} +0 -0
  896. /package/dist/siemens-ix/{p-d7c7d38b.entry.js.map → p-8dcc6456.entry.js.map} +0 -0
  897. /package/dist/siemens-ix/{p-d1254b5b.entry.js.map → p-8e48a7a1.entry.js.map} +0 -0
  898. /package/dist/siemens-ix/{p-c413e3c4.entry.js.map → p-8eee6a03.entry.js.map} +0 -0
  899. /package/dist/siemens-ix/{p-fbedad11.entry.js.map → p-90089ce1.entry.js.map} +0 -0
  900. /package/dist/siemens-ix/{p-0ba7d263.entry.js.map → p-90bd8d7b.entry.js.map} +0 -0
  901. /package/dist/siemens-ix/{p-1bd1380b.entry.js.map → p-95d4d849.entry.js.map} +0 -0
  902. /package/dist/siemens-ix/{p-a6612a5b.entry.js.map → p-9bd4c682.entry.js.map} +0 -0
  903. /package/dist/siemens-ix/{p-d0213ff0.entry.js.map → p-b6dad40c.entry.js.map} +0 -0
  904. /package/dist/siemens-ix/{p-331f1b60.entry.js.map → p-bb28a2d6.entry.js.map} +0 -0
  905. /package/dist/siemens-ix/{p-e55cd52b.entry.js.map → p-bd369344.entry.js.map} +0 -0
  906. /package/dist/siemens-ix/{p-db02f4c2.entry.js.map → p-c446ffdb.entry.js.map} +0 -0
  907. /package/dist/siemens-ix/{p-bb878ea4.entry.js.map → p-cd11dfa8.entry.js.map} +0 -0
  908. /package/dist/siemens-ix/{p-a67bc456.entry.js.map → p-dc5b5c0c.entry.js.map} +0 -0
  909. /package/dist/siemens-ix/{p-7060645f.entry.js.map → p-eba51393.entry.js.map} +0 -0
  910. /package/dist/siemens-ix/{p-9272ae83.entry.js.map → p-f29eaee8.entry.js.map} +0 -0
  911. /package/dist/siemens-ix/{p-9b88a932.entry.js.map → p-f6d678a6.entry.js.map} +0 -0
@@ -0,0 +1,250 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2023 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 { arrow, autoUpdate, computePosition, flip, inline, offset, shift, } from "@floating-ui/dom";
10
+ import { h, Host } from "@stencil/core";
11
+ /**
12
+ * @slot tooltip-message - Custom tooltip message with html support
13
+ *
14
+ * @deprecated Will be removed with 4.0.0
15
+ */
16
+ export class ValidationTooltip {
17
+ constructor() {
18
+ /**
19
+ * Placement of the tooltip
20
+ */
21
+ this.placement = 'top';
22
+ /**
23
+ * Suppress the automatic placement of the dropdown.
24
+ */
25
+ this.suppressAutomaticPlacement = false;
26
+ this.isInputValid = true;
27
+ this.onSubmitBind = this.onSubmit.bind(this);
28
+ this.onInputFocusBind = this.onInputFocus.bind(this);
29
+ }
30
+ get arrow() {
31
+ return this.hostElement.shadowRoot.querySelector('#arrow');
32
+ }
33
+ get inputElement() {
34
+ return this.hostElement.querySelector('input');
35
+ }
36
+ get formElement() {
37
+ var _a;
38
+ return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.form;
39
+ }
40
+ get tooltipElement() {
41
+ return this.hostElement.shadowRoot.querySelector('.validation-tooltip');
42
+ }
43
+ destroyAutoUpdate() {
44
+ if (this.tooltipElement) {
45
+ this.tooltipElement.style.display = 'none';
46
+ }
47
+ if (this.autoUpdateCleanup) {
48
+ this.autoUpdateCleanup();
49
+ }
50
+ }
51
+ applyTooltipPosition() {
52
+ this.tooltipElement.style.display = 'block';
53
+ let positionConfig = {
54
+ strategy: 'fixed',
55
+ middleware: [
56
+ inline(),
57
+ shift(),
58
+ offset({
59
+ mainAxis: 8,
60
+ }),
61
+ ],
62
+ };
63
+ if (!positionConfig.middleware) {
64
+ positionConfig.middleware = [];
65
+ }
66
+ if (!this.suppressAutomaticPlacement) {
67
+ positionConfig.middleware.push(flip({ fallbackStrategy: 'initialPlacement' }));
68
+ }
69
+ positionConfig.placement = this.placement;
70
+ this.autoUpdateCleanup = autoUpdate(this.inputElement, this.tooltipElement, async () => {
71
+ positionConfig.middleware = [
72
+ ...positionConfig.middleware,
73
+ arrow({
74
+ element: this.arrow,
75
+ }),
76
+ ];
77
+ const computeResponse = await computePosition(this.inputElement, this.tooltipElement, positionConfig);
78
+ if (computeResponse.middlewareData.arrow) {
79
+ const { x, y } = computeResponse.middlewareData.arrow;
80
+ this.arrowPosition = {
81
+ x,
82
+ y,
83
+ };
84
+ Object.assign(this.arrow.style, {
85
+ left: x != null ? `${x}px` : '',
86
+ top: y != null ? `${y}px` : '',
87
+ });
88
+ }
89
+ this.tooltipPosition = {
90
+ x: computeResponse.x,
91
+ y: computeResponse.y,
92
+ };
93
+ }, {
94
+ ancestorResize: true,
95
+ ancestorScroll: true,
96
+ elementResize: true,
97
+ });
98
+ }
99
+ componentDidLoad() {
100
+ if (!this.inputElement) {
101
+ throw Error('Validation tooltip is only working with an direct input child.');
102
+ }
103
+ if (!this.formElement) {
104
+ throw Error('Validation tooltip is only working with an form element.');
105
+ }
106
+ this.formElement.addEventListener('submit', this.onSubmitBind);
107
+ this.inputElement.addEventListener('focus', this.onInputFocusBind);
108
+ this.observer = new MutationObserver(() => {
109
+ if (this.inputElement.classList.contains('is-invalid')) {
110
+ this.isInputValid = false;
111
+ this.validationChanged();
112
+ }
113
+ });
114
+ this.observer.observe(this.inputElement, {
115
+ childList: false,
116
+ subtree: false,
117
+ attributes: true,
118
+ attributeFilter: ['class'],
119
+ });
120
+ }
121
+ onInputFocus() {
122
+ this.isInputValid = true;
123
+ }
124
+ onSubmit() {
125
+ if (this.formElement.classList.contains('needs-validation')) {
126
+ this.isInputValid = this.inputElement.validity.valid;
127
+ }
128
+ }
129
+ disconnectedCallback() {
130
+ var _a, _b, _c;
131
+ (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
132
+ this.destroyAutoUpdate();
133
+ (_b = this.formElement) === null || _b === void 0 ? void 0 : _b.removeEventListener('submit', this.onSubmitBind);
134
+ (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.removeEventListener('focus', this.onInputFocusBind);
135
+ }
136
+ validationChanged() {
137
+ if (!this.isInputValid) {
138
+ this.applyTooltipPosition();
139
+ }
140
+ else {
141
+ this.destroyAutoUpdate();
142
+ }
143
+ }
144
+ render() {
145
+ var _a, _b, _c, _d;
146
+ return (h(Host, { key: '4fb1bd884352a044ab9d4ea2eb70d2d80b331ebf' }, h("slot", { key: '67df32333b98236630a4caf63776ea634129d1ae' }), h("div", { key: '19cd5c7800c381a86b7135fb4538f3cad08abe46', role: "tooltip", style: {
147
+ display: 'none',
148
+ position: 'fixed',
149
+ top: '0',
150
+ left: '0',
151
+ transform: `translate(${Math.round((_b = (_a = this.tooltipPosition) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0)}px,${Math.round((_d = (_c = this.tooltipPosition) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0)}px)`,
152
+ }, class: "validation-tooltip text-default" }, this.message, h("slot", { key: 'f1ff77002cc733ef058755cc117747f1ba00a3ea', name: "tooltip-message" }), h("div", { key: '5bcb70ba97cad112c1c5945d32cd52fa37784bb6', id: "arrow" }))));
153
+ }
154
+ static get is() { return "ix-validation-tooltip"; }
155
+ static get encapsulation() { return "shadow"; }
156
+ static get originalStyleUrls() {
157
+ return {
158
+ "$": ["validation-tooltip.scss"]
159
+ };
160
+ }
161
+ static get styleUrls() {
162
+ return {
163
+ "$": ["validation-tooltip.css"]
164
+ };
165
+ }
166
+ static get properties() {
167
+ return {
168
+ "message": {
169
+ "type": "string",
170
+ "attribute": "message",
171
+ "mutable": false,
172
+ "complexType": {
173
+ "original": "string",
174
+ "resolved": "string | undefined",
175
+ "references": {}
176
+ },
177
+ "required": false,
178
+ "optional": true,
179
+ "docs": {
180
+ "tags": [],
181
+ "text": "Message of the tooltip"
182
+ },
183
+ "getter": false,
184
+ "setter": false,
185
+ "reflect": false
186
+ },
187
+ "placement": {
188
+ "type": "string",
189
+ "attribute": "placement",
190
+ "mutable": false,
191
+ "complexType": {
192
+ "original": "Side",
193
+ "resolved": "\"bottom\" | \"left\" | \"right\" | \"top\"",
194
+ "references": {
195
+ "Side": {
196
+ "location": "import",
197
+ "path": "../dropdown/placement",
198
+ "id": "src/components/dropdown/placement.ts::Side"
199
+ }
200
+ }
201
+ },
202
+ "required": false,
203
+ "optional": false,
204
+ "docs": {
205
+ "tags": [],
206
+ "text": "Placement of the tooltip"
207
+ },
208
+ "getter": false,
209
+ "setter": false,
210
+ "reflect": false,
211
+ "defaultValue": "'top'"
212
+ },
213
+ "suppressAutomaticPlacement": {
214
+ "type": "boolean",
215
+ "attribute": "suppress-automatic-placement",
216
+ "mutable": false,
217
+ "complexType": {
218
+ "original": "boolean",
219
+ "resolved": "boolean",
220
+ "references": {}
221
+ },
222
+ "required": false,
223
+ "optional": false,
224
+ "docs": {
225
+ "tags": [],
226
+ "text": "Suppress the automatic placement of the dropdown."
227
+ },
228
+ "getter": false,
229
+ "setter": false,
230
+ "reflect": false,
231
+ "defaultValue": "false"
232
+ }
233
+ };
234
+ }
235
+ static get states() {
236
+ return {
237
+ "isInputValid": {},
238
+ "tooltipPosition": {},
239
+ "arrowPosition": {}
240
+ };
241
+ }
242
+ static get elementRef() { return "hostElement"; }
243
+ static get watchers() {
244
+ return [{
245
+ "propName": "isInputValid",
246
+ "methodName": "validationChanged"
247
+ }];
248
+ }
249
+ }
250
+ //# sourceMappingURL=validation-tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-tooltip.js","sourceRoot":"","sources":["../../../src/components/validation-tooltip/validation-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n arrow,\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { Side } from '../dropdown/placement';\n\ntype Position = { x: number; y: number };\n\n/**\n * @slot tooltip-message - Custom tooltip message with html support\n *\n * @deprecated Will be removed with 4.0.0\n */\n@Component({\n tag: 'ix-validation-tooltip',\n styleUrl: 'validation-tooltip.scss',\n shadow: true,\n})\nexport class ValidationTooltip {\n @Element() hostElement!: HTMLIxValidationTooltipElement;\n\n /**\n * Message of the tooltip\n */\n @Prop() message?: string;\n\n /**\n * Placement of the tooltip\n */\n @Prop() placement: Side = 'top';\n\n /**\n * Suppress the automatic placement of the dropdown.\n */\n @Prop() suppressAutomaticPlacement = false;\n\n @State() isInputValid = true;\n @State() tooltipPosition?: Position;\n @State() arrowPosition?: Position;\n\n private onSubmitBind = this.onSubmit.bind(this);\n private onInputFocusBind = this.onInputFocus.bind(this);\n private autoUpdateCleanup?: () => void;\n private observer?: MutationObserver;\n\n get arrow() {\n return this.hostElement.shadowRoot!.querySelector('#arrow') as HTMLElement;\n }\n\n get inputElement() {\n return this.hostElement.querySelector('input');\n }\n\n get formElement() {\n return this.inputElement?.form;\n }\n\n get tooltipElement(): HTMLElement {\n return this.hostElement.shadowRoot!.querySelector('.validation-tooltip')!;\n }\n\n private destroyAutoUpdate() {\n if (this.tooltipElement) {\n this.tooltipElement.style.display = 'none';\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n private applyTooltipPosition() {\n this.tooltipElement.style.display = 'block';\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: 'fixed',\n middleware: [\n inline(),\n shift(),\n offset({\n mainAxis: 8,\n }),\n ],\n };\n\n if (!positionConfig.middleware) {\n positionConfig.middleware = [];\n }\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n positionConfig.placement = this.placement;\n\n this.autoUpdateCleanup = autoUpdate(\n this.inputElement!,\n this.tooltipElement,\n async () => {\n positionConfig.middleware = [\n ...positionConfig.middleware!,\n arrow({\n element: this.arrow,\n }),\n ];\n const computeResponse = await computePosition(\n this.inputElement!,\n this.tooltipElement,\n positionConfig\n );\n\n if (computeResponse.middlewareData.arrow) {\n const { x, y } = computeResponse.middlewareData.arrow as {\n x: number;\n y: number;\n };\n this.arrowPosition = {\n x,\n y,\n };\n Object.assign(this.arrow.style, {\n left: x != null ? `${x}px` : '',\n top: y != null ? `${y}px` : '',\n });\n }\n\n this.tooltipPosition = {\n x: computeResponse.x,\n y: computeResponse.y,\n };\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n componentDidLoad() {\n if (!this.inputElement) {\n throw Error(\n 'Validation tooltip is only working with an direct input child.'\n );\n }\n\n if (!this.formElement) {\n throw Error('Validation tooltip is only working with an form element.');\n }\n\n this.formElement.addEventListener('submit', this.onSubmitBind);\n this.inputElement.addEventListener('focus', this.onInputFocusBind);\n\n this.observer = new MutationObserver(() => {\n if (this.inputElement!.classList.contains('is-invalid')) {\n this.isInputValid = false;\n this.validationChanged();\n }\n });\n\n this.observer.observe(this.inputElement, {\n childList: false,\n subtree: false,\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n private onInputFocus() {\n this.isInputValid = true;\n }\n\n private onSubmit() {\n if (this.formElement!.classList.contains('needs-validation')) {\n this.isInputValid = this.inputElement!.validity.valid;\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n this.destroyAutoUpdate();\n\n this.formElement?.removeEventListener('submit', this.onSubmitBind);\n this.inputElement?.removeEventListener('focus', this.onInputFocusBind);\n }\n\n @Watch('isInputValid')\n validationChanged() {\n if (!this.isInputValid) {\n this.applyTooltipPosition();\n } else {\n this.destroyAutoUpdate();\n }\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n <div\n role=\"tooltip\"\n style={{\n display: 'none',\n position: 'fixed',\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n this.tooltipPosition?.x ?? 0\n )}px,${Math.round(this.tooltipPosition?.y ?? 0)}px)`,\n }}\n class=\"validation-tooltip text-default\"\n >\n {this.message}\n <slot name=\"tooltip-message\"></slot>\n <div id=\"arrow\"></div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -62,7 +62,8 @@ export class WorkflowStep {
62
62
  break;
63
63
  case 'warning':
64
64
  this.iconName = iconWarning;
65
- this.iconColor = 'color-warning';
65
+ //TODO(IX-3400): Replace icon colors with proper CSS variables when available
66
+ this.iconColor = 'color-warning-text';
66
67
  break;
67
68
  case 'error':
68
69
  this.iconName = iconError;
@@ -108,18 +109,18 @@ export class WorkflowStep {
108
109
  }
109
110
  render() {
110
111
  const icons = !this.customIconSlot ? (h(Fragment, null, h("ix-icon", { color: "color-1", name: this.status === 'warning' ? iconTriangleFilled : iconCircleFilled, class: "absolute", size: "24" }), h("ix-icon", { color: this.iconColor, name: this.iconName, class: "absolute", size: "24", "aria-label": this.getIconAriaLabel() }))) : null;
111
- return (h(Host, { key: '5ca415dbf8980f334bcf59a76f781bb44bb3544e', class: { 'host-vertical': this.vertical }, onClick: () => this.onStepClick() }, h("div", { key: '741e55477d0f93fe76320d58507ea35c577710f7', tabIndex: 0, class: {
112
+ return (h(Host, { key: '488384edaa48299378abedcdff04034687550886', class: { 'host-vertical': this.vertical }, onClick: () => this.onStepClick() }, h("div", { key: '2127d37a5062e645d50cc1b731c555b580ab2b16', tabIndex: 0, class: {
112
113
  step: true,
113
114
  selected: this.selected,
114
115
  vertical: this.vertical,
115
116
  disabled: this.disabled,
116
117
  clickable: this.clickable && !this.disabled,
117
- } }, h("div", { key: '28cbecf59891231d2fa4316fa8c77c33229a9cc4', class: "wrapper" }, h("div", { key: '60195eab00ad1e4be102347d850d41db89c901d9', class: {
118
+ } }, h("div", { key: '26445756e35b3b15ab1d3a98a004f70300fe48e5', class: "wrapper" }, h("div", { key: 'd1eaee49190a99111893a6c48f15b86c27fc2a7b', class: {
118
119
  line: true,
119
120
  selected: this.selected,
120
121
  [this.status]: true,
121
122
  [this.position]: true,
122
- } }), h("div", { key: '9178761bb03e982655cd3e110c22a2aac800fd9c', class: "iconWrapper" }, icons, h("slot", { key: '87288c358eeae6647e403d391708682221bc0ba1', name: "custom-icon" }))), h("div", { key: '4cca9daa0e142fe68eeecc4fa814666275855969', class: "text" }, h("slot", { key: '52f7a9c4abddd6676314765ceade4d546e7a3668' })))));
123
+ } }), h("div", { key: '89857433644f037867ff1de38c359617ae2ea0f6', class: "iconWrapper" }, icons, h("slot", { key: 'de995c4b059a3959574dbc9362e771e8fe0739a7', name: "custom-icon" }))), h("div", { key: '73a9e22a56933af2b3ee054aeab92ff7a8b5165a', class: "text" }, h("slot", { key: 'b5123599dbc97cea396640ea56910b24c701c319' })))));
123
124
  }
124
125
  static get is() { return "ix-workflow-step"; }
125
126
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-step.js","sourceRoot":"","sources":["../../../src/components/workflow-step/workflow-step.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n iconCircle,\n iconCircleDot,\n iconCircleFilled,\n iconError,\n iconSuccess,\n iconTriangleFilled,\n iconWarning,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-workflow-step',\n styleUrl: 'workflow-step.scss',\n shadow: true,\n})\nexport class WorkflowStep {\n @Element() hostElement!: HTMLIxWorkflowStepElement;\n\n /**\n * Select orientation\n */\n @Prop() vertical: boolean = false;\n\n /**\n * Set disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Set status\n */\n @Prop() status: 'open' | 'success' | 'done' | 'warning' | 'error' = 'open';\n\n /**\n * Activate navigation click\n */\n @Prop() clickable: boolean = false;\n\n /**\n * Set selected\n */\n @Prop() selected: boolean = false;\n\n /**\n * Activate navigation click\n *\n * @internal\n */\n @Prop() position: 'first' | 'last' | 'single' | 'undefined' = 'undefined';\n\n @State() iconName?: string;\n\n @State() iconColor: string = 'workflow-step-icon-default--color';\n\n /**\n * @internal\n */\n @Event() selectedChanged!: EventEmitter<HTMLIxWorkflowStepElement>;\n\n private customIconSlot: boolean = false;\n\n @Watch('selected')\n selectedHandler() {\n this.setWorkflowStepStyles();\n }\n\n @Watch('disabled')\n @Watch('status')\n watchPropHandler() {\n this.setWorkflowStepStyles();\n }\n\n setWorkflowStepStyles() {\n const selectedStyle = this.selected ? '--selected' : '';\n switch (this.status) {\n case 'open':\n this.iconName = this.selected ? iconCircleDot : iconCircle;\n this.iconColor = `workflow-step-icon-default--color${selectedStyle}`;\n break;\n case 'success':\n this.iconName = iconSuccess;\n this.iconColor = 'color-success';\n break;\n case 'done':\n this.iconName = iconCircleFilled;\n this.iconColor = `workflow-step-icon-done--color${selectedStyle}`;\n break;\n case 'warning':\n this.iconName = iconWarning;\n this.iconColor = 'color-warning';\n break;\n case 'error':\n this.iconName = iconError;\n this.iconColor = 'color-alarm';\n break;\n default:\n this.iconName = iconCircle;\n break;\n }\n\n if (this.disabled) {\n this.iconColor = 'workflow-step-icon-success--color--disabled';\n }\n }\n\n componentWillLoad() {\n this.watchPropHandler();\n this.selectedHandler();\n\n this.customIconSlot = !!this.hostElement.querySelector(\n '[slot=\"custom-icon\"]'\n );\n }\n\n onStepClick() {\n if (!this.disabled && this.clickable) {\n this.selectedChanged.emit(this.hostElement);\n }\n }\n\n getIconAriaLabel() {\n switch (this.iconName) {\n case iconCircle:\n return 'Circle';\n case iconCircleDot:\n return 'Circle dot';\n case iconCircleFilled:\n return 'Done';\n case iconError:\n return 'Error';\n case iconSuccess:\n return 'Success';\n case iconTriangleFilled:\n return 'Warning';\n case iconWarning:\n return 'Warning';\n default:\n return 'Step';\n }\n }\n\n render() {\n const icons = !this.customIconSlot ? (\n <Fragment>\n <ix-icon\n color=\"color-1\"\n name={\n this.status === 'warning' ? iconTriangleFilled : iconCircleFilled\n }\n class=\"absolute\"\n size=\"24\"\n ></ix-icon>\n <ix-icon\n color={this.iconColor}\n name={this.iconName}\n class=\"absolute\"\n size=\"24\"\n aria-label={this.getIconAriaLabel()}\n ></ix-icon>\n </Fragment>\n ) : null;\n\n return (\n <Host\n class={{ 'host-vertical': this.vertical }}\n onClick={() => this.onStepClick()}\n >\n <div\n tabIndex={0}\n class={{\n step: true,\n selected: this.selected,\n vertical: this.vertical,\n disabled: this.disabled,\n clickable: this.clickable && !this.disabled,\n }}\n >\n <div class=\"wrapper\">\n <div\n class={{\n line: true,\n selected: this.selected,\n [this.status]: true,\n [this.position]: true,\n }}\n ></div>\n <div class=\"iconWrapper\">\n {icons}\n <slot name=\"custom-icon\"></slot>\n </div>\n </div>\n <div class=\"text\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"workflow-step.js","sourceRoot":"","sources":["../../../src/components/workflow-step/workflow-step.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n iconCircle,\n iconCircleDot,\n iconCircleFilled,\n iconError,\n iconSuccess,\n iconTriangleFilled,\n iconWarning,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-workflow-step',\n styleUrl: 'workflow-step.scss',\n shadow: true,\n})\nexport class WorkflowStep {\n @Element() hostElement!: HTMLIxWorkflowStepElement;\n\n /**\n * Select orientation\n */\n @Prop() vertical: boolean = false;\n\n /**\n * Set disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Set status\n */\n @Prop() status: 'open' | 'success' | 'done' | 'warning' | 'error' = 'open';\n\n /**\n * Activate navigation click\n */\n @Prop() clickable: boolean = false;\n\n /**\n * Set selected\n */\n @Prop() selected: boolean = false;\n\n /**\n * Activate navigation click\n *\n * @internal\n */\n @Prop() position: 'first' | 'last' | 'single' | 'undefined' = 'undefined';\n\n @State() iconName?: string;\n\n @State() iconColor: string = 'workflow-step-icon-default--color';\n\n /**\n * @internal\n */\n @Event() selectedChanged!: EventEmitter<HTMLIxWorkflowStepElement>;\n\n private customIconSlot: boolean = false;\n\n @Watch('selected')\n selectedHandler() {\n this.setWorkflowStepStyles();\n }\n\n @Watch('disabled')\n @Watch('status')\n watchPropHandler() {\n this.setWorkflowStepStyles();\n }\n\n setWorkflowStepStyles() {\n const selectedStyle = this.selected ? '--selected' : '';\n switch (this.status) {\n case 'open':\n this.iconName = this.selected ? iconCircleDot : iconCircle;\n this.iconColor = `workflow-step-icon-default--color${selectedStyle}`;\n break;\n case 'success':\n this.iconName = iconSuccess;\n this.iconColor = 'color-success';\n break;\n case 'done':\n this.iconName = iconCircleFilled;\n this.iconColor = `workflow-step-icon-done--color${selectedStyle}`;\n break;\n case 'warning':\n this.iconName = iconWarning;\n //TODO(IX-3400): Replace icon colors with proper CSS variables when available\n this.iconColor = 'color-warning-text';\n break;\n case 'error':\n this.iconName = iconError;\n this.iconColor = 'color-alarm';\n break;\n default:\n this.iconName = iconCircle;\n break;\n }\n\n if (this.disabled) {\n this.iconColor = 'workflow-step-icon-success--color--disabled';\n }\n }\n\n componentWillLoad() {\n this.watchPropHandler();\n this.selectedHandler();\n\n this.customIconSlot = !!this.hostElement.querySelector(\n '[slot=\"custom-icon\"]'\n );\n }\n\n onStepClick() {\n if (!this.disabled && this.clickable) {\n this.selectedChanged.emit(this.hostElement);\n }\n }\n\n getIconAriaLabel() {\n switch (this.iconName) {\n case iconCircle:\n return 'Circle';\n case iconCircleDot:\n return 'Circle dot';\n case iconCircleFilled:\n return 'Done';\n case iconError:\n return 'Error';\n case iconSuccess:\n return 'Success';\n case iconTriangleFilled:\n return 'Warning';\n case iconWarning:\n return 'Warning';\n default:\n return 'Step';\n }\n }\n\n render() {\n const icons = !this.customIconSlot ? (\n <Fragment>\n <ix-icon\n color=\"color-1\"\n name={\n this.status === 'warning' ? iconTriangleFilled : iconCircleFilled\n }\n class=\"absolute\"\n size=\"24\"\n ></ix-icon>\n <ix-icon\n color={this.iconColor}\n name={this.iconName}\n class=\"absolute\"\n size=\"24\"\n aria-label={this.getIconAriaLabel()}\n ></ix-icon>\n </Fragment>\n ) : null;\n\n return (\n <Host\n class={{ 'host-vertical': this.vertical }}\n onClick={() => this.onStepClick()}\n >\n <div\n tabIndex={0}\n class={{\n step: true,\n selected: this.selected,\n vertical: this.vertical,\n disabled: this.disabled,\n clickable: this.clickable && !this.disabled,\n }}\n >\n <div class=\"wrapper\">\n <div\n class={{\n line: true,\n selected: this.selected,\n [this.status]: true,\n [this.position]: true,\n }}\n ></div>\n <div class=\"iconWrapper\">\n {icons}\n <slot name=\"custom-icon\"></slot>\n </div>\n </div>\n <div class=\"text\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -81,7 +81,7 @@ export class WorkflowSteps {
81
81
  this.updateSteps();
82
82
  }
83
83
  render() {
84
- return (h(Host, { key: '4b1deac309ae7e20f8666445a1f0b159d109ffdd' }, h("div", { key: '09a2fabd46706d641330d20987e6da7b53a4031d', class: { steps: true, vertical: this.vertical } }, h("slot", { key: '265c86ef75c802e96f6364b95bd1d0621d4fd334' }))));
84
+ return (h(Host, { key: '58f2b6c6dadb7f4bcef41463aeb7d0e7c7b78903' }, h("div", { key: '186972fd1f22f0a99af92bda5643c5156097122c', class: { steps: true, vertical: this.vertical } }, h("slot", { key: '3d5efbb4c9ff065c8838a08c9ca5c9e4ce0daefb' }))));
85
85
  }
86
86
  static get is() { return "ix-workflow-steps"; }
87
87
  static get encapsulation() { return "shadow"; }
@@ -69,8 +69,8 @@ export const regressionTest = testBase.extend({
69
69
  page: async ({ page }, use, testInfo) => {
70
70
  page = await extendPageFixture(page, testInfo);
71
71
  await page.route('*/**/svg/*.svg', async (route, request) => {
72
- if (process.env.CI !== 'true') {
73
- const [, svg] = request.url().split('/svg/');
72
+ if (!process.env.CI) {
73
+ const [__, svg] = request.url().split('/svg/');
74
74
  console.warn(testInfo.file, testInfo.title, 'SVGs fetched by static path', svg);
75
75
  expect(false, 'SVGs fetched by static path').toBe(true);
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/tests/utils/test/page.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n ElementHandle,\n Page,\n PageScreenshotOptions,\n test as testBase,\n TestInfo as _TestInfo,\n expect,\n} from '@playwright/test';\nimport type { addIcons as _addIcons } from '@siemens/ix-icons';\n\ninterface TestInfo extends _TestInfo {\n componentTest?: boolean;\n}\n\nexport type Mount = (\n selector: string,\n config?: {\n headTags?: string[];\n icons?: Record<string, string>;\n }\n) => Promise<ElementHandle<HTMLElement>>;\n\nasync function extendPageFixture(page: Page, testInfo: TestInfo) {\n const originalGoto = page.goto.bind(page);\n const originalScreenshot = page.screenshot.bind(page);\n const dataIxTheme = testInfo.project.metadata?.['data-ix-theme'] ?? 'classic';\n const dataIxColorSchema =\n testInfo.project.metadata?.['data-ix-color-schema'] ?? 'dark';\n testInfo.annotations.push({\n type: `${dataIxTheme} ${dataIxColorSchema}`,\n });\n page.goto = async (url: string, options) => {\n if (testInfo.componentTest === true) {\n return originalGoto(url, options);\n }\n\n const response = await originalGoto(\n `http://127.0.0.1:8080/src/tests/${url}?data-ix-theme=${dataIxTheme}&data-ix-color-schema=${dataIxColorSchema}`,\n options\n );\n\n await page.waitForTimeout(1000);\n return response;\n };\n\n page.screenshot = async (options?: PageScreenshotOptions) => {\n await page.waitForTimeout(150);\n return originalScreenshot(options);\n };\n\n return page;\n}\n\nasync function mountComponent(\n page: Page,\n selector: string,\n config?: {\n headTags?: string[];\n icons?: Record<string, string>;\n }\n): Promise<ElementHandle<HTMLElement>> {\n return page.evaluateHandle(\n async ({ componentSelector, config }) => {\n if (config?.headTags) {\n config.headTags.forEach((tag) => {\n const head = document.querySelector('head');\n if (!head) {\n throw new Error('No head tag found in the document.');\n }\n\n head.innerHTML += tag;\n });\n }\n\n if (config?.icons) {\n const moduleImport = await import(\n //@ts-expect-error - Only existing on runtime\n '/www/node_modules/@siemens/ix-icons/dist/index.js'\n );\n const addIcons: typeof _addIcons = moduleImport.addIcons;\n addIcons(config.icons);\n }\n\n const loadScript = document.createElement('script');\n loadScript.src = '/scripts/e2e/load-e2e-runtime.js';\n document.body.appendChild(loadScript);\n\n await new Promise<void>((resolve) => {\n loadScript.onload = async () => {\n resolve();\n };\n });\n\n await window.customElements.whenDefined('ix-button');\n const mount = document.querySelector('#mount');\n\n if (!mount) {\n throw new Error('No mount point found in the document.');\n }\n\n mount.innerHTML = componentSelector;\n return mount.children.item(0) as HTMLElement;\n },\n { componentSelector: selector, config }\n );\n}\n\nexport const regressionTest = testBase.extend<{\n mount: (\n selector: string,\n config?: {\n headTags?: string[];\n icons?: Record<string, string>;\n }\n ) => Promise<ElementHandle<HTMLElement>>;\n createElement: (\n selector: string,\n appendTo?: ElementHandle<Element>\n ) => Promise<ElementHandle<HTMLElement>>;\n}>({\n page: async ({ page }, use, testInfo) => {\n page = await extendPageFixture(page, testInfo);\n\n await page.route('*/**/svg/*.svg', async (route, request) => {\n if (process.env.CI !== 'true') {\n const [, svg] = request.url().split('/svg/');\n console.warn(\n testInfo.file,\n testInfo.title,\n 'SVGs fetched by static path',\n svg\n );\n\n expect(false, 'SVGs fetched by static path').toBe(true);\n }\n\n return route.continue();\n });\n\n await use(page);\n },\n createElement: async ({ page }, use) => {\n use((selector, appendTo) =>\n page.evaluateHandle(\n async ({ selector, appendTo }) => {\n const elm = document.createElement(selector);\n\n if (appendTo) {\n appendTo.appendChild(elm);\n }\n\n return elm;\n },\n {\n selector,\n appendTo,\n }\n )\n );\n },\n mount: async ({ page }, use, testInfo: TestInfo) => {\n testInfo.componentTest = true;\n const dataIxTheme =\n testInfo.project.metadata?.['data-ix-theme'] ?? 'classic';\n const dataIxColorSchema =\n testInfo.project.metadata?.['data-ix-color-schema'] ?? 'dark';\n testInfo.annotations.push({\n type: `${dataIxTheme} ${dataIxColorSchema}`,\n });\n await page.goto(\n `http://127.0.0.1:8080/src/tests/utils/ct/index.html?data-ix-theme=${dataIxTheme}&data-ix-color-schema=${dataIxColorSchema}`\n );\n await use((selector, config) => mountComponent(page, selector, config));\n },\n});\n\nexport const test = regressionTest;\n"]}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/tests/utils/test/page.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n ElementHandle,\n Page,\n PageScreenshotOptions,\n test as testBase,\n TestInfo as _TestInfo,\n expect,\n} from '@playwright/test';\nimport type { addIcons as _addIcons } from '@siemens/ix-icons';\n\ninterface TestInfo extends _TestInfo {\n componentTest?: boolean;\n}\n\nexport type Mount = (\n selector: string,\n config?: {\n headTags?: string[];\n icons?: Record<string, string>;\n }\n) => Promise<ElementHandle<HTMLElement>>;\n\nasync function extendPageFixture(page: Page, testInfo: TestInfo) {\n const originalGoto = page.goto.bind(page);\n const originalScreenshot = page.screenshot.bind(page);\n const dataIxTheme = testInfo.project.metadata?.['data-ix-theme'] ?? 'classic';\n const dataIxColorSchema =\n testInfo.project.metadata?.['data-ix-color-schema'] ?? 'dark';\n testInfo.annotations.push({\n type: `${dataIxTheme} ${dataIxColorSchema}`,\n });\n page.goto = async (url: string, options) => {\n if (testInfo.componentTest === true) {\n return originalGoto(url, options);\n }\n\n const response = await originalGoto(\n `http://127.0.0.1:8080/src/tests/${url}?data-ix-theme=${dataIxTheme}&data-ix-color-schema=${dataIxColorSchema}`,\n options\n );\n\n await page.waitForTimeout(1000);\n return response;\n };\n\n page.screenshot = async (options?: PageScreenshotOptions) => {\n await page.waitForTimeout(150);\n return originalScreenshot(options);\n };\n\n return page;\n}\n\nasync function mountComponent(\n page: Page,\n selector: string,\n config?: {\n headTags?: string[];\n icons?: Record<string, string>;\n }\n): Promise<ElementHandle<HTMLElement>> {\n return page.evaluateHandle(\n async ({ componentSelector, config }) => {\n if (config?.headTags) {\n config.headTags.forEach((tag) => {\n const head = document.querySelector('head');\n if (!head) {\n throw new Error('No head tag found in the document.');\n }\n\n head.innerHTML += tag;\n });\n }\n\n if (config?.icons) {\n const moduleImport = await import(\n //@ts-expect-error - Only existing on runtime\n '/www/node_modules/@siemens/ix-icons/dist/index.js'\n );\n const addIcons: typeof _addIcons = moduleImport.addIcons;\n addIcons(config.icons);\n }\n\n const loadScript = document.createElement('script');\n loadScript.src = '/scripts/e2e/load-e2e-runtime.js';\n document.body.appendChild(loadScript);\n\n await new Promise<void>((resolve) => {\n loadScript.onload = async () => {\n resolve();\n };\n });\n\n await window.customElements.whenDefined('ix-button');\n const mount = document.querySelector('#mount');\n\n if (!mount) {\n throw new Error('No mount point found in the document.');\n }\n\n mount.innerHTML = componentSelector;\n return mount.children.item(0) as HTMLElement;\n },\n { componentSelector: selector, config }\n );\n}\n\nexport const regressionTest = testBase.extend<{\n mount: (\n selector: string,\n config?: {\n headTags?: string[];\n icons?: Record<string, string>;\n }\n ) => Promise<ElementHandle<HTMLElement>>;\n createElement: (\n selector: string,\n appendTo?: ElementHandle<Element>\n ) => Promise<ElementHandle<HTMLElement>>;\n}>({\n page: async ({ page }, use, testInfo) => {\n page = await extendPageFixture(page, testInfo);\n\n await page.route('*/**/svg/*.svg', async (route, request) => {\n if (!process.env.CI) {\n const [__, svg] = request.url().split('/svg/');\n console.warn(\n testInfo.file,\n testInfo.title,\n 'SVGs fetched by static path',\n svg\n );\n\n expect(false, 'SVGs fetched by static path').toBe(true);\n }\n\n return route.continue();\n });\n\n await use(page);\n },\n createElement: async ({ page }, use) => {\n use((selector, appendTo) =>\n page.evaluateHandle(\n async ({ selector, appendTo }) => {\n const elm = document.createElement(selector);\n\n if (appendTo) {\n appendTo.appendChild(elm);\n }\n\n return elm;\n },\n {\n selector,\n appendTo,\n }\n )\n );\n },\n mount: async ({ page }, use, testInfo: TestInfo) => {\n testInfo.componentTest = true;\n const dataIxTheme =\n testInfo.project.metadata?.['data-ix-theme'] ?? 'classic';\n const dataIxColorSchema =\n testInfo.project.metadata?.['data-ix-color-schema'] ?? 'dark';\n testInfo.annotations.push({\n type: `${dataIxTheme} ${dataIxColorSchema}`,\n });\n await page.goto(\n `http://127.0.0.1:8080/src/tests/utils/ct/index.html?data-ix-theme=${dataIxTheme}&data-ix-color-schema=${dataIxColorSchema}`\n );\n await use((selector, config) => mountComponent(page, selector, config));\n },\n});\n\nexport const test = regressionTest;\n"]}
@@ -0,0 +1,103 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2024 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
+ /**
10
+ * Will try to resolve the selector in the light dom, shadow dom or slot
11
+ * @param selector The selector to resolve
12
+ * @param hostElement The element to start the search from
13
+ * @returns Promise with the resolved elements or undefined if not found
14
+ */
15
+ async function resolveSelector(selector, hostElement) {
16
+ const elements = Array.from(document.querySelectorAll(selector));
17
+ if (elements.length > 0) {
18
+ return Promise.resolve(elements);
19
+ }
20
+ if (hostElement === undefined) {
21
+ return Promise.resolve(undefined);
22
+ }
23
+ const shadowRoot = getRootFor(hostElement);
24
+ if (shadowRoot === undefined || !(shadowRoot instanceof ShadowRoot)) {
25
+ return Promise.resolve(undefined);
26
+ }
27
+ const elementsInShadowRoot = Array.from(shadowRoot.querySelectorAll(selector));
28
+ const elementsInHost = Array.from(shadowRoot.host.querySelectorAll(selector));
29
+ const elementsInComponent = [
30
+ ...elementsInHost,
31
+ ...elementsInShadowRoot,
32
+ ];
33
+ if (elementsInComponent.length > 0) {
34
+ return Promise.resolve(elementsInComponent);
35
+ }
36
+ return Promise.resolve(undefined);
37
+ }
38
+ /**
39
+ * Walk up the DOM to find the nearest shadow root
40
+ * @param element The element to get the root for
41
+ * @param parent This will determine how far up the DOM to travel to find the root
42
+ * @returns The root element
43
+ */
44
+ function getRootFor(element, parent = document.body) {
45
+ if (!element.parentElement && !element.parentNode) {
46
+ return undefined;
47
+ }
48
+ if (element.parentNode instanceof ShadowRoot) {
49
+ return element.parentNode;
50
+ }
51
+ let currentNode = element.parentElement;
52
+ while (currentNode) {
53
+ if (currentNode.shadowRoot) {
54
+ return currentNode.shadowRoot;
55
+ }
56
+ else if (currentNode.parentNode instanceof ShadowRoot) {
57
+ return currentNode.parentNode;
58
+ }
59
+ currentNode = currentNode.parentElement;
60
+ }
61
+ return parent;
62
+ }
63
+ function waitForSelector(selector, node = document, hostElement) {
64
+ return new Promise((resolve) => {
65
+ const waitForElements = () => {
66
+ resolveSelector(selector, hostElement).then((elements) => {
67
+ if (elements && elements.length > 0) {
68
+ resolve(elements[0]);
69
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
70
+ }
71
+ });
72
+ };
73
+ waitForElements();
74
+ const observer = new MutationObserver(() => {
75
+ waitForElements();
76
+ });
77
+ observer.observe(node.body, {
78
+ childList: true,
79
+ subtree: true,
80
+ });
81
+ });
82
+ }
83
+ /**
84
+ * Find an element by ID or reference
85
+ * @param element The element to find
86
+ * @param hostElement The element to start the search from
87
+ * @returns A promise that will resolve to the element
88
+ */
89
+ function findElement(element, hostElement) {
90
+ if (element instanceof Promise) {
91
+ return element;
92
+ }
93
+ if (typeof element === 'object') {
94
+ return Promise.resolve(element);
95
+ }
96
+ const selector = `#${element}`;
97
+ return waitForSelector(selector, document, hostElement);
98
+ }
99
+
100
+ export { findElement as f, resolveSelector as r };
101
+ //# sourceMappingURL=find-element-CFRrPFxi.js.map
102
+
103
+ //# sourceMappingURL=find-element-CFRrPFxi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-element-CFRrPFxi.js","sources":["src/components/utils/find-element.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Will try to resolve the selector in the light dom, shadow dom or slot\n * @param selector The selector to resolve\n * @param hostElement The element to start the search from\n * @returns Promise with the resolved elements or undefined if not found\n */\nexport async function resolveSelector(\n selector: string,\n hostElement?: HTMLElement\n): Promise<HTMLElement[] | undefined> {\n const elements: HTMLElement[] = Array.from(\n document.querySelectorAll(selector)\n );\n\n if (elements.length > 0) {\n return Promise.resolve(elements);\n }\n\n if (hostElement === undefined) {\n return Promise.resolve(undefined);\n }\n\n const shadowRoot = getRootFor(hostElement);\n\n if (shadowRoot === undefined || !(shadowRoot instanceof ShadowRoot)) {\n return Promise.resolve(undefined);\n }\n\n const elementsInShadowRoot: HTMLElement[] = Array.from(\n shadowRoot.querySelectorAll(selector)\n );\n\n const elementsInHost: HTMLElement[] = Array.from(\n shadowRoot.host.querySelectorAll(selector)\n );\n\n const elementsInComponent: HTMLElement[] = [\n ...elementsInHost,\n ...elementsInShadowRoot,\n ];\n\n if (elementsInComponent.length > 0) {\n return Promise.resolve(elementsInComponent);\n }\n\n return Promise.resolve(undefined);\n}\n\n/**\n * Walk up the DOM to find the nearest shadow root\n * @param element The element to get the root for\n * @param parent This will determine how far up the DOM to travel to find the root\n * @returns The root element\n */\nexport function getRootFor(element: HTMLElement, parent = document.body) {\n if (!element.parentElement && !element.parentNode) {\n return undefined;\n }\n\n if (element.parentNode instanceof ShadowRoot) {\n return element.parentNode;\n }\n\n let currentNode = element.parentElement;\n\n while (currentNode) {\n if (currentNode.shadowRoot) {\n return currentNode.shadowRoot;\n } else if (currentNode.parentNode instanceof ShadowRoot) {\n return currentNode.parentNode;\n }\n\n currentNode = currentNode.parentElement;\n }\n\n return parent;\n}\n\nexport function waitForSelector(\n selector: string,\n node = document,\n hostElement?: HTMLElement\n): Promise<Element> {\n return new Promise((resolve) => {\n const waitForElements = () => {\n resolveSelector(selector, hostElement).then((elements) => {\n if (elements && elements.length > 0) {\n resolve(elements[0]);\n observer?.disconnect();\n }\n });\n };\n\n waitForElements();\n\n const observer = new MutationObserver(() => {\n waitForElements();\n });\n\n observer.observe(node.body, {\n childList: true,\n subtree: true,\n });\n });\n}\n\n/**\n * Find an element by ID or reference\n * @param element The element to find\n * @param hostElement The element to start the search from\n * @returns A promise that will resolve to the element\n */\nexport function findElement(\n element: string | HTMLElement | Promise<HTMLElement>,\n hostElement?: HTMLElement\n): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n const selector = `#${element}`;\n return waitForSelector(selector, document, hostElement);\n}\n"],"names":[],"mappings":"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"}