@siemens/ix 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/components/application-header.js +3 -3
  2. package/components/application-header.js.map +1 -1
  3. package/components/card-content.js +1 -1
  4. package/components/card-title.js +1 -1
  5. package/components/date-picker.js +4 -4
  6. package/components/date-time-card.js +1 -1
  7. package/components/divider.js +1 -1
  8. package/components/dropdown-item.js +3 -3
  9. package/components/dropdown.js +5 -2
  10. package/components/dropdown.js.map +1 -1
  11. package/components/filter-chip.js +1 -1
  12. package/components/group-context-menu.js +1 -1
  13. package/components/group-item.js +2 -2
  14. package/components/icon-button.js +1 -1
  15. package/components/ix-application-sidebar.js +1 -1
  16. package/components/ix-application-switch-modal.js +1 -1
  17. package/components/ix-application-switch-modal.js.map +1 -1
  18. package/components/ix-application.js +3 -3
  19. package/components/ix-basic-navigation.js +2 -2
  20. package/components/ix-breadcrumb.js +2 -2
  21. package/components/ix-card-list.js +4 -4
  22. package/components/ix-category-filter.js +3 -3
  23. package/components/ix-chip.js +4 -4
  24. package/components/ix-content.js +3 -3
  25. package/components/ix-css-grid-item.js +1 -1
  26. package/components/ix-date-dropdown.js +3 -3
  27. package/components/ix-date-dropdown.js.map +1 -1
  28. package/components/ix-datetime-picker.js +1 -1
  29. package/components/ix-drawer.js +2 -2
  30. package/components/ix-dropdown-button.js +2 -2
  31. package/components/ix-dropdown-header.js +1 -1
  32. package/components/ix-dropdown-quick-actions.js +1 -1
  33. package/components/ix-empty-state.js +1 -1
  34. package/components/ix-empty-state.js.map +1 -1
  35. package/components/ix-event-list-item.js +4 -4
  36. package/components/ix-event-list-item.js.map +1 -1
  37. package/components/ix-event-list.js +2 -2
  38. package/components/ix-expanding-search.js +4 -4
  39. package/components/ix-flip-tile-content.js +1 -1
  40. package/components/ix-flip-tile.js +4 -4
  41. package/components/ix-form-field.js +1 -1
  42. package/components/ix-group.js +8 -8
  43. package/components/ix-icon-toggle-button.js +1 -1
  44. package/components/ix-input-group.js +1 -1
  45. package/components/ix-key-value-list.js +1 -1
  46. package/components/ix-key-value.js +1 -1
  47. package/components/ix-key-value.js.map +1 -1
  48. package/components/ix-kpi.js +3 -3
  49. package/components/ix-link-button.js +3 -3
  50. package/components/ix-map-navigation.js +2 -2
  51. package/components/ix-menu-about-item.js +1 -1
  52. package/components/ix-menu-about-news.js +4 -4
  53. package/components/ix-menu-about.js +1 -1
  54. package/components/ix-menu-avatar.js +2 -2
  55. package/components/ix-menu-category.js +5 -5
  56. package/components/ix-menu-settings-item.js +1 -1
  57. package/components/ix-menu.js +11 -11
  58. package/components/ix-menu.js.map +1 -1
  59. package/components/ix-message-bar.js +1 -1
  60. package/components/ix-modal-example.js +1 -1
  61. package/components/ix-modal-footer.js +1 -1
  62. package/components/ix-modal-loading.js +1 -1
  63. package/components/ix-modal.js +3 -3
  64. package/components/ix-pagination.js +2 -2
  65. package/components/ix-pane-layout.js +1 -1
  66. package/components/ix-pane.js +6 -6
  67. package/components/ix-pill.js +4 -4
  68. package/components/ix-playground-internal.js +1 -1
  69. package/components/ix-push-card.js +1 -1
  70. package/components/ix-slider.js +6 -6
  71. package/components/ix-split-button-item.js +1 -1
  72. package/components/ix-split-button.js +1 -1
  73. package/components/ix-tile.js +4 -4
  74. package/components/ix-toast-container.js +2 -2
  75. package/components/ix-toggle-button.js +2 -2
  76. package/components/ix-toggle.js +2 -2
  77. package/components/ix-tree.js +1 -1
  78. package/components/ix-upload.js +3 -3
  79. package/components/ix-validation-tooltip.js +2 -2
  80. package/components/ix-workflow-step.js +3 -3
  81. package/components/ix-workflow-steps.js +1 -1
  82. package/components/layout-grid.js +2 -2
  83. package/components/map-navigation-overlay.js +2 -2
  84. package/components/menu-avatar-item.js +1 -1
  85. package/components/menu-expand-icon.js +1 -1
  86. package/components/menu-item.js +3 -3
  87. package/components/menu-item.js.map +1 -1
  88. package/components/menu-tabs-fc.js +1 -1
  89. package/components/modal-content.js +1 -1
  90. package/components/modal-header.js +1 -1
  91. package/components/row.js +1 -1
  92. package/components/select-item.js +1 -1
  93. package/components/select.js +33 -17
  94. package/components/select.js.map +1 -1
  95. package/components/spinner.js +1 -1
  96. package/components/tab-item.js +3 -3
  97. package/components/tab-item.js.map +1 -1
  98. package/components/tabs.js +2 -2
  99. package/components/time-picker.js +3 -3
  100. package/components/toast.js +2 -2
  101. package/components/tooltip.js +2 -2
  102. package/components/tree-item.js +4 -4
  103. package/dist/cjs/{base-button-bf6a6f0c.js → base-button-3735b8c2.js} +2 -2
  104. package/dist/cjs/{base-button-bf6a6f0c.js.map → base-button-3735b8c2.js.map} +1 -1
  105. package/dist/cjs/{base-icon-button-e95a232c.js → base-icon-button-44c72bc8.js} +3 -3
  106. package/dist/cjs/{base-icon-button-e95a232c.js.map → base-icon-button-44c72bc8.js.map} +1 -1
  107. package/dist/cjs/index-529f21c1.js +2122 -0
  108. package/dist/cjs/index-529f21c1.js.map +1 -0
  109. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  110. package/dist/cjs/ix-application-header.cjs.entry.js +4 -4
  111. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
  113. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
  114. package/dist/cjs/ix-application-switch-modal.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ix-application.cjs.entry.js +4 -4
  116. package/dist/cjs/ix-avatar_2.cjs.entry.js +3 -3
  117. package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
  118. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  119. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  120. package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
  121. package/dist/cjs/ix-button.cjs.entry.js +2 -2
  122. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  123. package/dist/cjs/ix-card-list.cjs.entry.js +5 -5
  124. package/dist/cjs/ix-card_2.cjs.entry.js +2 -2
  125. package/dist/cjs/ix-category-filter.cjs.entry.js +5 -5
  126. package/dist/cjs/ix-chip.cjs.entry.js +5 -5
  127. package/dist/cjs/ix-col_4.cjs.entry.js +9 -9
  128. package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
  129. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  130. package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
  131. package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
  132. package/dist/cjs/ix-date-dropdown.cjs.entry.js +4 -4
  133. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  134. package/dist/cjs/ix-date-time-card.cjs.entry.js +2 -2
  135. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  136. package/dist/cjs/ix-divider.cjs.entry.js +2 -2
  137. package/dist/cjs/ix-drawer.cjs.entry.js +3 -3
  138. package/dist/cjs/ix-dropdown-button.cjs.entry.js +3 -3
  139. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  140. package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
  141. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
  142. package/dist/cjs/ix-dropdown.cjs.entry.js +6 -3
  143. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  144. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  145. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  146. package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
  147. package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
  148. package/dist/cjs/ix-event-list.cjs.entry.js +3 -3
  149. package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
  150. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
  151. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
  152. package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
  153. package/dist/cjs/ix-form-field.cjs.entry.js +2 -2
  154. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
  155. package/dist/cjs/ix-group.cjs.entry.js +9 -9
  156. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  157. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +4 -4
  158. package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
  159. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  160. package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
  161. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  162. package/dist/cjs/ix-kpi.cjs.entry.js +4 -4
  163. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  164. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +3 -3
  165. package/dist/cjs/ix-map-navigation.cjs.entry.js +3 -3
  166. package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
  167. package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
  168. package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
  169. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  170. package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
  171. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +3 -3
  172. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  173. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  174. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
  175. package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
  176. package/dist/cjs/ix-menu.cjs.entry.js +12 -12
  177. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  178. package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
  179. package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
  180. package/dist/cjs/ix-modal-example.cjs.entry.js +2 -2
  181. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  182. package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
  183. package/dist/cjs/ix-modal.cjs.entry.js +5 -5
  184. package/dist/cjs/ix-pagination.cjs.entry.js +4 -4
  185. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
  186. package/dist/cjs/ix-pane.cjs.entry.js +7 -7
  187. package/dist/cjs/ix-pill.cjs.entry.js +5 -5
  188. package/dist/cjs/ix-playground-internal.cjs.entry.js +2 -2
  189. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  190. package/dist/cjs/ix-select.cjs.entry.js +35 -19
  191. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  192. package/dist/cjs/ix-slider.cjs.entry.js +8 -8
  193. package/dist/cjs/ix-split-button-item.cjs.entry.js +2 -2
  194. package/dist/cjs/ix-split-button.cjs.entry.js +2 -2
  195. package/dist/cjs/ix-tab-item_2.cjs.entry.js +6 -6
  196. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  197. package/dist/cjs/ix-tile.cjs.entry.js +5 -5
  198. package/dist/cjs/ix-time-picker.cjs.entry.js +4 -4
  199. package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
  200. package/dist/cjs/ix-toast.cjs.entry.js +3 -3
  201. package/dist/cjs/ix-toggle-button.cjs.entry.js +4 -4
  202. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  203. package/dist/cjs/ix-tooltip.cjs.entry.js +4 -4
  204. package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
  205. package/dist/cjs/ix-tree.cjs.entry.js +2 -2
  206. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  207. package/dist/cjs/ix-upload.cjs.entry.js +4 -4
  208. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
  209. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  210. package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
  211. package/dist/cjs/{listener-86a645ec.js → listener-bc3e7c0c.js} +2 -2
  212. package/dist/cjs/{listener-86a645ec.js.map → listener-bc3e7c0c.js.map} +1 -1
  213. package/dist/cjs/loader.cjs.js +1 -1
  214. package/dist/cjs/{menu-tabs-fc-a06afb9a.js → menu-tabs-fc-df53f176.js} +3 -3
  215. package/dist/cjs/{menu-tabs-fc-a06afb9a.js.map → menu-tabs-fc-df53f176.js.map} +1 -1
  216. package/dist/cjs/siemens-ix.cjs.js +9 -9
  217. package/dist/cjs/siemens-ix.cjs.js.map +1 -1
  218. package/dist/collection/collection-manifest.json +2 -2
  219. package/dist/collection/components/application/application.js +3 -3
  220. package/dist/collection/components/application-header/application-header.js +3 -3
  221. package/dist/collection/components/application-header/application-header.js.map +1 -1
  222. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  223. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  224. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  225. package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
  226. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  227. package/dist/collection/components/card-content/card-content.js +1 -1
  228. package/dist/collection/components/card-list/card-list.js +4 -4
  229. package/dist/collection/components/card-title/card-title.js +1 -1
  230. package/dist/collection/components/category-filter/category-filter.js +3 -3
  231. package/dist/collection/components/chip/chip.js +4 -4
  232. package/dist/collection/components/content/content.js +3 -3
  233. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  234. package/dist/collection/components/date-dropdown/date-dropdown.js +3 -3
  235. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  236. package/dist/collection/components/date-picker/date-picker.js +4 -4
  237. package/dist/collection/components/date-time-card/date-time-card.js +1 -1
  238. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  239. package/dist/collection/components/divider/divider.js +1 -1
  240. package/dist/collection/components/drawer/drawer.js +2 -2
  241. package/dist/collection/components/dropdown/dropdown.js +5 -2
  242. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  243. package/dist/collection/components/dropdown-button/dropdown-button.ct.js +28 -0
  244. package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +1 -1
  245. package/dist/collection/components/dropdown-button/dropdown-button.js +2 -2
  246. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  247. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  248. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  249. package/dist/collection/components/empty-state/empty-state.js +1 -1
  250. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  251. package/dist/collection/components/event-list/event-list.js +2 -2
  252. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  253. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  254. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  255. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  256. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  257. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  258. package/dist/collection/components/form-field/form-field.js +1 -1
  259. package/dist/collection/components/grid/layout-grid.js +2 -2
  260. package/dist/collection/components/group/group-context-menu.js +1 -1
  261. package/dist/collection/components/group/group.js +8 -8
  262. package/dist/collection/components/group-item/group-item.js +2 -2
  263. package/dist/collection/components/icon-button/icon-button.js +1 -1
  264. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  265. package/dist/collection/components/input-group/input-group.js +1 -1
  266. package/dist/collection/components/key-value/key-value.js +1 -1
  267. package/dist/collection/components/key-value/key-value.js.map +1 -1
  268. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  269. package/dist/collection/components/kpi/kpi.js +3 -3
  270. package/dist/collection/components/link-button/link-button.js +3 -3
  271. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  272. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  273. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  274. package/dist/collection/components/menu/menu.js +11 -11
  275. package/dist/collection/components/menu/menu.js.map +1 -1
  276. package/dist/collection/components/menu-about/menu-about.js +1 -1
  277. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  278. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  279. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  280. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  281. package/dist/collection/components/menu-category/menu-category.js +5 -5
  282. package/dist/collection/components/menu-item/menu-item.js +3 -3
  283. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  284. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  285. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  286. package/dist/collection/components/message-bar/message-bar.js +1 -1
  287. package/dist/collection/components/modal/modal.js +3 -3
  288. package/dist/collection/components/modal-content/modal-content.js +1 -1
  289. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  290. package/dist/collection/components/modal-header/modal-header.js +1 -1
  291. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  292. package/dist/collection/components/pagination/pagination.js +2 -2
  293. package/dist/collection/components/pane/pane.js +6 -6
  294. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  295. package/dist/collection/components/pill/pill.js +4 -4
  296. package/dist/collection/components/playground/example-modal.js +1 -1
  297. package/dist/collection/components/playground/playground.js +1 -1
  298. package/dist/collection/components/push-card/push-card.js +1 -1
  299. package/dist/collection/components/row/row.js +1 -1
  300. package/dist/collection/components/select/select.js +33 -17
  301. package/dist/collection/components/select/select.js.map +1 -1
  302. package/dist/collection/components/select/test/select.ct.js +107 -36
  303. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  304. package/dist/collection/components/select-item/select-item.js +1 -1
  305. package/dist/collection/components/slider/slider.js +6 -6
  306. package/dist/collection/components/spinner/spinner.js +1 -1
  307. package/dist/collection/components/split-button/split-button.js +1 -1
  308. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  309. package/dist/collection/components/tab-item/tab-item.js +4 -4
  310. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  311. package/dist/collection/components/tabs/tabs.js +2 -2
  312. package/dist/collection/components/tile/tile.js +4 -4
  313. package/dist/collection/components/time-picker/time-picker.js +3 -3
  314. package/dist/collection/components/toast/toast-container.js +2 -2
  315. package/dist/collection/components/toast/toast.js +2 -2
  316. package/dist/collection/components/toggle/toggle.js +2 -2
  317. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  318. package/dist/collection/components/tooltip/tooltip.js +2 -2
  319. package/dist/collection/components/tree/tree.js +1 -1
  320. package/dist/collection/components/tree-item/tree-item.js +4 -4
  321. package/dist/collection/components/upload/upload.js +3 -3
  322. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  323. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  324. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  325. package/dist/esm/{base-button-a1f04cd1.js → base-button-1b40b11d.js} +2 -2
  326. package/dist/esm/{base-button-a1f04cd1.js.map → base-button-1b40b11d.js.map} +1 -1
  327. package/dist/esm/{base-icon-button-368f0241.js → base-icon-button-bc1dabe0.js} +3 -3
  328. package/dist/esm/{base-icon-button-368f0241.js.map → base-icon-button-bc1dabe0.js.map} +1 -1
  329. package/dist/esm/index-5429f20b.js +2090 -0
  330. package/dist/esm/index-5429f20b.js.map +1 -0
  331. package/dist/esm/ix-action-card.entry.js +1 -1
  332. package/dist/esm/ix-application-header.entry.js +4 -4
  333. package/dist/esm/ix-application-header.entry.js.map +1 -1
  334. package/dist/esm/ix-application-sidebar.entry.js +2 -2
  335. package/dist/esm/ix-application-switch-modal.entry.js +2 -2
  336. package/dist/esm/ix-application-switch-modal.entry.js.map +1 -1
  337. package/dist/esm/ix-application.entry.js +4 -4
  338. package/dist/esm/ix-avatar_2.entry.js +3 -3
  339. package/dist/esm/ix-basic-navigation.entry.js +3 -3
  340. package/dist/esm/ix-blind.entry.js +1 -1
  341. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  342. package/dist/esm/ix-breadcrumb.entry.js +3 -3
  343. package/dist/esm/ix-button.entry.js +2 -2
  344. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  345. package/dist/esm/ix-card-list.entry.js +5 -5
  346. package/dist/esm/ix-card_2.entry.js +2 -2
  347. package/dist/esm/ix-category-filter.entry.js +5 -5
  348. package/dist/esm/ix-chip.entry.js +5 -5
  349. package/dist/esm/ix-col_4.entry.js +9 -9
  350. package/dist/esm/ix-content-header.entry.js +1 -1
  351. package/dist/esm/ix-content.entry.js +4 -4
  352. package/dist/esm/ix-css-grid-item.entry.js +2 -2
  353. package/dist/esm/ix-css-grid.entry.js +1 -1
  354. package/dist/esm/ix-date-dropdown.entry.js +4 -4
  355. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  356. package/dist/esm/ix-date-time-card.entry.js +2 -2
  357. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  358. package/dist/esm/ix-divider.entry.js +2 -2
  359. package/dist/esm/ix-drawer.entry.js +3 -3
  360. package/dist/esm/ix-dropdown-button.entry.js +3 -3
  361. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  362. package/dist/esm/ix-dropdown-item.entry.js +4 -4
  363. package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
  364. package/dist/esm/ix-dropdown.entry.js +6 -3
  365. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  366. package/dist/esm/ix-empty-state.entry.js +2 -2
  367. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  368. package/dist/esm/ix-event-list-item.entry.js +5 -5
  369. package/dist/esm/ix-event-list-item.entry.js.map +1 -1
  370. package/dist/esm/ix-event-list.entry.js +3 -3
  371. package/dist/esm/ix-expanding-search.entry.js +5 -5
  372. package/dist/esm/ix-filter-chip_2.entry.js +3 -3
  373. package/dist/esm/ix-flip-tile-content.entry.js +2 -2
  374. package/dist/esm/ix-flip-tile.entry.js +5 -5
  375. package/dist/esm/ix-form-field.entry.js +2 -2
  376. package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
  377. package/dist/esm/ix-group.entry.js +9 -9
  378. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  379. package/dist/esm/ix-icon-toggle-button.entry.js +4 -4
  380. package/dist/esm/ix-input-group.entry.js +2 -2
  381. package/dist/esm/ix-key-value-list.entry.js +2 -2
  382. package/dist/esm/ix-key-value.entry.js +2 -2
  383. package/dist/esm/ix-key-value.entry.js.map +1 -1
  384. package/dist/esm/ix-kpi.entry.js +4 -4
  385. package/dist/esm/ix-link-button.entry.js +4 -4
  386. package/dist/esm/ix-map-navigation-overlay.entry.js +3 -3
  387. package/dist/esm/ix-map-navigation.entry.js +3 -3
  388. package/dist/esm/ix-menu-about-item.entry.js +2 -2
  389. package/dist/esm/ix-menu-about-news.entry.js +5 -5
  390. package/dist/esm/ix-menu-about.entry.js +3 -3
  391. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  392. package/dist/esm/ix-menu-category.entry.js +6 -6
  393. package/dist/esm/ix-menu-expand-icon.entry.js +3 -3
  394. package/dist/esm/ix-menu-item.entry.js +4 -4
  395. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  396. package/dist/esm/ix-menu-settings-item.entry.js +2 -2
  397. package/dist/esm/ix-menu-settings.entry.js +2 -2
  398. package/dist/esm/ix-menu.entry.js +12 -12
  399. package/dist/esm/ix-menu.entry.js.map +1 -1
  400. package/dist/esm/ix-message-bar.entry.js +2 -2
  401. package/dist/esm/ix-modal-content_2.entry.js +3 -3
  402. package/dist/esm/ix-modal-example.entry.js +2 -2
  403. package/dist/esm/ix-modal-footer.entry.js +2 -2
  404. package/dist/esm/ix-modal-loading.entry.js +2 -2
  405. package/dist/esm/ix-modal.entry.js +5 -5
  406. package/dist/esm/ix-pagination.entry.js +4 -4
  407. package/dist/esm/ix-pane-layout.entry.js +2 -2
  408. package/dist/esm/ix-pane.entry.js +7 -7
  409. package/dist/esm/ix-pill.entry.js +5 -5
  410. package/dist/esm/ix-playground-internal.entry.js +2 -2
  411. package/dist/esm/ix-push-card.entry.js +2 -2
  412. package/dist/esm/ix-select.entry.js +35 -19
  413. package/dist/esm/ix-select.entry.js.map +1 -1
  414. package/dist/esm/ix-slider.entry.js +8 -8
  415. package/dist/esm/ix-split-button-item.entry.js +2 -2
  416. package/dist/esm/ix-split-button.entry.js +2 -2
  417. package/dist/esm/ix-tab-item_2.entry.js +6 -6
  418. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  419. package/dist/esm/ix-tile.entry.js +5 -5
  420. package/dist/esm/ix-time-picker.entry.js +4 -4
  421. package/dist/esm/ix-toast-container.entry.js +3 -3
  422. package/dist/esm/ix-toast.entry.js +3 -3
  423. package/dist/esm/ix-toggle-button.entry.js +4 -4
  424. package/dist/esm/ix-toggle.entry.js +3 -3
  425. package/dist/esm/ix-tooltip.entry.js +4 -4
  426. package/dist/esm/ix-tree-item.entry.js +5 -5
  427. package/dist/esm/ix-tree.entry.js +2 -2
  428. package/dist/esm/ix-typography.entry.js +1 -1
  429. package/dist/esm/ix-upload.entry.js +4 -4
  430. package/dist/esm/ix-validation-tooltip.entry.js +3 -3
  431. package/dist/esm/ix-workflow-step.entry.js +4 -4
  432. package/dist/esm/ix-workflow-steps.entry.js +2 -2
  433. package/dist/esm/{listener-2d09646e.js → listener-4f3baab5.js} +2 -2
  434. package/dist/esm/{listener-2d09646e.js.map → listener-4f3baab5.js.map} +1 -1
  435. package/dist/esm/loader.js +2 -2
  436. package/dist/esm/{menu-tabs-fc-60ff0221.js → menu-tabs-fc-d9a7dd06.js} +3 -3
  437. package/dist/esm/{menu-tabs-fc-60ff0221.js.map → menu-tabs-fc-d9a7dd06.js.map} +1 -1
  438. package/dist/esm/siemens-ix.js +10 -10
  439. package/dist/esm/siemens-ix.js.map +1 -1
  440. package/dist/siemens-ix/{p-fbb851f3.entry.js → p-052340f9.entry.js} +2 -2
  441. package/dist/siemens-ix/{p-064172e5.entry.js → p-0653a145.entry.js} +2 -2
  442. package/dist/siemens-ix/{p-064172e5.entry.js.map → p-0653a145.entry.js.map} +1 -1
  443. package/dist/siemens-ix/{p-193f7439.entry.js → p-0b4e398e.entry.js} +2 -2
  444. package/dist/siemens-ix/{p-d6cef0ad.js → p-0c8a98cd.js} +2 -2
  445. package/dist/siemens-ix/p-0d2a6886.entry.js +2 -0
  446. package/dist/siemens-ix/{p-8d836d6f.entry.js → p-0f7ef743.entry.js} +2 -2
  447. package/dist/siemens-ix/{p-d4fdbc68.entry.js → p-112069ca.entry.js} +2 -2
  448. package/dist/siemens-ix/p-112069ca.entry.js.map +1 -0
  449. package/dist/siemens-ix/{p-d57ab230.entry.js → p-113cc793.entry.js} +2 -2
  450. package/dist/siemens-ix/{p-442f750a.entry.js → p-14a41c8c.entry.js} +2 -2
  451. package/dist/siemens-ix/{p-5231ebe9.entry.js → p-15b3c17e.entry.js} +2 -2
  452. package/dist/siemens-ix/p-16b923e9.entry.js +2 -0
  453. package/dist/siemens-ix/{p-d6690de0.entry.js → p-1a122c76.entry.js} +2 -2
  454. package/dist/siemens-ix/{p-072cb3c7.entry.js → p-1cff59db.entry.js} +2 -2
  455. package/dist/siemens-ix/{p-719a3a11.js → p-1d581190.js} +2 -2
  456. package/dist/siemens-ix/{p-c50cdde4.js → p-1db6be55.js} +2 -2
  457. package/dist/siemens-ix/{p-8c126c50.entry.js → p-1f4b8463.entry.js} +2 -2
  458. package/dist/siemens-ix/{p-a419c1a8.entry.js → p-24a8737a.entry.js} +2 -2
  459. package/dist/siemens-ix/{p-7a337fdb.entry.js → p-2908cacd.entry.js} +2 -2
  460. package/dist/siemens-ix/{p-9ad52791.entry.js → p-2946fd70.entry.js} +2 -2
  461. package/dist/siemens-ix/{p-e14472c8.entry.js → p-29df2e29.entry.js} +2 -2
  462. package/dist/siemens-ix/{p-d80c0aff.entry.js → p-2c4c03d4.entry.js} +2 -2
  463. package/dist/siemens-ix/{p-e42a3069.entry.js → p-2ebfd4fd.entry.js} +2 -2
  464. package/dist/siemens-ix/{p-5f364337.entry.js → p-2ec7f841.entry.js} +2 -2
  465. package/dist/siemens-ix/{p-5f364337.entry.js.map → p-2ec7f841.entry.js.map} +1 -1
  466. package/dist/siemens-ix/{p-f7b91326.entry.js → p-309ac3ad.entry.js} +2 -2
  467. package/dist/siemens-ix/{p-a55105d1.entry.js → p-315f070d.entry.js} +2 -2
  468. package/dist/siemens-ix/p-32375ddb.entry.js +2 -0
  469. package/dist/siemens-ix/p-32d4ed3b.entry.js +2 -0
  470. package/dist/siemens-ix/{p-1befce78.entry.js → p-427676f4.entry.js} +2 -2
  471. package/dist/siemens-ix/{p-34891297.entry.js → p-4344ba99.entry.js} +2 -2
  472. package/dist/siemens-ix/{p-34891297.entry.js.map → p-4344ba99.entry.js.map} +1 -1
  473. package/dist/siemens-ix/{p-da9e539d.entry.js → p-4430117a.entry.js} +2 -2
  474. package/dist/siemens-ix/{p-da9e539d.entry.js.map → p-4430117a.entry.js.map} +1 -1
  475. package/dist/siemens-ix/p-44db3646.entry.js +2 -0
  476. package/dist/siemens-ix/{p-47e3439b.entry.js → p-453fa360.entry.js} +2 -2
  477. package/dist/siemens-ix/p-4b3facea.entry.js +2 -0
  478. package/dist/siemens-ix/{p-d72cb8db.entry.js → p-52857629.entry.js} +2 -2
  479. package/dist/siemens-ix/p-52857629.entry.js.map +1 -0
  480. package/dist/siemens-ix/{p-ef378dca.entry.js → p-53352bfb.entry.js} +2 -2
  481. package/dist/siemens-ix/{p-880526bf.entry.js → p-5696bb62.entry.js} +2 -2
  482. package/dist/siemens-ix/{p-7cffddcf.entry.js → p-5aa0b93c.entry.js} +2 -2
  483. package/dist/siemens-ix/{p-e5bdd91f.entry.js → p-5c673ae9.entry.js} +2 -2
  484. package/dist/siemens-ix/{p-ec0662b9.entry.js → p-5f25e7fd.entry.js} +2 -2
  485. package/dist/siemens-ix/{p-f74280b3.entry.js → p-60c16878.entry.js} +2 -2
  486. package/dist/siemens-ix/{p-ddd91a5b.entry.js → p-6227e62b.entry.js} +2 -2
  487. package/dist/siemens-ix/p-68532fa2.js +2 -0
  488. package/dist/siemens-ix/{p-13141e58.entry.js → p-68644ee1.entry.js} +2 -2
  489. package/dist/siemens-ix/{p-b4dfda02.entry.js → p-6af4415c.entry.js} +2 -2
  490. package/dist/siemens-ix/{p-b7a104cd.entry.js → p-6b928634.entry.js} +2 -2
  491. package/dist/siemens-ix/{p-b7a104cd.entry.js.map → p-6b928634.entry.js.map} +1 -1
  492. package/dist/siemens-ix/{p-075ec277.entry.js → p-6fd7ecd0.entry.js} +2 -2
  493. package/dist/siemens-ix/{p-fd68d6ed.entry.js → p-7076210b.entry.js} +2 -2
  494. package/dist/siemens-ix/{p-8345c55f.entry.js → p-713828ed.entry.js} +2 -2
  495. package/dist/siemens-ix/{p-e66fb590.entry.js → p-7750e187.entry.js} +2 -2
  496. package/dist/siemens-ix/{p-42157ecd.entry.js → p-7bfd6cd2.entry.js} +2 -2
  497. package/dist/siemens-ix/p-7faa148f.entry.js +2 -0
  498. package/dist/siemens-ix/{p-4cb9cc30.entry.js → p-85423643.entry.js} +2 -2
  499. package/dist/siemens-ix/{p-29be2b67.entry.js → p-8629db91.entry.js} +2 -2
  500. package/dist/siemens-ix/p-87e692d9.entry.js +2 -0
  501. package/dist/siemens-ix/p-882a0233.entry.js +2 -0
  502. package/dist/siemens-ix/{p-c62d3f80.entry.js → p-8d0758c1.entry.js} +2 -2
  503. package/dist/siemens-ix/{p-6f006293.entry.js → p-8d599677.entry.js} +2 -2
  504. package/dist/siemens-ix/{p-4ca27bd7.entry.js → p-90440046.entry.js} +2 -2
  505. package/dist/siemens-ix/p-92a18c10.entry.js +2 -0
  506. package/dist/siemens-ix/{p-955fa8ca.entry.js → p-96a3a750.entry.js} +2 -2
  507. package/dist/siemens-ix/{p-3de94029.entry.js → p-9ebc4fc3.entry.js} +2 -2
  508. package/dist/siemens-ix/{p-ed693de7.entry.js → p-a0138163.entry.js} +2 -2
  509. package/dist/siemens-ix/{p-ed693de7.entry.js.map → p-a0138163.entry.js.map} +1 -1
  510. package/dist/siemens-ix/{p-de186f5c.entry.js → p-a536adcb.entry.js} +2 -2
  511. package/dist/siemens-ix/{p-5bd709a5.entry.js → p-a8d291fa.entry.js} +2 -2
  512. package/dist/siemens-ix/{p-5bd709a5.entry.js.map → p-a8d291fa.entry.js.map} +1 -1
  513. package/dist/siemens-ix/{p-bbacfd34.entry.js → p-ae7a7af4.entry.js} +2 -2
  514. package/dist/siemens-ix/{p-ed8e1d4f.entry.js → p-af099ca4.entry.js} +2 -2
  515. package/dist/siemens-ix/p-b3b23af7.entry.js +2 -0
  516. package/dist/siemens-ix/{p-37c9f425.entry.js → p-b4ce366d.entry.js} +2 -2
  517. package/dist/siemens-ix/{p-a73efc31.entry.js → p-b663ca16.entry.js} +2 -2
  518. package/dist/siemens-ix/{p-42d156d6.entry.js → p-b804b8c5.entry.js} +2 -2
  519. package/dist/siemens-ix/{p-42d156d6.entry.js.map → p-b804b8c5.entry.js.map} +1 -1
  520. package/dist/siemens-ix/{p-b1c8c6f1.entry.js → p-bea7c748.entry.js} +2 -2
  521. package/dist/siemens-ix/{p-65a19457.entry.js → p-bf14c60b.entry.js} +2 -2
  522. package/dist/siemens-ix/p-c1222581.entry.js +2 -0
  523. package/dist/siemens-ix/{p-a0be36ad.entry.js → p-c1968b80.entry.js} +2 -2
  524. package/dist/siemens-ix/{p-b7fa2c5a.entry.js → p-c389de85.entry.js} +2 -2
  525. package/dist/siemens-ix/{p-36f903fb.entry.js → p-c55db6c7.entry.js} +2 -2
  526. package/dist/siemens-ix/{p-bc49e7ff.entry.js → p-d03df401.entry.js} +2 -2
  527. package/dist/siemens-ix/{p-dddd4a76.entry.js → p-d14024d3.entry.js} +2 -2
  528. package/dist/siemens-ix/{p-822fcb6c.entry.js → p-d1f49940.entry.js} +2 -2
  529. package/dist/siemens-ix/{p-06cba04a.entry.js → p-d95cbd1f.entry.js} +2 -2
  530. package/dist/siemens-ix/{p-127f6463.entry.js → p-d998415f.entry.js} +2 -2
  531. package/dist/siemens-ix/p-dcb3e5be.entry.js +2 -0
  532. package/dist/siemens-ix/{p-f237ec25.entry.js.map → p-dcb3e5be.entry.js.map} +1 -1
  533. package/dist/siemens-ix/{p-73b070cc.entry.js → p-e30ed20a.entry.js} +2 -2
  534. package/dist/siemens-ix/{p-d6d48f1d.entry.js → p-e8d3cf35.entry.js} +2 -2
  535. package/dist/siemens-ix/p-e9a3f58a.entry.js +2 -0
  536. package/dist/siemens-ix/{p-ea0c0738.entry.js.map → p-e9a3f58a.entry.js.map} +1 -1
  537. package/dist/siemens-ix/p-eb6268a6.entry.js +2 -0
  538. package/dist/siemens-ix/{p-010d6f32.entry.js.map → p-eb6268a6.entry.js.map} +1 -1
  539. package/dist/siemens-ix/{p-c6234df9.entry.js → p-ebb277f0.entry.js} +2 -2
  540. package/dist/siemens-ix/{p-8b3cb8c0.entry.js → p-f07110c6.entry.js} +2 -2
  541. package/dist/siemens-ix/{p-0f8a55ee.entry.js → p-f78246bd.entry.js} +2 -2
  542. package/dist/siemens-ix/p-f87cd962.js +3 -0
  543. package/dist/siemens-ix/p-f87cd962.js.map +1 -0
  544. package/dist/siemens-ix/{p-c6902b79.entry.js → p-fa53933d.entry.js} +2 -2
  545. package/dist/siemens-ix/{p-c6902b79.entry.js.map → p-fa53933d.entry.js.map} +1 -1
  546. package/dist/siemens-ix/{p-07f815fa.entry.js → p-fb2b78f7.entry.js} +2 -2
  547. package/dist/siemens-ix/{p-644433de.entry.js → p-fb47546b.entry.js} +2 -2
  548. package/dist/siemens-ix/p-fb4c79c6.entry.js +2 -0
  549. package/dist/siemens-ix/{p-45139de2.entry.js → p-feac09bc.entry.js} +2 -2
  550. package/dist/siemens-ix/{p-733c69fa.entry.js → p-ff1ac5b3.entry.js} +2 -2
  551. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  552. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  553. package/dist/types/components/tab-item/tab-item.d.ts +1 -1
  554. package/dist/types/components.d.ts +1 -1
  555. package/hydrate/index.d.ts +1 -1
  556. package/hydrate/index.js +38463 -32324
  557. package/package.json +2 -2
  558. package/dist/cjs/index-2d325c82.js +0 -2967
  559. package/dist/cjs/index-2d325c82.js.map +0 -1
  560. package/dist/esm/index-06024ae7.js +0 -2935
  561. package/dist/esm/index-06024ae7.js.map +0 -1
  562. package/dist/siemens-ix/p-010d6f32.entry.js +0 -2
  563. package/dist/siemens-ix/p-31af865e.entry.js +0 -2
  564. package/dist/siemens-ix/p-5c367ce7.entry.js +0 -2
  565. package/dist/siemens-ix/p-6a4545be.entry.js +0 -2
  566. package/dist/siemens-ix/p-6c368289.entry.js +0 -2
  567. package/dist/siemens-ix/p-77b15444.entry.js +0 -2
  568. package/dist/siemens-ix/p-7cb1dcf0.entry.js +0 -2
  569. package/dist/siemens-ix/p-867ce59b.entry.js +0 -2
  570. package/dist/siemens-ix/p-9d0c9f9f.entry.js +0 -2
  571. package/dist/siemens-ix/p-a61b35a8.entry.js +0 -2
  572. package/dist/siemens-ix/p-ac552df3.js +0 -3
  573. package/dist/siemens-ix/p-ac552df3.js.map +0 -1
  574. package/dist/siemens-ix/p-af2ee1e2.entry.js +0 -2
  575. package/dist/siemens-ix/p-b331622d.entry.js +0 -2
  576. package/dist/siemens-ix/p-ba68b58c.entry.js +0 -2
  577. package/dist/siemens-ix/p-d4fdbc68.entry.js.map +0 -1
  578. package/dist/siemens-ix/p-d6116286.entry.js +0 -2
  579. package/dist/siemens-ix/p-d72cb8db.entry.js.map +0 -1
  580. package/dist/siemens-ix/p-ea0c0738.entry.js +0 -2
  581. package/dist/siemens-ix/p-f237ec25.entry.js +0 -2
  582. package/dist/siemens-ix/p-fa3283ea.js +0 -2
  583. /package/dist/siemens-ix/{p-fbb851f3.entry.js.map → p-052340f9.entry.js.map} +0 -0
  584. /package/dist/siemens-ix/{p-193f7439.entry.js.map → p-0b4e398e.entry.js.map} +0 -0
  585. /package/dist/siemens-ix/{p-d6cef0ad.js.map → p-0c8a98cd.js.map} +0 -0
  586. /package/dist/siemens-ix/{p-867ce59b.entry.js.map → p-0d2a6886.entry.js.map} +0 -0
  587. /package/dist/siemens-ix/{p-8d836d6f.entry.js.map → p-0f7ef743.entry.js.map} +0 -0
  588. /package/dist/siemens-ix/{p-d57ab230.entry.js.map → p-113cc793.entry.js.map} +0 -0
  589. /package/dist/siemens-ix/{p-442f750a.entry.js.map → p-14a41c8c.entry.js.map} +0 -0
  590. /package/dist/siemens-ix/{p-5231ebe9.entry.js.map → p-15b3c17e.entry.js.map} +0 -0
  591. /package/dist/siemens-ix/{p-7cb1dcf0.entry.js.map → p-16b923e9.entry.js.map} +0 -0
  592. /package/dist/siemens-ix/{p-d6690de0.entry.js.map → p-1a122c76.entry.js.map} +0 -0
  593. /package/dist/siemens-ix/{p-072cb3c7.entry.js.map → p-1cff59db.entry.js.map} +0 -0
  594. /package/dist/siemens-ix/{p-719a3a11.js.map → p-1d581190.js.map} +0 -0
  595. /package/dist/siemens-ix/{p-c50cdde4.js.map → p-1db6be55.js.map} +0 -0
  596. /package/dist/siemens-ix/{p-8c126c50.entry.js.map → p-1f4b8463.entry.js.map} +0 -0
  597. /package/dist/siemens-ix/{p-a419c1a8.entry.js.map → p-24a8737a.entry.js.map} +0 -0
  598. /package/dist/siemens-ix/{p-7a337fdb.entry.js.map → p-2908cacd.entry.js.map} +0 -0
  599. /package/dist/siemens-ix/{p-9ad52791.entry.js.map → p-2946fd70.entry.js.map} +0 -0
  600. /package/dist/siemens-ix/{p-e14472c8.entry.js.map → p-29df2e29.entry.js.map} +0 -0
  601. /package/dist/siemens-ix/{p-d80c0aff.entry.js.map → p-2c4c03d4.entry.js.map} +0 -0
  602. /package/dist/siemens-ix/{p-e42a3069.entry.js.map → p-2ebfd4fd.entry.js.map} +0 -0
  603. /package/dist/siemens-ix/{p-f7b91326.entry.js.map → p-309ac3ad.entry.js.map} +0 -0
  604. /package/dist/siemens-ix/{p-a55105d1.entry.js.map → p-315f070d.entry.js.map} +0 -0
  605. /package/dist/siemens-ix/{p-a61b35a8.entry.js.map → p-32375ddb.entry.js.map} +0 -0
  606. /package/dist/siemens-ix/{p-b331622d.entry.js.map → p-32d4ed3b.entry.js.map} +0 -0
  607. /package/dist/siemens-ix/{p-1befce78.entry.js.map → p-427676f4.entry.js.map} +0 -0
  608. /package/dist/siemens-ix/{p-af2ee1e2.entry.js.map → p-44db3646.entry.js.map} +0 -0
  609. /package/dist/siemens-ix/{p-47e3439b.entry.js.map → p-453fa360.entry.js.map} +0 -0
  610. /package/dist/siemens-ix/{p-9d0c9f9f.entry.js.map → p-4b3facea.entry.js.map} +0 -0
  611. /package/dist/siemens-ix/{p-ef378dca.entry.js.map → p-53352bfb.entry.js.map} +0 -0
  612. /package/dist/siemens-ix/{p-880526bf.entry.js.map → p-5696bb62.entry.js.map} +0 -0
  613. /package/dist/siemens-ix/{p-7cffddcf.entry.js.map → p-5aa0b93c.entry.js.map} +0 -0
  614. /package/dist/siemens-ix/{p-e5bdd91f.entry.js.map → p-5c673ae9.entry.js.map} +0 -0
  615. /package/dist/siemens-ix/{p-ec0662b9.entry.js.map → p-5f25e7fd.entry.js.map} +0 -0
  616. /package/dist/siemens-ix/{p-f74280b3.entry.js.map → p-60c16878.entry.js.map} +0 -0
  617. /package/dist/siemens-ix/{p-ddd91a5b.entry.js.map → p-6227e62b.entry.js.map} +0 -0
  618. /package/dist/siemens-ix/{p-fa3283ea.js.map → p-68532fa2.js.map} +0 -0
  619. /package/dist/siemens-ix/{p-13141e58.entry.js.map → p-68644ee1.entry.js.map} +0 -0
  620. /package/dist/siemens-ix/{p-b4dfda02.entry.js.map → p-6af4415c.entry.js.map} +0 -0
  621. /package/dist/siemens-ix/{p-075ec277.entry.js.map → p-6fd7ecd0.entry.js.map} +0 -0
  622. /package/dist/siemens-ix/{p-fd68d6ed.entry.js.map → p-7076210b.entry.js.map} +0 -0
  623. /package/dist/siemens-ix/{p-8345c55f.entry.js.map → p-713828ed.entry.js.map} +0 -0
  624. /package/dist/siemens-ix/{p-e66fb590.entry.js.map → p-7750e187.entry.js.map} +0 -0
  625. /package/dist/siemens-ix/{p-42157ecd.entry.js.map → p-7bfd6cd2.entry.js.map} +0 -0
  626. /package/dist/siemens-ix/{p-ba68b58c.entry.js.map → p-7faa148f.entry.js.map} +0 -0
  627. /package/dist/siemens-ix/{p-4cb9cc30.entry.js.map → p-85423643.entry.js.map} +0 -0
  628. /package/dist/siemens-ix/{p-29be2b67.entry.js.map → p-8629db91.entry.js.map} +0 -0
  629. /package/dist/siemens-ix/{p-6a4545be.entry.js.map → p-87e692d9.entry.js.map} +0 -0
  630. /package/dist/siemens-ix/{p-31af865e.entry.js.map → p-882a0233.entry.js.map} +0 -0
  631. /package/dist/siemens-ix/{p-c62d3f80.entry.js.map → p-8d0758c1.entry.js.map} +0 -0
  632. /package/dist/siemens-ix/{p-6f006293.entry.js.map → p-8d599677.entry.js.map} +0 -0
  633. /package/dist/siemens-ix/{p-4ca27bd7.entry.js.map → p-90440046.entry.js.map} +0 -0
  634. /package/dist/siemens-ix/{p-d6116286.entry.js.map → p-92a18c10.entry.js.map} +0 -0
  635. /package/dist/siemens-ix/{p-955fa8ca.entry.js.map → p-96a3a750.entry.js.map} +0 -0
  636. /package/dist/siemens-ix/{p-3de94029.entry.js.map → p-9ebc4fc3.entry.js.map} +0 -0
  637. /package/dist/siemens-ix/{p-de186f5c.entry.js.map → p-a536adcb.entry.js.map} +0 -0
  638. /package/dist/siemens-ix/{p-bbacfd34.entry.js.map → p-ae7a7af4.entry.js.map} +0 -0
  639. /package/dist/siemens-ix/{p-ed8e1d4f.entry.js.map → p-af099ca4.entry.js.map} +0 -0
  640. /package/dist/siemens-ix/{p-5c367ce7.entry.js.map → p-b3b23af7.entry.js.map} +0 -0
  641. /package/dist/siemens-ix/{p-37c9f425.entry.js.map → p-b4ce366d.entry.js.map} +0 -0
  642. /package/dist/siemens-ix/{p-a73efc31.entry.js.map → p-b663ca16.entry.js.map} +0 -0
  643. /package/dist/siemens-ix/{p-b1c8c6f1.entry.js.map → p-bea7c748.entry.js.map} +0 -0
  644. /package/dist/siemens-ix/{p-65a19457.entry.js.map → p-bf14c60b.entry.js.map} +0 -0
  645. /package/dist/siemens-ix/{p-6c368289.entry.js.map → p-c1222581.entry.js.map} +0 -0
  646. /package/dist/siemens-ix/{p-a0be36ad.entry.js.map → p-c1968b80.entry.js.map} +0 -0
  647. /package/dist/siemens-ix/{p-b7fa2c5a.entry.js.map → p-c389de85.entry.js.map} +0 -0
  648. /package/dist/siemens-ix/{p-36f903fb.entry.js.map → p-c55db6c7.entry.js.map} +0 -0
  649. /package/dist/siemens-ix/{p-bc49e7ff.entry.js.map → p-d03df401.entry.js.map} +0 -0
  650. /package/dist/siemens-ix/{p-dddd4a76.entry.js.map → p-d14024d3.entry.js.map} +0 -0
  651. /package/dist/siemens-ix/{p-822fcb6c.entry.js.map → p-d1f49940.entry.js.map} +0 -0
  652. /package/dist/siemens-ix/{p-06cba04a.entry.js.map → p-d95cbd1f.entry.js.map} +0 -0
  653. /package/dist/siemens-ix/{p-127f6463.entry.js.map → p-d998415f.entry.js.map} +0 -0
  654. /package/dist/siemens-ix/{p-73b070cc.entry.js.map → p-e30ed20a.entry.js.map} +0 -0
  655. /package/dist/siemens-ix/{p-d6d48f1d.entry.js.map → p-e8d3cf35.entry.js.map} +0 -0
  656. /package/dist/siemens-ix/{p-c6234df9.entry.js.map → p-ebb277f0.entry.js.map} +0 -0
  657. /package/dist/siemens-ix/{p-8b3cb8c0.entry.js.map → p-f07110c6.entry.js.map} +0 -0
  658. /package/dist/siemens-ix/{p-0f8a55ee.entry.js.map → p-f78246bd.entry.js.map} +0 -0
  659. /package/dist/siemens-ix/{p-07f815fa.entry.js.map → p-fb2b78f7.entry.js.map} +0 -0
  660. /package/dist/siemens-ix/{p-644433de.entry.js.map → p-fb47546b.entry.js.map} +0 -0
  661. /package/dist/siemens-ix/{p-77b15444.entry.js.map → p-fb4c79c6.entry.js.map} +0 -0
  662. /package/dist/siemens-ix/{p-45139de2.entry.js.map → p-feac09bc.entry.js.map} +0 -0
  663. /package/dist/siemens-ix/{p-733c69fa.entry.js.map → p-ff1ac5b3.entry.js.map} +0 -0
@@ -102,12 +102,12 @@ const ApplicationHeader = /*@__PURE__*/ proxyCustomElement(class ApplicationHead
102
102
  }
103
103
  render() {
104
104
  var _a;
105
- return (h(Host, { key: 'c01762e9d20ff8548902305b7d9be7f8a12894aa', class: { [`breakpoint-${this.breakpoint}`]: true }, slot: "application-header" }, this.breakpoint === 'sm' && this.suppressResponsive === false && (h("ix-menu-expand-icon", { onClick: () => this.onMenuClick(), expanded: this.menuExpanded })), ((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) &&
105
+ return (h(Host, { key: '58565e3136e17a2d3cae46a4add8f2ba245b59bc', class: { [`breakpoint-${this.breakpoint}`]: true }, slot: "application-header" }, this.breakpoint === 'sm' && this.suppressResponsive === false && (h("ix-menu-expand-icon", { key: 'da63965f1ced1898c799a48212eb7a4afdf35ffd', onClick: () => this.onMenuClick(), expanded: this.menuExpanded })), ((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) &&
106
106
  this.breakpoint !== 'sm' &&
107
- this.suppressResponsive === false && (h("ix-icon-button", { onClick: () => this.showAppSwitch(), icon: "apps", ghost: true, class: "app-switch" })), h("div", { key: '33b8633987e25b634baaf4ef1f65b926addc6a8f', class: "logo" }, h("slot", { key: '5c39691d0925e2a34fb8bb0c6f88e554f6919f65', name: "logo" })), h("div", { key: 'a5b4df7e8a3e874eb44ff61cb564a3f561ae1478', class: "name" }, this.name), h("div", { key: '61bf1835be91495ea5e304a3cd95caa7a98cd0cd', class: "content" }, this.breakpoint === 'sm' ? (h(Fragment, null, h("ix-icon-button", { class: {
107
+ this.suppressResponsive === false && (h("ix-icon-button", { key: 'fce7acda771398cd8f8f79dcb05254354e9524c8', onClick: () => this.showAppSwitch(), icon: "apps", ghost: true, class: "app-switch" })), h("div", { key: '20d47359153147df9636a2170e4987113871e701', class: "logo" }, h("slot", { key: '3889ece809965cd8c5a256e6551b1d4961774977', name: "logo" })), h("div", { key: '4e9c07f44beb7c476d61657bb303764c74ee174e', class: "name" }, this.name), h("div", { key: '099a3a4842da94cd54f789ee29380ab057957550', class: "content" }, this.breakpoint === 'sm' ? (h(Fragment, null, h("ix-icon-button", { class: {
108
108
  ['context-menu']: true,
109
109
  ['context-menu-visible']: this.hasSlottedElements,
110
- }, "data-context-menu": true, icon: "more-menu", ghost: true }), h("ix-dropdown", { "data-overflow-dropdown": true, class: "dropdown", discoverAllSubmenus: true, trigger: this.resolveContextMenuButton() }, h("div", { class: "dropdown-content", onClick: (e) => this.onContentBgClick(e) }, h("slot", { onSlotchange: () => this.updateIsSlottedContent() }))))) : (h("slot", { onSlotchange: () => this.updateIsSlottedContent() })), h("slot", { key: '0598ccbf496428f299427f5e530e98cb2422d202', name: "ix-application-header-avatar" }))));
110
+ }, "data-context-menu": true, icon: "more-menu", ghost: true }), h("ix-dropdown", { "data-overflow-dropdown": true, class: "dropdown", discoverAllSubmenus: true, trigger: this.resolveContextMenuButton() }, h("div", { class: "dropdown-content", onClick: (e) => this.onContentBgClick(e) }, h("slot", { onSlotchange: () => this.updateIsSlottedContent() }))))) : (h("slot", { onSlotchange: () => this.updateIsSlottedContent() })), h("slot", { key: 'ba4c1d46798c9cb325b933905df7bb17a4aedfc6', name: "ix-application-header-avatar" }))));
111
111
  }
112
112
  get hostElement() { return this; }
113
113
  static get style() { return IxApplicationHeaderStyle0; }
@@ -1 +1 @@
1
- {"file":"application-header.js","mappings":"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","names":[],"sources":["src/components/application-header/application-header.scss?tag=ix-application-header&encapsulation=shadow","src/components/application-header/application-header.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 @import 'mixins/shadow-dom/component';\n @import 'mixins/break-points';\n\n:host {\n @include ix-component;\n\n display: flex;\n align-items: center;\n position: relative;\n width: 100%;\n height: 2.75rem;\n min-height: 2.75rem;\n padding: 0 1rem 0 0.625rem;\n\n color: var(--theme-app-header--color);\n background-color: var(--theme-app-header--background);\n\n border-bottom: var(--theme-app-header--border-width) solid\n var(--theme-app-header--border-color);\n\n z-index: var(--theme-z-index-fixed);\n\n .app-switch {\n margin-right: 1rem;\n }\n\n .name {\n overflow: hidden;\n overflow-wrap: anywhere;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n max-width: 50%;\n margin-left: 1.5rem;\n margin-right: 2.5rem;\n color: var(--theme-app-header--color);\n }\n\n .logo {\n display: inline-flex;\n align-items: center;\n position: relative;\n height: 32px;\n overflow: hidden;\n line-height: 0rem;\n color: var(--theme-app-header-logo--color);\n margin-left: 0.375rem;\n }\n\n .content {\n display: flex;\n position: relative;\n flex-direction: row;\n margin-left: auto;\n margin-right: 0px;\n }\n\n .dropdown {\n overflow: visible;\n }\n\n .dropdown-content {\n padding: 1rem;\n }\n\n .context-menu {\n display: none;\n }\n\n .context-menu.context-menu-visible {\n display: block;\n }\n\n @include media-breakpoint-match('sm') {\n .logo {\n display: none;\n }\n }\n\n ::slotted(ix-avatar) {\n margin-left: 1rem;\n }\n}\n\n:host(.breakpoint-sm) {\n padding-left: 0.625rem;\n\n .logo {\n margin-left: 0.5rem;\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 Fragment,\n h,\n Host,\n Prop,\n readTask,\n State,\n} from '@stencil/core';\nimport { showAppSwitch } from '../utils/app-switch';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport {\n ApplicationLayoutContext,\n AppSwitchConfiguration,\n} from '../utils/application-layout/context';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextType, useContextConsumer } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { hasSlottedElements } from '../utils/shadow-dom';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @slot logo - Location of the logo\n */\n@Component({\n tag: 'ix-application-header',\n styleUrl: 'application-header.scss',\n shadow: true,\n})\nexport class ApplicationHeader {\n @Element() hostElement!: HTMLIxApplicationHeaderElement;\n\n /**\n * Application name\n */\n @Prop() name: string;\n\n @State() breakpoint: Breakpoint = 'lg';\n @State() menuExpanded = false;\n @State() suppressResponsive = false;\n\n @State() hasSlottedElements = false;\n\n private menuDisposable?: Disposable;\n private modeDisposable?: Disposable;\n private callbackUpdateAppSwitchModal?: (\n config: AppSwitchConfiguration\n ) => void;\n\n @State() applicationLayoutContext: ContextType<\n typeof ApplicationLayoutContext\n >;\n\n get contentBackground() {\n return this.hostElement.shadowRoot.querySelector('.dropdown-content');\n }\n\n componentWillLoad() {\n useContextConsumer(\n this.hostElement,\n ApplicationLayoutContext,\n (ctx) => {\n if (ctx?.host === 'map-navigation') {\n this.suppressResponsive = true;\n this.breakpoint = 'md';\n return;\n }\n\n this.breakpoint = applicationLayoutService.breakpoint;\n this.applicationLayoutContext = ctx;\n\n this.tryUpdateAppSwitch();\n },\n true\n );\n\n this.menuDisposable = menuController.expandChange.on((show) => {\n this.menuExpanded = show;\n });\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n if (this.suppressResponsive) {\n this.breakpoint = 'md';\n return;\n }\n\n this.breakpoint = mode;\n });\n\n this.updateIsSlottedContent();\n }\n\n componentDidLoad() {\n this.attachSiemensLogoIfLoaded();\n }\n\n disconnectedCallback() {\n this.menuDisposable?.dispose();\n this.modeDisposable?.dispose();\n }\n\n private isLogoSlotted() {\n const slotElement = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"logo\"]'\n ) as HTMLSlotElement;\n const nodes = slotElement.assignedNodes({\n flatten: true,\n });\n\n return nodes.length !== 0;\n }\n\n private async attachSiemensLogoIfLoaded() {\n await window.customElements.whenDefined('ix-siemens-logo');\n const logoElement = document.createElement('ix-siemens-logo');\n if (!this.isLogoSlotted()) {\n this.hostElement.shadowRoot\n .querySelector('.logo')\n .appendChild(logoElement);\n }\n }\n\n private async onMenuClick() {\n menuController.toggle();\n }\n\n private resolveContextMenuButton() {\n return new Promise<HTMLElement>((resolve) =>\n readTask(() =>\n resolve(\n this.hostElement.shadowRoot.querySelector(\n '[data-context-menu]'\n ) as HTMLElement\n )\n )\n );\n }\n\n private tryUpdateAppSwitch() {\n if (!this.callbackUpdateAppSwitchModal) {\n return;\n }\n\n this.callbackUpdateAppSwitchModal(\n this.applicationLayoutContext?.appSwitchConfig\n );\n }\n\n private async showAppSwitch() {\n this.callbackUpdateAppSwitchModal = await showAppSwitch(\n this.applicationLayoutContext?.appSwitchConfig\n );\n }\n\n private updateIsSlottedContent() {\n const slotElement =\n this.hostElement.shadowRoot.querySelector('.content slot');\n\n this.hasSlottedElements = hasSlottedElements(slotElement);\n }\n\n private onContentBgClick(e: MouseEvent) {\n if (e.target === this.contentBackground) {\n e.preventDefault();\n }\n }\n\n render() {\n return (\n <Host\n class={{ [`breakpoint-${this.breakpoint}`]: true }}\n slot=\"application-header\"\n >\n {this.breakpoint === 'sm' && this.suppressResponsive === false && (\n <ix-menu-expand-icon\n onClick={() => this.onMenuClick()}\n expanded={this.menuExpanded}\n ></ix-menu-expand-icon>\n )}\n {this.applicationLayoutContext?.appSwitchConfig &&\n this.breakpoint !== 'sm' &&\n this.suppressResponsive === false && (\n <ix-icon-button\n onClick={() => this.showAppSwitch()}\n icon=\"apps\"\n ghost\n class=\"app-switch\"\n ></ix-icon-button>\n )}\n <div class=\"logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"name\">{this.name}</div>\n <div class=\"content\">\n {this.breakpoint === 'sm' ? (\n <Fragment>\n <ix-icon-button\n class={{\n ['context-menu']: true,\n ['context-menu-visible']: this.hasSlottedElements,\n }}\n data-context-menu\n icon=\"more-menu\"\n ghost\n ></ix-icon-button>\n <ix-dropdown\n data-overflow-dropdown\n class=\"dropdown\"\n discoverAllSubmenus\n trigger={this.resolveContextMenuButton()}\n >\n <div\n class=\"dropdown-content\"\n onClick={(e) => this.onContentBgClick(e)}\n >\n <slot\n onSlotchange={() => this.updateIsSlottedContent()}\n ></slot>\n </div>\n </ix-dropdown>\n </Fragment>\n ) : (\n <slot onSlotchange={() => this.updateIsSlottedContent()}></slot>\n )}\n <slot name=\"ix-application-header-avatar\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"application-header.js","mappings":"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","names":[],"sources":["src/components/application-header/application-header.scss?tag=ix-application-header&encapsulation=shadow","src/components/application-header/application-header.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 @import 'mixins/shadow-dom/component';\n @import 'mixins/break-points';\n\n:host {\n @include ix-component;\n\n display: flex;\n align-items: center;\n position: relative;\n width: 100%;\n height: 2.75rem;\n min-height: 2.75rem;\n padding: 0 1rem 0 0.625rem;\n\n color: var(--theme-app-header--color);\n background-color: var(--theme-app-header--background);\n\n border-bottom: var(--theme-app-header--border-width) solid\n var(--theme-app-header--border-color);\n\n z-index: var(--theme-z-index-fixed);\n\n .app-switch {\n margin-right: 1rem;\n }\n\n .name {\n overflow: hidden;\n overflow-wrap: anywhere;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n max-width: 50%;\n margin-left: 1.5rem;\n margin-right: 2.5rem;\n color: var(--theme-app-header--color);\n }\n\n .logo {\n display: inline-flex;\n align-items: center;\n position: relative;\n height: 32px;\n overflow: hidden;\n line-height: 0rem;\n color: var(--theme-app-header-logo--color);\n margin-left: 0.375rem;\n }\n\n .content {\n display: flex;\n position: relative;\n flex-direction: row;\n margin-left: auto;\n margin-right: 0px;\n }\n\n .dropdown {\n overflow: visible;\n }\n\n .dropdown-content {\n padding: 1rem;\n }\n\n .context-menu {\n display: none;\n }\n\n .context-menu.context-menu-visible {\n display: block;\n }\n\n @include media-breakpoint-match('sm') {\n .logo {\n display: none;\n }\n }\n\n ::slotted(ix-avatar) {\n margin-left: 1rem;\n }\n}\n\n:host(.breakpoint-sm) {\n padding-left: 0.625rem;\n\n .logo {\n margin-left: 0.5rem;\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 Fragment,\n h,\n Host,\n Prop,\n readTask,\n State,\n} from '@stencil/core';\nimport { showAppSwitch } from '../utils/app-switch';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport {\n ApplicationLayoutContext,\n AppSwitchConfiguration,\n} from '../utils/application-layout/context';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextType, useContextConsumer } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { hasSlottedElements } from '../utils/shadow-dom';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @slot logo - Location of the logo\n */\n@Component({\n tag: 'ix-application-header',\n styleUrl: 'application-header.scss',\n shadow: true,\n})\nexport class ApplicationHeader {\n @Element() hostElement!: HTMLIxApplicationHeaderElement;\n\n /**\n * Application name\n */\n @Prop() name: string;\n\n @State() breakpoint: Breakpoint = 'lg';\n @State() menuExpanded = false;\n @State() suppressResponsive = false;\n\n @State() hasSlottedElements = false;\n\n private menuDisposable?: Disposable;\n private modeDisposable?: Disposable;\n private callbackUpdateAppSwitchModal?: (\n config: AppSwitchConfiguration\n ) => void;\n\n @State() applicationLayoutContext: ContextType<\n typeof ApplicationLayoutContext\n >;\n\n get contentBackground() {\n return this.hostElement.shadowRoot.querySelector('.dropdown-content');\n }\n\n componentWillLoad() {\n useContextConsumer(\n this.hostElement,\n ApplicationLayoutContext,\n (ctx) => {\n if (ctx?.host === 'map-navigation') {\n this.suppressResponsive = true;\n this.breakpoint = 'md';\n return;\n }\n\n this.breakpoint = applicationLayoutService.breakpoint;\n this.applicationLayoutContext = ctx;\n\n this.tryUpdateAppSwitch();\n },\n true\n );\n\n this.menuDisposable = menuController.expandChange.on((show) => {\n this.menuExpanded = show;\n });\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n if (this.suppressResponsive) {\n this.breakpoint = 'md';\n return;\n }\n\n this.breakpoint = mode;\n });\n\n this.updateIsSlottedContent();\n }\n\n componentDidLoad() {\n this.attachSiemensLogoIfLoaded();\n }\n\n disconnectedCallback() {\n this.menuDisposable?.dispose();\n this.modeDisposable?.dispose();\n }\n\n private isLogoSlotted() {\n const slotElement = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"logo\"]'\n ) as HTMLSlotElement;\n const nodes = slotElement.assignedNodes({\n flatten: true,\n });\n\n return nodes.length !== 0;\n }\n\n private async attachSiemensLogoIfLoaded() {\n await window.customElements.whenDefined('ix-siemens-logo');\n const logoElement = document.createElement('ix-siemens-logo');\n if (!this.isLogoSlotted()) {\n this.hostElement.shadowRoot\n .querySelector('.logo')\n .appendChild(logoElement);\n }\n }\n\n private async onMenuClick() {\n menuController.toggle();\n }\n\n private resolveContextMenuButton() {\n return new Promise<HTMLElement>((resolve) =>\n readTask(() =>\n resolve(\n this.hostElement.shadowRoot.querySelector(\n '[data-context-menu]'\n ) as HTMLElement\n )\n )\n );\n }\n\n private tryUpdateAppSwitch() {\n if (!this.callbackUpdateAppSwitchModal) {\n return;\n }\n\n this.callbackUpdateAppSwitchModal(\n this.applicationLayoutContext?.appSwitchConfig\n );\n }\n\n private async showAppSwitch() {\n this.callbackUpdateAppSwitchModal = await showAppSwitch(\n this.applicationLayoutContext?.appSwitchConfig\n );\n }\n\n private updateIsSlottedContent() {\n const slotElement =\n this.hostElement.shadowRoot.querySelector('.content slot');\n\n this.hasSlottedElements = hasSlottedElements(slotElement);\n }\n\n private onContentBgClick(e: MouseEvent) {\n if (e.target === this.contentBackground) {\n e.preventDefault();\n }\n }\n\n render() {\n return (\n <Host\n class={{ [`breakpoint-${this.breakpoint}`]: true }}\n slot=\"application-header\"\n >\n {this.breakpoint === 'sm' && this.suppressResponsive === false && (\n <ix-menu-expand-icon\n onClick={() => this.onMenuClick()}\n expanded={this.menuExpanded}\n ></ix-menu-expand-icon>\n )}\n {this.applicationLayoutContext?.appSwitchConfig &&\n this.breakpoint !== 'sm' &&\n this.suppressResponsive === false && (\n <ix-icon-button\n onClick={() => this.showAppSwitch()}\n icon=\"apps\"\n ghost\n class=\"app-switch\"\n ></ix-icon-button>\n )}\n <div class=\"logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"name\">{this.name}</div>\n <div class=\"content\">\n {this.breakpoint === 'sm' ? (\n <Fragment>\n <ix-icon-button\n class={{\n ['context-menu']: true,\n ['context-menu-visible']: this.hasSlottedElements,\n }}\n data-context-menu\n icon=\"more-menu\"\n ghost\n ></ix-icon-button>\n <ix-dropdown\n data-overflow-dropdown\n class=\"dropdown\"\n discoverAllSubmenus\n trigger={this.resolveContextMenuButton()}\n >\n <div\n class=\"dropdown-content\"\n onClick={(e) => this.onContentBgClick(e)}\n >\n <slot\n onSlotchange={() => this.updateIsSlottedContent()}\n ></slot>\n </div>\n </ix-dropdown>\n </Fragment>\n ) : (\n <slot onSlotchange={() => this.updateIsSlottedContent()}></slot>\n )}\n <slot name=\"ix-application-header-avatar\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -10,7 +10,7 @@ const CardContent = /*@__PURE__*/ proxyCustomElement(class CardContent extends H
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: 'd55cee3ffb78eca3302de2d223c63f846043d0f9' }, h("slot", { key: '0faca06b8ea3868a72eb36631959c871475ad854' })));
13
+ return (h(Host, { key: '17ef18ecf4efe031b707524053d81f91db482696' }, h("slot", { key: '5e91dbb38a4bcc64e36c7bbacb1e2de92f877559' })));
14
14
  }
15
15
  static get style() { return IxCardContentStyle0; }
16
16
  }, [1, "ix-card-content"]);
@@ -10,7 +10,7 @@ const CardHeader = /*@__PURE__*/ proxyCustomElement(class CardHeader extends HTM
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: '2afb4eebb84d9641a195b61843761cfe09bb6ed7' }, h("slot", { key: '3563c0158125fa766d9d018f1a574a7e6f6d3e98' }), h("div", { key: 'bfa505245aab1c8fec8af0cb680654483b7fea0c', class: "title-actions" }, h("slot", { key: '8a0af96ce78108228dbf07c65dfa96a7c9af4d0c', name: "title-actions" }))));
13
+ return (h(Host, { key: 'c5c2ca3a18e299a6093ad6abbaa1c5249cfa391c' }, h("slot", { key: '6d9c155e807d25a85878f7c10e0e6ca34472f06a' }), h("div", { key: 'd7ce177e5b865646435a794b197f0b7fca89fc5e', class: "title-actions" }, h("slot", { key: '5c44f29c04f0e8960d64dd5b6aa5f4a740d6c175', name: "title-actions" }))));
14
14
  }
15
15
  static get style() { return IxCardTitleStyle0; }
16
16
  }, [1, "ix-card-title"]);
@@ -443,7 +443,7 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
443
443
  return rows;
444
444
  }
445
445
  render() {
446
- return (h(Host, { key: 'e0df5b93b72e32d28ca514b5476f9846b22677c6' }, h("ix-date-time-card", { key: '774585ed8c03e12463112ca9e9e44bc30975e8fc', corners: this.corners, standaloneAppearance: this.standaloneAppearance }, h("div", { key: 'c3710f386338c7410ecb72b42e1a9d4e1d35a3f1', class: "header", slot: "header" }, h("ix-icon-button", { key: '70f05d88185459dae9b43e07cc353e61744958b5', onClick: () => this.changeToAdjacentMonth(-1), ghost: true, icon: "chevron-left", variant: "primary", class: "arrows" }), h("div", { key: 'a2237156758b789edd16a2328d12240a74a36d58', class: "selector" }, h("ix-button", { key: 'c6457d065b4847de944ca1e32d72591fc1531c15', ghost: true, ref: (ref) => (this.dropdownButtonRef = ref), "data-testid": "year-month-button" }, h("span", { key: '7ac517ad997291ce595e65a926223a2448c17e89', class: "fontSize capitalize" }, this.monthNames[this.selectedMonth], " ", this.selectedYear)), h("ix-dropdown", { key: '476fef76809be47bceefe2c37c355aebd32eaafe', "data-testid": "year-month-dropdown", class: "dropdown", trigger: this.dropdownButtonRef, ignoreRelatedSubmenu: true, placement: "bottom-start" }, h("div", { key: 'a3a8f2eb8154f7a88ceac13e86406df70d70d3c6', class: "wrapper" }, h("div", { key: 'ee6e1d288d11d95c953ff0e7c81a247939b2aa9d', "data-testid": "year-container", class: "overflow", onScroll: () => this.infiniteScrollYears(), ref: (ref) => (this.yearContainerRef = ref) }, this.renderYears()), h("div", { key: '7d1630d48c7934698cf4dbaa3fcd90c9873e6dff', class: "overflow", "data-testid": "month-container" }, this.monthNames.map((month, index) => (h("div", { key: month, ref: (ref) => {
446
+ return (h(Host, { key: '559881c8673da97e842398f4bcfe67ef5ff27794' }, h("ix-date-time-card", { key: '4550d5f5a242be0ff07110cc400ef12795475c5c', corners: this.corners, standaloneAppearance: this.standaloneAppearance }, h("div", { key: 'f10ccab02142ae7461ac4b4ba4e8a8eb57123438', class: "header", slot: "header" }, h("ix-icon-button", { key: '52b171c5e04a5bbcb0832f0e6033947735521601', onClick: () => this.changeToAdjacentMonth(-1), ghost: true, icon: "chevron-left", variant: "primary", class: "arrows" }), h("div", { key: 'c48d51b3f22c9862c8006520530559ed44d16372', class: "selector" }, h("ix-button", { key: '8c155fcbafb7c3f32dab3c9ebc912153813ce207', ghost: true, ref: (ref) => (this.dropdownButtonRef = ref), "data-testid": "year-month-button" }, h("span", { key: '74c9634e13886d26238b4ee2262314914b1e8cf8', class: "fontSize capitalize" }, this.monthNames[this.selectedMonth], " ", this.selectedYear)), h("ix-dropdown", { key: 'ba249019d78a59e65f3a479a3ea8315b5990bcac', "data-testid": "year-month-dropdown", class: "dropdown", trigger: this.dropdownButtonRef, ignoreRelatedSubmenu: true, placement: "bottom-start" }, h("div", { key: '39365087bbb4c4dd4e0329828f61a90a1247b744', class: "wrapper" }, h("div", { key: '017d16a032a473b0e791c8dc342b5e62481212e3', "data-testid": "year-container", class: "overflow", onScroll: () => this.infiniteScrollYears(), ref: (ref) => (this.yearContainerRef = ref) }, this.renderYears()), h("div", { key: '1bef58292da8545924f53fdbeddbc864936a56ef', class: "overflow", "data-testid": "month-container" }, this.monthNames.map((month, index) => (h("div", { key: month, ref: (ref) => {
447
447
  if (month === this.monthNames[0]) {
448
448
  this.firstMonthRef = ref;
449
449
  }
@@ -457,12 +457,12 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
457
457
  hidden: this.tempYear !== this.selectedYear ||
458
458
  this.tempMonth !== index,
459
459
  checkPosition: true,
460
- }, name: "single-check", size: "16" }), h("div", null, h("span", { class: "capitalize monthMargin" }, `${month} ${this.tempYear}`))))))))), h("ix-icon-button", { key: '8526edfce43dd656bc563143497be067752f1072', onClick: () => this.changeToAdjacentMonth(1), ghost: true, icon: "chevron-right", variant: "primary", class: "arrows" })), h("div", { key: '42a4cd7d42d633f3e1fb44a0d6630744a24ff6b2', class: "grid" }, h("div", { key: 'bf5925eb777f1f751b26044811bb9cff880811bf', class: "calendar-item week-day" }), this.dayNames.map((name) => (h("div", { key: name, class: "calendar-item week-day" }, name.slice(0, 3)))), this.calendar.map((week) => {
460
+ }, name: "single-check", size: "16" }), h("div", null, h("span", { class: "capitalize monthMargin" }, `${month} ${this.tempYear}`))))))))), h("ix-icon-button", { key: 'f414faea937a05dd2690e82d01daf1f444fbce25', onClick: () => this.changeToAdjacentMonth(1), ghost: true, icon: "chevron-right", variant: "primary", class: "arrows" })), h("div", { key: 'b79a961fbfc8c8dd821a83ab172dd7146acc5ade', class: "grid" }, h("div", { key: '7651643c6320b8598b52ffaa45dc70498854d1ad', class: "calendar-item week-day" }), this.dayNames.map((name) => (h("div", { key: name, class: "calendar-item week-day" }, name.slice(0, 3)))), this.calendar.map((week) => {
461
461
  return (h(Fragment, null, h("div", { class: "calendar-item week-number" }, week.weekNumber), week.dayNumbers.map((day) => (h("div", { key: day, id: `day-cell-${day}`, "date-calender-day": true, class: this.getDayClasses(day), onClick: () => this.selectDay(day), onKeyUp: (e) => e.key === 'Enter' && this.selectDay(day), tabIndex: day === this.focusedDay ? 0 : -1, onFocus: () => this.onDayFocus(), onBlur: () => this.onDayBlur() }, day)))));
462
- })), h("div", { key: '2d8f75a01a7d2f9b02293bf7fa1402bec6ee4420', class: {
462
+ })), h("div", { key: '0e6b9845bfdb760777cbd0f2f8419aeb5b667799', class: {
463
463
  button: true,
464
464
  hidden: !this.range || !this.standaloneAppearance,
465
- } }, h("ix-button", { key: '8aef28eca063bcda077e0590758c0bd17d16428f', onClick: () => this.onDone() }, this.textSelectDate || this.i18nDone)))));
465
+ } }, h("ix-button", { key: 'bb02236b3e41f3168aa2d5aad2c8e4aa9af90a49', onClick: () => this.onDone() }, this.textSelectDate || this.i18nDone)))));
466
466
  }
467
467
  get hostElement() { return this; }
468
468
  static get watchers() { return {
@@ -24,7 +24,7 @@ const DateTimeCard = /*@__PURE__*/ proxyCustomElement(class DateTimeCard extends
24
24
  };
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: '40541d8514911fcfec7620c3542774eb189d1687' }, h("div", { key: 'd07d67a70360f31c67e3f220446e92f0266a5fbe', class: this.cardClasses() }, h("div", { key: '60681672b69bf55d3106eec4cf2a1d811c0cf637', class: "header" }, h("slot", { key: '5042ffc5ea4e264baa793dddd8fc071800f3eeaa', name: "header" })), h("div", { key: '68371c4b3fb5f66f291482dd44e738ba64813fb4', class: "separator" }), h("div", { key: 'a6dbde0e6f11d298bd78dfbaec884b1272e564c4', class: "content" }, h("slot", { key: '5537b6cca4feb31830e9d654785bc9c8258455ba' })))));
27
+ return (h(Host, { key: 'b699133fd52ef092307f90f515aa7046a99cd21f' }, h("div", { key: '938a7c031dae445fee084ea8c1390627b1743bfb', class: this.cardClasses() }, h("div", { key: '1d20df2d528d8219a7fcea504f63da8a07a4fe74', class: "header" }, h("slot", { key: '0dadc7cb6813210aa9de4299f86a2e1b8ed01764', name: "header" })), h("div", { key: '79a1560d676b4d7583edf9c2fc14be75d4a35514', class: "separator" }), h("div", { key: 'e0f633c51c1167383fc9f75d153cfb20ee77bc39', class: "content" }, h("slot", { key: 'eb8a5596284dd1a461d7f83abe3ec94ac0ebe76c' })))));
28
28
  }
29
29
  static get style() { return IxDateTimeCardStyle0; }
30
30
  }, [1, "ix-date-time-card", {
@@ -10,7 +10,7 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends HTMLEleme
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return h(Host, { key: 'c4ded9a12469394b7f35bebee62799640ccb905f' });
13
+ return h(Host, { key: 'b940598630bbccaae3d37bfb9fef71c35e777a14' });
14
14
  }
15
15
  static get style() { return IxDividerStyle0; }
16
16
  }, [1, "ix-divider"]);
@@ -33,15 +33,15 @@ const DropdownItem = /*@__PURE__*/ proxyCustomElement(class DropdownItem extends
33
33
  this.icon !== undefined);
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: 'd2972c4154e4f43f3fc9b7b9d6726c05923109c6', class: {
36
+ return (h(Host, { key: '89da1b5ab639ecb4fe9caa06f16fc7f8cff8cd49', class: {
37
37
  hover: this.hover,
38
38
  'icon-only': this.isIconOnly(),
39
39
  disabled: this.disabled,
40
40
  submenu: this.isSubMenu,
41
- }, role: "listitem" }, h("button", { key: '7148b3977626016ffcb818384175e3b1feda5c62', type: "button", tabIndex: 0, class: {
41
+ }, role: "listitem" }, h("button", { key: '386ba89dfedf42919298d1d4d189310c364c0acb', type: "button", tabIndex: 0, class: {
42
42
  'dropdown-item': true,
43
43
  'no-checked-field': this.suppressChecked,
44
- }, onClick: () => this.emitItemClick() }, !this.suppressChecked ? (h("div", { class: "dropdown-item-checked" }, this.checked ? (h("ix-icon", { class: "checkmark", name: 'single-check', size: "16" })) : null)) : null, this.icon ? (h("ix-icon", { class: "dropdown-item-icon", name: this.icon })) : null, h("div", { key: 'e347baeb8cf93401a7d92210cb5102301e41133b', class: "dropdown-item-text" }, this.label, h("slot", { key: 'fc99370903e7e37d3903f42451c3992b32d0399b' })), this.isSubMenu ? (h("ix-icon", { name: 'chevron-right-small', class: 'submenu-icon' })) : null)));
44
+ }, onClick: () => this.emitItemClick() }, !this.suppressChecked ? (h("div", { class: "dropdown-item-checked" }, this.checked ? (h("ix-icon", { class: "checkmark", name: 'single-check', size: "16" })) : null)) : null, this.icon ? (h("ix-icon", { class: "dropdown-item-icon", name: this.icon })) : null, h("div", { key: '385eaf4c6c074d1e21eeb55ef1c7956f8f8c4126', class: "dropdown-item-text" }, this.label, h("slot", { key: 'b9e7252f90c080074da87786cf5fce912f8bdb25' })), this.isSubMenu ? (h("ix-icon", { name: 'chevron-right-small', class: 'submenu-icon' })) : null)));
45
45
  }
46
46
  get hostElement() { return this; }
47
47
  static get style() { return IxDropdownItemStyle0; }
@@ -495,6 +495,9 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
495
495
  event.preventDefault();
496
496
  }
497
497
  if (this.isTriggerElement(target)) {
498
+ if (this.closeBehavior === 'outside') {
499
+ event.preventDefault();
500
+ }
498
501
  return;
499
502
  }
500
503
  }
@@ -512,7 +515,7 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
512
515
  this.applyDropdownPosition();
513
516
  }
514
517
  render() {
515
- return (h(Host, { key: '21eae24f6b02ef9ac1a2113fef4d3b3553b83d31', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
518
+ return (h(Host, { key: '4f50f3c00bce087ae0c36c463f49c29adfe20f78', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
516
519
  'dropdown-menu': true,
517
520
  show: this.show,
518
521
  overflow: true,
@@ -520,7 +523,7 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
520
523
  margin: '0',
521
524
  minWidth: '0px',
522
525
  position: this.positioningStrategy,
523
- }, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: 'd1cded3bf438002313e68816b174aa5eac087740', style: { display: 'contents' } }, this.header && h("div", { class: "dropdown-header" }, this.header), h("slot", { key: 'b975b0b6f9b8a4050a5ba88c1b2cb0c9f01e3e4d' }))));
526
+ }, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: 'be529e836ffcf39ed344416cb41d1cc45a0d9abb', style: { display: 'contents' } }, this.header && h("div", { key: 'af768a37fd188144b84836abc87b3fd06f0b4808', class: "dropdown-header" }, this.header), h("slot", { key: '2b4e76a579c4cadb18e3ce7baa1f83c942e2d28f' }))));
524
527
  }
525
528
  get hostElement() { return this; }
526
529
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"dropdown.js","mappings":"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","names":[],"sources":["src/components/utils/focus.ts","src/components/dropdown/dropdown-controller.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\nexport class ArrowFocusController {\n public items: Element[];\n\n container: HTMLElement;\n wrap = false;\n callback: any;\n\n private keyListenerBind = this.keyListener.bind(this);\n\n constructor(\n items: any[],\n container: HTMLElement,\n callback: (index: number) => void\n ) {\n this.items = items;\n this.container = container;\n this.callback = callback;\n\n this.container.addEventListener('keydown', this.keyListenerBind);\n }\n\n private keyListener(e) {\n const activeIndex = this.items.indexOf(document.activeElement);\n\n if (activeIndex < 0) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n if (activeIndex < this.items.length - 1) {\n e.preventDefault();\n if (this.callback) {\n this.callback(activeIndex + 1);\n }\n } else if (this.wrap) {\n e.preventDefault();\n if (this.callback) {\n this.callback(0);\n }\n }\n break;\n\n case 'ArrowUp':\n {\n if (activeIndex > 0) {\n e.preventDefault();\n if (this.callback) {\n this.callback(activeIndex - 1);\n }\n } else if (this.wrap && activeIndex === 0) {\n e.preventDefault();\n if (this.callback) {\n this.callback(this.items.length - 1);\n }\n }\n }\n break;\n }\n }\n\n disconnect() {\n this.container.removeEventListener('keydown', this.keyListenerBind);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\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\n@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"dropdown.js","mappings":"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","names":[],"sources":["src/components/utils/focus.ts","src/components/dropdown/dropdown-controller.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\nexport class ArrowFocusController {\n public items: Element[];\n\n container: HTMLElement;\n wrap = false;\n callback: any;\n\n private keyListenerBind = this.keyListener.bind(this);\n\n constructor(\n items: any[],\n container: HTMLElement,\n callback: (index: number) => void\n ) {\n this.items = items;\n this.container = container;\n this.callback = callback;\n\n this.container.addEventListener('keydown', this.keyListenerBind);\n }\n\n private keyListener(e) {\n const activeIndex = this.items.indexOf(document.activeElement);\n\n if (activeIndex < 0) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n if (activeIndex < this.items.length - 1) {\n e.preventDefault();\n if (this.callback) {\n this.callback(activeIndex + 1);\n }\n } else if (this.wrap) {\n e.preventDefault();\n if (this.callback) {\n this.callback(0);\n }\n }\n break;\n\n case 'ArrowUp':\n {\n if (activeIndex > 0) {\n e.preventDefault();\n if (this.callback) {\n this.callback(activeIndex - 1);\n }\n } else if (this.wrap && activeIndex === 0) {\n e.preventDefault();\n if (this.callback) {\n this.callback(this.items.length - 1);\n }\n }\n }\n break;\n }\n }\n\n disconnect() {\n this.container.removeEventListener('keydown', this.keyListenerBind);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\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\n@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -20,7 +20,7 @@ const FilterChip = /*@__PURE__*/ proxyCustomElement(class FilterChip extends HTM
20
20
  this.closeClick.emit();
21
21
  }
22
22
  render() {
23
- return (h(Host, { key: 'ab9555b6ab060074b79e61b6262821ce545e9e62', class: { disabled: this.disabled, readonly: this.readonly }, title: this.el.textContent }, h("div", { key: '889e241f3ea192f23452f499934c4d0e7aee2cde', class: "slot-container" }, h("slot", { key: 'd48aea2e83bf484d77d13240dec464bac3a483fa' })), !this.disabled && !this.readonly ? (h("ix-icon-button", { ghost: true, oval: true, icon: 'close-small', size: "16", tabindex: this.disabled ? -1 : 0, variant: "primary", disabled: this.disabled, onClick: (e) => this.onCloseClick(e) })) : null));
23
+ return (h(Host, { key: '215ed3c9b71df4ba795032725d76950f10a33184', class: { disabled: this.disabled, readonly: this.readonly }, title: this.el.textContent }, h("div", { key: '68f822ed7365a1b9375721e5fc9a9ce91bd79313', class: "slot-container" }, h("slot", { key: '8c334798a0c6c274d68564ba12b01d59054c338c' })), !this.disabled && !this.readonly ? (h("ix-icon-button", { ghost: true, oval: true, icon: 'close-small', size: "16", tabindex: this.disabled ? -1 : 0, variant: "primary", disabled: this.disabled, onClick: (e) => this.onCloseClick(e) })) : null));
24
24
  }
25
25
  get el() { return this; }
26
26
  static get style() { return IxFilterChipStyle0; }
@@ -38,7 +38,7 @@ const GroupContextMenu = /*@__PURE__*/ proxyCustomElement(class GroupContextMenu
38
38
  this.configureDropdown(dropdownElement, triggerElement);
39
39
  }
40
40
  render() {
41
- return (h(Host, { key: '288d46637e80e99a79a01e071d69a77582edf051' }, h("ix-icon-button", { key: '7c9ad1282215761c6d160799971114cc3533e30a', class: { hide: !this.showContextMenu }, size: "24", ghost: true, icon: 'context-menu' }), h("slot", { key: 'c80375c5028e87d03c5af3b3deaa45fa2958e11f', onSlotchange: () => this.onSlotChange() })));
41
+ return (h(Host, { key: 'f0540e7922380e5d6dc1ccd3a9cf89f8899f0b8f' }, h("ix-icon-button", { key: 'd252cde38720925875096a6e57d494da800139f3', class: { hide: !this.showContextMenu }, size: "24", ghost: true, icon: 'context-menu' }), h("slot", { key: 'e5f04fcdd55f57bd9bad2beeb5982f6c6352f19b', onSlotchange: () => this.onSlotChange() })));
42
42
  }
43
43
  get hostElement() { return this; }
44
44
  static get style() { return IxGroupContextMenuStyle0; }
@@ -24,10 +24,10 @@ const GroupItem = /*@__PURE__*/ proxyCustomElement(class GroupItem extends HTMLE
24
24
  this.selectedChanged.emit(this.hostElement);
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: 'ec30959a56062acbad4443b9ca91fb8c99125b03', class: {
27
+ return (h(Host, { key: '1263d38096b46d1f07775d0907018af567054e6d', class: {
28
28
  selected: this.selected && !this.suppressSelection,
29
29
  'suppress-selection': this.suppressSelection,
30
- } }, h("button", { key: 'e29e098d709f657d5109ff840d54e84b7c645d28', tabindex: this.focusable ? 0 : -1 }, h("div", { key: 'd82048e82f3a9de77f1acb19f9500c475f400147', class: "group-entry-selection-indicator" }), this.icon ? h("ix-icon", { size: "16", name: this.icon }) : null, this.text ? (h("span", { class: "group-entry-text" }, h("span", { title: this.text }, this.text))) : null, this.secondaryText ? (h("span", { class: "group-entry-text-secondary" }, h("span", { title: this.secondaryText }, this.secondaryText))) : null, h("slot", { key: '1cde0aba243ca5f3537ce589be9e44d3ba9e2494' }))));
30
+ } }, h("button", { key: 'f5ca23ab1328e745e9bb8299db8d15a450cd3af7', tabindex: this.focusable ? 0 : -1 }, h("div", { key: '3a60d30b7686a8b3b67343e7c5cbd5b1faacf0e4', class: "group-entry-selection-indicator" }), this.icon ? h("ix-icon", { size: "16", name: this.icon }) : null, this.text ? (h("span", { class: "group-entry-text" }, h("span", { title: this.text }, this.text))) : null, this.secondaryText ? (h("span", { class: "group-entry-text-secondary" }, h("span", { title: this.secondaryText }, this.secondaryText))) : null, h("slot", { key: 'a24a61b86fea34c7124b5345bd41c08550a145b5' }))));
31
31
  }
32
32
  get hostElement() { return this; }
33
33
  static get style() { return IxGroupItemStyle0; }
@@ -69,7 +69,7 @@ const IconButton = /*@__PURE__*/ proxyCustomElement(class IconButton extends HTM
69
69
  type: this.type,
70
70
  extraClasses: this.getIconSizeClass(),
71
71
  };
72
- return (h(Host, { key: '0de06c10c66ae48a19a61794482353383007175d', class: Object.assign(Object.assign({}, this.getIconSizeClass()), { disabled: this.disabled || this.loading }) }, h(BaseIconButton, Object.assign({ key: '151dac878b35e83b8cca149e8b68c28f1198d5db' }, baseButtonProps))));
72
+ return (h(Host, { key: '3936b4cb8d9419a0be9618949383a20e91d26b24', class: Object.assign(Object.assign({}, this.getIconSizeClass()), { disabled: this.disabled || this.loading }) }, h(BaseIconButton, Object.assign({ key: '44c24801e0082622aa94c3ac213b633c6da00d61' }, baseButtonProps))));
73
73
  }
74
74
  get hostElement() { return this; }
75
75
  static get style() { return IxIconButtonStyle0; }
@@ -33,7 +33,7 @@ const ApplicationSidebar = /*@__PURE__*/ proxyCustomElement(class ApplicationSid
33
33
  anime(animation);
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: 'e05ab4ea0d3e6f05f115616bae74208fef0c701d', slot: "application-sidebar", class: {
36
+ return (h(Host, { key: 'fe0f54c79115877bac6d0032320550ad2e3fe089', slot: "application-sidebar", class: {
37
37
  visible: this.visible,
38
38
  } }, this.visible ? h("slot", null) : null));
39
39
  }
@@ -47,7 +47,7 @@ const ApplicationSwitchModal = /*@__PURE__*/ proxyCustomElement(class Applicatio
47
47
  }
48
48
  render() {
49
49
  var _a, _b, _c, _d;
50
- return (h(Host, { key: 'b92498225544ccc8c436d0395eccd230d2783d49' }, h("ix-modal-header", { key: 'dc41803dc7d4f0b208f7a0da8cf63b105cef723a', icon: "apps" }, ((_a = this.config) === null || _a === void 0 ? void 0 : _a.i18nAppSwitch) || 'Switch to application'), h("ix-modal-content", { key: 'a20d2a49fd3566188df365eed13aae97d84a0c26', class: "content" }, h("div", { key: '560a0c0f9303be6a67fa71937f42aff945c9a0b5', class: "content-apps" }, (!this.config || ((_b = this.config) === null || _b === void 0 ? void 0 : _b.apps.length) === 0) && (h("div", { class: "loading" }, h("ix-spinner", { size: "medium", variant: "primary" }), h("span", null, ((_c = this.config) === null || _c === void 0 ? void 0 : _c.i18nLoadingApps) ||
50
+ return (h(Host, { key: '2c9a4d11f697563924effefae0ca86ca826fa9c1' }, h("ix-modal-header", { key: '09586fc6d884b175ea95e8f4f42e9017c2874ef4', icon: "apps" }, ((_a = this.config) === null || _a === void 0 ? void 0 : _a.i18nAppSwitch) || 'Switch to application'), h("ix-modal-content", { key: '44be3f676830e44c4450ac9a85280829d2570004', class: "content" }, h("div", { key: 'd15e8b91de03f40013cfe94cde3159619b8ee8cc', class: "content-apps" }, (!this.config || ((_b = this.config) === null || _b === void 0 ? void 0 : _b.apps.length) === 0) && (h("div", { key: '5d8cc548c1c7adaa83c89ac329d04be5e6f7a59c', class: "loading" }, h("ix-spinner", { key: '80c9c4adb4546028848d2b47929527b613152651', size: "medium", variant: "primary" }), h("span", { key: 'c06fc0f909d940df03402e360e2a3d64bd9decc4' }, ((_c = this.config) === null || _c === void 0 ? void 0 : _c.i18nLoadingApps) ||
51
51
  'Loading available applications...'))), (_d = this.config) === null || _d === void 0 ? void 0 :
52
52
  _d.apps.map((appEntry) => {
53
53
  var _a;
@@ -1 +1 @@
1
- {"file":"ix-application-switch-modal.js","mappings":";;;;;;;;;AAAA,MAAM,yBAAyB,GAAG,62DAA62D,CAAC;AACh5D,uCAAe,yBAAyB;;ACexC,SAAS,eAAe,CAAC,KAQxB;IACC,SAAS,UAAU,CAAC,MAAoC;QACtD,IACE,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,SAAS;YACpB,MAAM,KAAK,OAAO;YAClB,MAAM,KAAK,MAAM,EACjB;;;YAGA,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;IAED,QACE,cACE,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,EACD,OAAO,EAAE;YACP,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SACtC,IAED,eACE,WAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,GAAQ,CAC3C,EACN,WAAK,KAAK,EAAC,SAAS,IAClB,qBAAe,MAAM,EAAC,IAAI,IACvB,KAAK,CAAC,IAAI,EACV,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KACvB,eACE,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,iBAAiB,GACd,CACZ,CACa,EAChB,qBAAe,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,IAC1C,KAAK,CAAC,WAAW,CACJ,CACZ,CACC,EACT;AACJ,CAAC;MAQY,sBAAsB;;;;;;;IAMjC,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC/C;KACF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,wEAAiB,IAAI,EAAC,MAAM,IACzB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,KAAI,uBAAuB,CACtC,EAClB,yEAAkB,KAAK,EAAC,SAAS,IAC/B,4DAAK,KAAK,EAAC,cAAc,IACtB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,MAAK,CAAC,MAC9C,WAAK,KAAK,EAAC,SAAS,IAClB,kBAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,GAAc,EACzD,gBACG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe;YAC3B,mCAAmC,CAChC,CACH,CACP,EACA,MAAA,IAAI,CAAC,MAAM;eAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ;;gBAAK,QACnC,EAAC,eAAe,IACd,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAA,GAClC,EACpB;aAAA,CAAC,CACE,CACW,CACd,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/application-header/application-switch-modal/application-switch-modal.scss?tag=ix-application-switch-modal&encapsulation=shadow","src/components/application-header/application-switch-modal/application-switch-modal.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@import 'mixins/shadow-dom/component';\n@import 'mixins/hover';\n\n:host {\n @include ix-component;\n display: block;\n\n .content {\n padding: 2rem;\n padding-right: 0;\n }\n\n .content-apps {\n display: flex;\n position: relative;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-height: 50vh;\n margin-right: 0.25rem;\n gap: 1.5rem;\n }\n\n .loading {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ix-spinner {\n margin-right: 1rem;\n }\n }\n}\n\n:host {\n .AppEntry {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem;\n flex: 1 1 calc(45%);\n cursor: pointer;\n border: 0.0625rem solid transparent;\n }\n\n .AppEntry.Selected {\n background-color: var(--theme-color-ghost--selected);\n border: var(--theme-dynamic-bdr-1);\n }\n\n .AppEntry {\n @include ghost-hover-pressed;\n }\n\n .AppEntry:focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n }\n\n .AppName {\n display: flex;\n flex-direction: column;\n }\n\n .AppName ix-icon {\n margin-left: 1rem;\n }\n\n .AppIcon {\n width: 3rem;\n height: 3rem;\n border-radius: 0.25rem;\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n AppSwitchConfiguration,\n AppSwitchConfigurationTarget,\n} from '../../utils/application-layout/context';\nimport { dismissModal } from '../../utils/modal';\n\nfunction ApplicationItem(props: {\n host: HTMLIxApplicationSwitchModalElement;\n name: string;\n description: string;\n iconSrc: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n selected: boolean;\n}) {\n function isExternal(target: AppSwitchConfigurationTarget) {\n if (\n target !== '_blank' &&\n target !== '_parent' &&\n target !== '_self' &&\n target !== '_top'\n ) {\n // Check if its one of the target keywords\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?retiredLocale=de#target\n return true;\n }\n\n if (target === '_blank') {\n return true;\n }\n\n return false;\n }\n\n return (\n <button\n class={{\n AppEntry: true,\n Selected: props.selected,\n }}\n onClick={() => {\n dismissModal(props.host);\n window.open(props.url, props.target);\n }}\n >\n <div>\n <img class=\"AppIcon\" src={props.iconSrc}></img>\n </div>\n <div class=\"AppName\">\n <ix-typography format=\"h4\">\n {props.name}\n {isExternal(props.target) && (\n <ix-icon\n size=\"12\"\n name=\"open-external\"\n color=\"color-soft-text\"\n ></ix-icon>\n )}\n </ix-typography>\n <ix-typography format=\"label-sm\" color=\"soft\">\n {props.description}\n </ix-typography>\n </div>\n </button>\n );\n}\n\n/** @internal */\n@Component({\n tag: 'ix-application-switch-modal',\n styleUrl: 'application-switch-modal.scss',\n shadow: true,\n})\nexport class ApplicationSwitchModal {\n @Element() hostElement!: HTMLIxApplicationSwitchModalElement;\n\n /** @internal */\n @Prop() config: AppSwitchConfiguration;\n\n componentWillLoad() {\n if (!this.config) {\n throw Error('ApplicationConfig not provided');\n }\n }\n\n render() {\n return (\n <Host>\n <ix-modal-header icon=\"apps\">\n {this.config?.i18nAppSwitch || 'Switch to application'}\n </ix-modal-header>\n <ix-modal-content class=\"content\">\n <div class=\"content-apps\">\n {(!this.config || this.config?.apps.length === 0) && (\n <div class=\"loading\">\n <ix-spinner size=\"medium\" variant=\"primary\"></ix-spinner>\n <span>\n {this.config?.i18nLoadingApps ||\n 'Loading available applications...'}\n </span>\n </div>\n )}\n {this.config?.apps.map((appEntry) => (\n <ApplicationItem\n host={this.hostElement}\n name={appEntry.name}\n description={appEntry.description}\n iconSrc={appEntry.iconSrc}\n target={appEntry.target}\n url={appEntry.url}\n selected={appEntry.id === this.config?.currentAppId}\n ></ApplicationItem>\n ))}\n </div>\n </ix-modal-content>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-application-switch-modal.js","mappings":";;;;;;;;;AAAA,MAAM,yBAAyB,GAAG,62DAA62D,CAAC;AACh5D,uCAAe,yBAAyB;;ACexC,SAAS,eAAe,CAAC,KAQxB;IACC,SAAS,UAAU,CAAC,MAAoC;QACtD,IACE,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,SAAS;YACpB,MAAM,KAAK,OAAO;YAClB,MAAM,KAAK,MAAM,EACjB;;;YAGA,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;IAED,QACE,cACE,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,EACD,OAAO,EAAE;YACP,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SACtC,IAED,eACE,WAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,GAAQ,CAC3C,EACN,WAAK,KAAK,EAAC,SAAS,IAClB,qBAAe,MAAM,EAAC,IAAI,IACvB,KAAK,CAAC,IAAI,EACV,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KACvB,eACE,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,iBAAiB,GACd,CACZ,CACa,EAChB,qBAAe,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,IAC1C,KAAK,CAAC,WAAW,CACJ,CACZ,CACC,EACT;AACJ,CAAC;MAQY,sBAAsB;;;;;;;IAMjC,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC/C;KACF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,wEAAiB,IAAI,EAAC,MAAM,IACzB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,KAAI,uBAAuB,CACtC,EAClB,yEAAkB,KAAK,EAAC,SAAS,IAC/B,4DAAK,KAAK,EAAC,cAAc,IACtB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,MAAK,CAAC,MAC9C,4DAAK,KAAK,EAAC,SAAS,IAClB,mEAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,GAAc,EACzD,+DACG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe;YAC3B,mCAAmC,CAChC,CACH,CACP,EACA,MAAA,IAAI,CAAC,MAAM;eAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ;;gBAAK,QACnC,EAAC,eAAe,IACd,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAA,GAClC,EACpB;aAAA,CAAC,CACE,CACW,CACd,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/application-header/application-switch-modal/application-switch-modal.scss?tag=ix-application-switch-modal&encapsulation=shadow","src/components/application-header/application-switch-modal/application-switch-modal.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@import 'mixins/shadow-dom/component';\n@import 'mixins/hover';\n\n:host {\n @include ix-component;\n display: block;\n\n .content {\n padding: 2rem;\n padding-right: 0;\n }\n\n .content-apps {\n display: flex;\n position: relative;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-height: 50vh;\n margin-right: 0.25rem;\n gap: 1.5rem;\n }\n\n .loading {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ix-spinner {\n margin-right: 1rem;\n }\n }\n}\n\n:host {\n .AppEntry {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem;\n flex: 1 1 calc(45%);\n cursor: pointer;\n border: 0.0625rem solid transparent;\n }\n\n .AppEntry.Selected {\n background-color: var(--theme-color-ghost--selected);\n border: var(--theme-dynamic-bdr-1);\n }\n\n .AppEntry {\n @include ghost-hover-pressed;\n }\n\n .AppEntry:focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n }\n\n .AppName {\n display: flex;\n flex-direction: column;\n }\n\n .AppName ix-icon {\n margin-left: 1rem;\n }\n\n .AppIcon {\n width: 3rem;\n height: 3rem;\n border-radius: 0.25rem;\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n AppSwitchConfiguration,\n AppSwitchConfigurationTarget,\n} from '../../utils/application-layout/context';\nimport { dismissModal } from '../../utils/modal';\n\nfunction ApplicationItem(props: {\n host: HTMLIxApplicationSwitchModalElement;\n name: string;\n description: string;\n iconSrc: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n selected: boolean;\n}) {\n function isExternal(target: AppSwitchConfigurationTarget) {\n if (\n target !== '_blank' &&\n target !== '_parent' &&\n target !== '_self' &&\n target !== '_top'\n ) {\n // Check if its one of the target keywords\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?retiredLocale=de#target\n return true;\n }\n\n if (target === '_blank') {\n return true;\n }\n\n return false;\n }\n\n return (\n <button\n class={{\n AppEntry: true,\n Selected: props.selected,\n }}\n onClick={() => {\n dismissModal(props.host);\n window.open(props.url, props.target);\n }}\n >\n <div>\n <img class=\"AppIcon\" src={props.iconSrc}></img>\n </div>\n <div class=\"AppName\">\n <ix-typography format=\"h4\">\n {props.name}\n {isExternal(props.target) && (\n <ix-icon\n size=\"12\"\n name=\"open-external\"\n color=\"color-soft-text\"\n ></ix-icon>\n )}\n </ix-typography>\n <ix-typography format=\"label-sm\" color=\"soft\">\n {props.description}\n </ix-typography>\n </div>\n </button>\n );\n}\n\n/** @internal */\n@Component({\n tag: 'ix-application-switch-modal',\n styleUrl: 'application-switch-modal.scss',\n shadow: true,\n})\nexport class ApplicationSwitchModal {\n @Element() hostElement!: HTMLIxApplicationSwitchModalElement;\n\n /** @internal */\n @Prop() config: AppSwitchConfiguration;\n\n componentWillLoad() {\n if (!this.config) {\n throw Error('ApplicationConfig not provided');\n }\n }\n\n render() {\n return (\n <Host>\n <ix-modal-header icon=\"apps\">\n {this.config?.i18nAppSwitch || 'Switch to application'}\n </ix-modal-header>\n <ix-modal-content class=\"content\">\n <div class=\"content-apps\">\n {(!this.config || this.config?.apps.length === 0) && (\n <div class=\"loading\">\n <ix-spinner size=\"medium\" variant=\"primary\"></ix-spinner>\n <span>\n {this.config?.i18nLoadingApps ||\n 'Loading available applications...'}\n </span>\n </div>\n )}\n {this.config?.apps.map((appEntry) => (\n <ApplicationItem\n host={this.hostElement}\n name={appEntry.name}\n description={appEntry.description}\n iconSrc={appEntry.iconSrc}\n target={appEntry.target}\n url={appEntry.url}\n selected={appEntry.id === this.config?.currentAppId}\n ></ApplicationItem>\n ))}\n </div>\n </ix-modal-content>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -88,12 +88,12 @@ const Application = /*@__PURE__*/ proxyCustomElement(class Application extends H
88
88
  });
89
89
  }
90
90
  render() {
91
- return (h(Host, { key: 'bd797967a3e5a578fc1686817aa899c87ef27213', "data-role": "", class: {
91
+ return (h(Host, { key: '4e8314dec7968a3b9b2e00a7852dc53c924d0c53', "data-role": "", class: {
92
92
  [`breakpoint-${this.breakpoint}`]: true,
93
- } }, h("slot", { key: 'ed10b1e05b826dcc5c44af641a10da168ef96756', name: "application-header" }), h("div", { key: '35a64b761c91a52dfbbf7e4dec5e92d427fa207a', class: "application" }, h("slot", { key: '06620e695f06ab2f29edde4b9bac0fd144c3984b', name: "menu" }), h("aside", { key: 'f5e99f9ac341d4ba7a72fda5ed4e47ac951cf259', class: {
93
+ } }, h("slot", { key: '2f4a52a13679af639648164eff165d5dd37ec951', name: "application-header" }), h("div", { key: 'b316ff04f23e4606d54ddcc5531ed884b988e360', class: "application" }, h("slot", { key: '40f4800917fa9f24cdc50c72543e2c7181878775', name: "menu" }), h("aside", { key: '62e0120b64ad942e7dd991b6fe9912b60e36e04f', class: {
94
94
  'application-sidebar': true,
95
95
  slotted: this.applicationSidebarSlotted,
96
- }, onClick: () => this.onContentClick() }, h("slot", { key: '57c20e1184fbc0294aad5d96f1cbafa72bbb8cf5', name: "application-sidebar", onSlotchange: () => (this.applicationSidebarSlotted = hasSlottedElements(this.applicationSidebarSlot)) })), h("main", { key: 'b38951ba5e1544913439ff3de08edebca6421de1', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: '07b9c1db601fdb867a9e5cc1890eb5f20dfaecdb' })))));
96
+ }, onClick: () => this.onContentClick() }, h("slot", { key: '211f35df78de174484e914fa646227ba290fb9ae', name: "application-sidebar", onSlotchange: () => (this.applicationSidebarSlotted = hasSlottedElements(this.applicationSidebarSlot)) })), h("main", { key: 'f58973392fbff54f0aef27ae95560cfb36dbd568', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: 'ac63821ff0fde080c1dd284dcb7df10113cb6477' })))));
97
97
  }
98
98
  get hostElement() { return this; }
99
99
  static get watchers() { return {
@@ -75,10 +75,10 @@ const BasicNavigation = /*@__PURE__*/ proxyCustomElement(class BasicNavigation e
75
75
  (_a = this.modeDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
76
76
  }
77
77
  render() {
78
- return (h(Host, { key: '2cf2956b483d753bb1966c9f4546c261add88f2f', "data-role": "", class: {
78
+ return (h(Host, { key: 'f7c1e352f7b85360afaa4aa7302394fbcefaa33a', "data-role": "", class: {
79
79
  'hide-header': this.hideHeader,
80
80
  [`breakpoint-${this.breakpoint}`]: true,
81
- } }, !this.hideHeader ? (h("ix-application-header", { name: this.applicationName }, h("slot", { name: "logo", slot: "logo" }))) : null, h("div", { key: '779599a5b282004c8facd68d15ba5eea32390632', class: "navigation-content" }, h("slot", { key: 'ec656284ec6266b8d620c26723d002839614a016', name: "menu" }), h("div", { key: 'f3bc4ea5a2afc2e67a0abff808659043468baf7b', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: 'a690de1ab1bfc9bacc6828b405772a25280a4be0' })))));
81
+ } }, !this.hideHeader ? (h("ix-application-header", { name: this.applicationName }, h("slot", { name: "logo", slot: "logo" }))) : null, h("div", { key: 'bbd969c401308a804a6b8973a038daca551fc8c4', class: "navigation-content" }, h("slot", { key: '3b09f85c77fda585b91786049d590e94c6bc3717', name: "menu" }), h("div", { key: '05b1eb22f097cf421f0ed0c747364c5b33418190', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: 'e46d1d8ddc56270570e28ea814087506202e7217' })))));
82
82
  }
83
83
  get hostElement() { return this; }
84
84
  static get watchers() { return {
@@ -74,7 +74,7 @@ const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class Breadcrumb extends HTM
74
74
  render() {
75
75
  var _a, _b, _c, _d;
76
76
  const a11y = a11yHostAttributes(this.hostElement);
77
- return (h(Host, { key: '2aaaac4e884816c159025205021fa3ae168b2f81' }, h("ix-dropdown", { key: 'd532d910af7b09ab13becd697619aa925366ae49', id: this.previousDropdownId, "aria-label": this.ariaLabelPreviousButton, trigger: ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) > this.visibleItemCount
77
+ return (h(Host, { key: '6fd820850cf0fce9b8f4e6d16587ad3458062c48' }, h("ix-dropdown", { key: '46a3b21d0be6c27f8cc5050b5cb420ce1d55c046', id: this.previousDropdownId, "aria-label": this.ariaLabelPreviousButton, trigger: ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) > this.visibleItemCount
78
78
  ? this.previousButtonRef
79
79
  : null, onShowChanged: ({ detail }) => {
80
80
  this.isPreviousDropdownExpanded = detail;
@@ -91,7 +91,7 @@ const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class Breadcrumb extends HTM
91
91
  return (h("ix-dropdown-item", { label: label, onClick: () => {
92
92
  this.onItemClick(label);
93
93
  }, onItemClick: (event) => event.stopPropagation() }));
94
- })), ((_b = this.items) === null || _b === void 0 ? void 0 : _b.length) > this.visibleItemCount ? (h("ix-breadcrumb-item", { id: this.previousButtonId, ref: (ref) => (this.previousButtonRef = ref), label: "...", tabIndex: 1, onItemClick: (event) => event.stopPropagation(), "aria-describedby": this.previousDropdownId, "aria-controls": this.previousDropdownId, "aria-expanded": a11yBoolean(this.isPreviousDropdownExpanded), class: 'previous-button' })) : null, h("nav", { key: '399d6dcf91ecd9cb5cd7fd9797f28431ef262f78', class: "crumb-items", "aria-label": (_c = a11y['aria-label']) !== null && _c !== void 0 ? _c : 'breadcrumbs' }, h("ol", { key: 'ee7f6ebf18d7c1a699886b704841ccdc7bd4e787' }, h("slot", { key: '7f12ae63b997b9a350ba00b96c85e870a9520d1b' }))), h("ix-dropdown", { key: 'e90bf4b2aedd117179f4a3298f22f49196bd4c62', trigger: this.nextButtonRef }, (_d = this.nextItems) === null || _d === void 0 ? void 0 : _d.map((item) => (h("ix-dropdown-item", { label: item, onClick: (e) => {
94
+ })), ((_b = this.items) === null || _b === void 0 ? void 0 : _b.length) > this.visibleItemCount ? (h("ix-breadcrumb-item", { id: this.previousButtonId, ref: (ref) => (this.previousButtonRef = ref), label: "...", tabIndex: 1, onItemClick: (event) => event.stopPropagation(), "aria-describedby": this.previousDropdownId, "aria-controls": this.previousDropdownId, "aria-expanded": a11yBoolean(this.isPreviousDropdownExpanded), class: 'previous-button' })) : null, h("nav", { key: 'd4ea11b5d3417f434ef2485075cb08c66fe7169e', class: "crumb-items", "aria-label": (_c = a11y['aria-label']) !== null && _c !== void 0 ? _c : 'breadcrumbs' }, h("ol", { key: '97fa52f7ddf3fc18ad7a90b8f28cf561d238146f' }, h("slot", { key: '33b1ce72c69620d9bd7b702c7bf5540c081c687d' }))), h("ix-dropdown", { key: 'e635c5495fdfd8e21f6e233d3ca6b5c444e099dc', trigger: this.nextButtonRef }, (_d = this.nextItems) === null || _d === void 0 ? void 0 : _d.map((item) => (h("ix-dropdown-item", { label: item, onClick: (e) => {
95
95
  this.nextClick.emit({
96
96
  event: e,
97
97
  item,