@siemens/ix 2.3.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) hide show
  1. package/components/application-header.js +17 -11
  2. package/components/application-header.js.map +1 -1
  3. package/components/avatar.js +1 -1
  4. package/components/avatar.js.map +1 -1
  5. package/components/card-content.js +1 -1
  6. package/components/card-title.js +1 -1
  7. package/components/date-picker.js +4 -4
  8. package/components/date-time-card.js +1 -1
  9. package/components/divider.js +1 -1
  10. package/components/dropdown-item.js +3 -3
  11. package/components/dropdown.js +13 -6
  12. package/components/dropdown.js.map +1 -1
  13. package/components/filter-chip.js +1 -1
  14. package/components/group-context-menu.js +1 -1
  15. package/components/group-item.js +4 -8
  16. package/components/group-item.js.map +1 -1
  17. package/components/icon-button.js +1 -1
  18. package/components/ix-application-sidebar.js +1 -1
  19. package/components/ix-application-switch-modal.js +1 -1
  20. package/components/ix-application-switch-modal.js.map +1 -1
  21. package/components/ix-application.js +3 -3
  22. package/components/ix-basic-navigation.js +18 -12
  23. package/components/ix-basic-navigation.js.map +1 -1
  24. package/components/ix-breadcrumb.js +2 -2
  25. package/components/ix-card-list.js +4 -4
  26. package/components/ix-category-filter.js +3 -3
  27. package/components/ix-chip.js +4 -4
  28. package/components/ix-content.js +3 -3
  29. package/components/ix-css-grid-item.js +1 -1
  30. package/components/ix-date-dropdown.js +3 -3
  31. package/components/ix-date-dropdown.js.map +1 -1
  32. package/components/ix-datetime-picker.js +1 -1
  33. package/components/ix-drawer.js +2 -2
  34. package/components/ix-dropdown-button.js +2 -2
  35. package/components/ix-dropdown-header.js +1 -1
  36. package/components/ix-dropdown-quick-actions.js +1 -1
  37. package/components/ix-empty-state.js +1 -1
  38. package/components/ix-empty-state.js.map +1 -1
  39. package/components/ix-event-list-item.js +4 -4
  40. package/components/ix-event-list-item.js.map +1 -1
  41. package/components/ix-event-list.js +2 -2
  42. package/components/ix-expanding-search.js +4 -4
  43. package/components/ix-flip-tile-content.js +1 -1
  44. package/components/ix-flip-tile.js +4 -4
  45. package/components/ix-form-field.js +1 -1
  46. package/components/ix-group.js +29 -24
  47. package/components/ix-group.js.map +1 -1
  48. package/components/ix-icon-toggle-button.js +1 -1
  49. package/components/ix-input-group.js +1 -1
  50. package/components/ix-key-value-list.js +1 -1
  51. package/components/ix-key-value.js +1 -1
  52. package/components/ix-key-value.js.map +1 -1
  53. package/components/ix-kpi.js +3 -3
  54. package/components/ix-link-button.js +3 -3
  55. package/components/ix-map-navigation.js +20 -14
  56. package/components/ix-map-navigation.js.map +1 -1
  57. package/components/ix-menu-about-item.js +1 -1
  58. package/components/ix-menu-about-news.js +4 -4
  59. package/components/ix-menu-about.js +1 -1
  60. package/components/ix-menu-avatar.js +2 -2
  61. package/components/ix-menu-category.js +5 -5
  62. package/components/ix-menu-settings-item.js +1 -1
  63. package/components/ix-menu.js +11 -11
  64. package/components/ix-menu.js.map +1 -1
  65. package/components/ix-message-bar.js +1 -1
  66. package/components/ix-modal-example.js +1 -1
  67. package/components/ix-modal-footer.js +1 -1
  68. package/components/ix-modal-loading.js +1 -1
  69. package/components/ix-modal.js +3 -3
  70. package/components/ix-pagination.js +3 -3
  71. package/components/ix-pagination.js.map +1 -1
  72. package/components/ix-pane-layout.js +1 -1
  73. package/components/ix-pane.js +6 -6
  74. package/components/ix-pill.js +4 -4
  75. package/components/ix-playground-internal.js +1 -1
  76. package/components/ix-push-card.js +1 -1
  77. package/components/ix-slider.js +20 -13
  78. package/components/ix-slider.js.map +1 -1
  79. package/components/ix-split-button-item.js +1 -1
  80. package/components/ix-split-button.js +1 -1
  81. package/components/ix-tile.js +4 -4
  82. package/components/ix-toast-container.js +2 -2
  83. package/components/ix-toggle-button.js +2 -2
  84. package/components/ix-toggle.js +2 -2
  85. package/components/ix-tree.js +1 -1
  86. package/components/ix-upload.js +3 -3
  87. package/components/ix-validation-tooltip.js +2 -2
  88. package/components/ix-workflow-step.js +3 -3
  89. package/components/ix-workflow-steps.js +1 -1
  90. package/components/layout-grid.js +2 -2
  91. package/components/map-navigation-overlay.js +2 -2
  92. package/components/menu-avatar-item.js +1 -1
  93. package/components/menu-expand-icon.js +1 -1
  94. package/components/menu-item.js +3 -3
  95. package/components/menu-item.js.map +1 -1
  96. package/components/menu-tabs-fc.js +1 -1
  97. package/components/modal-content.js +1 -1
  98. package/components/modal-header.js +1 -1
  99. package/components/row.js +1 -1
  100. package/components/select-item.js +1 -1
  101. package/components/select.js +33 -17
  102. package/components/select.js.map +1 -1
  103. package/components/service.js +2 -2
  104. package/components/service.js.map +1 -1
  105. package/components/spinner.js +1 -1
  106. package/components/tab-item.js +3 -3
  107. package/components/tab-item.js.map +1 -1
  108. package/components/tabs.js +77 -43
  109. package/components/tabs.js.map +1 -1
  110. package/components/time-picker.js +3 -3
  111. package/components/toast.js +2 -2
  112. package/components/tooltip.js +4 -4
  113. package/components/tooltip.js.map +1 -1
  114. package/components/tree-item.js +4 -4
  115. package/dist/cjs/{base-button-bf6a6f0c.js → base-button-3735b8c2.js} +2 -2
  116. package/dist/cjs/{base-button-bf6a6f0c.js.map → base-button-3735b8c2.js.map} +1 -1
  117. package/dist/cjs/{base-icon-button-e95a232c.js → base-icon-button-44c72bc8.js} +3 -3
  118. package/dist/cjs/{base-icon-button-e95a232c.js.map → base-icon-button-44c72bc8.js.map} +1 -1
  119. package/dist/cjs/index-529f21c1.js +2122 -0
  120. package/dist/cjs/index-529f21c1.js.map +1 -0
  121. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  122. package/dist/cjs/ix-application-header.cjs.entry.js +5 -5
  123. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
  125. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
  126. package/dist/cjs/ix-application-switch-modal.cjs.entry.js.map +1 -1
  127. package/dist/cjs/ix-application.cjs.entry.js +5 -5
  128. package/dist/cjs/ix-avatar_2.cjs.entry.js +4 -4
  129. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
  131. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  132. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  133. package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
  134. package/dist/cjs/ix-button.cjs.entry.js +2 -2
  135. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  136. package/dist/cjs/ix-card-list.cjs.entry.js +5 -5
  137. package/dist/cjs/ix-card_2.cjs.entry.js +2 -2
  138. package/dist/cjs/ix-category-filter.cjs.entry.js +5 -5
  139. package/dist/cjs/ix-chip.cjs.entry.js +5 -5
  140. package/dist/cjs/ix-col_4.cjs.entry.js +9 -9
  141. package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
  142. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  143. package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
  144. package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
  145. package/dist/cjs/ix-date-dropdown.cjs.entry.js +4 -4
  146. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  147. package/dist/cjs/ix-date-time-card.cjs.entry.js +2 -2
  148. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  149. package/dist/cjs/ix-divider.cjs.entry.js +2 -2
  150. package/dist/cjs/ix-drawer.cjs.entry.js +3 -3
  151. package/dist/cjs/ix-dropdown-button.cjs.entry.js +3 -3
  152. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  153. package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
  154. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
  155. package/dist/cjs/ix-dropdown.cjs.entry.js +14 -7
  156. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  157. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  158. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  159. package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
  160. package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
  161. package/dist/cjs/ix-event-list.cjs.entry.js +3 -3
  162. package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
  163. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
  164. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
  165. package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
  166. package/dist/cjs/ix-form-field.cjs.entry.js +2 -2
  167. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +6 -10
  168. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  169. package/dist/cjs/ix-group.cjs.entry.js +30 -24
  170. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  171. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  172. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +4 -4
  173. package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
  174. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  175. package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
  176. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  177. package/dist/cjs/ix-kpi.cjs.entry.js +4 -4
  178. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  179. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +3 -3
  180. package/dist/cjs/ix-map-navigation.cjs.entry.js +3 -3
  181. package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
  182. package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
  183. package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
  184. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  185. package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
  186. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +3 -3
  187. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  188. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  189. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
  190. package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
  191. package/dist/cjs/ix-menu.cjs.entry.js +13 -13
  192. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  193. package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
  194. package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
  195. package/dist/cjs/ix-modal-example.cjs.entry.js +2 -2
  196. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  197. package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
  198. package/dist/cjs/ix-modal.cjs.entry.js +5 -5
  199. package/dist/cjs/ix-pagination.cjs.entry.js +5 -5
  200. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  201. package/dist/cjs/ix-pane-layout.cjs.entry.js +3 -3
  202. package/dist/cjs/ix-pane.cjs.entry.js +8 -8
  203. package/dist/cjs/ix-pill.cjs.entry.js +5 -5
  204. package/dist/cjs/ix-playground-internal.cjs.entry.js +2 -2
  205. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  206. package/dist/cjs/ix-select.cjs.entry.js +35 -19
  207. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  208. package/dist/cjs/ix-slider.cjs.entry.js +22 -15
  209. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  210. package/dist/cjs/ix-split-button-item.cjs.entry.js +2 -2
  211. package/dist/cjs/ix-split-button.cjs.entry.js +2 -2
  212. package/dist/cjs/ix-tab-item_2.cjs.entry.js +75 -45
  213. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  214. package/dist/cjs/ix-tile.cjs.entry.js +5 -5
  215. package/dist/cjs/ix-time-picker.cjs.entry.js +4 -4
  216. package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
  217. package/dist/cjs/ix-toast.cjs.entry.js +3 -3
  218. package/dist/cjs/ix-toggle-button.cjs.entry.js +4 -4
  219. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  220. package/dist/cjs/ix-tooltip.cjs.entry.js +6 -6
  221. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  222. package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
  223. package/dist/cjs/ix-tree.cjs.entry.js +2 -2
  224. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  225. package/dist/cjs/ix-upload.cjs.entry.js +4 -4
  226. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
  227. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  228. package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
  229. package/dist/cjs/{listener-86a645ec.js → listener-bc3e7c0c.js} +2 -2
  230. package/dist/cjs/{listener-86a645ec.js.map → listener-bc3e7c0c.js.map} +1 -1
  231. package/dist/cjs/loader.cjs.js +2 -2
  232. package/dist/cjs/{menu-tabs-fc-a06afb9a.js → menu-tabs-fc-df53f176.js} +3 -3
  233. package/dist/cjs/{menu-tabs-fc-a06afb9a.js.map → menu-tabs-fc-df53f176.js.map} +1 -1
  234. package/dist/cjs/{service-a42add5f.js → service-39a8e5fe.js} +3 -3
  235. package/dist/cjs/service-39a8e5fe.js.map +1 -0
  236. package/dist/cjs/siemens-ix.cjs.js +10 -10
  237. package/dist/cjs/siemens-ix.cjs.js.map +1 -1
  238. package/dist/collection/collection-manifest.json +2 -2
  239. package/dist/collection/components/application/application.js +3 -3
  240. package/dist/collection/components/application-header/application-header.js +4 -4
  241. package/dist/collection/components/application-header/application-header.js.map +1 -1
  242. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  243. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  244. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  245. package/dist/collection/components/avatar/avatar.css +42 -0
  246. package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
  247. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  248. package/dist/collection/components/card-content/card-content.js +1 -1
  249. package/dist/collection/components/card-list/card-list.js +4 -4
  250. package/dist/collection/components/card-title/card-title.js +1 -1
  251. package/dist/collection/components/category-filter/category-filter.js +3 -3
  252. package/dist/collection/components/chip/chip.js +4 -4
  253. package/dist/collection/components/content/content.js +3 -3
  254. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  255. package/dist/collection/components/date-dropdown/date-dropdown.js +3 -3
  256. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  257. package/dist/collection/components/date-picker/date-picker.js +4 -4
  258. package/dist/collection/components/date-time-card/date-time-card.js +1 -1
  259. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  260. package/dist/collection/components/divider/divider.js +1 -1
  261. package/dist/collection/components/drawer/drawer.js +2 -2
  262. package/dist/collection/components/dropdown/dropdown.js +13 -6
  263. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  264. package/dist/collection/components/dropdown-button/dropdown-button.ct.js +28 -0
  265. package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +1 -1
  266. package/dist/collection/components/dropdown-button/dropdown-button.js +2 -2
  267. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  268. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  269. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  270. package/dist/collection/components/empty-state/empty-state.js +1 -1
  271. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  272. package/dist/collection/components/event-list/event-list.js +2 -2
  273. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  274. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  275. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  276. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  277. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  278. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  279. package/dist/collection/components/form-field/form-field.js +1 -1
  280. package/dist/collection/components/grid/layout-grid.js +2 -2
  281. package/dist/collection/components/group/group-context-menu.js +1 -1
  282. package/dist/collection/components/group/group.js +34 -28
  283. package/dist/collection/components/group/group.js.map +1 -1
  284. package/dist/collection/components/group/test/group.ct.js +39 -1
  285. package/dist/collection/components/group/test/group.ct.js.map +1 -1
  286. package/dist/collection/components/group-item/group-item.css +0 -4
  287. package/dist/collection/components/group-item/group-item.js +9 -12
  288. package/dist/collection/components/group-item/group-item.js.map +1 -1
  289. package/dist/collection/components/icon-button/icon-button.js +1 -1
  290. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  291. package/dist/collection/components/input-group/input-group.js +1 -1
  292. package/dist/collection/components/key-value/key-value.js +1 -1
  293. package/dist/collection/components/key-value/key-value.js.map +1 -1
  294. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  295. package/dist/collection/components/kpi/kpi.js +3 -3
  296. package/dist/collection/components/link-button/link-button.js +3 -3
  297. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  298. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  299. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  300. package/dist/collection/components/menu/menu.js +11 -11
  301. package/dist/collection/components/menu/menu.js.map +1 -1
  302. package/dist/collection/components/menu-about/menu-about.js +1 -1
  303. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  304. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  305. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  306. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  307. package/dist/collection/components/menu-category/menu-category.js +5 -5
  308. package/dist/collection/components/menu-item/menu-item.js +3 -3
  309. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  310. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  311. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  312. package/dist/collection/components/message-bar/message-bar.js +1 -1
  313. package/dist/collection/components/modal/modal.js +3 -3
  314. package/dist/collection/components/modal-content/modal-content.js +1 -1
  315. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  316. package/dist/collection/components/modal-header/modal-header.js +1 -1
  317. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  318. package/dist/collection/components/pagination/pagination.js +5 -4
  319. package/dist/collection/components/pagination/pagination.js.map +1 -1
  320. package/dist/collection/components/pane/pane.js +6 -6
  321. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  322. package/dist/collection/components/pill/pill.js +4 -4
  323. package/dist/collection/components/playground/example-modal.js +1 -1
  324. package/dist/collection/components/playground/playground.js +1 -1
  325. package/dist/collection/components/push-card/push-card.js +1 -1
  326. package/dist/collection/components/row/row.js +1 -1
  327. package/dist/collection/components/select/select.js +33 -17
  328. package/dist/collection/components/select/select.js.map +1 -1
  329. package/dist/collection/components/select/test/select.ct.js +107 -36
  330. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  331. package/dist/collection/components/select-item/select-item.js +1 -1
  332. package/dist/collection/components/slider/slider.css +1 -1
  333. package/dist/collection/components/slider/slider.js +23 -15
  334. package/dist/collection/components/slider/slider.js.map +1 -1
  335. package/dist/collection/components/slider/test/slider.ct.js +15 -6
  336. package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
  337. package/dist/collection/components/spinner/spinner.js +1 -1
  338. package/dist/collection/components/split-button/split-button.js +1 -1
  339. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  340. package/dist/collection/components/tab-item/tab-item.js +5 -5
  341. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  342. package/dist/collection/components/tabs/tabs.js +77 -42
  343. package/dist/collection/components/tabs/tabs.js.map +1 -1
  344. package/dist/collection/components/tabs/test/tabs.ct.js +35 -9
  345. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
  346. package/dist/collection/components/tile/tile.js +4 -4
  347. package/dist/collection/components/time-picker/time-picker.js +3 -3
  348. package/dist/collection/components/toast/toast-container.js +2 -2
  349. package/dist/collection/components/toast/toast.js +2 -2
  350. package/dist/collection/components/toggle/toggle.js +2 -2
  351. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  352. package/dist/collection/components/tooltip/tooltip.js +13 -8
  353. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  354. package/dist/collection/components/tree/tree.js +1 -1
  355. package/dist/collection/components/tree-item/tree-item.js +4 -4
  356. package/dist/collection/components/upload/upload.js +3 -3
  357. package/dist/collection/components/utils/application-layout/service.js +2 -2
  358. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  359. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  360. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  361. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  362. package/dist/collection/tests/avatar/avatar.e2e.js +6 -0
  363. package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
  364. package/dist/collection/tests/slider/slider.e2e.js +14 -0
  365. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  366. package/dist/collection/tests/tabs/tabs.e2e.js +1 -1
  367. package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
  368. package/dist/esm/{base-button-a1f04cd1.js → base-button-1b40b11d.js} +2 -2
  369. package/dist/esm/{base-button-a1f04cd1.js.map → base-button-1b40b11d.js.map} +1 -1
  370. package/dist/esm/{base-icon-button-368f0241.js → base-icon-button-bc1dabe0.js} +3 -3
  371. package/dist/esm/{base-icon-button-368f0241.js.map → base-icon-button-bc1dabe0.js.map} +1 -1
  372. package/dist/esm/index-5429f20b.js +2090 -0
  373. package/dist/esm/index-5429f20b.js.map +1 -0
  374. package/dist/esm/ix-action-card.entry.js +1 -1
  375. package/dist/esm/ix-application-header.entry.js +5 -5
  376. package/dist/esm/ix-application-header.entry.js.map +1 -1
  377. package/dist/esm/ix-application-sidebar.entry.js +2 -2
  378. package/dist/esm/ix-application-switch-modal.entry.js +2 -2
  379. package/dist/esm/ix-application-switch-modal.entry.js.map +1 -1
  380. package/dist/esm/ix-application.entry.js +5 -5
  381. package/dist/esm/ix-avatar_2.entry.js +4 -4
  382. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  383. package/dist/esm/ix-basic-navigation.entry.js +4 -4
  384. package/dist/esm/ix-blind.entry.js +1 -1
  385. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  386. package/dist/esm/ix-breadcrumb.entry.js +3 -3
  387. package/dist/esm/ix-button.entry.js +2 -2
  388. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  389. package/dist/esm/ix-card-list.entry.js +5 -5
  390. package/dist/esm/ix-card_2.entry.js +2 -2
  391. package/dist/esm/ix-category-filter.entry.js +5 -5
  392. package/dist/esm/ix-chip.entry.js +5 -5
  393. package/dist/esm/ix-col_4.entry.js +9 -9
  394. package/dist/esm/ix-content-header.entry.js +1 -1
  395. package/dist/esm/ix-content.entry.js +4 -4
  396. package/dist/esm/ix-css-grid-item.entry.js +2 -2
  397. package/dist/esm/ix-css-grid.entry.js +1 -1
  398. package/dist/esm/ix-date-dropdown.entry.js +4 -4
  399. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  400. package/dist/esm/ix-date-time-card.entry.js +2 -2
  401. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  402. package/dist/esm/ix-divider.entry.js +2 -2
  403. package/dist/esm/ix-drawer.entry.js +3 -3
  404. package/dist/esm/ix-dropdown-button.entry.js +3 -3
  405. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  406. package/dist/esm/ix-dropdown-item.entry.js +4 -4
  407. package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
  408. package/dist/esm/ix-dropdown.entry.js +14 -7
  409. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  410. package/dist/esm/ix-empty-state.entry.js +2 -2
  411. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  412. package/dist/esm/ix-event-list-item.entry.js +5 -5
  413. package/dist/esm/ix-event-list-item.entry.js.map +1 -1
  414. package/dist/esm/ix-event-list.entry.js +3 -3
  415. package/dist/esm/ix-expanding-search.entry.js +5 -5
  416. package/dist/esm/ix-filter-chip_2.entry.js +3 -3
  417. package/dist/esm/ix-flip-tile-content.entry.js +2 -2
  418. package/dist/esm/ix-flip-tile.entry.js +5 -5
  419. package/dist/esm/ix-form-field.entry.js +2 -2
  420. package/dist/esm/ix-group-context-menu_2.entry.js +6 -10
  421. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  422. package/dist/esm/ix-group.entry.js +30 -24
  423. package/dist/esm/ix-group.entry.js.map +1 -1
  424. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  425. package/dist/esm/ix-icon-toggle-button.entry.js +4 -4
  426. package/dist/esm/ix-input-group.entry.js +2 -2
  427. package/dist/esm/ix-key-value-list.entry.js +2 -2
  428. package/dist/esm/ix-key-value.entry.js +2 -2
  429. package/dist/esm/ix-key-value.entry.js.map +1 -1
  430. package/dist/esm/ix-kpi.entry.js +4 -4
  431. package/dist/esm/ix-link-button.entry.js +4 -4
  432. package/dist/esm/ix-map-navigation-overlay.entry.js +3 -3
  433. package/dist/esm/ix-map-navigation.entry.js +3 -3
  434. package/dist/esm/ix-menu-about-item.entry.js +2 -2
  435. package/dist/esm/ix-menu-about-news.entry.js +5 -5
  436. package/dist/esm/ix-menu-about.entry.js +3 -3
  437. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  438. package/dist/esm/ix-menu-category.entry.js +6 -6
  439. package/dist/esm/ix-menu-expand-icon.entry.js +3 -3
  440. package/dist/esm/ix-menu-item.entry.js +4 -4
  441. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  442. package/dist/esm/ix-menu-settings-item.entry.js +2 -2
  443. package/dist/esm/ix-menu-settings.entry.js +2 -2
  444. package/dist/esm/ix-menu.entry.js +13 -13
  445. package/dist/esm/ix-menu.entry.js.map +1 -1
  446. package/dist/esm/ix-message-bar.entry.js +2 -2
  447. package/dist/esm/ix-modal-content_2.entry.js +3 -3
  448. package/dist/esm/ix-modal-example.entry.js +2 -2
  449. package/dist/esm/ix-modal-footer.entry.js +2 -2
  450. package/dist/esm/ix-modal-loading.entry.js +2 -2
  451. package/dist/esm/ix-modal.entry.js +5 -5
  452. package/dist/esm/ix-pagination.entry.js +5 -5
  453. package/dist/esm/ix-pagination.entry.js.map +1 -1
  454. package/dist/esm/ix-pane-layout.entry.js +3 -3
  455. package/dist/esm/ix-pane.entry.js +8 -8
  456. package/dist/esm/ix-pill.entry.js +5 -5
  457. package/dist/esm/ix-playground-internal.entry.js +2 -2
  458. package/dist/esm/ix-push-card.entry.js +2 -2
  459. package/dist/esm/ix-select.entry.js +35 -19
  460. package/dist/esm/ix-select.entry.js.map +1 -1
  461. package/dist/esm/ix-slider.entry.js +22 -15
  462. package/dist/esm/ix-slider.entry.js.map +1 -1
  463. package/dist/esm/ix-split-button-item.entry.js +2 -2
  464. package/dist/esm/ix-split-button.entry.js +2 -2
  465. package/dist/esm/ix-tab-item_2.entry.js +75 -45
  466. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  467. package/dist/esm/ix-tile.entry.js +5 -5
  468. package/dist/esm/ix-time-picker.entry.js +4 -4
  469. package/dist/esm/ix-toast-container.entry.js +3 -3
  470. package/dist/esm/ix-toast.entry.js +3 -3
  471. package/dist/esm/ix-toggle-button.entry.js +4 -4
  472. package/dist/esm/ix-toggle.entry.js +3 -3
  473. package/dist/esm/ix-tooltip.entry.js +6 -6
  474. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  475. package/dist/esm/ix-tree-item.entry.js +5 -5
  476. package/dist/esm/ix-tree.entry.js +2 -2
  477. package/dist/esm/ix-typography.entry.js +1 -1
  478. package/dist/esm/ix-upload.entry.js +4 -4
  479. package/dist/esm/ix-validation-tooltip.entry.js +3 -3
  480. package/dist/esm/ix-workflow-step.entry.js +4 -4
  481. package/dist/esm/ix-workflow-steps.entry.js +2 -2
  482. package/dist/esm/{listener-2d09646e.js → listener-4f3baab5.js} +2 -2
  483. package/dist/esm/{listener-2d09646e.js.map → listener-4f3baab5.js.map} +1 -1
  484. package/dist/esm/loader.js +3 -3
  485. package/dist/esm/{menu-tabs-fc-60ff0221.js → menu-tabs-fc-d9a7dd06.js} +3 -3
  486. package/dist/esm/{menu-tabs-fc-60ff0221.js.map → menu-tabs-fc-d9a7dd06.js.map} +1 -1
  487. package/dist/esm/{service-02cc9011.js → service-c7fc628b.js} +3 -3
  488. package/dist/esm/service-c7fc628b.js.map +1 -0
  489. package/dist/esm/siemens-ix.js +11 -11
  490. package/dist/esm/siemens-ix.js.map +1 -1
  491. package/dist/siemens-ix/{p-fbb851f3.entry.js → p-052340f9.entry.js} +2 -2
  492. package/dist/siemens-ix/{p-064172e5.entry.js → p-0653a145.entry.js} +2 -2
  493. package/dist/siemens-ix/{p-064172e5.entry.js.map → p-0653a145.entry.js.map} +1 -1
  494. package/dist/siemens-ix/p-0b4e3779.entry.js +2 -0
  495. package/dist/siemens-ix/p-0b4e3779.entry.js.map +1 -0
  496. package/dist/siemens-ix/{p-193f7439.entry.js → p-0b4e398e.entry.js} +2 -2
  497. package/dist/siemens-ix/{p-d6cef0ad.js → p-0c8a98cd.js} +2 -2
  498. package/dist/siemens-ix/p-0d2a6886.entry.js +2 -0
  499. package/dist/siemens-ix/{p-8d836d6f.entry.js → p-0f7ef743.entry.js} +2 -2
  500. package/dist/siemens-ix/{p-d57ab230.entry.js → p-113cc793.entry.js} +2 -2
  501. package/dist/siemens-ix/{p-442f750a.entry.js → p-14a41c8c.entry.js} +2 -2
  502. package/dist/siemens-ix/{p-5231ebe9.entry.js → p-15b3c17e.entry.js} +2 -2
  503. package/dist/siemens-ix/p-16b923e9.entry.js +2 -0
  504. package/dist/siemens-ix/{p-d6690de0.entry.js → p-1a122c76.entry.js} +2 -2
  505. package/dist/siemens-ix/{p-072cb3c7.entry.js → p-1cff59db.entry.js} +2 -2
  506. package/dist/siemens-ix/{p-719a3a11.js → p-1d581190.js} +2 -2
  507. package/dist/siemens-ix/{p-c50cdde4.js → p-1db6be55.js} +2 -2
  508. package/dist/siemens-ix/{p-8c126c50.entry.js → p-1f4b8463.entry.js} +2 -2
  509. package/dist/siemens-ix/{p-a419c1a8.entry.js → p-24a8737a.entry.js} +2 -2
  510. package/dist/siemens-ix/{p-7a337fdb.entry.js → p-2908cacd.entry.js} +2 -2
  511. package/dist/siemens-ix/{p-9ad52791.entry.js → p-2946fd70.entry.js} +2 -2
  512. package/dist/siemens-ix/{p-d80c0aff.entry.js → p-2c4c03d4.entry.js} +2 -2
  513. package/dist/siemens-ix/{p-e42a3069.entry.js → p-2ebfd4fd.entry.js} +2 -2
  514. package/dist/siemens-ix/{p-5f364337.entry.js → p-2ec7f841.entry.js} +2 -2
  515. package/dist/siemens-ix/{p-5f364337.entry.js.map → p-2ec7f841.entry.js.map} +1 -1
  516. package/dist/siemens-ix/{p-f7b91326.entry.js → p-309ac3ad.entry.js} +2 -2
  517. package/dist/siemens-ix/p-32375ddb.entry.js +2 -0
  518. package/dist/siemens-ix/p-32d4ed3b.entry.js +2 -0
  519. package/dist/siemens-ix/{p-1befce78.entry.js → p-427676f4.entry.js} +2 -2
  520. package/dist/siemens-ix/{p-da9e539d.entry.js → p-4430117a.entry.js} +2 -2
  521. package/dist/siemens-ix/{p-da9e539d.entry.js.map → p-4430117a.entry.js.map} +1 -1
  522. package/dist/siemens-ix/p-44db3646.entry.js +2 -0
  523. package/dist/siemens-ix/{p-47e3439b.entry.js → p-453fa360.entry.js} +2 -2
  524. package/dist/siemens-ix/p-4b3facea.entry.js +2 -0
  525. package/dist/siemens-ix/p-4df0cdd7.entry.js +2 -0
  526. package/dist/siemens-ix/p-4df0cdd7.entry.js.map +1 -0
  527. package/dist/siemens-ix/{p-d72cb8db.entry.js → p-52857629.entry.js} +2 -2
  528. package/dist/siemens-ix/p-52857629.entry.js.map +1 -0
  529. package/dist/siemens-ix/{p-ef378dca.entry.js → p-53352bfb.entry.js} +2 -2
  530. package/dist/siemens-ix/{p-880526bf.entry.js → p-5696bb62.entry.js} +2 -2
  531. package/dist/siemens-ix/{p-7cffddcf.entry.js → p-5aa0b93c.entry.js} +2 -2
  532. package/dist/siemens-ix/{p-955fa8ca.entry.js → p-5b135f6b.entry.js} +2 -2
  533. package/dist/siemens-ix/{p-955fa8ca.entry.js.map → p-5b135f6b.entry.js.map} +1 -1
  534. package/dist/siemens-ix/{p-e5bdd91f.entry.js → p-5c673ae9.entry.js} +2 -2
  535. package/dist/siemens-ix/{p-ec0662b9.entry.js → p-5f25e7fd.entry.js} +2 -2
  536. package/dist/siemens-ix/{p-ddd91a5b.entry.js → p-6227e62b.entry.js} +2 -2
  537. package/dist/siemens-ix/p-68532fa2.js +2 -0
  538. package/dist/siemens-ix/{p-13141e58.entry.js → p-68644ee1.entry.js} +2 -2
  539. package/dist/siemens-ix/{p-b4dfda02.entry.js → p-6af4415c.entry.js} +2 -2
  540. package/dist/siemens-ix/{p-075ec277.entry.js → p-6fd7ecd0.entry.js} +2 -2
  541. package/dist/siemens-ix/{p-fd68d6ed.entry.js → p-7076210b.entry.js} +2 -2
  542. package/dist/siemens-ix/{p-e14472c8.entry.js → p-71315e2e.entry.js} +2 -2
  543. package/dist/siemens-ix/p-71315e2e.entry.js.map +1 -0
  544. package/dist/siemens-ix/{p-8345c55f.entry.js → p-713828ed.entry.js} +2 -2
  545. package/dist/siemens-ix/{p-42157ecd.entry.js → p-7bfd6cd2.entry.js} +2 -2
  546. package/dist/siemens-ix/p-7faa148f.entry.js +2 -0
  547. package/dist/siemens-ix/{p-4cb9cc30.entry.js → p-85423643.entry.js} +2 -2
  548. package/dist/siemens-ix/{p-29be2b67.entry.js → p-8629db91.entry.js} +2 -2
  549. package/dist/siemens-ix/p-87e692d9.entry.js +2 -0
  550. package/dist/siemens-ix/p-882a0233.entry.js +2 -0
  551. package/dist/siemens-ix/{p-c62d3f80.entry.js → p-8d0758c1.entry.js} +2 -2
  552. package/dist/siemens-ix/{p-6f006293.entry.js → p-8d599677.entry.js} +2 -2
  553. package/dist/siemens-ix/{p-4ca27bd7.entry.js → p-90440046.entry.js} +2 -2
  554. package/dist/siemens-ix/p-92a18c10.entry.js +2 -0
  555. package/dist/siemens-ix/{p-3de94029.entry.js → p-9ebc4fc3.entry.js} +2 -2
  556. package/dist/siemens-ix/{p-ed693de7.entry.js → p-a0138163.entry.js} +2 -2
  557. package/dist/siemens-ix/{p-ed693de7.entry.js.map → p-a0138163.entry.js.map} +1 -1
  558. package/dist/siemens-ix/{p-de186f5c.entry.js → p-a0a44a2b.entry.js} +2 -2
  559. package/dist/siemens-ix/{p-5bd709a5.entry.js → p-a8d291fa.entry.js} +2 -2
  560. package/dist/siemens-ix/{p-5bd709a5.entry.js.map → p-a8d291fa.entry.js.map} +1 -1
  561. package/dist/siemens-ix/{p-ed8e1d4f.entry.js → p-af099ca4.entry.js} +2 -2
  562. package/dist/siemens-ix/p-b3b23af7.entry.js +2 -0
  563. package/dist/siemens-ix/{p-37c9f425.entry.js → p-b4ce366d.entry.js} +2 -2
  564. package/dist/siemens-ix/{p-a73efc31.entry.js → p-b663ca16.entry.js} +2 -2
  565. package/dist/siemens-ix/{p-42d156d6.entry.js → p-b804b8c5.entry.js} +2 -2
  566. package/dist/siemens-ix/{p-42d156d6.entry.js.map → p-b804b8c5.entry.js.map} +1 -1
  567. package/dist/siemens-ix/{p-e66fb590.entry.js → p-bc2c74c5.entry.js} +2 -2
  568. package/dist/siemens-ix/{p-b1c8c6f1.entry.js → p-bea7c748.entry.js} +2 -2
  569. package/dist/siemens-ix/{p-65a19457.entry.js → p-bf14c60b.entry.js} +2 -2
  570. package/dist/siemens-ix/p-c1222581.entry.js +2 -0
  571. package/dist/siemens-ix/{p-a0be36ad.entry.js → p-c1968b80.entry.js} +2 -2
  572. package/dist/siemens-ix/{p-b7fa2c5a.entry.js → p-c33cee36.entry.js} +2 -2
  573. package/dist/siemens-ix/{p-bc49e7ff.entry.js → p-d03df401.entry.js} +2 -2
  574. package/dist/siemens-ix/{p-dddd4a76.entry.js → p-d14024d3.entry.js} +2 -2
  575. package/dist/siemens-ix/{p-822fcb6c.entry.js → p-d1f49940.entry.js} +2 -2
  576. package/dist/siemens-ix/p-d331216f.entry.js +2 -0
  577. package/dist/siemens-ix/p-d331216f.entry.js.map +1 -0
  578. package/dist/siemens-ix/p-d8790ff5.entry.js +2 -0
  579. package/dist/siemens-ix/p-d8790ff5.entry.js.map +1 -0
  580. package/dist/siemens-ix/p-d950c3a8.entry.js +2 -0
  581. package/dist/siemens-ix/p-d950c3a8.entry.js.map +1 -0
  582. package/dist/siemens-ix/{p-06cba04a.entry.js → p-d95cbd1f.entry.js} +2 -2
  583. package/dist/siemens-ix/{p-127f6463.entry.js → p-d998415f.entry.js} +2 -2
  584. package/dist/siemens-ix/{p-d4fdbc68.entry.js → p-dbe8f5e6.entry.js} +2 -2
  585. package/dist/siemens-ix/p-dbe8f5e6.entry.js.map +1 -0
  586. package/dist/siemens-ix/p-dcb3e5be.entry.js +2 -0
  587. package/dist/siemens-ix/{p-f237ec25.entry.js.map → p-dcb3e5be.entry.js.map} +1 -1
  588. package/dist/siemens-ix/{p-bbacfd34.entry.js → p-dde7eb80.entry.js} +2 -2
  589. package/dist/siemens-ix/{p-73b070cc.entry.js → p-e30ed20a.entry.js} +2 -2
  590. package/dist/siemens-ix/{p-d6d48f1d.entry.js → p-e8d3cf35.entry.js} +2 -2
  591. package/dist/siemens-ix/p-e9a3f58a.entry.js +2 -0
  592. package/dist/siemens-ix/{p-ea0c0738.entry.js.map → p-e9a3f58a.entry.js.map} +1 -1
  593. package/dist/siemens-ix/p-eb6268a6.entry.js +2 -0
  594. package/dist/siemens-ix/{p-010d6f32.entry.js.map → p-eb6268a6.entry.js.map} +1 -1
  595. package/dist/siemens-ix/{p-c6234df9.entry.js → p-ebb277f0.entry.js} +2 -2
  596. package/dist/siemens-ix/{p-34891297.entry.js → p-f318140c.entry.js} +2 -2
  597. package/dist/siemens-ix/p-f318140c.entry.js.map +1 -0
  598. package/dist/siemens-ix/{p-0f8a55ee.entry.js → p-f78246bd.entry.js} +2 -2
  599. package/dist/siemens-ix/p-f87cd962.js +3 -0
  600. package/dist/siemens-ix/p-f87cd962.js.map +1 -0
  601. package/dist/siemens-ix/{p-07f815fa.entry.js → p-fb2b78f7.entry.js} +2 -2
  602. package/dist/siemens-ix/{p-644433de.entry.js → p-fb47546b.entry.js} +2 -2
  603. package/dist/siemens-ix/p-fb4c79c6.entry.js +2 -0
  604. package/dist/siemens-ix/{p-702f9349.js → p-fbe017b7.js} +2 -2
  605. package/dist/siemens-ix/p-fbe017b7.js.map +1 -0
  606. package/dist/siemens-ix/{p-b7a104cd.entry.js → p-fc5814df.entry.js} +2 -2
  607. package/dist/siemens-ix/{p-b7a104cd.entry.js.map → p-fc5814df.entry.js.map} +1 -1
  608. package/dist/siemens-ix/{p-45139de2.entry.js → p-feac09bc.entry.js} +2 -2
  609. package/dist/siemens-ix/{p-733c69fa.entry.js → p-ff1ac5b3.entry.js} +2 -2
  610. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  611. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  612. package/dist/types/components/application-header/application-header.d.ts +1 -1
  613. package/dist/types/components/dropdown/dropdown.d.ts +1 -0
  614. package/dist/types/components/group/group.d.ts +3 -4
  615. package/dist/types/components/group-item/group-item.d.ts +4 -4
  616. package/dist/types/components/slider/slider.d.ts +3 -3
  617. package/dist/types/components/tab-item/tab-item.d.ts +2 -2
  618. package/dist/types/components/tabs/tabs.d.ts +7 -4
  619. package/dist/types/components/tooltip/tooltip.d.ts +7 -7
  620. package/dist/types/components.d.ts +17 -15
  621. package/hydrate/index.d.ts +1 -1
  622. package/hydrate/index.js +38479 -32296
  623. package/package.json +2 -2
  624. package/dist/cjs/index-2d325c82.js +0 -2967
  625. package/dist/cjs/index-2d325c82.js.map +0 -1
  626. package/dist/cjs/service-a42add5f.js.map +0 -1
  627. package/dist/esm/index-06024ae7.js +0 -2935
  628. package/dist/esm/index-06024ae7.js.map +0 -1
  629. package/dist/esm/service-02cc9011.js.map +0 -1
  630. package/dist/siemens-ix/p-010d6f32.entry.js +0 -2
  631. package/dist/siemens-ix/p-31af865e.entry.js +0 -2
  632. package/dist/siemens-ix/p-34891297.entry.js.map +0 -1
  633. package/dist/siemens-ix/p-36f903fb.entry.js +0 -2
  634. package/dist/siemens-ix/p-36f903fb.entry.js.map +0 -1
  635. package/dist/siemens-ix/p-5c367ce7.entry.js +0 -2
  636. package/dist/siemens-ix/p-6a4545be.entry.js +0 -2
  637. package/dist/siemens-ix/p-6c368289.entry.js +0 -2
  638. package/dist/siemens-ix/p-702f9349.js.map +0 -1
  639. package/dist/siemens-ix/p-77b15444.entry.js +0 -2
  640. package/dist/siemens-ix/p-7cb1dcf0.entry.js +0 -2
  641. package/dist/siemens-ix/p-867ce59b.entry.js +0 -2
  642. package/dist/siemens-ix/p-8b3cb8c0.entry.js +0 -2
  643. package/dist/siemens-ix/p-8b3cb8c0.entry.js.map +0 -1
  644. package/dist/siemens-ix/p-9d0c9f9f.entry.js +0 -2
  645. package/dist/siemens-ix/p-a55105d1.entry.js +0 -2
  646. package/dist/siemens-ix/p-a55105d1.entry.js.map +0 -1
  647. package/dist/siemens-ix/p-a61b35a8.entry.js +0 -2
  648. package/dist/siemens-ix/p-ac552df3.js +0 -3
  649. package/dist/siemens-ix/p-ac552df3.js.map +0 -1
  650. package/dist/siemens-ix/p-af2ee1e2.entry.js +0 -2
  651. package/dist/siemens-ix/p-b331622d.entry.js +0 -2
  652. package/dist/siemens-ix/p-ba68b58c.entry.js +0 -2
  653. package/dist/siemens-ix/p-c6902b79.entry.js +0 -2
  654. package/dist/siemens-ix/p-c6902b79.entry.js.map +0 -1
  655. package/dist/siemens-ix/p-d4fdbc68.entry.js.map +0 -1
  656. package/dist/siemens-ix/p-d6116286.entry.js +0 -2
  657. package/dist/siemens-ix/p-d72cb8db.entry.js.map +0 -1
  658. package/dist/siemens-ix/p-e14472c8.entry.js.map +0 -1
  659. package/dist/siemens-ix/p-ea0c0738.entry.js +0 -2
  660. package/dist/siemens-ix/p-f237ec25.entry.js +0 -2
  661. package/dist/siemens-ix/p-f74280b3.entry.js +0 -2
  662. package/dist/siemens-ix/p-f74280b3.entry.js.map +0 -1
  663. package/dist/siemens-ix/p-fa3283ea.js +0 -2
  664. /package/dist/siemens-ix/{p-fbb851f3.entry.js.map → p-052340f9.entry.js.map} +0 -0
  665. /package/dist/siemens-ix/{p-193f7439.entry.js.map → p-0b4e398e.entry.js.map} +0 -0
  666. /package/dist/siemens-ix/{p-d6cef0ad.js.map → p-0c8a98cd.js.map} +0 -0
  667. /package/dist/siemens-ix/{p-867ce59b.entry.js.map → p-0d2a6886.entry.js.map} +0 -0
  668. /package/dist/siemens-ix/{p-8d836d6f.entry.js.map → p-0f7ef743.entry.js.map} +0 -0
  669. /package/dist/siemens-ix/{p-d57ab230.entry.js.map → p-113cc793.entry.js.map} +0 -0
  670. /package/dist/siemens-ix/{p-442f750a.entry.js.map → p-14a41c8c.entry.js.map} +0 -0
  671. /package/dist/siemens-ix/{p-5231ebe9.entry.js.map → p-15b3c17e.entry.js.map} +0 -0
  672. /package/dist/siemens-ix/{p-7cb1dcf0.entry.js.map → p-16b923e9.entry.js.map} +0 -0
  673. /package/dist/siemens-ix/{p-d6690de0.entry.js.map → p-1a122c76.entry.js.map} +0 -0
  674. /package/dist/siemens-ix/{p-072cb3c7.entry.js.map → p-1cff59db.entry.js.map} +0 -0
  675. /package/dist/siemens-ix/{p-719a3a11.js.map → p-1d581190.js.map} +0 -0
  676. /package/dist/siemens-ix/{p-c50cdde4.js.map → p-1db6be55.js.map} +0 -0
  677. /package/dist/siemens-ix/{p-8c126c50.entry.js.map → p-1f4b8463.entry.js.map} +0 -0
  678. /package/dist/siemens-ix/{p-a419c1a8.entry.js.map → p-24a8737a.entry.js.map} +0 -0
  679. /package/dist/siemens-ix/{p-7a337fdb.entry.js.map → p-2908cacd.entry.js.map} +0 -0
  680. /package/dist/siemens-ix/{p-9ad52791.entry.js.map → p-2946fd70.entry.js.map} +0 -0
  681. /package/dist/siemens-ix/{p-d80c0aff.entry.js.map → p-2c4c03d4.entry.js.map} +0 -0
  682. /package/dist/siemens-ix/{p-e42a3069.entry.js.map → p-2ebfd4fd.entry.js.map} +0 -0
  683. /package/dist/siemens-ix/{p-f7b91326.entry.js.map → p-309ac3ad.entry.js.map} +0 -0
  684. /package/dist/siemens-ix/{p-a61b35a8.entry.js.map → p-32375ddb.entry.js.map} +0 -0
  685. /package/dist/siemens-ix/{p-b331622d.entry.js.map → p-32d4ed3b.entry.js.map} +0 -0
  686. /package/dist/siemens-ix/{p-1befce78.entry.js.map → p-427676f4.entry.js.map} +0 -0
  687. /package/dist/siemens-ix/{p-af2ee1e2.entry.js.map → p-44db3646.entry.js.map} +0 -0
  688. /package/dist/siemens-ix/{p-47e3439b.entry.js.map → p-453fa360.entry.js.map} +0 -0
  689. /package/dist/siemens-ix/{p-9d0c9f9f.entry.js.map → p-4b3facea.entry.js.map} +0 -0
  690. /package/dist/siemens-ix/{p-ef378dca.entry.js.map → p-53352bfb.entry.js.map} +0 -0
  691. /package/dist/siemens-ix/{p-880526bf.entry.js.map → p-5696bb62.entry.js.map} +0 -0
  692. /package/dist/siemens-ix/{p-7cffddcf.entry.js.map → p-5aa0b93c.entry.js.map} +0 -0
  693. /package/dist/siemens-ix/{p-e5bdd91f.entry.js.map → p-5c673ae9.entry.js.map} +0 -0
  694. /package/dist/siemens-ix/{p-ec0662b9.entry.js.map → p-5f25e7fd.entry.js.map} +0 -0
  695. /package/dist/siemens-ix/{p-ddd91a5b.entry.js.map → p-6227e62b.entry.js.map} +0 -0
  696. /package/dist/siemens-ix/{p-fa3283ea.js.map → p-68532fa2.js.map} +0 -0
  697. /package/dist/siemens-ix/{p-13141e58.entry.js.map → p-68644ee1.entry.js.map} +0 -0
  698. /package/dist/siemens-ix/{p-b4dfda02.entry.js.map → p-6af4415c.entry.js.map} +0 -0
  699. /package/dist/siemens-ix/{p-075ec277.entry.js.map → p-6fd7ecd0.entry.js.map} +0 -0
  700. /package/dist/siemens-ix/{p-fd68d6ed.entry.js.map → p-7076210b.entry.js.map} +0 -0
  701. /package/dist/siemens-ix/{p-8345c55f.entry.js.map → p-713828ed.entry.js.map} +0 -0
  702. /package/dist/siemens-ix/{p-42157ecd.entry.js.map → p-7bfd6cd2.entry.js.map} +0 -0
  703. /package/dist/siemens-ix/{p-ba68b58c.entry.js.map → p-7faa148f.entry.js.map} +0 -0
  704. /package/dist/siemens-ix/{p-4cb9cc30.entry.js.map → p-85423643.entry.js.map} +0 -0
  705. /package/dist/siemens-ix/{p-29be2b67.entry.js.map → p-8629db91.entry.js.map} +0 -0
  706. /package/dist/siemens-ix/{p-6a4545be.entry.js.map → p-87e692d9.entry.js.map} +0 -0
  707. /package/dist/siemens-ix/{p-31af865e.entry.js.map → p-882a0233.entry.js.map} +0 -0
  708. /package/dist/siemens-ix/{p-c62d3f80.entry.js.map → p-8d0758c1.entry.js.map} +0 -0
  709. /package/dist/siemens-ix/{p-6f006293.entry.js.map → p-8d599677.entry.js.map} +0 -0
  710. /package/dist/siemens-ix/{p-4ca27bd7.entry.js.map → p-90440046.entry.js.map} +0 -0
  711. /package/dist/siemens-ix/{p-d6116286.entry.js.map → p-92a18c10.entry.js.map} +0 -0
  712. /package/dist/siemens-ix/{p-3de94029.entry.js.map → p-9ebc4fc3.entry.js.map} +0 -0
  713. /package/dist/siemens-ix/{p-de186f5c.entry.js.map → p-a0a44a2b.entry.js.map} +0 -0
  714. /package/dist/siemens-ix/{p-ed8e1d4f.entry.js.map → p-af099ca4.entry.js.map} +0 -0
  715. /package/dist/siemens-ix/{p-5c367ce7.entry.js.map → p-b3b23af7.entry.js.map} +0 -0
  716. /package/dist/siemens-ix/{p-37c9f425.entry.js.map → p-b4ce366d.entry.js.map} +0 -0
  717. /package/dist/siemens-ix/{p-a73efc31.entry.js.map → p-b663ca16.entry.js.map} +0 -0
  718. /package/dist/siemens-ix/{p-e66fb590.entry.js.map → p-bc2c74c5.entry.js.map} +0 -0
  719. /package/dist/siemens-ix/{p-b1c8c6f1.entry.js.map → p-bea7c748.entry.js.map} +0 -0
  720. /package/dist/siemens-ix/{p-65a19457.entry.js.map → p-bf14c60b.entry.js.map} +0 -0
  721. /package/dist/siemens-ix/{p-6c368289.entry.js.map → p-c1222581.entry.js.map} +0 -0
  722. /package/dist/siemens-ix/{p-a0be36ad.entry.js.map → p-c1968b80.entry.js.map} +0 -0
  723. /package/dist/siemens-ix/{p-b7fa2c5a.entry.js.map → p-c33cee36.entry.js.map} +0 -0
  724. /package/dist/siemens-ix/{p-bc49e7ff.entry.js.map → p-d03df401.entry.js.map} +0 -0
  725. /package/dist/siemens-ix/{p-dddd4a76.entry.js.map → p-d14024d3.entry.js.map} +0 -0
  726. /package/dist/siemens-ix/{p-822fcb6c.entry.js.map → p-d1f49940.entry.js.map} +0 -0
  727. /package/dist/siemens-ix/{p-06cba04a.entry.js.map → p-d95cbd1f.entry.js.map} +0 -0
  728. /package/dist/siemens-ix/{p-127f6463.entry.js.map → p-d998415f.entry.js.map} +0 -0
  729. /package/dist/siemens-ix/{p-bbacfd34.entry.js.map → p-dde7eb80.entry.js.map} +0 -0
  730. /package/dist/siemens-ix/{p-73b070cc.entry.js.map → p-e30ed20a.entry.js.map} +0 -0
  731. /package/dist/siemens-ix/{p-d6d48f1d.entry.js.map → p-e8d3cf35.entry.js.map} +0 -0
  732. /package/dist/siemens-ix/{p-c6234df9.entry.js.map → p-ebb277f0.entry.js.map} +0 -0
  733. /package/dist/siemens-ix/{p-0f8a55ee.entry.js.map → p-f78246bd.entry.js.map} +0 -0
  734. /package/dist/siemens-ix/{p-07f815fa.entry.js.map → p-fb2b78f7.entry.js.map} +0 -0
  735. /package/dist/siemens-ix/{p-644433de.entry.js.map → p-fb47546b.entry.js.map} +0 -0
  736. /package/dist/siemens-ix/{p-77b15444.entry.js.map → p-fb4c79c6.entry.js.map} +0 -0
  737. /package/dist/siemens-ix/{p-45139de2.entry.js.map → p-feac09bc.entry.js.map} +0 -0
  738. /package/dist/siemens-ix/{p-733c69fa.entry.js.map → p-ff1ac5b3.entry.js.map} +0 -0
@@ -70,18 +70,18 @@ const WorkflowStep = /*@__PURE__*/ proxyCustomElement(class WorkflowStep extends
70
70
  }
71
71
  render() {
72
72
  const icons = !this.customIconSlot ? (h(Fragment, null, h("ix-icon", { color: "color-1", name: this.iconName === 'warning' ? 'triangle-filled' : 'circle-filled', class: "absolute", size: "24" }), h("ix-icon", { color: this.iconColor, name: this.iconName, class: "absolute", size: "24" }))) : null;
73
- return (h(Host, { key: 'd2987c7f44e8059f555a505bdf67530836f30c03', class: { 'host-vertical': this.vertical }, onClick: () => this.onStepClick() }, h("div", { key: '2542cd34c0702d09c345fa481dcbca211c8a14d4', tabIndex: 0, class: {
73
+ return (h(Host, { key: '399801862cd971d7a8ed9762cb95b391cce9af01', class: { 'host-vertical': this.vertical }, onClick: () => this.onStepClick() }, h("div", { key: '537f3ef137c71f2f4c24ac79e3ec1dcf577aa0dc', tabIndex: 0, class: {
74
74
  step: true,
75
75
  selected: this.selected,
76
76
  vertical: this.vertical,
77
77
  disabled: this.disabled,
78
78
  clickable: this.clickable && !this.disabled,
79
- } }, h("div", { key: '9efcb40f43fac4ab49214024d0bd094e3c7b52c0', class: "wrapper" }, h("div", { key: '7bd736054896ba1d91d633a83d1f17856aa50985', class: {
79
+ } }, h("div", { key: '2b6c5f19e60bd856a1245e86ddd82b5cf9cbc1b7', class: "wrapper" }, h("div", { key: '40014bcae469af2dfb898b9542389436985f5df7', class: {
80
80
  line: true,
81
81
  selected: this.selected,
82
82
  [this.status]: true,
83
83
  [this.position]: true,
84
- } }), h("div", { key: 'aa6bb63eb6803caa0587f39528805dee7cad7d4d', class: "iconWrapper" }, icons, h("slot", { key: '1e7f5cbc18fb5f1f33e3b1ef6edc404828a428cf', name: "custom-icon" }))), h("div", { key: '2300028b8bc5daecf93f84b2bed7ebbbf69163aa', class: "text" }, h("slot", { key: '4406741d2b5165fd7b11b62298641d600cdadf57' })))));
84
+ } }), h("div", { key: '878858a64710d9046d1707030f71c008c82f4b46', class: "iconWrapper" }, icons, h("slot", { key: '6a409ec904e6ab261ab76a5054d34bc7f52ca6d4', name: "custom-icon" }))), h("div", { key: '592e6f274fca0c93513451c1a8c534a4657ba7bb', class: "text" }, h("slot", { key: 'f5a005065392ade2f520ba18fdf29e0d43ac2036' })))));
85
85
  }
86
86
  get hostElement() { return this; }
87
87
  static get watchers() { return {
@@ -72,7 +72,7 @@ const WorkflowSteps = /*@__PURE__*/ proxyCustomElement(class WorkflowSteps exten
72
72
  this.updateSteps();
73
73
  }
74
74
  render() {
75
- return (h(Host, { key: 'af99c9947b8a4fb552ef46c11366ed39c102d3a4' }, h("div", { key: 'ea41ce20a136ef087fedb7f3fb3c77de2466e881', class: { steps: true, vertical: this.vertical } }, h("slot", { key: 'f24e0e55526b44ada6c922ef79ab0eb581052287' }))));
75
+ return (h(Host, { key: '55b4e6010ba6bc751be94a8790a8dd12d58c9830' }, h("div", { key: 'f8186e2ef01beda230a9f41000ec82456f198ff1', class: { steps: true, vertical: this.vertical } }, h("slot", { key: '1b2d632a8d0ba11a2425809aac3b6f31ce74588b' }))));
76
76
  }
77
77
  get hostElement() { return this; }
78
78
  static get style() { return IxWorkflowStepsStyle0; }
@@ -13,12 +13,12 @@ const LayoutGrid = /*@__PURE__*/ proxyCustomElement(class LayoutGrid extends HTM
13
13
  this.columns = 12;
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: 'e04816c23d075d12ae1cf1cd935322b48c24e249', class: {
16
+ return (h(Host, { key: 'd77291cf3cca2fd4a61c8998a095923f195b3d8f', class: {
17
17
  'no-margin': this.noMargin,
18
18
  }, style: {
19
19
  '--ix-layout-grid-columns': `${this.columns}`,
20
20
  '--ix-layout-grid-gutter': `${this.gap}px`,
21
- } }, h("slot", { key: '5068a91f517f248963912a57ff0a0890cfee9410' })));
21
+ } }, h("slot", { key: 'c149d8a794c75e48d748cccbc3cb9aada30c30ef' })));
22
22
  }
23
23
  static get style() { return IxLayoutGridStyle0; }
24
24
  }, [1, "ix-layout-grid", {
@@ -46,14 +46,14 @@ const MapNavigationOverlay = /*@__PURE__*/ proxyCustomElement(class MapNavigatio
46
46
  }
47
47
  render() {
48
48
  var _a, _b, _c;
49
- return (h(Host, { key: 'c992b5ea02d714ebf9ca9b567c5047d74dc588c7' }, h("div", { key: '6b2312354d083296f7c2daca376d82bd33f50b29', class: "overlay-header" }, h("div", { key: 'be432f47e376532f48a5408f4f080c2a30af9f9c', class: {
49
+ return (h(Host, { key: 'ba9761a6768f6e916af12c4cac2a45700a330516' }, h("div", { key: 'd7d8fbe16ed3146b8e2046d2b072ff0dea862afe', class: "overlay-header" }, h("div", { key: 'de34af360f2b336051fb532b08c579d30d3f6579', class: {
50
50
  'color-indicator': true,
51
51
  'd-none': ((_a = this.iconColor) !== null && _a !== void 0 ? _a : this.color) === undefined,
52
52
  }, style: {
53
53
  'background-color': ((_b = this.iconColor) !== null && _b !== void 0 ? _b : this.color)
54
54
  ? `var(--theme-${(_c = this.iconColor) !== null && _c !== void 0 ? _c : this.color})`
55
55
  : '',
56
- } }), h("div", { key: '41fe4514c4076704cdad94ccef438401ff7f4e41', class: "overlay-header-content" }, h("ix-icon", { key: '815d0df9d50aa9dd91ccd094a7801c215c0f3f7e', size: "32", name: this.icon }), h("span", { key: '670420d4703b65b39c9b0dc4d9031fadb73934da', class: "overlay-header-title", title: this.name }, this.name)), h("ix-icon-button", { key: '3ef17d0836b665787e22f6e9da0e14ccecc15d52', class: "overlay-close", ghost: true, icon: 'close', size: "24", onClick: () => this.closeOverlay() })), h("slot", { key: '4328f4ab00517bc4de787fc45117c14afc309efb' })));
56
+ } }), h("div", { key: 'c7ed1f2c9274d805763837568a403cc9f2a0a6c9', class: "overlay-header-content" }, h("ix-icon", { key: '75ed428d1a2862edb18bb14459f02252d39d8ea4', size: "32", name: this.icon }), h("span", { key: 'ea903f87bf838d4ef2fce43e7453f2f7f98fbb57', class: "overlay-header-title", title: this.name }, this.name)), h("ix-icon-button", { key: 'f0f6c8b720f59dd7d589116fada723e2e0c7c7c0', class: "overlay-close", ghost: true, icon: 'close', size: "24", onClick: () => this.closeOverlay() })), h("slot", { key: 'b7cc3f4acc922c0ba629f444d756e083cc69d5dd' })));
57
57
  }
58
58
  get hostElement() { return this; }
59
59
  static get style() { return IxMapNavigationOverlayStyle0; }
@@ -20,7 +20,7 @@ const MenuAvatarItem = /*@__PURE__*/ proxyCustomElement(class MenuAvatarItem ext
20
20
  return this.dropdownItemRef.waitForCurrent();
21
21
  }
22
22
  render() {
23
- return (h("ix-dropdown-item", { key: 'daf1c8be62496e8c4240eea2394857abb98497d0', ref: this.dropdownItemRef, icon: this.icon, label: this.label, onClick: (e) => this.itemClick.emit(e) }));
23
+ return (h("ix-dropdown-item", { key: 'fe1c225ee8b21aade4ca0e679a5ca389721520a4', ref: this.dropdownItemRef, icon: this.icon, label: this.label, onClick: (e) => this.itemClick.emit(e) }));
24
24
  }
25
25
  get hostElement() { return this; }
26
26
  static get style() { return IxMenuAvatarItemStyle0; }
@@ -36,7 +36,7 @@ const MenuExpandIcon = /*@__PURE__*/ proxyCustomElement(class MenuExpandIcon ext
36
36
  return this.getSmallScreenIcon();
37
37
  }
38
38
  render() {
39
- return (h(Host, { key: '01c334cc036c65c1ba58b1eb2266fec201e7204e', class: {
39
+ return (h(Host, { key: 'c7240a676b21f75e3729f4d80d3c99879fdda313', class: {
40
40
  expanded: this.expanded,
41
41
  } }, this.getMenuIcon()));
42
42
  }
@@ -87,15 +87,15 @@ const MenuItem = /*@__PURE__*/ proxyCustomElement(class MenuItem extends HTMLEle
87
87
  slot: 'bottom',
88
88
  };
89
89
  }
90
- return (h(Host, Object.assign({ key: '777964dc37701b147cba8070470a0dba049ccc9b', class: {
90
+ return (h(Host, Object.assign({ key: '747ed4837d59ca4a8c0afd678fae6e2b79fc70f9', class: {
91
91
  disabled: this.disabled,
92
92
  'home-tab': this.home,
93
93
  'bottom-tab': this.bottom,
94
94
  active: this.active,
95
95
  'tab-nested': this.isHostedInsideCategory,
96
- } }, extendedAttributes), h("button", { key: '20f94fbcf3babdadc83c4c2b4a267c6d74266541', class: "tab", tabIndex: this.disabled ? -1 : 0, role: "listitem", ref: this.buttonRef }, (this.icon || this.tabIcon) && (h("ix-icon", { class: 'tab-icon', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.tabIcon })), this.notifications ? (h("div", { class: "notification" }, h("div", { class: "pill" }, this.notifications))) : null, h("span", { key: 'a168fd4927264ce970c52098a6a4a1263db48f6d', class: "tab-text text-default" }, this.label, " ", h("slot", { key: '36a52eb3d0cd6f96c5c3a6f36bffa1593c78fb1c' }))), !this.isCategory &&
96
+ } }, extendedAttributes), h("button", { key: '882287eba4dcdde8a36f4951716e7db5985bbb73', class: "tab", tabIndex: this.disabled ? -1 : 0, role: "listitem", ref: this.buttonRef }, (this.icon || this.tabIcon) && (h("ix-icon", { key: '2cb056d1b5d45ea266e3315d6bfeb87b9eddb718', class: 'tab-icon', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.tabIcon })), this.notifications ? (h("div", { class: "notification" }, h("div", { class: "pill" }, this.notifications))) : null, h("span", { key: 'daf7c4bc26e1ea027ed208092b39df712716e0a9', class: "tab-text text-default" }, this.label, " ", h("slot", { key: '6cb41c9af3cdda340ad202f8bdcdf643c4883dd9' }))), !this.isCategory &&
97
97
  !this.isHostedInsideCategory &&
98
- !this.menuExpanded && (h("ix-tooltip", { for: this.buttonRef.waitForCurrent(), placement: 'right', showDelay: 1000 }, this.tooltip))));
98
+ !this.menuExpanded && (h("ix-tooltip", { key: '6867e8b37d599f0f2aea88a5a8098f01d74f9357', for: this.buttonRef.waitForCurrent(), placement: 'right', showDelay: 1000 }, this.tooltip))));
99
99
  }
100
100
  get hostElement() { return this; }
101
101
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"menu-item.js","mappings":"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","names":[],"sources":["src/components/menu-item/menu-item.scss?tag=ix-menu-item&encapsulation=shadow","src/components/menu-item/menu-item.tsx"],"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 */\n\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n$menuItemHeight: 3rem;\n$menuItemPadding: 0.875rem;\n\n:host {\n position: relative;\n display: block;\n cursor: pointer;\n\n height: var(--ix-menu-item-height, $menuItemHeight);\n min-height: var(--ix-menu-item-height, $menuItemHeight);\n max-height: var(--ix-menu-item-height, $menuItemHeight);\n\n .tab {\n all: unset;\n box-sizing: border-box;\n display: flex;\n position: relative;\n align-items: center;\n height: var(--ix-menu-item-height, $menuItemHeight);\n width: calc(100%);\n z-index: 500;\n padding-left: $menuItemPadding;\n\n @include ghost-hover-pressed;\n }\n\n .tab-icon {\n color: var(--theme-nav-item-primary-icon--color);\n position: relative;\n pointer-events: none;\n }\n\n .tab:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: -1px;\n }\n\n .notification {\n display: inline-flex;\n position: absolute;\n top: 0.25rem;\n left: 1.5rem;\n\n .pill {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 0.5rem;\n min-width: 1rem;\n position: relative;\n border-radius: 6.25rem;\n background-color: var(--theme-color-primary);\n font-size: 0.75rem;\n font-weight: bold;\n line-height: 1;\n font-family: Siemens Sans, Arial, sans-serif;\n color: var(--theme-color-primary--contrast);\n padding: $tiny-space;\n }\n }\n\n .tab-text {\n @include ellipsis;\n color: var(--theme-nav-item-primary--color);\n margin: 0 1rem 0 1.25rem;\n user-select: none;\n width: 100%;\n }\n}\n\n:host(.active),\n:host(.selected) {\n .tab {\n background-color: var(--theme-nav-item-primary--background--selected);\n }\n\n .tab::before {\n content: '';\n background-color: var(--theme-nav-item-primary--border-color--selected);\n height: var(--ix-menu-item-height, $menuItemHeight);\n width: 0.25rem;\n left: 0;\n position: absolute;\n }\n\n .tab > .glyph {\n color: var(--theme-nav-item-primary-icon--color--selected);\n }\n}\n\n:host(.disabled) {\n color: var(--theme-color-weak-text);\n pointer-events: none;\n cursor: default;\n\n .tab > .tab-icon {\n color: var(--theme-color-weak-text);\n }\n\n .tab-text {\n color: var(--theme-color-weak-text);\n }\n}\n\n:host(.bottom-tab),\n:host([slot='bottom']) {\n $bottom-height: 2.25rem;\n\n min-height: $bottom-height;\n height: $bottom-height;\n max-height: $bottom-height;\n\n .tab {\n height: $bottom-height;\n }\n\n .tab::before {\n height: $bottom-height;\n background-color: transparent;\n }\n\n &.active,\n &.selected {\n &:hover {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n\n &:active {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n }\n}\n\n:host(.bottom-tab.active),\n:host(.bottom-tab.selected),\n:host(.active[slot='bottom']),\n:host(.selected[slot='bottom']) {\n .tab {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n}\n\n:host(.tab-nested) {\n .tab {\n flex-direction: row;\n padding-left: calc(0.5rem + $menuItemPadding);\n\n .notification {\n position: relative;\n top: 0;\n left: 0;\n padding-left: 0.5rem;\n }\n\n .tab-icon {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n\n .tab-text {\n margin-left: 0.5rem;\n }\n\n &::before {\n display: none;\n }\n }\n}\n","/*\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 */\n\nimport {\n Component,\n Element,\n h,\n Host,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { makeRef } from '../utils/make-ref';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @slot menu-item-label Custom label\n */\n@Component({\n tag: 'ix-menu-item',\n styleUrl: 'menu-item.scss',\n shadow: true,\n})\nexport class MenuItem {\n /**\n * Label of the menu item. Will also be used as tooltip text\n *\n * @since 2.2.0\n */\n @Prop() label: string;\n\n /**\n * Move the Tab to a top position.\n */\n @Prop() home = false;\n\n /**\n * Caution: this is no longer working. Please use slot=\"bottom\" instead.\n *\n * Place tab on bottom\n */\n @Prop() bottom = false;\n\n /**\n * Name of the icon you want to display. Icon names can be resolved from the documentation @link https://ix.siemens.io/docs/icon-library/icons\n *\n * @deprecated since 2.0.0 use `icon` property. Will be removed in 3.0.0\n */\n @Prop({ mutable: true }) tabIcon: string;\n\n /**\n * Name of the icon you want to display. Icon names can be resolved from the documentation @link https://ix.siemens.io/docs/icon-library/icons\n */\n @Prop({ mutable: true }) icon: string;\n\n /**\n * Show notification count on tab\n */\n @Prop() notifications: number;\n\n /**\n * State to display active\n */\n @Prop() active: boolean;\n\n /**\n * Disable tab and remove event handlers\n */\n @Prop() disabled: boolean;\n\n /** @internal */\n @Prop() isCategory: boolean;\n\n @Element() hostElement: HTMLIxMenuItemElement;\n\n @State() tooltip: string;\n @State() menuExpanded: boolean;\n\n private buttonRef = makeRef<HTMLButtonElement>();\n private isHostedInsideCategory = false;\n private menuExpandedDisposer: Disposable;\n\n private observer: MutationObserver = createMutationObserver(() => {\n this.tooltip = this.label ?? this.hostElement.innerText;\n });\n\n componentWillLoad() {\n this.isHostedInsideCategory =\n !!this.hostElement.closest('ix-menu-category');\n\n this.onIconChange();\n this.onTabIconChange();\n\n this.menuExpanded = menuController.nativeElement.expand;\n this.menuExpandedDisposer = menuController.expandChange.on(\n (expand) => (this.menuExpanded = expand)\n );\n }\n\n componentWillRender() {\n readTask(() => {\n this.tooltip = this.label ?? this.hostElement.innerText;\n });\n }\n\n connectedCallback() {\n this.observer.observe(this.hostElement, {\n subtree: true,\n childList: true,\n characterData: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.menuExpandedDisposer) {\n this.menuExpandedDisposer.dispose();\n }\n }\n\n @Watch('icon')\n onIconChange() {\n if (\n !this.isHostedInsideCategory &&\n !this.hostElement.icon &&\n !this.hostElement.tabIcon\n ) {\n this.icon = 'document';\n }\n }\n\n @Watch('tabIcon')\n onTabIconChange() {\n if (\n !this.isHostedInsideCategory &&\n !this.hostElement.icon &&\n !this.hostElement.tabIcon\n ) {\n this.tabIcon = 'document';\n }\n }\n\n render() {\n let extendedAttributes = {};\n if (this.home) {\n extendedAttributes = {\n slot: 'home',\n };\n }\n\n if (this.bottom) {\n extendedAttributes = {\n slot: 'bottom',\n };\n }\n return (\n <Host\n class={{\n disabled: this.disabled,\n 'home-tab': this.home,\n 'bottom-tab': this.bottom,\n active: this.active,\n 'tab-nested': this.isHostedInsideCategory,\n }}\n {...extendedAttributes}\n >\n <button\n class=\"tab\"\n tabIndex={this.disabled ? -1 : 0}\n role=\"listitem\"\n ref={this.buttonRef}\n >\n {(this.icon || this.tabIcon) && (\n <ix-icon\n class={'tab-icon'}\n name={this.icon ?? this.tabIcon}\n ></ix-icon>\n )}\n {this.notifications ? (\n <div class=\"notification\">\n <div class=\"pill\">{this.notifications}</div>\n </div>\n ) : null}\n <span class=\"tab-text text-default\">\n {this.label} <slot></slot>\n </span>\n </button>\n {!this.isCategory &&\n !this.isHostedInsideCategory &&\n !this.menuExpanded && (\n <ix-tooltip\n for={this.buttonRef.waitForCurrent()}\n placement={'right'}\n showDelay={1000}\n >\n {this.tooltip}\n </ix-tooltip>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"menu-item.js","mappings":";;;;;;;AAAA,MAAM,WAAW,GAAG,yzGAAyzG,CAAC;AAC90G,yBAAe,WAAW;;MC+Bb,QAAQ;;;;;QAuDX,cAAS,GAAG,OAAO,EAAqB,CAAC;QACzC,2BAAsB,GAAG,KAAK,CAAC;QAG/B,aAAQ,GAAqB,sBAAsB,CAAC;;YAC1D,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SACzD,CAAC,CAAC;;oBAlDY,KAAK;sBAOH,KAAK;;;;;;;;;;IA6CtB,iBAAiB;QACf,IAAI,CAAC,sBAAsB;YACzB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEjD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,CACxD,CAAC,MAAM,MAAM,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CACzC,CAAC;KACH;IAED,mBAAmB;QACjB,QAAQ,CAAC;;YACP,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SACzD,CAAC,CAAC;KACJ;IAED,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;YACtC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;KACJ;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;SACrC;KACF;IAGD,YAAY;QACV,IACE,CAAC,IAAI,CAAC,sBAAsB;YAC5B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;YACtB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EACzB;YACA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;SACxB;KACF;IAGD,eAAe;QACb,IACE,CAAC,IAAI,CAAC,sBAAsB;YAC5B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;YACtB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EACzB;YACA,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;SAC3B;KACF;IAED,MAAM;;QACJ,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,kBAAkB,GAAG;gBACnB,IAAI,EAAE,MAAM;aACb,CAAC;SACH;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,kBAAkB,GAAG;gBACnB,IAAI,EAAE,QAAQ;aACf,CAAC;SACH;QACD,QACE,EAAC,IAAI,mEACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,YAAY,EAAE,IAAI,CAAC,MAAM;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,sBAAsB;aAC1C,IACG,kBAAkB,GAEtB,+DACE,KAAK,EAAC,KAAK,EACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,IAAI,EAAC,UAAU,EACf,GAAG,EAAE,IAAI,CAAC,SAAS,IAElB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,MACzB,gEACE,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,OAAO,GACtB,CACZ,EACA,IAAI,CAAC,aAAa,IACjB,WAAK,KAAK,EAAC,cAAc,IACvB,WAAK,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,aAAa,CAAO,CACxC,IACJ,IAAI,EACR,6DAAM,KAAK,EAAC,uBAAuB,IAChC,IAAI,CAAC,KAAK,OAAE,8DAAa,CACrB,CACA,EACR,CAAC,IAAI,CAAC,UAAU;YACf,CAAC,IAAI,CAAC,sBAAsB;YAC5B,CAAC,IAAI,CAAC,YAAY,KAChB,mEACE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,EACpC,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,IAAI,IAEd,IAAI,CAAC,OAAO,CACF,CACd,CACE,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/menu-item/menu-item.scss?tag=ix-menu-item&encapsulation=shadow","src/components/menu-item/menu-item.tsx"],"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 */\n\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n$menuItemHeight: 3rem;\n$menuItemPadding: 0.875rem;\n\n:host {\n position: relative;\n display: block;\n cursor: pointer;\n\n height: var(--ix-menu-item-height, $menuItemHeight);\n min-height: var(--ix-menu-item-height, $menuItemHeight);\n max-height: var(--ix-menu-item-height, $menuItemHeight);\n\n .tab {\n all: unset;\n box-sizing: border-box;\n display: flex;\n position: relative;\n align-items: center;\n height: var(--ix-menu-item-height, $menuItemHeight);\n width: calc(100%);\n z-index: 500;\n padding-left: $menuItemPadding;\n\n @include ghost-hover-pressed;\n }\n\n .tab-icon {\n color: var(--theme-nav-item-primary-icon--color);\n position: relative;\n pointer-events: none;\n }\n\n .tab:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: -1px;\n }\n\n .notification {\n display: inline-flex;\n position: absolute;\n top: 0.25rem;\n left: 1.5rem;\n\n .pill {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 0.5rem;\n min-width: 1rem;\n position: relative;\n border-radius: 6.25rem;\n background-color: var(--theme-color-primary);\n font-size: 0.75rem;\n font-weight: bold;\n line-height: 1;\n font-family: Siemens Sans, Arial, sans-serif;\n color: var(--theme-color-primary--contrast);\n padding: $tiny-space;\n }\n }\n\n .tab-text {\n @include ellipsis;\n color: var(--theme-nav-item-primary--color);\n margin: 0 1rem 0 1.25rem;\n user-select: none;\n width: 100%;\n }\n}\n\n:host(.active),\n:host(.selected) {\n .tab {\n background-color: var(--theme-nav-item-primary--background--selected);\n }\n\n .tab::before {\n content: '';\n background-color: var(--theme-nav-item-primary--border-color--selected);\n height: var(--ix-menu-item-height, $menuItemHeight);\n width: 0.25rem;\n left: 0;\n position: absolute;\n }\n\n .tab > .glyph {\n color: var(--theme-nav-item-primary-icon--color--selected);\n }\n}\n\n:host(.disabled) {\n color: var(--theme-color-weak-text);\n pointer-events: none;\n cursor: default;\n\n .tab > .tab-icon {\n color: var(--theme-color-weak-text);\n }\n\n .tab-text {\n color: var(--theme-color-weak-text);\n }\n}\n\n:host(.bottom-tab),\n:host([slot='bottom']) {\n $bottom-height: 2.25rem;\n\n min-height: $bottom-height;\n height: $bottom-height;\n max-height: $bottom-height;\n\n .tab {\n height: $bottom-height;\n }\n\n .tab::before {\n height: $bottom-height;\n background-color: transparent;\n }\n\n &.active,\n &.selected {\n &:hover {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n\n &:active {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n }\n}\n\n:host(.bottom-tab.active),\n:host(.bottom-tab.selected),\n:host(.active[slot='bottom']),\n:host(.selected[slot='bottom']) {\n .tab {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n}\n\n:host(.tab-nested) {\n .tab {\n flex-direction: row;\n padding-left: calc(0.5rem + $menuItemPadding);\n\n .notification {\n position: relative;\n top: 0;\n left: 0;\n padding-left: 0.5rem;\n }\n\n .tab-icon {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n\n .tab-text {\n margin-left: 0.5rem;\n }\n\n &::before {\n display: none;\n }\n }\n}\n","/*\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 */\n\nimport {\n Component,\n Element,\n h,\n Host,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { makeRef } from '../utils/make-ref';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @slot menu-item-label Custom label\n */\n@Component({\n tag: 'ix-menu-item',\n styleUrl: 'menu-item.scss',\n shadow: true,\n})\nexport class MenuItem {\n /**\n * Label of the menu item. Will also be used as tooltip text\n *\n * @since 2.2.0\n */\n @Prop() label: string;\n\n /**\n * Move the Tab to a top position.\n */\n @Prop() home = false;\n\n /**\n * Caution: this is no longer working. Please use slot=\"bottom\" instead.\n *\n * Place tab on bottom\n */\n @Prop() bottom = false;\n\n /**\n * Name of the icon you want to display. Icon names can be resolved from the documentation @link https://ix.siemens.io/docs/icon-library/icons\n *\n * @deprecated since 2.0.0 use `icon` property. Will be removed in 3.0.0\n */\n @Prop({ mutable: true }) tabIcon: string;\n\n /**\n * Name of the icon you want to display. Icon names can be resolved from the documentation @link https://ix.siemens.io/docs/icon-library/icons\n */\n @Prop({ mutable: true }) icon: string;\n\n /**\n * Show notification count on tab\n */\n @Prop() notifications: number;\n\n /**\n * State to display active\n */\n @Prop() active: boolean;\n\n /**\n * Disable tab and remove event handlers\n */\n @Prop() disabled: boolean;\n\n /** @internal */\n @Prop() isCategory: boolean;\n\n @Element() hostElement: HTMLIxMenuItemElement;\n\n @State() tooltip: string;\n @State() menuExpanded: boolean;\n\n private buttonRef = makeRef<HTMLButtonElement>();\n private isHostedInsideCategory = false;\n private menuExpandedDisposer: Disposable;\n\n private observer: MutationObserver = createMutationObserver(() => {\n this.tooltip = this.label ?? this.hostElement.innerText;\n });\n\n componentWillLoad() {\n this.isHostedInsideCategory =\n !!this.hostElement.closest('ix-menu-category');\n\n this.onIconChange();\n this.onTabIconChange();\n\n this.menuExpanded = menuController.nativeElement.expand;\n this.menuExpandedDisposer = menuController.expandChange.on(\n (expand) => (this.menuExpanded = expand)\n );\n }\n\n componentWillRender() {\n readTask(() => {\n this.tooltip = this.label ?? this.hostElement.innerText;\n });\n }\n\n connectedCallback() {\n this.observer.observe(this.hostElement, {\n subtree: true,\n childList: true,\n characterData: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.menuExpandedDisposer) {\n this.menuExpandedDisposer.dispose();\n }\n }\n\n @Watch('icon')\n onIconChange() {\n if (\n !this.isHostedInsideCategory &&\n !this.hostElement.icon &&\n !this.hostElement.tabIcon\n ) {\n this.icon = 'document';\n }\n }\n\n @Watch('tabIcon')\n onTabIconChange() {\n if (\n !this.isHostedInsideCategory &&\n !this.hostElement.icon &&\n !this.hostElement.tabIcon\n ) {\n this.tabIcon = 'document';\n }\n }\n\n render() {\n let extendedAttributes = {};\n if (this.home) {\n extendedAttributes = {\n slot: 'home',\n };\n }\n\n if (this.bottom) {\n extendedAttributes = {\n slot: 'bottom',\n };\n }\n return (\n <Host\n class={{\n disabled: this.disabled,\n 'home-tab': this.home,\n 'bottom-tab': this.bottom,\n active: this.active,\n 'tab-nested': this.isHostedInsideCategory,\n }}\n {...extendedAttributes}\n >\n <button\n class=\"tab\"\n tabIndex={this.disabled ? -1 : 0}\n role=\"listitem\"\n ref={this.buttonRef}\n >\n {(this.icon || this.tabIcon) && (\n <ix-icon\n class={'tab-icon'}\n name={this.icon ?? this.tabIcon}\n ></ix-icon>\n )}\n {this.notifications ? (\n <div class=\"notification\">\n <div class=\"pill\">{this.notifications}</div>\n </div>\n ) : null}\n <span class=\"tab-text text-default\">\n {this.label} <slot></slot>\n </span>\n </button>\n {!this.isCategory &&\n !this.isHostedInsideCategory &&\n !this.menuExpanded && (\n <ix-tooltip\n for={this.buttonRef.waitForCurrent()}\n placement={'right'}\n showDelay={1000}\n >\n {this.tooltip}\n </ix-tooltip>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -28,7 +28,7 @@ const MenuSettings = /*@__PURE__*/ proxyCustomElement(class MenuSettings extends
28
28
  forceUpdate(this.el);
29
29
  }
30
30
  render() {
31
- return h(MenuTabs, { key: '6ea4bb42c9f8da5416ba88e72ce537fed3c7949a', context: this });
31
+ return h(MenuTabs, { key: 'f2d6521b17f591cbdd009b220d85ccf1daa2f09c', context: this });
32
32
  }
33
33
  get el() { return this; }
34
34
  static get watchers() { return {
@@ -10,7 +10,7 @@ const ModalContent = /*@__PURE__*/ proxyCustomElement(class ModalContent extends
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: 'ae7d626442e1d32189d5811a76b9921e893a2708' }, h("slot", { key: '09c33581a65e4db3f54ee84f625bf5c601b0178c' })));
13
+ return (h(Host, { key: '709b6b9fda6d3560e4a8b2703f8c72f271490a4c' }, h("slot", { key: '900625af9e6dbb6b0254fb13fc6acc8cb4e98fc4' })));
14
14
  }
15
15
  static get style() { return IxModalContentStyle0; }
16
16
  }, [1, "ix-modal-content"]);
@@ -39,7 +39,7 @@ const ModalHeader = /*@__PURE__*/ proxyCustomElement(class ModalHeader extends H
39
39
  this.parentDialog.dismissModal();
40
40
  }
41
41
  render() {
42
- return (h(Host, { key: '330fd598a3b07d2f41c9f683923101f77d214fe5' }, this.icon ? (h("ix-icon", { class: 'modal-icon', name: this.icon, color: this.iconColor })) : null, h("ix-typography", { key: 'a07ec792401066c71a1f4d50aa318a38c3fbe0ee', variant: 'default-title' }, h("slot", { key: '9c1ba3358ad6efb9971ed896764441c1a3fc4a89' })), !this.hideClose ? (h("ix-icon-button", { onClick: (event) => this.onCloseClick(event), ghost: true, icon: "close", class: 'modal-close' })) : null));
42
+ return (h(Host, { key: 'e0edc0b5eca59209ecbe32b5777383244e6e1153' }, this.icon ? (h("ix-icon", { class: 'modal-icon', name: this.icon, color: this.iconColor })) : null, h("ix-typography", { key: '4981a025990dfc2776afed400aba5cf9114bc44d', variant: 'default-title' }, h("slot", { key: 'd9915d27dbccf15f71b97b6c7e34e294c07e31e7' })), !this.hideClose ? (h("ix-icon-button", { onClick: (event) => this.onCloseClick(event), ghost: true, icon: "close", class: 'modal-close' })) : null));
43
43
  }
44
44
  get hostElement() { return this; }
45
45
  static get watchers() { return {
package/components/row.js CHANGED
@@ -10,7 +10,7 @@ const Row = /*@__PURE__*/ proxyCustomElement(class Row extends HTMLElement {
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: '1ffd343609151d842c357f2e7663e4c772b8ef5a' }, h("slot", { key: 'f3c73ee49974fb8baa706a9b699fe703166f2f96' })));
13
+ return (h(Host, { key: 'b8813e92c151d3f0a6d063a4f03b50f384ef1127' }, h("slot", { key: '5246811d7fb18593758b07a32e58fee15ba34d51' })));
14
14
  }
15
15
  static get style() { return IxRowStyle0; }
16
16
  }, [1, "ix-row"]);
@@ -60,7 +60,7 @@ const SelectItem = /*@__PURE__*/ proxyCustomElement(class SelectItem extends HTM
60
60
  }));
61
61
  }
62
62
  render() {
63
- return (h(Host, { key: '89b4b9f70f1157e728d82d981566d3528c96c2da' }, h("ix-dropdown-item", { key: '3d480e6d1d0a0969f50bf6925101819c8cae9a67', class: {
63
+ return (h(Host, { key: '73a6d9e2c4df3541658f2bdce0a4ec42aea2c5e1' }, h("ix-dropdown-item", { key: 'c8d0563af535129de120a4899d683038f02dad57', class: {
64
64
  'select-item-checked': this.selected,
65
65
  }, checked: this.selected, label: this.label ? this.label : this.value, onItemClick: (e) => this.onItemClick(e) })));
66
66
  }
@@ -134,13 +134,21 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
134
134
  }
135
135
  }
136
136
  itemClick(newId) {
137
- this.value = this.toggleValue(newId);
137
+ const value = this.toggleValue(newId);
138
+ const defaultPrevented = this.emitValueChange(value);
139
+ if (defaultPrevented) {
140
+ return;
141
+ }
142
+ this.value = value;
138
143
  this.updateSelection();
139
- this.emitValueChange();
140
144
  }
141
145
  emitAddItem(value) {
142
146
  if (value === undefined || value.trim() === '') {
143
- return;
147
+ return false;
148
+ }
149
+ const { defaultPrevented } = this.addItem.emit(value);
150
+ if (defaultPrevented) {
151
+ return true;
144
152
  }
145
153
  const newItem = document.createElement('ix-select-item');
146
154
  newItem.value = value;
@@ -148,7 +156,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
148
156
  this.customItemsContainerRef.appendChild(newItem);
149
157
  this.clearInput();
150
158
  this.itemClick(value);
151
- this.addItem.emit(value);
159
+ return false;
152
160
  }
153
161
  toggleValue(itemValue) {
154
162
  if (!this.isMultipleMode) {
@@ -192,14 +200,18 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
192
200
  }
193
201
  this.inputValue = null;
194
202
  }
195
- emitValueChange() {
196
- this.valueChange.emit(this.value);
197
- if (!this.value) {
203
+ emitValueChange(value) {
204
+ const { defaultPrevented } = this.valueChange.emit(value);
205
+ if (defaultPrevented) {
206
+ return true;
207
+ }
208
+ if (!value) {
198
209
  this.itemSelectionChange.emit(null);
199
210
  }
200
211
  else {
201
- this.itemSelectionChange.emit(Array.isArray(this.value) ? this.value : [this.value]);
212
+ this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);
202
213
  }
214
+ return false;
203
215
  }
204
216
  componentDidLoad() {
205
217
  this.inputRef.addEventListener('input', () => {
@@ -261,7 +273,10 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
261
273
  }
262
274
  let item;
263
275
  if (this.editable && !this.itemExists(this.inputFilterText)) {
264
- this.emitAddItem(this.inputFilterText);
276
+ const defaultPrevented = this.emitAddItem(this.inputFilterText);
277
+ if (defaultPrevented) {
278
+ return;
279
+ }
265
280
  item = this.items[this.items.length - 1];
266
281
  }
267
282
  if (item) {
@@ -436,7 +451,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
436
451
  }
437
452
  render() {
438
453
  var _a, _b, _c;
439
- return (h(Host, { key: '4626c1e1caacb41eaebfba7a2dcb438684487212' }, h("div", { key: 'd5d9be9ecfa4ee6b4903c0c3af2efadbf3c43bbf', class: {
454
+ return (h(Host, { key: 'ef836653267a38d82ead34cf82285997083f4086' }, h("div", { key: '23e903c9849f58f70d9c843a7258f913d6811cf2', class: {
440
455
  select: true,
441
456
  disabled: this.disabled,
442
457
  readonly: this.readonly,
@@ -444,13 +459,13 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
444
459
  this.dropdownAnchor = ref;
445
460
  if (!this.editable)
446
461
  this.dropdownWrapperRef = ref;
447
- } }, h("div", { key: '8f6b456b62facaab2b359cb1f2c178395550db8d', class: "input-container" }, h("div", { key: '85148876ea0e9216610397c9279d8a602dcd27e1', class: "chips" }, this.isMultipleMode
462
+ } }, h("div", { key: '56b38a998a44ddc6b8f380cc049e813be30ad711', class: "input-container" }, h("div", { key: 'b3e152d2ab35f3e2bcf2ac8c8df4cb3bc97f6e3c', class: "chips" }, this.isMultipleMode
448
463
  ? (_a = this.selectedItems) === null || _a === void 0 ? void 0 : _a.map((item) => (h("ix-filter-chip", { disabled: this.disabled || this.readonly, key: item.value, onCloseClick: (e) => {
449
464
  e.preventDefault();
450
465
  e.stopPropagation();
451
466
  this.itemClick(item.value);
452
467
  } }, item.label)))
453
- : '', h("div", { key: '990d5c1c006e28921d6e116770ade6cadb02fdf7', class: "trigger" }, h("input", { key: 'a408fe31c5911ff700b3aa9359aa73fed640d327', autocomplete: "off", "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, type: "text", class: {
468
+ : '', h("div", { key: 'f411e24b3c4512731593a4afd5c51f0223254cc9', class: "trigger" }, h("input", { key: '3c16a408ed58a3d2430ed86df32b6d990acb2b49', autocomplete: "off", "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, type: "text", class: {
454
469
  'allow-clear': this.allowClear && !!((_b = this.selectedLabels) === null || _b === void 0 ? void 0 : _b.length),
455
470
  }, placeholder: this.placeholderValue(), value: this.inputValue, ref: (ref) => (this.inputRef = ref), onBlur: (e) => this.onInputBlur(e), onFocus: () => {
456
471
  this.navigationItem = undefined;
@@ -462,21 +477,22 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
462
477
  } })) : null, this.disabled || this.readonly ? null : (h("ix-icon-button", { "data-select-dropdown": true, class: { 'dropdown-visible': this.dropdownShow }, icon: "chevron-down-small", ghost: true, ref: (ref) => {
463
478
  if (this.editable)
464
479
  this.dropdownWrapperRef = ref;
465
- } })))))), h("ix-dropdown", { key: '584c25a81fff55aa9855cd7c93119507023b769f', ref: (ref) => (this.dropdownRef = ref), show: this.dropdownShow, closeBehavior: this.isMultipleMode ? 'outside' : 'both', class: {
480
+ } })))))), h("ix-dropdown", { key: '6c838166f4366d760f30dc102d3dad4611b369b5', ref: (ref) => (this.dropdownRef = ref), show: this.dropdownShow, closeBehavior: this.isMultipleMode ? 'outside' : 'both', class: {
466
481
  'd-none': this.disabled || this.readonly,
467
482
  }, anchor: this.dropdownAnchor, trigger: this.dropdownWrapperRef, onShowChanged: (e) => this.dropdownVisibilityChanged(e), placement: "bottom-start", overwriteDropdownStyle: async () => {
468
483
  return {
469
484
  minWidth: `${this.hostElement.clientWidth}px`,
470
485
  };
471
- } }, h("div", { key: '551f36e908883a074e81d5269e32f1260e0b0abe', class: {
486
+ } }, h("div", { key: '8f7b41436b7f15311dd4d46cbacbb95879de501e', class: {
472
487
  'select-list-header': true,
473
488
  hidden: this.hideListHeader || this.isDropdownEmpty,
474
- }, title: this.i18nSelectListHeader, onClick: (e) => e.preventDefault() }, this.i18nSelectListHeader), h("slot", { key: 'c2b10c1b09dd64eb0ab0a6bc51d43f98e876031a' }), h("div", { key: 'a7076d2f894af20584a45109b397b0362ea6f6a5', ref: (ref) => (this.customItemsContainerRef = ref), class: "d-contents" }), this.isAddItemVisible() ? (h("ix-dropdown-item", { "data-testid": "add-item", icon: 'plus', class: {
489
+ }, title: this.i18nSelectListHeader, onClick: (e) => e.preventDefault() }, this.i18nSelectListHeader), h("slot", { key: 'dc2913881d407f2cdaaa30efc15fa05193117b1c' }), h("div", { key: '706abca5e8fef621d36b560b6ca5629c235a6a32', ref: (ref) => (this.customItemsContainerRef = ref), class: "d-contents" }), this.isAddItemVisible() ? (h("ix-dropdown-item", { "data-testid": "add-item", icon: 'plus', class: {
475
490
  'add-item': true,
476
491
  }, label: this.inputFilterText, onItemClick: (e) => {
477
492
  e.preventDefault();
478
- e.stopPropagation();
479
- this.emitAddItem(this.inputFilterText);
493
+ if (this.emitAddItem(this.inputFilterText)) {
494
+ e.stopPropagation();
495
+ }
480
496
  }, onFocus: () => (this.navigationItem = this.addItemRef), ref: (ref) => {
481
497
  this.addItemRef = ref;
482
498
  } })) : null, this.isDropdownEmpty && !this.editable ? (h("div", { class: "select-list-header" }, this.i18nNoMatches)) : (''))));
@@ -1 +1 @@
1
- {"file":"select.js","mappings":"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","names":[],"sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.tsx"],"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 */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .d-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n","/*\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 */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { ArrowFocusController } from '../utils/focus';\nimport { OnListener } from '../utils/listener';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n})\nexport class Select {\n @Element() hostElement!: HTMLIxSelectElement;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Please select an option';\n\n /**\n * Hint inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem: EventEmitter<string>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[];\n @State() dropdownWrapperRef!: HTMLElement;\n @State() dropdownAnchor!: HTMLElement;\n @State() isDropdownEmpty = false;\n @State() navigationItem: DropdownItemWrapper;\n @State() inputFilterText: string;\n @State() inputValue: string;\n\n private inputRef!: HTMLInputElement;\n private dropdownRef!: HTMLIxDropdownElement;\n private customItemsContainerRef!: HTMLDivElement;\n private addItemRef!: HTMLIxDropdownItemElement;\n\n private itemMutationObserver: MutationObserver;\n\n private arrowFocusController: ArrowFocusController;\n private focusControllerCallbackBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = createMutationObserver(() => {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n } else {\n this.arrowFocusController.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver.disconnect();\n }\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot.querySelector(\n 'ix-dropdown-item'\n );\n\n requestAnimationFrame(() => {\n nestedDropdownItem.shadowRoot.querySelector('button').focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n this.value = this.toggleValue(newId);\n this.updateSelection();\n this.emitValueChange();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n this.addItem.emit(value);\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.isSingleMode && this.selectedLabels?.length) {\n this.inputValue = this.selectedLabels[0];\n this.inputRef && (this.inputRef.value = this.inputValue);\n return;\n }\n\n this.inputValue = null;\n }\n\n private emitValueChange() {\n this.valueChange.emit(this.value);\n\n if (!this.value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(\n Array.isArray(this.value) ? this.value : [this.value]\n );\n }\n }\n\n componentDidLoad() {\n this.inputRef.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n }\n\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n if (this.itemMutationObserver) {\n this.itemMutationObserver.disconnect();\n }\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputRef.focus();\n this.inputRef.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation();\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation() {\n if (this.isMultipleMode) {\n return;\n }\n\n let item: HTMLIxSelectItemElement;\n\n if (this.editable && !this.itemExists(this.inputFilterText)) {\n this.emitAddItem(this.inputFilterText);\n item = this.items[this.items.length - 1];\n }\n\n if (item) {\n item.onItemClick();\n }\n\n await this.dropdownRef?.updatePosition();\n\n if (this.isSingleMode && !this.editable) {\n this.dropdownShow = false;\n }\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = this.visibleNonShadowItems.indexOf(\n document.activeElement as any\n );\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemRef.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as any\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n .querySelector('ix-dropdown-item')\n .shadowRoot.querySelector('button')\n .focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot.querySelector('button').focus();\n this.navigationItem = this.addItemRef;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef.value;\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n this.inputRef.value = '';\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(null);\n this.dropdownShow = false;\n }\n\n private onInputBlur(e) {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n e.target['value'] = this.selectedLabels;\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor = ref;\n if (!this.editable) this.dropdownWrapperRef = ref;\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef = ref;\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor}\n trigger={this.dropdownWrapperRef}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n return {\n minWidth: `${this.hostElement.clientWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot></slot>\n <div\n ref={(ref) => (this.customItemsContainerRef = ref)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n onFocus={() => (this.navigationItem = this.addItemRef)}\n ref={(ref) => {\n this.addItemRef = ref;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"select.js","mappings":"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","names":[],"sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.tsx"],"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 */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .d-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n","/*\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 */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { ArrowFocusController } from '../utils/focus';\nimport { OnListener } from '../utils/listener';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n})\nexport class Select {\n @Element() hostElement!: HTMLIxSelectElement;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Please select an option';\n\n /**\n * Hint inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem: EventEmitter<string>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[];\n @State() dropdownWrapperRef!: HTMLElement;\n @State() dropdownAnchor!: HTMLElement;\n @State() isDropdownEmpty = false;\n @State() navigationItem: DropdownItemWrapper;\n @State() inputFilterText: string;\n @State() inputValue: string;\n\n private inputRef!: HTMLInputElement;\n private dropdownRef!: HTMLIxDropdownElement;\n private customItemsContainerRef!: HTMLDivElement;\n private addItemRef!: HTMLIxDropdownItemElement;\n\n private itemMutationObserver: MutationObserver;\n\n private arrowFocusController: ArrowFocusController;\n private focusControllerCallbackBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = createMutationObserver(() => {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n } else {\n this.arrowFocusController.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver.disconnect();\n }\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot.querySelector(\n 'ix-dropdown-item'\n );\n\n requestAnimationFrame(() => {\n nestedDropdownItem.shadowRoot.querySelector('button').focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const value = this.toggleValue(newId);\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n return;\n }\n\n this.value = value;\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.isSingleMode && this.selectedLabels?.length) {\n this.inputValue = this.selectedLabels[0];\n this.inputRef && (this.inputRef.value = this.inputValue);\n return;\n }\n\n this.inputValue = null;\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n if (!value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);\n }\n\n return false;\n }\n\n componentDidLoad() {\n this.inputRef.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n }\n\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n if (this.itemMutationObserver) {\n this.itemMutationObserver.disconnect();\n }\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputRef.focus();\n this.inputRef.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation();\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation() {\n if (this.isMultipleMode) {\n return;\n }\n\n let item: HTMLIxSelectItemElement;\n\n if (this.editable && !this.itemExists(this.inputFilterText)) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText);\n if (defaultPrevented) {\n return;\n }\n\n item = this.items[this.items.length - 1];\n }\n\n if (item) {\n item.onItemClick();\n }\n\n await this.dropdownRef?.updatePosition();\n\n if (this.isSingleMode && !this.editable) {\n this.dropdownShow = false;\n }\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = this.visibleNonShadowItems.indexOf(\n document.activeElement as any\n );\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemRef.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as any\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n .querySelector('ix-dropdown-item')\n .shadowRoot.querySelector('button')\n .focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot.querySelector('button').focus();\n this.navigationItem = this.addItemRef;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef.value;\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n this.inputRef.value = '';\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(null);\n this.dropdownShow = false;\n }\n\n private onInputBlur(e) {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n e.target['value'] = this.selectedLabels;\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor = ref;\n if (!this.editable) this.dropdownWrapperRef = ref;\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef = ref;\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor}\n trigger={this.dropdownWrapperRef}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n return {\n minWidth: `${this.hostElement.clientWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot></slot>\n <div\n ref={(ref) => (this.customItemsContainerRef = ref)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n if (this.emitAddItem(this.inputFilterText)) {\n e.stopPropagation();\n }\n }}\n onFocus={() => (this.navigationItem = this.addItemRef)}\n ref={(ref) => {\n this.addItemRef = ref;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -64,13 +64,13 @@ class ApplicationLayoutService {
64
64
  breakPointIndex = matchBreakpoints.length - 1;
65
65
  }
66
66
  const [breakpoint, _] = matchBreakpoints[breakPointIndex];
67
- __classPrivateFieldGet(this, _ApplicationLayoutService_breakpointChangeListener, "f").emit(breakpoint);
67
+ requestAnimationFrame(() => __classPrivateFieldGet(this, _ApplicationLayoutService_breakpointChangeListener, "f").emit(breakpoint));
68
68
  __classPrivateFieldSet(this, _ApplicationLayoutService_breakpoint, breakpoint, "f");
69
69
  return;
70
70
  }
71
71
  for (const [breakpoint, match] of matchBreakpoints.reverse()) {
72
72
  if (match) {
73
- __classPrivateFieldGet(this, _ApplicationLayoutService_breakpointChangeListener, "f").emit(breakpoint);
73
+ requestAnimationFrame(() => __classPrivateFieldGet(this, _ApplicationLayoutService_breakpointChangeListener, "f").emit(breakpoint));
74
74
  __classPrivateFieldSet(this, _ApplicationLayoutService_breakpoint, breakpoint, "f");
75
75
  break;
76
76
  }
@@ -1 +1 @@
1
- {"file":"service.js","mappings":"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","names":[],"sources":["src/components/utils/debounce.ts","src/components/utils/application-layout/service.ts"],"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 */\ntype AnyFunction = (...args: any[]) => any;\n\nexport function debounce<T extends AnyFunction>(\n func: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function debounced(...args: Parameters<T>): void {\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func(...args);\n }, delay);\n };\n}\n","/*\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 { Breakpoint, matchBreakpoint } from '../breakpoints';\nimport { debounce } from '../debounce';\nimport { TypedEvent } from '../typed-event';\n\nclass ApplicationLayoutService {\n // Keep order of breakpoints\n #supportedBreakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n #breakpointChangeListener = new TypedEvent<Breakpoint>();\n #breakpoint: Breakpoint = 'lg';\n\n #isDetectionEnabled = true;\n debouncedOnResize = debounce(this.onResize.bind(this), 50);\n\n constructor() {\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', this.debouncedOnResize.bind(this));\n this.debouncedOnResize();\n }\n }\n\n get breakpoint() {\n return this.#breakpoint;\n }\n\n get onChange() {\n return this.#breakpointChangeListener;\n }\n\n get isDetectionEnabled() {\n return this.#isDetectionEnabled;\n }\n\n private onResize() {\n if (!this.#isDetectionEnabled) {\n return;\n }\n if (!this.#supportedBreakpoints) {\n return;\n }\n const matchBreakpoints: [Breakpoint, boolean][] = [];\n\n const breakpoints = this.#supportedBreakpoints;\n\n breakpoints.forEach((breakpoint) => {\n const match = matchBreakpoint(breakpoint);\n matchBreakpoints.push([breakpoint, match]);\n });\n\n if (matchBreakpoints.every(([_, match]) => match === false)) {\n let breakPointIndex = 0;\n if (!this.#supportedBreakpoints.includes('lg')) {\n breakPointIndex = matchBreakpoints.length - 1;\n }\n\n const [breakpoint, _] = matchBreakpoints[breakPointIndex];\n this.#breakpointChangeListener.emit(breakpoint);\n this.#breakpoint = breakpoint;\n return;\n }\n\n for (const [breakpoint, match] of matchBreakpoints.reverse()) {\n if (match) {\n this.#breakpointChangeListener.emit(breakpoint);\n this.#breakpoint = breakpoint;\n break;\n }\n }\n }\n\n public disableBreakpointDetection() {\n this.#isDetectionEnabled = false;\n }\n\n public enableBreakpointDetection() {\n this.#isDetectionEnabled = true;\n }\n\n public setBreakpoint(breakpoint: Breakpoint) {\n this.#breakpoint = breakpoint;\n this.#breakpointChangeListener.emit(breakpoint);\n }\n\n public setBreakpoints(breakpoints: Breakpoint[]) {\n this.#supportedBreakpoints = breakpoints;\n this.onResize();\n }\n}\n\nexport const applicationLayoutService = new ApplicationLayoutService();\n"],"version":3}
1
+ {"file":"service.js","mappings":"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","names":[],"sources":["src/components/utils/debounce.ts","src/components/utils/application-layout/service.ts"],"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 */\ntype AnyFunction = (...args: any[]) => any;\n\nexport function debounce<T extends AnyFunction>(\n func: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function debounced(...args: Parameters<T>): void {\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func(...args);\n }, delay);\n };\n}\n","/*\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 { Breakpoint, matchBreakpoint } from '../breakpoints';\nimport { debounce } from '../debounce';\nimport { TypedEvent } from '../typed-event';\n\nclass ApplicationLayoutService {\n // Keep order of breakpoints\n #supportedBreakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n #breakpointChangeListener = new TypedEvent<Breakpoint>();\n #breakpoint: Breakpoint = 'lg';\n\n #isDetectionEnabled = true;\n debouncedOnResize = debounce(this.onResize.bind(this), 50);\n\n constructor() {\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', this.debouncedOnResize.bind(this));\n this.debouncedOnResize();\n }\n }\n\n get breakpoint() {\n return this.#breakpoint;\n }\n\n get onChange() {\n return this.#breakpointChangeListener;\n }\n\n get isDetectionEnabled() {\n return this.#isDetectionEnabled;\n }\n\n private onResize() {\n if (!this.#isDetectionEnabled) {\n return;\n }\n if (!this.#supportedBreakpoints) {\n return;\n }\n const matchBreakpoints: [Breakpoint, boolean][] = [];\n\n const breakpoints = this.#supportedBreakpoints;\n\n breakpoints.forEach((breakpoint) => {\n const match = matchBreakpoint(breakpoint);\n matchBreakpoints.push([breakpoint, match]);\n });\n\n if (matchBreakpoints.every(([_, match]) => match === false)) {\n let breakPointIndex = 0;\n if (!this.#supportedBreakpoints.includes('lg')) {\n breakPointIndex = matchBreakpoints.length - 1;\n }\n\n const [breakpoint, _] = matchBreakpoints[breakPointIndex];\n requestAnimationFrame(() =>\n this.#breakpointChangeListener.emit(breakpoint)\n );\n this.#breakpoint = breakpoint;\n return;\n }\n\n for (const [breakpoint, match] of matchBreakpoints.reverse()) {\n if (match) {\n requestAnimationFrame(() =>\n this.#breakpointChangeListener.emit(breakpoint)\n );\n this.#breakpoint = breakpoint;\n break;\n }\n }\n }\n\n public disableBreakpointDetection() {\n this.#isDetectionEnabled = false;\n }\n\n public enableBreakpointDetection() {\n this.#isDetectionEnabled = true;\n }\n\n public setBreakpoint(breakpoint: Breakpoint) {\n this.#breakpoint = breakpoint;\n this.#breakpointChangeListener.emit(breakpoint);\n }\n\n public setBreakpoints(breakpoints: Breakpoint[]) {\n this.#supportedBreakpoints = breakpoints;\n this.onResize();\n }\n}\n\nexport const applicationLayoutService = new ApplicationLayoutService();\n"],"version":3}