@siemens/ix 1.5.0-beta.0 → 1.5.0-beta.2

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 (396) hide show
  1. package/dist/cjs/index-478a4b66.js +8 -0
  2. package/dist/cjs/index-478a4b66.js.map +1 -1
  3. package/dist/cjs/index.cjs.js +12 -0
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/ix-blind.cjs.entry.js +27 -6
  6. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +1 -1
  8. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ix-category-filter.cjs.entry.js +19 -5
  10. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ix-chip.cjs.entry.js +6 -1
  12. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ix-date-picker_2.cjs.entry.js +62 -43
  14. package/dist/cjs/ix-date-picker_2.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  16. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ix-dropdown_2.cjs.entry.js +5 -4
  18. package/dist/cjs/ix-dropdown_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ix-filter-chip.cjs.entry.js +2 -2
  20. package/dist/cjs/ix-filter-chip.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ix-flip-tile_2.cjs.entry.js +11 -2
  22. package/dist/cjs/ix-flip-tile_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ix-group_3.cjs.entry.js +33 -11
  24. package/dist/cjs/ix-group_3.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ix-index-button.cjs.entry.js +28 -0
  26. package/dist/cjs/ix-index-button.cjs.entry.js.map +1 -0
  27. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ix-menu_9.cjs.entry.js +1 -1
  30. package/dist/cjs/ix-menu_9.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ix-modal_2.cjs.entry.js +17 -5
  32. package/dist/cjs/ix-modal_2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ix-pagination.cjs.entry.js +123 -0
  34. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ix-select_2.cjs.entry.js +56 -37
  36. package/dist/cjs/ix-select_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ix-toast_2.cjs.entry.js +10 -1
  38. package/dist/cjs/ix-toast_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
  40. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ix-tooltip.cjs.entry.js +55 -27
  42. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ix-tree_2.cjs.entry.js +4 -0
  44. package/dist/cjs/ix-tree_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ix-upload.cjs.entry.js +8 -23
  46. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ix-workflow-step_2.cjs.entry.js +51 -36
  48. package/dist/cjs/ix-workflow-step_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/loader.cjs.js +2 -2
  50. package/dist/cjs/loader.cjs.js.map +1 -1
  51. package/dist/cjs/siemens-ix.cjs.js +2 -2
  52. package/dist/cjs/siemens-ix.cjs.js.map +1 -1
  53. package/dist/cjs/upload-file-state-a79acf2b.js +19 -0
  54. package/dist/cjs/upload-file-state-a79acf2b.js.map +1 -0
  55. package/dist/collection/collection-manifest.json +3 -1
  56. package/dist/collection/components/blind/blind.css +22 -8
  57. package/dist/collection/components/blind/blind.js +35 -5
  58. package/dist/collection/components/blind/blind.js.map +1 -1
  59. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -2
  60. package/dist/collection/components/category-filter/category-filter.js +19 -5
  61. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  62. package/dist/collection/components/chip/chip.js +27 -2
  63. package/dist/collection/components/chip/chip.js.map +1 -1
  64. package/dist/collection/components/date-picker/date-picker.css +3 -0
  65. package/dist/collection/components/date-picker/date-picker.js +64 -45
  66. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  67. package/dist/collection/components/datetime-picker/datetime-picker.css +6 -5
  68. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  69. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  70. package/dist/collection/components/dropdown/dropdown.js +2 -1
  71. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  72. package/dist/collection/components/dropdown-item/dropdown-item.css +0 -1
  73. package/dist/collection/components/dropdown-item/dropdown-item.js +2 -2
  74. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  75. package/dist/collection/components/filter-chip/filter-chip.css +14 -7
  76. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  77. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  78. package/dist/collection/components/flip-tile/flip-tile.css +0 -4
  79. package/dist/collection/components/flip-tile/flip-tile.js +56 -2
  80. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  81. package/dist/collection/components/group/group.css +21 -12
  82. package/dist/collection/components/group/group.js +34 -10
  83. package/dist/collection/components/group/group.js.map +1 -1
  84. package/dist/collection/components/group-item/group-item.css +8 -4
  85. package/dist/collection/components/index-button/index-button.css +31 -0
  86. package/dist/collection/components/index-button/index-button.js +83 -0
  87. package/dist/collection/components/index-button/index-button.js.map +1 -0
  88. package/dist/collection/components/input-group/input-group.css +3 -0
  89. package/dist/collection/components/menu-item/menu-item.css +15 -10
  90. package/dist/collection/components/modal/modal.js +6 -1
  91. package/dist/collection/components/modal/modal.js.map +1 -1
  92. package/dist/collection/components/modal-container/modal-container.js +11 -4
  93. package/dist/collection/components/modal-container/modal-container.js.map +1 -1
  94. package/dist/collection/components/pagination/pagination.css +58 -0
  95. package/dist/collection/components/pagination/pagination.js +311 -0
  96. package/dist/collection/components/pagination/pagination.js.map +1 -0
  97. package/dist/collection/components/select/select.css +4 -1
  98. package/dist/collection/components/select/select.js +98 -36
  99. package/dist/collection/components/select/select.js.map +1 -1
  100. package/dist/collection/components/select-item/select-item.css +0 -3
  101. package/dist/collection/components/select-item/select-item.js +1 -1
  102. package/dist/collection/components/select-item/select-item.js.map +1 -1
  103. package/dist/collection/components/toast/toast-container.js +16 -4
  104. package/dist/collection/components/toast/toast-container.js.map +1 -1
  105. package/dist/collection/components/toast/toast-utils.js +4 -1
  106. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  107. package/dist/collection/components/toggle/toggle.css +7 -4
  108. package/dist/collection/components/tooltip/tooltip.css +8 -7
  109. package/dist/collection/components/tooltip/tooltip.js +76 -27
  110. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  111. package/dist/collection/components/tree/tree.js +38 -0
  112. package/dist/collection/components/tree/tree.js.map +1 -1
  113. package/dist/collection/components/utils/a11y.js +10 -0
  114. package/dist/collection/components/utils/a11y.js.map +1 -0
  115. package/dist/collection/components/workflow-step/workflow-step.css +7 -3
  116. package/dist/collection/components/workflow-step/workflow-step.js +45 -6
  117. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  118. package/dist/collection/components/workflow-steps/workflow-steps.css +0 -3
  119. package/dist/collection/components/workflow-steps/workflow-steps.js +48 -39
  120. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  121. package/dist/collection/index.js +1 -0
  122. package/dist/collection/index.js.map +1 -1
  123. package/dist/collection/tests/utils/test/page.js +29 -1
  124. package/dist/collection/tests/utils/test/page.js.map +1 -1
  125. package/dist/components/application-header.js +1 -1
  126. package/dist/components/burger-menu.js +1 -1
  127. package/dist/components/button.js +1 -1
  128. package/dist/components/date-picker.js +63 -44
  129. package/dist/components/date-picker.js.map +1 -1
  130. package/dist/components/date-time-card.js +1 -1
  131. package/dist/components/dropdown-item.js +4 -4
  132. package/dist/components/dropdown-item.js.map +1 -1
  133. package/dist/components/dropdown.js +3 -2
  134. package/dist/components/dropdown.js.map +1 -1
  135. package/dist/components/filter-chip.js +3 -3
  136. package/dist/components/filter-chip.js.map +1 -1
  137. package/dist/components/group-context-menu.js +1 -1
  138. package/dist/components/group-item.js +2 -2
  139. package/dist/components/group-item.js.map +1 -1
  140. package/dist/components/icon-button.js +1 -1
  141. package/dist/components/icon.js +1 -1
  142. package/dist/components/index-button.js +41 -0
  143. package/dist/components/index-button.js.map +1 -0
  144. package/dist/components/index.js +5 -1
  145. package/dist/components/index.js.map +1 -1
  146. package/dist/components/ix-animated-tab.js +1 -1
  147. package/dist/components/ix-animated-tabs.js +1 -1
  148. package/dist/components/ix-basic-navigation.js +1 -1
  149. package/dist/components/ix-blind.js +38 -9
  150. package/dist/components/ix-blind.js.map +1 -1
  151. package/dist/components/ix-breadcrumb-item.js +1 -1
  152. package/dist/components/ix-breadcrumb.js +2 -2
  153. package/dist/components/ix-breadcrumb.js.map +1 -1
  154. package/dist/components/ix-category-filter.js +20 -6
  155. package/dist/components/ix-category-filter.js.map +1 -1
  156. package/dist/components/ix-chip.js +7 -2
  157. package/dist/components/ix-chip.js.map +1 -1
  158. package/dist/components/ix-counter-pill.js +1 -1
  159. package/dist/components/ix-datetime-picker.js +3 -3
  160. package/dist/components/ix-datetime-picker.js.map +1 -1
  161. package/dist/components/ix-divider.js +1 -1
  162. package/dist/components/ix-drawer.js +1 -1
  163. package/dist/components/ix-dropdown-button.js +1 -1
  164. package/dist/components/ix-dropdown-quick-actions.js +1 -1
  165. package/dist/components/ix-event-list-item.js +1 -1
  166. package/dist/components/ix-event-list.js +1 -1
  167. package/dist/components/ix-expanding-search.js +1 -1
  168. package/dist/components/ix-flip-tile-content.js +1 -1
  169. package/dist/components/ix-flip-tile.js +14 -3
  170. package/dist/components/ix-flip-tile.js.map +1 -1
  171. package/dist/components/ix-group-dropdown-item.js +1 -1
  172. package/dist/components/ix-group.js +36 -12
  173. package/dist/components/ix-group.js.map +1 -1
  174. package/dist/components/ix-index-button.d.ts +11 -0
  175. package/dist/components/ix-index-button.js +8 -0
  176. package/dist/components/ix-index-button.js.map +1 -0
  177. package/dist/components/ix-input-group.js +2 -2
  178. package/dist/components/ix-input-group.js.map +1 -1
  179. package/dist/components/ix-kpi.js +1 -1
  180. package/dist/components/ix-map-navigation.js +1 -1
  181. package/dist/components/ix-menu-about-item.js +1 -1
  182. package/dist/components/ix-menu-about-news.js +1 -1
  183. package/dist/components/ix-menu-about.js +1 -1
  184. package/dist/components/ix-menu-avatar.js +1 -1
  185. package/dist/components/ix-menu-settings-item.js +1 -1
  186. package/dist/components/ix-menu-settings.js +1 -1
  187. package/dist/components/ix-menu.js +1 -1
  188. package/dist/components/ix-message-bar.js +1 -1
  189. package/dist/components/ix-modal-example.js +1 -1
  190. package/dist/components/ix-pagination.d.ts +11 -0
  191. package/dist/components/ix-pagination.js +193 -0
  192. package/dist/components/ix-pagination.js.map +1 -0
  193. package/dist/components/ix-pill.js +1 -1
  194. package/dist/components/ix-select.js +1 -341
  195. package/dist/components/ix-select.js.map +1 -1
  196. package/dist/components/ix-split-button-item.js +1 -1
  197. package/dist/components/ix-split-button.js +1 -1
  198. package/dist/components/ix-tile.js +1 -1
  199. package/dist/components/ix-toast-container.js +11 -2
  200. package/dist/components/ix-toast-container.js.map +1 -1
  201. package/dist/components/ix-toggle.js +2 -2
  202. package/dist/components/ix-toggle.js.map +1 -1
  203. package/dist/components/ix-tooltip.js +58 -29
  204. package/dist/components/ix-tooltip.js.map +1 -1
  205. package/dist/components/ix-tree.js +5 -1
  206. package/dist/components/ix-tree.js.map +1 -1
  207. package/dist/components/ix-upload.js +2 -17
  208. package/dist/components/ix-upload.js.map +1 -1
  209. package/dist/components/ix-validation-tooltip.js +1 -1
  210. package/dist/components/ix-workflow-step.js +10 -4
  211. package/dist/components/ix-workflow-step.js.map +1 -1
  212. package/dist/components/ix-workflow-steps.js +45 -36
  213. package/dist/components/ix-workflow-steps.js.map +1 -1
  214. package/dist/components/map-navigation-overlay.js +1 -1
  215. package/dist/components/menu-avatar-item.js +1 -1
  216. package/dist/components/menu-item.js +2 -2
  217. package/dist/components/menu-item.js.map +1 -1
  218. package/dist/components/modal-container.js +12 -5
  219. package/dist/components/modal-container.js.map +1 -1
  220. package/dist/components/modal.js +7 -2
  221. package/dist/components/modal.js.map +1 -1
  222. package/dist/components/my-component.js +1 -1
  223. package/dist/components/select-item.js +3 -3
  224. package/dist/components/select-item.js.map +1 -1
  225. package/dist/components/select.js +366 -0
  226. package/dist/components/select.js.map +1 -0
  227. package/dist/components/spinner.js +1 -1
  228. package/dist/components/tab-item.js +1 -1
  229. package/dist/components/tabs.js +1 -1
  230. package/dist/components/time-picker.js +1 -1
  231. package/dist/components/toast.js +1 -1
  232. package/dist/components/tree-item.js +1 -1
  233. package/dist/components/typography.js +1 -1
  234. package/dist/components/upload-file-state.js +19 -0
  235. package/dist/components/upload-file-state.js.map +1 -0
  236. package/dist/esm/index-3d163acd.js +8 -0
  237. package/dist/esm/index-3d163acd.js.map +1 -1
  238. package/dist/esm/index.js +5 -1
  239. package/dist/esm/index.js.map +1 -1
  240. package/dist/esm/ix-blind.entry.js +27 -6
  241. package/dist/esm/ix-blind.entry.js.map +1 -1
  242. package/dist/esm/ix-breadcrumb_2.entry.js +1 -1
  243. package/dist/esm/ix-breadcrumb_2.entry.js.map +1 -1
  244. package/dist/esm/ix-category-filter.entry.js +19 -5
  245. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  246. package/dist/esm/ix-chip.entry.js +6 -1
  247. package/dist/esm/ix-chip.entry.js.map +1 -1
  248. package/dist/esm/ix-date-picker_2.entry.js +62 -43
  249. package/dist/esm/ix-date-picker_2.entry.js.map +1 -1
  250. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  251. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  252. package/dist/esm/ix-dropdown_2.entry.js +5 -4
  253. package/dist/esm/ix-dropdown_2.entry.js.map +1 -1
  254. package/dist/esm/ix-filter-chip.entry.js +2 -2
  255. package/dist/esm/ix-filter-chip.entry.js.map +1 -1
  256. package/dist/esm/ix-flip-tile_2.entry.js +11 -2
  257. package/dist/esm/ix-flip-tile_2.entry.js.map +1 -1
  258. package/dist/esm/ix-group_3.entry.js +33 -11
  259. package/dist/esm/ix-group_3.entry.js.map +1 -1
  260. package/dist/esm/ix-index-button.entry.js +24 -0
  261. package/dist/esm/ix-index-button.entry.js.map +1 -0
  262. package/dist/esm/ix-input-group.entry.js +1 -1
  263. package/dist/esm/ix-input-group.entry.js.map +1 -1
  264. package/dist/esm/ix-menu_9.entry.js +1 -1
  265. package/dist/esm/ix-menu_9.entry.js.map +1 -1
  266. package/dist/esm/ix-modal_2.entry.js +17 -5
  267. package/dist/esm/ix-modal_2.entry.js.map +1 -1
  268. package/dist/esm/ix-pagination.entry.js +119 -0
  269. package/dist/esm/ix-pagination.entry.js.map +1 -0
  270. package/dist/esm/ix-select_2.entry.js +56 -37
  271. package/dist/esm/ix-select_2.entry.js.map +1 -1
  272. package/dist/esm/ix-toast_2.entry.js +10 -1
  273. package/dist/esm/ix-toast_2.entry.js.map +1 -1
  274. package/dist/esm/ix-toggle.entry.js +1 -1
  275. package/dist/esm/ix-toggle.entry.js.map +1 -1
  276. package/dist/esm/ix-tooltip.entry.js +56 -28
  277. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  278. package/dist/esm/ix-tree_2.entry.js +4 -0
  279. package/dist/esm/ix-tree_2.entry.js.map +1 -1
  280. package/dist/esm/ix-upload.entry.js +1 -16
  281. package/dist/esm/ix-upload.entry.js.map +1 -1
  282. package/dist/esm/ix-workflow-step_2.entry.js +52 -37
  283. package/dist/esm/ix-workflow-step_2.entry.js.map +1 -1
  284. package/dist/esm/loader.js +2 -2
  285. package/dist/esm/loader.js.map +1 -1
  286. package/dist/esm/siemens-ix.js +2 -2
  287. package/dist/esm/siemens-ix.js.map +1 -1
  288. package/dist/esm/upload-file-state-532a36d3.js +19 -0
  289. package/dist/esm/upload-file-state-532a36d3.js.map +1 -0
  290. package/dist/siemens-ix/index.esm.js +1 -1
  291. package/dist/siemens-ix/index.esm.js.map +1 -1
  292. package/dist/siemens-ix/p-076c29d1.js +2 -0
  293. package/dist/siemens-ix/p-076c29d1.js.map +1 -0
  294. package/dist/siemens-ix/p-0f864265.entry.js +2 -0
  295. package/dist/siemens-ix/p-0f864265.entry.js.map +1 -0
  296. package/dist/siemens-ix/p-16ec6f50.entry.js +2 -0
  297. package/dist/siemens-ix/p-16ec6f50.entry.js.map +1 -0
  298. package/dist/siemens-ix/p-1701b127.entry.js +2 -0
  299. package/dist/siemens-ix/p-1701b127.entry.js.map +1 -0
  300. package/dist/siemens-ix/{p-41f0a2b2.entry.js → p-2ea2fc07.entry.js} +2 -2
  301. package/dist/siemens-ix/{p-41f0a2b2.entry.js.map → p-2ea2fc07.entry.js.map} +1 -1
  302. package/dist/siemens-ix/p-33160fe4.entry.js +2 -0
  303. package/dist/siemens-ix/p-33160fe4.entry.js.map +1 -0
  304. package/dist/siemens-ix/{p-6790d123.entry.js → p-34e3a10e.entry.js} +2 -2
  305. package/dist/siemens-ix/{p-6790d123.entry.js.map → p-34e3a10e.entry.js.map} +1 -1
  306. package/dist/siemens-ix/p-4c8d5207.entry.js +2 -0
  307. package/dist/siemens-ix/p-4c8d5207.entry.js.map +1 -0
  308. package/dist/siemens-ix/p-53c69375.entry.js +2 -0
  309. package/dist/siemens-ix/p-53c69375.entry.js.map +1 -0
  310. package/dist/siemens-ix/p-55d0fabf.entry.js +2 -0
  311. package/dist/siemens-ix/p-55d0fabf.entry.js.map +1 -0
  312. package/dist/siemens-ix/p-626b3af5.entry.js +2 -0
  313. package/dist/siemens-ix/p-626b3af5.entry.js.map +1 -0
  314. package/dist/siemens-ix/{p-aafd18a8.entry.js → p-62b4d696.entry.js} +2 -2
  315. package/dist/siemens-ix/p-62b4d696.entry.js.map +1 -0
  316. package/dist/siemens-ix/p-663724a8.entry.js +2 -0
  317. package/dist/siemens-ix/p-663724a8.entry.js.map +1 -0
  318. package/dist/siemens-ix/p-7fb5fa79.entry.js +2 -0
  319. package/dist/siemens-ix/p-7fb5fa79.entry.js.map +1 -0
  320. package/dist/siemens-ix/{p-1811d669.entry.js → p-88a47c9b.entry.js} +2 -2
  321. package/dist/siemens-ix/p-88a47c9b.entry.js.map +1 -0
  322. package/dist/siemens-ix/p-8fcd6f85.js.map +1 -1
  323. package/dist/siemens-ix/p-9546cbdd.entry.js +2 -0
  324. package/dist/siemens-ix/p-9546cbdd.entry.js.map +1 -0
  325. package/dist/siemens-ix/{p-5ce07b8b.entry.js → p-afd1f351.entry.js} +2 -2
  326. package/dist/siemens-ix/p-afd1f351.entry.js.map +1 -0
  327. package/dist/siemens-ix/p-b998abe4.entry.js +2 -0
  328. package/dist/siemens-ix/p-b998abe4.entry.js.map +1 -0
  329. package/dist/siemens-ix/p-b9fbd029.entry.js +2 -0
  330. package/dist/siemens-ix/p-b9fbd029.entry.js.map +1 -0
  331. package/dist/siemens-ix/p-c9c9f2b5.entry.js +2 -0
  332. package/dist/siemens-ix/p-c9c9f2b5.entry.js.map +1 -0
  333. package/dist/siemens-ix/p-caae2fa5.entry.js +2 -0
  334. package/dist/siemens-ix/p-caae2fa5.entry.js.map +1 -0
  335. package/dist/siemens-ix/{p-01f9f803.entry.js → p-cdb54f7c.entry.js} +2 -2
  336. package/dist/siemens-ix/p-cdb54f7c.entry.js.map +1 -0
  337. package/dist/siemens-ix/{p-11af475f.entry.js → p-eb799bdd.entry.js} +2 -2
  338. package/dist/siemens-ix/p-eb799bdd.entry.js.map +1 -0
  339. package/dist/siemens-ix/siemens-ix.css +21 -0
  340. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  341. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  342. package/dist/types/components/blind/blind.d.ts +6 -0
  343. package/dist/types/components/category-filter/category-filter.d.ts +1 -0
  344. package/dist/types/components/chip/chip.d.ts +8 -0
  345. package/dist/types/components/date-picker/date-picker.d.ts +4 -3
  346. package/dist/types/components/flip-tile/flip-tile.d.ts +11 -0
  347. package/dist/types/components/group/group.d.ts +4 -0
  348. package/dist/types/components/index-button/index-button.d.ts +16 -0
  349. package/dist/types/components/modal/modal.d.ts +1 -0
  350. package/dist/types/components/modal-container/modal-container.d.ts +1 -0
  351. package/dist/types/components/pagination/pagination.d.ts +57 -0
  352. package/dist/types/components/select/select.d.ts +17 -1
  353. package/dist/types/components/toast/toast-container.d.ts +3 -1
  354. package/dist/types/components/toast/toast-utils.d.ts +3 -0
  355. package/dist/types/components/tooltip/tooltip.d.ts +8 -0
  356. package/dist/types/components/tree/tree.d.ts +13 -0
  357. package/dist/types/components/utils/a11y.d.ts +1 -0
  358. package/dist/types/components/workflow-step/workflow-step.d.ts +9 -1
  359. package/dist/types/components/workflow-steps/workflow-steps.d.ts +6 -2
  360. package/dist/types/components.d.ts +231 -11
  361. package/dist/types/index.d.ts +1 -0
  362. package/dist/types/tests/utils/test/page.d.ts +5 -0
  363. package/loader/index.d.ts +1 -1
  364. package/package.json +7 -6
  365. package/scss/components/_forms.scss +7 -1
  366. package/dist/siemens-ix/p-01f9f803.entry.js.map +0 -1
  367. package/dist/siemens-ix/p-0d15aa1a.entry.js +0 -2
  368. package/dist/siemens-ix/p-0d15aa1a.entry.js.map +0 -1
  369. package/dist/siemens-ix/p-11af475f.entry.js.map +0 -1
  370. package/dist/siemens-ix/p-1259ea24.entry.js +0 -2
  371. package/dist/siemens-ix/p-1259ea24.entry.js.map +0 -1
  372. package/dist/siemens-ix/p-1811d669.entry.js.map +0 -1
  373. package/dist/siemens-ix/p-29bd1814.entry.js +0 -2
  374. package/dist/siemens-ix/p-29bd1814.entry.js.map +0 -1
  375. package/dist/siemens-ix/p-5845a03c.entry.js +0 -2
  376. package/dist/siemens-ix/p-5845a03c.entry.js.map +0 -1
  377. package/dist/siemens-ix/p-5ce07b8b.entry.js.map +0 -1
  378. package/dist/siemens-ix/p-7ce0c0e2.entry.js +0 -2
  379. package/dist/siemens-ix/p-7ce0c0e2.entry.js.map +0 -1
  380. package/dist/siemens-ix/p-967f7d5d.entry.js +0 -2
  381. package/dist/siemens-ix/p-967f7d5d.entry.js.map +0 -1
  382. package/dist/siemens-ix/p-9f55716d.entry.js +0 -2
  383. package/dist/siemens-ix/p-9f55716d.entry.js.map +0 -1
  384. package/dist/siemens-ix/p-a4178e26.entry.js +0 -2
  385. package/dist/siemens-ix/p-a4178e26.entry.js.map +0 -1
  386. package/dist/siemens-ix/p-a92126b5.entry.js +0 -2
  387. package/dist/siemens-ix/p-a92126b5.entry.js.map +0 -1
  388. package/dist/siemens-ix/p-aafd18a8.entry.js.map +0 -1
  389. package/dist/siemens-ix/p-b64e82ce.entry.js +0 -2
  390. package/dist/siemens-ix/p-b64e82ce.entry.js.map +0 -1
  391. package/dist/siemens-ix/p-d7def96c.entry.js +0 -2
  392. package/dist/siemens-ix/p-d7def96c.entry.js.map +0 -1
  393. package/dist/siemens-ix/p-f961c22a.entry.js +0 -2
  394. package/dist/siemens-ix/p-f961c22a.entry.js.map +0 -1
  395. package/dist/siemens-ix/p-fe690347.entry.js +0 -2
  396. package/dist/siemens-ix/p-fe690347.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"ix-group.ix-group-dropdown-item.ix-group-item.entry.js","mappings":";;AAAA,MAAM,QAAQ,GAAG,++FAA++F;;MC0Bn/F,KAAK;EAsDhB,IAAI,aAAa;IACf,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAC5D,CAAC;GACH;EAED,IAAI,UAAU;IACZ,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAChE,CAAC;GACH;EAED,IAAI,YAAY;IACd,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;GACzD;EAED,IAAI,MAAM;IACR,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;GAClD;EAID,uQAxEkC,KAAK,wEAea,IAAI,gFAgB1B,KAAK,wCAyCnB;EAKhB,MAAM,SAAS,CAAC,KAAoB;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAqB,CAAC;IAElD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;MAC7C,OAAO;KACR;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;MAC1D,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QACpD,IAAI,IAAI,CAAC,uBAAuB,EAAE;UAChC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;SAClC;aAAM;UACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC;OACF;WAAM,IAAI,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACjD,MAAM,SAAS,GAAG,aAAuC,CAAC;QAC1D,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;OAC1C;KACF;GACF;EAEO,aAAa,CAAC,KAAY;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAEjC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;MAC7C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;MACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,KAAK,CAAC,eAAe,EAAE,CAAC;GACzB;EAEO,aAAa,CAAC,KAAY;IAChC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,uBAAuB,EAAE;MAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3B;GACF;EAEO,WAAW,CAAC,KAAa;IAC/B,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;MACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;MACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACjC;SAAM;MACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;IAED,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;GAC/B;EAEO,iBAAiB,CAAC,SAAkB;IAC1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;MACjC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;MAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;GACF;EAED,mBAAmB;;IACjB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK;;MAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;MACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;MAC9B,IACE,EAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,CAAC,MAAM,CAAA;QAC7B,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EACpC;QACA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;OAC5B;KACF,CAAC,CAAC;IAEH,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,iBAAiB,IAAG,CAAC,EAAE;MACtC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5C;GACF;EAED,gBAAgB;IACd,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,iBAAiB,EACjB,CAAC,GAAwC;MACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpC,CACF,CAAC;GACH;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WACE,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;OACxB,EACD,QAAQ,EAAC,GAAG,IAEZ,WACE,KAAK,EAAC,wBAAwB,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAErC,WAAK,KAAK,EAAC,kCAAkC,GAAO,EACpD,eACE,KAAK,EAAC,mBAAmB,EACzB,IAAI,EAAE,WAAW,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,QAAQ,EAC1D,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAC5B,EACX,WAAK,KAAK,EAAC,sBAAsB,IAC9B,IAAI,CAAC,MAAM,IACV,WAAK,KAAK,EAAC,8BAA8B,IACvC,WAAK,KAAK,EAAC,oBAAoB,IAC7B,YAAM,KAAK,EAAE,IAAI,CAAC,MAAM,IAAG,IAAI,CAAC,MAAM,CAAQ,CAC1C,EACN,WAAK,KAAK,EAAC,iBAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,SAAS,IAC/C,IAAI,CAAC,SAAS,CACX,CACF,IACJ,IAAI,EACR,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,EACN,iCACE,YAAM,IAAI,EAAC,UAAU,GAAQ,CACP,CACpB,EACN,WACE,KAAK,EAAE;QACL,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,IAAI,CAAC,SAAS;OACzB,IAED,eAAa,CACT,EACN,WAAK,KAAK,EAAC,QAAQ,IACjB,qBACE,KAAK,EAAC,aAAa,EACnB,iBAAiB,EAAE,IAAI,EACvB,SAAS,EAAE,KAAK,IAEhB,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACb,CACZ,CACD,EACP;GACH;;;;;AC7PH,MAAM,oBAAoB,GAAG,gDAAgD;;MCgBhE,iBAAiB;;;;;;EAW5B,MAAM;IACJ,QACE,EAAC,IAAI,QACH,wBAAkB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAClD,eAAa,CACI,CACd,EACP;GACH;;;;ACnCH,MAAM,YAAY,GAAG,ymEAAymE;;MCyBjnE,SAAS;;;;;;;6BAqBQ,KAAK;;qBAWb,IAAI;;;EAaxB,WAAW;IACT,IAAI,IAAI,CAAC,iBAAiB,EAAE;MAC1B,OAAO;KACR;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;GAC7C;EAED,MAAM;IACJ,QACE,EAAC,IAAI,IACH,KAAK,EAAE;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB;QAClD,oBAAoB,EAAE,IAAI,CAAC,iBAAiB;OAC7C,EACD,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,IAEjC,WAAK,KAAK,EAAC,iCAAiC,GAAO,EAClD,IAAI,CAAC,IAAI,GAAG,eAAS,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAY,GAAG,IAAI,EACjE,IAAI,CAAC,IAAI,IACR,YAAM,KAAK,EAAC,kBAAkB,IAC5B,YAAM,KAAK,EAAE,IAAI,CAAC,IAAI,IAAG,IAAI,CAAC,IAAI,CAAQ,CACrC,IACL,IAAI,EACP,IAAI,CAAC,aAAa,IACjB,YAAM,KAAK,EAAC,4BAA4B,IACtC,YAAM,KAAK,EAAE,IAAI,CAAC,aAAa,IAAG,IAAI,CAAC,aAAa,CAAQ,CACvD,IACL,IAAI,EACR,eAAa,CACR,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/group/group.scss?tag=ix-group&encapsulation=scoped","./src/components/group/group.tsx","./src/components/group-dropdown-item/group-dropdown-item.scss?tag=ix-group-dropdown-item&encapsulation=scoped","./src/components/group-dropdown-item/group-dropdown-item.tsx","./src/components/group-item/group-item.scss?tag=ix-group-item&encapsulation=scoped","./src/components/group-item/group-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n @include ellipsis;\n\n display: flex;\n flex-direction: column;\n position: relative;\n max-width: 19.75rem;\n border-color: var(--theme-group-item--border-color);\n\n .group-header {\n height: 4rem;\n min-height: 4rem;\n max-height: 4rem;\n border-radius: 0.25rem;\n display: flex;\n background-color: var(--theme-group-item--background);\n border: 1px solid var(--theme-group-item--border-color);\n color: var(--theme-group-header--color);\n\n cursor: pointer;\n\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n border-color: var(--theme-group-item--border-color--hover);\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n border-color: var(--theme-group-item--border-color--active);\n }\n\n @include focus-visible {\n border-color: var(--focus--border-color);\n border-radius: var(--theme-group--border-radius--focus);\n outline: none;\n }\n\n &.selected {\n border: var(--theme-primary-bdr-2);\n background-color: var(--theme-group-item--background--selected);\n }\n\n .group-header-selection-indicator {\n background-color: var(--theme-color-input--focus);\n }\n }\n\n .group-header-clickable {\n @include ellipsis;\n\n display: flex;\n width: 100%;\n min-width: 0;\n }\n\n .group-header.expand {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .group-header-selection-indicator {\n width: $tiny-space;\n }\n\n .group-header-content {\n @include ellipsis;\n\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n min-width: 0;\n padding: 0.5rem;\n padding-left: 0;\n width: 100%;\n\n .group-header-props-container {\n width: 100%;\n }\n\n .group-header-title {\n display: flex;\n align-items: center;\n font-size: 1rem;\n font-weight: $font-weight-bold;\n height: 1.5rem;\n\n & > * {\n @include ellipsis;\n\n min-width: 0;\n }\n }\n\n .group-subheader {\n @include ellipsis();\n\n height: 1.25rem;\n font-size: 0.875rem;\n color: var(--theme-group-subheader--color);\n }\n }\n\n .expand-icon {\n padding: 0.125rem 0.437rem;\n color: var(--theme-color-std-text);\n }\n\n .btn-expand-header {\n margin: $small-space;\n margin-inline-end: $tiny-space;\n }\n\n .group-content {\n display: flex;\n flex-direction: column;\n }\n\n .footer {\n height: auto;\n min-height: 0;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-group',\n styleUrl: 'group.scss',\n scoped: true,\n})\nexport class Group {\n /**\n * Prevent header from being selectable\n */\n @Prop() suppressHeaderSelection = false;\n\n /**\n * Group header\n */\n @Prop() header: string;\n\n /**\n * Group header subtitle\n */\n @Prop() subHeader: string;\n\n /**\n * Whether the group is collapsed or expanded. Defaults to true.\n */\n @Prop({ mutable: true, reflect: true }) collapsed = true;\n\n /**\n * Whether the group is selected.\n */\n @Prop({ mutable: true, reflect: true }) selected: boolean;\n\n /**\n * The index of the selected group entry.\n * If undefined no group item is selected.\n */\n @Prop({ mutable: true, reflect: true }) index: number;\n\n /**\n * Expand the group if the header is clicked\n */\n @Prop() expandOnHeaderClick = false;\n\n /**\n * Emits when whole group gets selected.\n */\n @Event() selectGroup: EventEmitter<boolean>;\n\n /**\n * Emits when group item gets selected.\n */\n @Event() selectItem: EventEmitter<number>;\n\n /**\n * Group collapsed\n */\n @Event() collapsedChanged: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxGroupElement;\n\n get dropdownItems() {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-dropdown-item')\n );\n }\n\n get groupItems(): Array<HTMLIxGroupItemElement> {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-item:not(.footer)')\n );\n }\n\n get groupContent() {\n return this.hostElement.querySelector('.group-content');\n }\n\n get footer() {\n return this.hostElement.querySelector('.footer');\n }\n\n @State() dropdownTriggerRef: HTMLElement;\n\n constructor() {}\n\n @Listen('keydown', {\n target: 'window',\n })\n async onKeyDown(event: KeyboardEvent) {\n const targetElement = event.target as HTMLElement;\n\n if (!this.hostElement.contains(targetElement)) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n if (targetElement.classList.contains('group-header')) {\n if (this.suppressHeaderSelection) {\n this.collapsed = !this.collapsed;\n } else {\n this.selected = !this.selected;\n }\n } else if (targetElement.matches('ix-group-item')) {\n const groupItem = targetElement as HTMLIxGroupItemElement;\n groupItem.selected = !groupItem.selected;\n }\n }\n }\n\n private onExpandClick(event: Event) {\n const wasCollapsed = this.collapsed;\n this.collapsed = !this.collapsed;\n\n if (!wasCollapsed && this.index !== undefined) {\n this.index = undefined;\n this.setGroupSelection(true);\n }\n\n this.collapsedChanged.emit(this.collapsed);\n event.stopPropagation();\n }\n\n private onHeaderClick(event: Event) {\n this.setGroupSelection(!this.selected);\n\n if (this.suppressHeaderSelection) {\n this.onExpandClick(event);\n }\n }\n\n private onItemClick(index: number) {\n if (index === this.index) {\n this.index = undefined;\n this.selectItem.emit(undefined);\n } else {\n this.index = index;\n this.selectItem.emit(index);\n }\n\n this.setGroupSelection(false);\n }\n\n private setGroupSelection(selection: boolean) {\n if (!this.suppressHeaderSelection) {\n this.selected = selection;\n this.selectGroup.emit(this.selected);\n }\n }\n\n componentWillRender() {\n this.groupItems.forEach((item, index) => {\n item.selected = index === this.index;\n item.index = index;\n item.classList.remove('last');\n if (\n !this.footer?.children.length &&\n index === this.groupItems.length - 1\n ) {\n item.classList.add('last');\n }\n });\n\n if (this.footer?.childElementCount > 1) {\n this.groupContent.appendChild(this.footer);\n }\n }\n\n componentDidLoad() {\n this.groupContent.addEventListener(\n 'selectedChanged',\n (evt: CustomEvent<HTMLIxGroupItemElement>) => {\n this.onItemClick(evt.detail.index);\n }\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'group-header': true,\n expand: !this.collapsed,\n selected: this.selected,\n }}\n tabindex=\"0\"\n >\n <div\n class=\"group-header-clickable\"\n onClick={(e) => this.onHeaderClick(e)}\n >\n <div class=\"group-header-selection-indicator\"></div>\n <ix-icon\n class=\"btn-expand-header\"\n name={`chevron-${this.collapsed ? 'right' : 'down'}-small`}\n onClick={(e) => this.onExpandClick(e)}\n ></ix-icon>\n <div class=\"group-header-content\">\n {this.header ? (\n <div class=\"group-header-props-container\">\n <div class=\"group-header-title\">\n <span title={this.header}>{this.header}</span>\n </div>\n <div class=\"group-subheader\" title={this.subHeader}>\n {this.subHeader}\n </div>\n </div>\n ) : null}\n <slot name=\"header\"></slot>\n </div>\n </div>\n <ix-group-context-menu>\n <slot name=\"dropdown\"></slot>\n </ix-group-context-menu>\n </div>\n <div\n class={{\n 'group-content': true,\n 'd-none': this.collapsed,\n }}\n >\n <slot></slot>\n </div>\n <div class=\"d-none\">\n <ix-group-item\n class=\"footer last\"\n suppressSelection={true}\n focusable={false}\n >\n <slot name=\"footer\"></slot>\n </ix-group-item>\n </div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: contents;\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, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-group-dropdown-item',\n styleUrl: 'group-dropdown-item.scss',\n scoped: true,\n})\nexport class GroupDropdownItem {\n /**\n * Group dropdown label\n */\n @Prop() label: string;\n\n /**\n * Group dropdown icon\n */\n @Prop() icon: string;\n\n render() {\n return (\n <Host>\n <ix-dropdown-item label={this.label} icon={this.icon}>\n <slot></slot>\n </ix-dropdown-item>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n display: flex;\n min-height: 2.25rem;\n height: 2.25rem;\n align-items: center;\n justify-content: space-between;\n padding: $small-space $large-space $small-space 2.5rem;\n position: relative;\n margin-top: 0.0625rem;\n border: 1px solid var(--theme-group-item--border-color);\n outline: none;\n\n background-color: var(--theme-group-item--background);\n\n &.last {\n border-bottom-left-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n }\n\n ix-icon {\n margin-right: $tiny-space;\n margin-top: -0.125rem;\n }\n\n .group-entry-selection-indicator {\n position: absolute;\n left: 0;\n height: 100%;\n width: $tiny-space;\n }\n\n .group-entry-text {\n @include ellipsis();\n flex-grow: 1;\n }\n\n .group-entry-text-secondary {\n &,\n span {\n @include ellipsis;\n }\n\n display: flex;\n justify-content: flex-end;\n flex-grow: 1;\n white-space: nowrap;\n color: var(--theme-color-soft-text);\n font-size: 0.875rem;\n }\n\n &:not(.suppress-selection) {\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n border-color: var(--theme-group-item--border-color--hover);\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n border-color: var(--theme-group-item--border-color--active);\n }\n }\n\n &.selected {\n border-top-width: 0.062rem !important;\n border-color: var(--theme-group-item--border-color--selected);\n background-color: var(--theme-group-item--background--selected);\n\n .group-entry-selection-indicator {\n background-color: var(--theme-color-input--focus);\n }\n }\n\n @include focus-visible {\n border-color: var(--focus--border-color) !important;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-group-item',\n styleUrl: 'group-item.scss',\n scoped: true,\n})\nexport class GroupItem {\n @Element() hostElement!: HTMLIxGroupItemElement;\n\n /**\n * Group item icon\n */\n @Prop() icon: string;\n\n /**\n * Group item text\n */\n @Prop() text: string;\n\n /**\n * Group item secondary text\n */\n @Prop() secondaryText: string;\n\n /**\n * Supress the selection of the group\n */\n @Prop() suppressSelection = false;\n\n /**\n * Show selected state\n */\n @Prop() selected: boolean;\n\n /**\n * The elements tabindex attribute will get set accordingly.\n * If true tabindex will be 0, -1 otherwise.\n */\n @Prop() focusable = true;\n\n /**\n * Selection changed\n */\n @Event() selectedChanged: EventEmitter<HTMLIxGroupItemElement>;\n\n /**\n * Index\n */\n @Prop() index: number;\n\n @Listen('click', { passive: true })\n clickListen() {\n if (this.suppressSelection) {\n return;\n }\n this.selectedChanged.emit(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected && !this.suppressSelection,\n 'suppress-selection': this.suppressSelection,\n }}\n tabindex={this.focusable ? 0 : -1}\n >\n <div class=\"group-entry-selection-indicator\"></div>\n {this.icon ? <ix-icon size=\"16\" name={this.icon}></ix-icon> : null}\n {this.text ? (\n <span class=\"group-entry-text\">\n <span title={this.text}>{this.text}</span>\n </span>\n ) : null}\n {this.secondaryText ? (\n <span class=\"group-entry-text-secondary\">\n <span title={this.secondaryText}>{this.secondaryText}</span>\n </span>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-group.ix-group-dropdown-item.ix-group-item.entry.js","mappings":"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","names":[],"sources":["./src/components/group/group.scss?tag=ix-group&encapsulation=scoped","./src/components/group/group.tsx","./src/components/group-dropdown-item/group-dropdown-item.scss?tag=ix-group-dropdown-item&encapsulation=scoped","./src/components/group-dropdown-item/group-dropdown-item.tsx","./src/components/group-item/group-item.scss?tag=ix-group-item&encapsulation=scoped","./src/components/group-item/group-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n @include ellipsis;\n\n display: flex;\n flex-direction: column;\n position: relative;\n max-width: 19.75rem;\n border-color: var(--theme-group-item--border-color);\n\n .group-header {\n height: 4rem;\n min-height: 4rem;\n max-height: 4rem;\n border-radius: var(--theme-group--border-radius)\n var(--theme-group--border-radius) 0 0;\n display: flex;\n background-color: var(--theme-group-item--background);\n color: var(--theme-group-header--color);\n\n cursor: pointer;\n\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n border-radius: var(--theme-default-border-radius)\n var(--theme-default-border-radius) 0px 0px;\n outline: none;\n }\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n\n .group-header-selection-indicator {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n\n .group-header-selection-indicator {\n background-color: var(--theme-color-input--focus);\n\n &.group-header-selection-indicator-item-selected {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n }\n\n .group-header-clickable {\n @include ellipsis;\n\n display: flex;\n width: 100%;\n min-width: 0;\n }\n\n .group-header-selection-indicator {\n width: $tiny-space;\n border-top-left-radius: var(--theme-group--border-radius);\n }\n\n .group-header-content {\n @include ellipsis;\n\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n min-width: 0;\n flex-grow: 1;\n padding: 0.5rem;\n padding-left: 0;\n\n .group-header-props-container {\n width: 100%;\n }\n\n .group-header-title {\n display: flex;\n align-items: center;\n font-size: 1rem;\n font-weight: $font-weight-bold;\n height: 1.5rem;\n\n & > * {\n @include ellipsis;\n\n min-width: 0;\n }\n }\n\n .group-subheader {\n @include ellipsis();\n\n height: 1.25rem;\n font-size: 0.875rem;\n color: var(--theme-group-subheader--color);\n }\n }\n\n .expand-icon {\n padding: 0.125rem 0.437rem;\n color: var(--theme-color-std-text);\n }\n\n .btn-expand-header {\n margin: $small-space;\n margin-inline-end: $tiny-space;\n min-width: 1.5rem;\n }\n\n .group-content {\n display: flex;\n flex-direction: column;\n }\n\n .footer {\n height: auto;\n min-height: 0;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n@Component({\n tag: 'ix-group',\n styleUrl: 'group.scss',\n scoped: true,\n})\nexport class Group {\n /**\n * Prevent header from being selectable\n */\n @Prop() suppressHeaderSelection = false;\n\n /**\n * Group header\n */\n @Prop() header: string;\n\n /**\n * Group header subtitle\n */\n @Prop() subHeader: string;\n\n /**\n * Whether the group is collapsed or expanded. Defaults to true.\n */\n @Prop({ mutable: true, reflect: true }) collapsed = true;\n\n /**\n * Whether the group is selected.\n */\n @Prop({ mutable: true, reflect: true }) selected: boolean;\n\n /**\n * The index of the selected group entry.\n * If undefined no group item is selected.\n */\n @Prop({ mutable: true, reflect: true }) index: number;\n\n /**\n * Expand the group if the header is clicked\n */\n @Prop() expandOnHeaderClick = false;\n\n /**\n * Emits when whole group gets selected.\n */\n @Event() selectGroup: EventEmitter<boolean>;\n\n /**\n * Emits when group item gets selected.\n */\n @Event() selectItem: EventEmitter<number>;\n\n /**\n * Group collapsed\n */\n @Event() collapsedChanged: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxGroupElement;\n\n @State() itemSelected = false;\n\n get dropdownItems() {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-dropdown-item')\n );\n }\n\n get groupItems(): Array<HTMLIxGroupItemElement> {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-item:not(.footer)')\n );\n }\n\n get groupContent() {\n return this.hostElement.querySelector('.group-content');\n }\n\n get footer() {\n return this.hostElement.querySelector('.footer');\n }\n\n @State() dropdownTriggerRef: HTMLElement;\n\n @State() slotSize = this.groupItems.length;\n\n constructor() {}\n\n @Listen('keydown', {\n target: 'window',\n })\n async onKeyDown(event: KeyboardEvent) {\n const targetElement = event.target as HTMLElement;\n\n if (!this.hostElement.contains(targetElement)) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n if (targetElement.classList.contains('group-header')) {\n if (this.suppressHeaderSelection) {\n this.collapsed = !this.collapsed;\n } else {\n this.selected = !this.selected;\n }\n } else if (targetElement.matches('ix-group-item')) {\n const groupItem = targetElement as HTMLIxGroupItemElement;\n groupItem.selected = !groupItem.selected;\n }\n }\n }\n\n private onExpandClick(event: Event) {\n this.collapsed = !this.collapsed;\n\n this.collapsedChanged.emit(this.collapsed);\n event.stopPropagation();\n }\n\n private onHeaderClick(event: Event) {\n this.setGroupSelection(!this.selected);\n\n if (this.suppressHeaderSelection) {\n this.onExpandClick(event);\n }\n }\n\n private onItemClick(index: number) {\n if (index === this.index) {\n this.index = undefined;\n this.selectItem.emit(undefined);\n } else {\n this.index = index;\n this.selectItem.emit(index);\n }\n\n if (this.index >= 0) {\n this.itemSelected = true;\n } else this.itemSelected = false;\n\n this.setGroupSelection(false);\n }\n\n private setGroupSelection(selection: boolean) {\n if (!this.suppressHeaderSelection) {\n this.selected = selection;\n this.selectGroup.emit(this.selected);\n }\n }\n\n componentWillRender() {\n this.groupItems.forEach((item, index) => {\n if (this.selected === true) {\n item.selected = false;\n this.index = undefined;\n this.itemSelected = false;\n return;\n }\n item.selected = index === this.index;\n item.index = index;\n item.classList.remove('last');\n if (!this.footer?.children.length && index === this.slotSize - 1) {\n item.classList.add('last');\n }\n });\n\n if (this.footer?.childElementCount > 1) {\n this.groupContent.appendChild(this.footer);\n }\n }\n\n private observer: MutationObserver;\n\n componentDidLoad() {\n this.observer = createMutationObserver(() => {\n this.slotSize = this.groupItems.length;\n });\n\n this.observer.observe(this.groupContent, {\n childList: true,\n });\n\n this.groupContent.addEventListener(\n 'selectedChanged',\n (evt: CustomEvent<HTMLIxGroupItemElement>) => {\n this.onItemClick(evt.detail.index);\n }\n );\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'group-header': true,\n expand: !this.collapsed,\n selected: this.selected,\n }}\n tabindex=\"0\"\n >\n <div\n class=\"group-header-clickable\"\n onClick={(e) => this.onHeaderClick(e)}\n >\n <div\n class={{\n 'group-header-selection-indicator': true,\n 'group-header-selection-indicator-item-selected':\n this.itemSelected,\n }}\n ></div>\n <div class=\"btn-expand-header\">\n <ix-icon\n class={{\n hidden: this.slotSize === 0,\n }}\n name={`chevron-${this.collapsed ? 'right' : 'down'}-small`}\n onClick={(e) => this.onExpandClick(e)}\n ></ix-icon>\n </div>\n\n <div class=\"group-header-content\">\n {this.header ? (\n <div class=\"group-header-props-container\">\n <div class=\"group-header-title\">\n <span title={this.header}>{this.header}</span>\n </div>\n <div class=\"group-subheader\" title={this.subHeader}>\n {this.subHeader}\n </div>\n </div>\n ) : null}\n <slot name=\"header\"></slot>\n </div>\n </div>\n <ix-group-context-menu>\n <slot name=\"dropdown\"></slot>\n </ix-group-context-menu>\n </div>\n <div\n class={{\n 'group-content': true,\n 'd-none': this.collapsed,\n }}\n >\n <slot></slot>\n </div>\n <div class=\"d-none\">\n <ix-group-item\n class=\"footer last\"\n suppressSelection={true}\n focusable={false}\n >\n <slot name=\"footer\"></slot>\n </ix-group-item>\n </div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: contents;\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, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-group-dropdown-item',\n styleUrl: 'group-dropdown-item.scss',\n scoped: true,\n})\nexport class GroupDropdownItem {\n /**\n * Group dropdown label\n */\n @Prop() label: string;\n\n /**\n * Group dropdown icon\n */\n @Prop() icon: string;\n\n render() {\n return (\n <Host>\n <ix-dropdown-item label={this.label} icon={this.icon}>\n <slot></slot>\n </ix-dropdown-item>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n display: flex;\n min-height: 2.25rem;\n height: 2.25rem;\n align-items: center;\n justify-content: space-between;\n padding: $small-space $large-space $small-space 2.5rem;\n position: relative;\n margin-top: 0.0625rem;\n outline: none;\n background-color: var(--theme-group-item--background);\n\n &.last {\n border-bottom-left-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n }\n\n ix-icon {\n margin-right: $tiny-space;\n margin-top: -0.125rem;\n }\n\n .group-entry-selection-indicator {\n position: absolute;\n left: 0;\n height: 100%;\n width: $tiny-space;\n }\n\n .group-entry-text {\n @include ellipsis();\n flex-grow: 1;\n }\n\n .group-entry-text-secondary {\n &,\n span {\n @include ellipsis;\n }\n\n display: flex;\n justify-content: flex-end;\n flex-grow: 1;\n white-space: nowrap;\n color: var(--theme-color-soft-text);\n font-size: 0.875rem;\n }\n\n &:not(.suppress-selection) {\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n border-color: var(--theme-group-item--border-color--hover);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n border-color: var(--theme-group-item--border-color--active);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n }\n\n &.selected {\n border-top-width: 0.062rem !important;\n background-color: var(--theme-group-item--background--selected);\n\n .group-entry-selection-indicator {\n background-color: var(--theme-group-item-indicator--background--selected);\n }\n }\n\n @include focus-visible {\n border: 1px solid var(--theme-color-focus-bdr) !important;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-group-item',\n styleUrl: 'group-item.scss',\n scoped: true,\n})\nexport class GroupItem {\n @Element() hostElement!: HTMLIxGroupItemElement;\n\n /**\n * Group item icon\n */\n @Prop() icon: string;\n\n /**\n * Group item text\n */\n @Prop() text: string;\n\n /**\n * Group item secondary text\n */\n @Prop() secondaryText: string;\n\n /**\n * Supress the selection of the group\n */\n @Prop() suppressSelection = false;\n\n /**\n * Show selected state\n */\n @Prop() selected: boolean;\n\n /**\n * The elements tabindex attribute will get set accordingly.\n * If true tabindex will be 0, -1 otherwise.\n */\n @Prop() focusable = true;\n\n /**\n * Selection changed\n */\n @Event() selectedChanged: EventEmitter<HTMLIxGroupItemElement>;\n\n /**\n * Index\n */\n @Prop() index: number;\n\n @Listen('click', { passive: true })\n clickListen() {\n if (this.suppressSelection) {\n return;\n }\n this.selectedChanged.emit(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected && !this.suppressSelection,\n 'suppress-selection': this.suppressSelection,\n }}\n tabindex={this.focusable ? 0 : -1}\n >\n <div class=\"group-entry-selection-indicator\"></div>\n {this.icon ? <ix-icon size=\"16\" name={this.icon}></ix-icon> : null}\n {this.text ? (\n <span class=\"group-entry-text\">\n <span title={this.text}>{this.text}</span>\n </span>\n ) : null}\n {this.secondaryText ? (\n <span class=\"group-entry-text-secondary\">\n <span title={this.secondaryText}>{this.secondaryText}</span>\n </span>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,24 @@
1
+ import { r as registerInstance, h, H as Host } from './index-3d163acd.js';
2
+
3
+ const indexButtonCss = ".sc-ix-index-button-h{max-height:2rem}.sc-ix-index-button-h .btn.sc-ix-index-button{min-width:2rem;height:2rem}.sc-ix-index-button-h .btn.selected.sc-ix-index-button{background-color:var(--theme-btn-invisible-secondary--background--selected);color:var(--theme-btn-invisible-secondary--color--selected)}";
4
+
5
+ const IxIndexButton = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.variant = 'Primary';
9
+ this.selected = undefined;
10
+ }
11
+ render() {
12
+ return (h(Host, null, h("button", { class: {
13
+ btn: true,
14
+ 'btn-invisible-primary': this.variant === 'Primary',
15
+ 'btn-invisible-secondary': this.variant === 'Secondary',
16
+ selected: this.selected,
17
+ } }, h("slot", null))));
18
+ }
19
+ };
20
+ IxIndexButton.style = indexButtonCss;
21
+
22
+ export { IxIndexButton as ix_index_button };
23
+
24
+ //# sourceMappingURL=ix-index-button.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-index-button.entry.js","mappings":";;AAAA,MAAM,cAAc,GAAG,gTAAgT;;MCsB1T,aAAa;;;mBAIc,SAAS;;;EAO/C,MAAM;IACJ,QACE,EAAC,IAAI,QACH,cACE,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;QACT,uBAAuB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;QACnD,yBAAyB,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW;QACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;OACxB,IAED,eAAa,CACN,CACJ,EACP;GACH;;;;;;","names":[],"sources":["./src/components/index-button/index-button.scss?tag=ix-index-button&encapsulation=scoped","./src/components/index-button/index-button.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 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:host {\n max-height: $x-large-space;\n\n .btn {\n min-width: $x-large-space;\n height: $x-large-space;\n\n &.selected {\n background-color: var(--theme-btn-invisible-secondary--background--selected);\n color: var(--theme-btn-invisible-secondary--color--selected);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2022 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, h, Host, Prop } from '@stencil/core';\nimport { ButtonVariant } from '../button/button';\n\nexport type IndexButtonVariant = ButtonVariant;\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-index-button',\n styleUrl: 'index-button.scss',\n scoped: true,\n})\nexport class IxIndexButton {\n /**\n * Button variant\n */\n @Prop() variant: IndexButtonVariant = 'Primary';\n\n /**\n * Selection state\n */\n @Prop() selected: boolean;\n\n render() {\n return (\n <Host>\n <button\n class={{\n btn: true,\n 'btn-invisible-primary': this.variant === 'Primary',\n 'btn-invisible-secondary': this.variant === 'Secondary',\n selected: this.selected,\n }}\n >\n <slot></slot>\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-3d163acd.js';
2
2
 
3
- const inputGroupCss = ".sc-ix-input-group-h{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.sc-ix-input-group-h .group.sc-ix-input-group{display:flex;position:absolute;align-items:center;height:100%}.sc-ix-input-group-h .group-start.sc-ix-input-group{left:0px}.sc-ix-input-group-h .group-end.sc-ix-input-group{right:0px}";
3
+ const inputGroupCss = ".sc-ix-input-group-h{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.sc-ix-input-group-h .group.sc-ix-input-group{display:flex;position:absolute;align-items:center;height:100%}.sc-ix-input-group-h .group-start.sc-ix-input-group{left:0px}.sc-ix-input-group-h .group-end.sc-ix-input-group{right:0px}.sc-ix-input-group-h .sc-ix-input-group-s>*{display:flex}";
4
4
 
5
5
  const InputGroup = class {
6
6
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"ix-input-group.entry.js","mappings":";;AAAA,MAAM,aAAa,GAAG,yUAAyU;;MCgBlV,UAAU;;;;EAGrB,kBAAkB;IAChB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;MAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MACxC,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;MAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MACxC,WAAW,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACnD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAC1C,oBAAoB,CACD,CAAC;IAEtB,IAAI,YAAY,EAAE;MAChB,YAAY,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;MACtD,YAAY,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;KACrD;SAAM;MACL,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;KACH;GACF;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAC,mBAAmB,IAC5B,YAAM,IAAI,EAAC,aAAa,GAAQ,CAC5B,EACN,eAAa,EACb,WAAK,KAAK,EAAC,iBAAiB,IAC1B,YAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACD,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/input-group/input-group.scss?tag=ix-input-group&encapsulation=scoped","./src/components/input-group/input-group.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n\n .group {\n display: flex;\n position: absolute;\n align-items: center;\n height: 100%;\n }\n\n .group-start {\n left: 0px;\n }\n\n .group-end {\n right: 0px;\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 } from '@stencil/core';\n\n@Component({\n tag: 'ix-input-group',\n styleUrl: 'input-group.scss',\n scoped: true,\n})\nexport class InputGroup {\n @Element() host!: HTMLIxInputGroupElement;\n\n componentDidRender() {\n let paddingRight = 15;\n let paddingLeft = 15;\n this.host.querySelectorAll('[slot=\"input-end\"]').forEach((item) => {\n item.classList.add('input-group-label');\n paddingRight += item.getBoundingClientRect().width;\n });\n\n this.host.querySelectorAll('[slot=\"input-start\"]').forEach((item) => {\n item.classList.add('input-group-label');\n paddingLeft += item.getBoundingClientRect().width;\n });\n\n const inputElement = this.host.querySelector(\n 'input.form-control'\n ) as HTMLInputElement;\n\n if (inputElement) {\n inputElement.style.paddingRight = paddingRight + 'px';\n inputElement.style.paddingLeft = paddingLeft + 'px';\n } else {\n console.warn(\n 'You used the ix-input-group without an input-tag, e.g. <input class=\"form-control\" />'\n );\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"group group-start\">\n <slot name=\"input-start\"></slot>\n </div>\n <slot></slot>\n <div class=\"group group-end\">\n <slot name=\"input-end\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-input-group.entry.js","mappings":";;AAAA,MAAM,aAAa,GAAG,kYAAkY;;MCgB3Y,UAAU;;;;EAGrB,kBAAkB;IAChB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;MAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MACxC,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;MAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MACxC,WAAW,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACnD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAC1C,oBAAoB,CACD,CAAC;IAEtB,IAAI,YAAY,EAAE;MAChB,YAAY,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;MACtD,YAAY,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;KACrD;SAAM;MACL,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;KACH;GACF;EAED,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAC,mBAAmB,IAC5B,YAAM,IAAI,EAAC,aAAa,GAAQ,CAC5B,EACN,eAAa,EACb,WAAK,KAAK,EAAC,iBAAiB,IAC1B,YAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACD,EACP;GACH;;;;;;;","names":[],"sources":["./src/components/input-group/input-group.scss?tag=ix-input-group&encapsulation=scoped","./src/components/input-group/input-group.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n\n .group {\n display: flex;\n position: absolute;\n align-items: center;\n height: 100%;\n }\n\n .group-start {\n left: 0px;\n }\n\n .group-end {\n right: 0px;\n }\n\n ::slotted(*) {\n display: flex;\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 } from '@stencil/core';\n\n@Component({\n tag: 'ix-input-group',\n styleUrl: 'input-group.scss',\n scoped: true,\n})\nexport class InputGroup {\n @Element() host!: HTMLIxInputGroupElement;\n\n componentDidRender() {\n let paddingRight = 15;\n let paddingLeft = 15;\n this.host.querySelectorAll('[slot=\"input-end\"]').forEach((item) => {\n item.classList.add('input-group-label');\n paddingRight += item.getBoundingClientRect().width;\n });\n\n this.host.querySelectorAll('[slot=\"input-start\"]').forEach((item) => {\n item.classList.add('input-group-label');\n paddingLeft += item.getBoundingClientRect().width;\n });\n\n const inputElement = this.host.querySelector(\n 'input.form-control'\n ) as HTMLInputElement;\n\n if (inputElement) {\n inputElement.style.paddingRight = paddingRight + 'px';\n inputElement.style.paddingLeft = paddingLeft + 'px';\n } else {\n console.warn(\n 'You used the ix-input-group without an input-tag, e.g. <input class=\"form-control\" />'\n );\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"group group-start\">\n <slot name=\"input-start\"></slot>\n </div>\n <slot></slot>\n <div class=\"group group-end\">\n <slot name=\"input-end\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -665,7 +665,7 @@ const MenuAvatarItem = class {
665
665
  };
666
666
  MenuAvatarItem.style = menuAvatarItemCss;
667
667
 
668
- const menuItemCss = ".sc-ix-menu-item-h{position:relative;display:block}.sc-ix-menu-item-h .tab.sc-ix-menu-item{display:flex;position:relative;align-items:center;height:3rem;z-index:500;padding-left:1.25rem}.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(.selected){cursor:pointer}.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(.selected):not(.disabled):not(:disabled).hover,.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(.selected):not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(.selected):not(.disabled):not(:disabled).active,.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(.selected):not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}.sc-ix-menu-item-h i.glyph.sc-ix-menu-item{color:var(--theme-nav-item-primary-icon--color);position:relative}.sc-ix-menu-item-h .tab.sc-ix-menu-item:focus-visible{outline:none}.sc-ix-menu-item-h:focus-visible{outline:none}.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(:last-child){margin-bottom:0.5rem}.sc-ix-menu-item-h .notification.sc-ix-menu-item{display:inline-flex;position:absolute;top:-0.5rem;right:-50%}.sc-ix-menu-item-h .notification.sc-ix-menu-item .pill.sc-ix-menu-item{display:inline-flex;justify-content:center;align-items:center;height:1rem;min-width:1rem;position:relative;border-radius:6.25rem;background-color:var(--theme-color-primary);border-radius:6.25rem;font-size:0.75rem;font-weight:bold;line-height:1;font-family:Siemens Sans, Arial, sans-serif;color:var(--theme-color-primary--contrast);padding:0.25rem}.sc-ix-menu-item-h .tab-text.sc-ix-menu-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-nav-item-primary--color);margin:0 1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.active.sc-ix-menu-item-h .tab.sc-ix-menu-item,.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item{background-color:var(--theme-nav-item-primary--background--selected)}.active.sc-ix-menu-item-h .tab.sc-ix-menu-item::before,.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item::before{content:\"\";background-color:var(--theme-nav-item-primary--border-color--selected);height:3rem;width:0.25rem;left:0;position:absolute}.active.sc-ix-menu-item-h .tab.sc-ix-menu-item>.glyph.sc-ix-menu-item,.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item>.glyph.sc-ix-menu-item{color:var(--theme-nav-item-primary-icon--color--selected)}.disabled.sc-ix-menu-item-h{color:var(--theme-color-weak-text);pointer-events:none;cursor:default}.disabled.sc-ix-menu-item-h .tab.sc-ix-menu-item>.glyph.sc-ix-menu-item{color:var(--theme-color-weak-text)}.disabled.sc-ix-menu-item-h .tab-text.sc-ix-menu-item{color:var(--theme-color-weak-text)}.home-tab.sc-ix-menu-item-h,[slot=home].sc-ix-menu-item-h{margin-bottom:1.5rem}.bottom-tab.sc-ix-menu-item-h,[slot=bottom].sc-ix-menu-item-h{height:2.25rem}.bottom-tab.sc-ix-menu-item-h .tab.sc-ix-menu-item,[slot=bottom].sc-ix-menu-item-h .tab.sc-ix-menu-item{height:2.25rem}.bottom-tab.sc-ix-menu-item-h .tab.sc-ix-menu-item::before,[slot=bottom].sc-ix-menu-item-h .tab.sc-ix-menu-item::before{height:2.25rem}.bottom-tab.active.sc-ix-menu-item-h .tab.sc-ix-menu-item,.bottom-tab.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item,[slot=bottom].active.sc-ix-menu-item-h .tab.sc-ix-menu-item,[slot=bottom].selected.sc-ix-menu-item-h .tab.sc-ix-menu-item{background-color:var(--theme-color-1)}";
668
+ const menuItemCss = ".sc-ix-menu-item-h{position:relative;display:block;cursor:pointer}.sc-ix-menu-item-h:not(.disabled):not(:disabled).hover,.sc-ix-menu-item-h:not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}.sc-ix-menu-item-h:not(.disabled):not(:disabled).active,.sc-ix-menu-item-h:not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}.sc-ix-menu-item-h .tab.sc-ix-menu-item{display:flex;position:relative;align-items:center;height:3rem;z-index:500;padding-left:1.25rem}.sc-ix-menu-item-h i.glyph.sc-ix-menu-item{color:var(--theme-nav-item-primary-icon--color);position:relative}.sc-ix-menu-item-h .tab.sc-ix-menu-item:focus-visible{outline:none}.sc-ix-menu-item-h:focus-visible{outline:none}.sc-ix-menu-item-h .tab.sc-ix-menu-item:not(:last-child){margin-bottom:0.5rem}.sc-ix-menu-item-h .notification.sc-ix-menu-item{display:inline-flex;position:absolute;top:-0.5rem;right:-50%}.sc-ix-menu-item-h .notification.sc-ix-menu-item .pill.sc-ix-menu-item{display:inline-flex;justify-content:center;align-items:center;height:1rem;min-width:1rem;position:relative;border-radius:6.25rem;background-color:var(--theme-color-primary);border-radius:6.25rem;font-size:0.75rem;font-weight:bold;line-height:1;font-family:Siemens Sans, Arial, sans-serif;color:var(--theme-color-primary--contrast);padding:0.25rem}.sc-ix-menu-item-h .tab-text.sc-ix-menu-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-nav-item-primary--color);margin:0 1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.active.sc-ix-menu-item-h .tab.sc-ix-menu-item,.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item{background-color:var(--theme-nav-item-primary--background--selected)}.active.sc-ix-menu-item-h .tab.sc-ix-menu-item::before,.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item::before{content:\"\";background-color:var(--theme-nav-item-primary--border-color--selected);height:3rem;width:0.25rem;left:0;position:absolute}.active.sc-ix-menu-item-h .tab.sc-ix-menu-item>.glyph.sc-ix-menu-item,.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item>.glyph.sc-ix-menu-item{color:var(--theme-nav-item-primary-icon--color--selected)}.disabled.sc-ix-menu-item-h{color:var(--theme-color-weak-text);pointer-events:none;cursor:default}.disabled.sc-ix-menu-item-h .tab.sc-ix-menu-item>.glyph.sc-ix-menu-item{color:var(--theme-color-weak-text)}.disabled.sc-ix-menu-item-h .tab-text.sc-ix-menu-item{color:var(--theme-color-weak-text)}.home-tab.sc-ix-menu-item-h,[slot=home].sc-ix-menu-item-h{margin-bottom:1.5rem}.bottom-tab.sc-ix-menu-item-h,[slot=bottom].sc-ix-menu-item-h{height:2.25rem}.bottom-tab.sc-ix-menu-item-h .tab.sc-ix-menu-item,[slot=bottom].sc-ix-menu-item-h .tab.sc-ix-menu-item{height:2.25rem}.bottom-tab.sc-ix-menu-item-h .tab.sc-ix-menu-item::before,[slot=bottom].sc-ix-menu-item-h .tab.sc-ix-menu-item::before{height:2.25rem;background-color:transparent}.bottom-tab.active.sc-ix-menu-item-h .tab.sc-ix-menu-item,.bottom-tab.selected.sc-ix-menu-item-h .tab.sc-ix-menu-item,[slot=bottom].active.sc-ix-menu-item-h .tab.sc-ix-menu-item,[slot=bottom].selected.sc-ix-menu-item-h .tab.sc-ix-menu-item{background-color:var(--theme-nav-item-secondary--background--selected)}.bottom-tab.active.sc-ix-menu-item-h:hover,.bottom-tab.selected.sc-ix-menu-item-h:hover,[slot=bottom].active.sc-ix-menu-item-h:hover,[slot=bottom].selected.sc-ix-menu-item-h:hover{background-color:var(--theme-nav-item-secondary--background--selected)}.bottom-tab.active.sc-ix-menu-item-h:active,.bottom-tab.selected.sc-ix-menu-item-h:active,[slot=bottom].active.sc-ix-menu-item-h:active,[slot=bottom].selected.sc-ix-menu-item-h:active{background-color:var(--theme-nav-item-secondary--background--selected)}";
669
669
 
670
670
  const MenuItem = class {
671
671
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"ix-menu.ix-menu-about.ix-menu-about-item.ix-menu-about-news.ix-menu-avatar.ix-menu-avatar-item.ix-menu-item.ix-menu-settings.ix-menu-settings-item.entry.js","mappings":"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","names":["MenuAbout"],"sources":["./src/components/menu/menu.scss?tag=ix-menu","./src/components/menu/menu.tsx","./src/components/menu-about/menu-about.scss?tag=ix-menu-about&encapsulation=scoped","./src/components/menu-about/menu-about.tsx","./src/components/menu-about-item/menu-about-item.css?tag=ix-menu-about-item&encapsulation=scoped","./src/components/menu-about-item/menu-about-item.tsx","./src/components/menu-about-news/menu-about-news.scss?tag=ix-menu-about-news&encapsulation=scoped","./src/components/menu-about-news/menu-about-news.tsx","./src/components/menu-avatar/menu-avatar.scss?tag=ix-menu-avatar&encapsulation=scoped","./src/components/menu-avatar/menu-avatar.tsx","./src/components/menu-avatar-item/menu-avatar-item.css?tag=ix-menu-avatar-item&encapsulation=scoped","./src/components/menu-avatar-item/menu-avatar-item.tsx","./src/components/menu-item/menu-item.scss?tag=ix-menu-item&encapsulation=scoped","./src/components/menu-item/menu-item.tsx","./src/components/menu-settings/menu-settings.scss?tag=ix-menu-settings&encapsulation=scoped","./src/components/menu-settings/menu-settings.tsx","./src/components/menu-settings-item/menu-settings-item.css?tag=ix-menu-settings-item&encapsulation=scoped","./src/components/menu-settings-item/menu-settings-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/hover';\n\nix-menu {\n display: flex;\n flex-direction: row;\n position: absolute;\n height: 100%;\n min-height: 22.75rem;\n z-index: var(--theme-z-index-sticky);\n width: auto;\n\n .menu {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 4rem;\n height: 100%;\n padding-block-end: 1rem;\n overflow: hidden;\n\n &.expanded {\n box-shadow: var(--theme-navigation--box-shadow);\n }\n\n background-color: var(--theme-nav--background);\n transition: width var(--animate-duration);\n\n .burger-menu {\n margin: 0.75rem 0 1rem 0.75rem;\n }\n }\n\n .menu-overlay {\n display: block;\n position: absolute;\n width: calc(100vw - 4rem);\n height: 100%;\n left: 4rem;\n z-index: -1;\n backdrop-filter: blur(1rem);\n background-color: var(--theme-sidebar-overlay-blur);\n transition: all $medium-time ease-out;\n }\n\n .menu-overlay-invisible {\n display: none;\n }\n\n .menu.expanded {\n width: 16rem;\n }\n\n .menu-overlay.expanded {\n width: calc(100vw - 16rem);\n left: 16rem;\n }\n\n #avatar-tab-placeholder {\n max-height: 3rem;\n }\n\n .avatar {\n margin-bottom: 2rem;\n }\n\n #cui-imprint {\n .cui-imprint-product-name {\n margin-bottom: $default-space;\n }\n\n .cui-imprint-product-description {\n margin-bottom: $x-large-space;\n }\n\n .cui-imprint-link-container {\n display: flex;\n align-items: center;\n }\n }\n\n .bottom-tab-divider {\n margin-top: auto;\n }\n}\n\nix-menu.mode-mobile {\n .menu:not(.expanded) {\n width: 0;\n }\n\n .menu {\n padding-top: 2rem;\n }\n\n .menu .burger-menu {\n display: none;\n }\n\n .menu-overlay {\n left: 0px;\n width: calc(100vw);\n }\n}\n\n// Remove text-decoration if a tag is used inside ix-menu\na[href]:has(> ix-menu-item) {\n text-decoration: 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 Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { hostContext, isBasicNavigationLayout } from '../utils/screen/context';\nimport { Mode } from '../utils/screen/mode';\nimport { screenMode } from '../utils/screen/service';\nimport { themeSwitcher } from '../utils/theme-switcher';\n\n@Component({\n tag: 'ix-menu',\n styleUrl: 'menu.scss',\n scoped: false,\n})\nexport class Menu {\n @Element() hostElement!: HTMLIxMenuElement;\n\n /**\n * Is settings tab visible\n */\n @Prop({ mutable: true }) showSettings = false;\n\n /**\n * Is about tab visible\n */\n @Prop({ mutable: true }) showAbout = false;\n\n /**\n * Show toggle between light and dark variant. Only if the provided theme have implemented both!\n */\n @Prop() enableToggleTheme = false;\n\n /**\n * Is settings tab is visible\n */\n @Prop() enableSettings = true;\n\n /**\n * Internal\n */\n @Prop() enableMapExpand = false;\n\n /**\n * Should only be set if you use ix-menu standalone\n */\n @Prop() applicationName: string;\n\n /**\n * Should only be set if you use ix-menu standalone\n */\n @Prop() applicationDescription = '';\n\n /**\n * Maximum number of menu items to show in case enough vertical space is available.\n * Extra menu items will be collapsed to 'show more' menu item.\n */\n @Prop() maxVisibleMenuItems = 9;\n\n /**\n */\n @Prop() i18nLegal = 'About & legal information';\n\n /**\n */\n @Prop() i18nSettings = 'Settings';\n\n /**\n */\n @Prop() i18nToggleTheme = 'Toggle theme';\n\n /**\n */\n @Prop() i18nExpand = ' Expand';\n\n /**\n */\n @Prop() i18nCollapse = 'Collapse';\n\n /**\n */\n @Prop() i18nMore = 'More…';\n\n /**\n * Expand menu\n */\n @Prop({ mutable: true, reflect: true }) expand = false;\n\n /**\n * Menu expanded\n */\n @Event() expandChange: EventEmitter<boolean>;\n\n /**\n * Map Sidebar expanded\n */\n @Event() mapExpandChange: EventEmitter<boolean>;\n @State() showMoreItems = false;\n @State() visibleMenuItems = 0;\n @State() countMoreNotifications = 0;\n @State() mapExpand = true;\n @State() activeTab: HTMLIxMenuItemElement;\n @State() isMoreTabEmpty = false;\n @State() mode: Mode = 'desktop';\n\n private readonly domObserver = new MutationObserver(\n this.onDomChange.bind(this)\n );\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.visibleMenuItems = this.getMaxTabCount();\n }\n\n private handleNodeMutation(node: Node) {\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n if (node.matches('.tab')) {\n this.onWindowResize();\n }\n\n if (node.matches('ix-menu-about') && this.menu.contains(node)) {\n this.appendAbout();\n }\n\n if (node.matches('ix-menu-settings') && this.menu.contains(node)) {\n this.appendSettings();\n }\n }\n\n private onDomChange(mutations: MutationRecord[]) {\n mutations.forEach((mutationRecord) => {\n mutationRecord.addedNodes.forEach(this.handleNodeMutation.bind(this));\n mutationRecord.removedNodes.forEach(this.handleNodeMutation.bind(this));\n });\n }\n\n // FBC IAM workaround #488\n private readonly isVisible = (elm: HTMLElement) => {\n return (\n elm.style.display !== 'none' &&\n elm.parentElement?.parentElement?.style.display !== 'none'\n );\n };\n\n get popoverArea() {\n return this.hostElement.querySelector('#popover-area');\n }\n\n get overlayContainer() {\n return this.hostElement.querySelector('.menu-overlay');\n }\n\n get invisibleContainer() {\n return this.hostElement.querySelector('.menu-overlay-invisible');\n }\n\n get menu() {\n return this.hostElement.querySelector('.menu');\n }\n\n get menuItems() {\n return Array.from(\n this.hostElement.querySelectorAll(\n 'ix-menu-item:not(.internal-tab):not(.home-tab):not(.bottom-tab):not([slot=\"bottom\"])'\n )\n ).filter(this.isVisible);\n }\n\n get menuBottomItems() {\n return Array.from(\n this.hostElement.querySelectorAll(\n 'ix-menu-item.bottom-tab:not(.internal-tab):not(.home-tab)'\n )\n ).filter(this.isVisible);\n }\n\n get homeTab() {\n return this.hostElement.querySelector('ix-menu-item.home-tab');\n }\n\n get moreItemsDropdown(): HTMLElement {\n return this.hostElement.querySelector('.internal-tab ix-dropdown');\n }\n\n get isMoreItemsDropdownEmpty(): boolean {\n return (\n this.hostElement.querySelectorAll('.internal-tab ix-dropdown .appended')\n .length === 0\n );\n }\n\n get moreItemsDropdownItems() {\n return this.hostElement.querySelectorAll(\n '.internal-tab ix-dropdown ix-menu-item'\n );\n }\n\n get activeMoreTabContainer() {\n return this.hostElement.querySelector('.active-more-tab');\n }\n\n get activeMoreTab() {\n return this.hostElement.querySelector('.active-more-tab ix-menu-item');\n }\n\n get aboutPopoverContainer(): HTMLElement {\n return this.hostElement.querySelector('.about-news');\n }\n\n get aboutPopover(): HTMLIxMenuAboutNewsElement {\n return document.querySelector('ix-menu-about-news');\n }\n\n get aboutTab(): HTMLElement {\n return this.hostElement.querySelector('#aboutAndLegal');\n }\n\n get about(): HTMLIxMenuAboutElement {\n return this.hostElement.querySelector('ix-menu-about');\n }\n\n get settings(): HTMLIxMenuSettingsElement {\n return this.hostElement.querySelector('ix-menu-settings');\n }\n\n get isSettingsEmpty(): boolean {\n return (\n Array.from(this.hostElement.querySelectorAll('ix-menu-settings-item'))\n .length === 0\n );\n }\n\n get avatarItem(): HTMLIxMenuAvatarElement {\n return this.hostElement.querySelector('ix-menu-avatar');\n }\n\n get tabsContainer(): HTMLDivElement {\n return this.hostElement.querySelector('#menu-tabs');\n }\n\n private showTab(index: number) {\n return index + 1 <= this.visibleMenuItems;\n }\n\n componentDidLoad() {\n this.settings?.addEventListener('close', () => {\n this.showSettings = false;\n this.settings.show = this.showSettings;\n });\n\n this.settings?.addEventListener('animationend', () => {\n if (!this.showSettings) {\n this.settings.classList.add('d-none');\n this.overlayContainer.classList.add('d-none');\n }\n });\n\n this.about?.addEventListener('close', () => {\n this.showAbout = false;\n this.about.show = this.showAbout;\n });\n\n this.about?.addEventListener('animationend', () => {\n if (!this.showAbout) {\n this.about.classList.add('d-none');\n this.overlayContainer.classList.add('d-none');\n }\n });\n\n this.overlayContainer.classList.add('d-none');\n\n this.onWindowResize();\n\n this.domObserver.observe(this.hostElement, {\n attributes: false,\n childList: true,\n subtree: true,\n });\n }\n\n componentWillLoad() {\n menuController.register(this.hostElement);\n const layout = hostContext('ix-basic-navigation', this.hostElement);\n if (isBasicNavigationLayout(layout) && layout.hideHeader === false) {\n screenMode.onChange.on((mode) => (this.mode = mode));\n this.mode = screenMode.mode;\n }\n }\n\n componentWillRender() {\n this.appendTabs();\n }\n\n componentDidRender() {\n this.visibleMenuItems = this.getMaxTabCount();\n this.appendFragments();\n }\n\n private appendFragments() {\n this.appendAvatar();\n this.appendAbout();\n this.appendSettings();\n this.appendAboutNewsPopover();\n\n // This lead to none infinite-loops and other bugs.\n this.isMoreTabEmpty = this.isMoreItemsDropdownEmpty;\n\n this.countMoreNotifications = this.getMoreNotificationsCount();\n }\n\n private resetActiveTab() {\n this.activeTab = null;\n }\n\n private isMenuItemActive(item: HTMLIxMenuItemElement) {\n return item.active || item.classList.contains('active');\n }\n\n private appendTabs() {\n this.activeTab = null;\n\n if (this.homeTab) {\n this.hostElement.querySelector('.tabs-top').appendChild(this.homeTab);\n this.homeTab.addEventListener('click', this.resetOverlay.bind(this));\n }\n\n this.menuItems.forEach((item: HTMLIxMenuItemElement, index) => {\n if (this.showTab(index)) {\n item.classList.remove('d-none');\n } else {\n item.classList.add('d-none');\n\n if (this.isMenuItemActive(item)) {\n this.activeTab = item;\n }\n }\n\n // TODO: Find better solution to handle home tab\n this.homeTab?.classList.remove('d-none');\n\n item.addEventListener('click', this.resetOverlay.bind(this));\n });\n }\n\n private appendAvatar() {\n const avatar = this.avatarItem;\n if (avatar) {\n avatar.style.marginBottom = '1rem';\n this.hostElement\n .querySelector('#avatar-tab-placeholder')\n ?.appendChild(avatar);\n }\n }\n\n private getAboutPopoverVerticalPosition() {\n const heightArrow = 12;\n const offsetArrow = 6;\n const rectAbout = this.aboutTab.getBoundingClientRect();\n const offset =\n window.innerHeight -\n (rectAbout.bottom - rectAbout.height / 2 + heightArrow / 2 + offsetArrow);\n return convertToRemString(offset);\n }\n\n private appendAboutNewsPopover() {\n if (!this.aboutPopover) {\n return;\n }\n\n this.aboutPopover.style.bottom = this.getAboutPopoverVerticalPosition();\n\n if (!this.popoverArea?.contains(this.aboutPopover)) {\n const showMore = () => {\n if (this.aboutPopover?.aboutItemLabel) {\n this.about.activeTabLabel = this.aboutPopover.aboutItemLabel;\n this.toggleAbout(true);\n }\n };\n\n this.aboutPopover.addEventListener('showMore', showMore.bind(this));\n document.body.appendChild(this.aboutPopover);\n }\n }\n\n private appendSettings() {\n if (this.settings) {\n this.overlayContainer.appendChild(this.settings);\n }\n }\n\n private appendAbout() {\n if (this.about) {\n this.overlayContainer.appendChild(this.about);\n }\n }\n\n private getMoreNotificationsCount(): number {\n const moreTabs = this.moreItemsDropdown?.querySelectorAll('.appended');\n let count = 0;\n moreTabs?.forEach((tab) => {\n if (tab['notifications']) {\n count += tab['notifications'];\n }\n });\n\n return count;\n }\n\n private getAvailableHeight() {\n const heightBurgerMenu = 60;\n const heightHome = 72;\n const heightAvatar = 56;\n const heightBottomTab = 36;\n\n let availableHeight = this.hostElement.clientHeight;\n\n availableHeight -= heightBurgerMenu;\n\n if (this.avatarItem) {\n availableHeight -= heightAvatar;\n }\n\n if (this.homeTab) {\n availableHeight -= heightHome;\n }\n\n if (this.showAbout) {\n availableHeight -= heightBottomTab;\n }\n\n if (this.showSettings) {\n availableHeight -= heightBottomTab;\n }\n\n if (this.menuBottomItems.length) {\n availableHeight -= this.menuBottomItems.length * heightBottomTab;\n }\n\n if (this.enableMapExpand) {\n availableHeight -= heightBottomTab;\n }\n\n // Subtract height of imprint and theme toggle tabs\n availableHeight -= 2 * heightBottomTab;\n\n // Subtract bottom margin of bottom tabs\n availableHeight -= 16;\n\n return availableHeight;\n }\n\n private getMaxTabCount() {\n const heightTab = 48;\n const availableHeight = this.getAvailableHeight();\n const visibleCount = Math.floor(availableHeight / heightTab);\n const menuItemCount = this.menuItems.length;\n\n if (menuItemCount === 1) {\n return 1;\n }\n\n if (menuItemCount < this.maxVisibleMenuItems) {\n if (visibleCount > menuItemCount) {\n return menuItemCount;\n }\n\n return Math.min(visibleCount - 2, menuItemCount);\n }\n\n if (menuItemCount === this.maxVisibleMenuItems) {\n if (visibleCount < this.maxVisibleMenuItems) {\n return visibleCount - 2;\n }\n\n if (visibleCount === this.maxVisibleMenuItems) {\n return this.maxVisibleMenuItems - 2;\n }\n\n return Math.min(visibleCount, this.maxVisibleMenuItems);\n }\n\n if (visibleCount === this.maxVisibleMenuItems) {\n return this.maxVisibleMenuItems - 2;\n }\n if (visibleCount >= this.maxVisibleMenuItems) {\n return this.maxVisibleMenuItems - 1;\n }\n\n return Math.min(visibleCount - 2, this.maxVisibleMenuItems);\n }\n\n /**\n * Toggle map sidebar expand\n * @param show\n */\n @Method()\n async toggleMapExpand(show?: boolean) {\n this.skipAllOverlayAnimations();\n\n if (show !== undefined) {\n this.mapExpand = show;\n } else {\n this.mapExpand = !this.mapExpand;\n }\n }\n\n private skipAllOverlayAnimations() {\n if (this.about) {\n this.skipOverlayAnimationFor(this.about);\n }\n if (this.settings) {\n this.skipOverlayAnimationFor(this.settings);\n }\n }\n\n private skipOverlayAnimationFor(element: HTMLElement) {\n const animateClass = 'animate__animated';\n\n element?.classList.remove(animateClass);\n\n setTimeout(() => {\n element?.classList.add(animateClass);\n }, 300);\n }\n\n /**\n * Toggle menu\n * @param show\n */\n @Method()\n async toggleMenu(show?: boolean) {\n this.skipAllOverlayAnimations();\n\n if (show !== undefined) {\n this.expand = show;\n } else {\n this.expand = !this.expand;\n }\n\n if (this.aboutPopover) {\n this.aboutPopover.expanded = this.expand;\n }\n\n this.expandChange.emit(this.expand);\n }\n\n /**\n * Toggle Settings tabs\n * @param show\n */\n @Method()\n async toggleSettings(show: boolean) {\n if (this.showAbout) {\n this.skipAllOverlayAnimations();\n } else {\n this.skipOverlayAnimationFor(this.about);\n }\n\n this.about?.classList.add('d-none');\n\n this.resetOverlay();\n this.showSettings = show;\n this.settings.show = this.showSettings;\n this.settings.classList.remove('d-none');\n this.overlayContainer.classList.remove('d-none');\n }\n\n /**\n * Toggle About tabs\n * @param show\n */\n @Method()\n async toggleAbout(show: boolean) {\n if (this.showSettings) {\n this.skipAllOverlayAnimations();\n } else {\n this.skipOverlayAnimationFor(this.settings);\n }\n\n this.settings?.classList.add('d-none');\n\n this.resetOverlay();\n this.showAbout = show;\n this.about.show = this.showAbout;\n this.about.classList.remove('d-none');\n this.overlayContainer.classList.remove('d-none');\n }\n\n private resetOverlay() {\n this.showSettings = false;\n this.showAbout = false;\n\n if (this.settings) {\n this.settings.show = this.showSettings;\n }\n\n if (this.about) {\n this.about.show = this.showAbout;\n }\n\n this.toggleMenu(false);\n }\n\n private showMoreButton() {\n const menuItemCount = this.menuItems.length;\n\n if (menuItemCount === 1) {\n return false;\n }\n\n if (menuItemCount < this.maxVisibleMenuItems) {\n return this.visibleMenuItems < menuItemCount;\n }\n\n if (menuItemCount > this.maxVisibleMenuItems) {\n return this.visibleMenuItems < this.maxVisibleMenuItems;\n }\n\n return this.visibleMenuItems <= this.maxVisibleMenuItems - 2;\n }\n\n private getCollapseText() {\n return this.mapExpand ? this.i18nCollapse : this.i18nExpand;\n }\n\n private getCollapseIcon() {\n return this.mapExpand ? 'double-chevron-left' : 'double-chevron-right';\n }\n\n private isMenuItemClicked(event: MouseEvent) {\n const path = event.composedPath();\n const menuItems = (path as HTMLElement[])\n .filter((element) => element.id !== 'ix-menu-more-tab')\n .filter((element) => {\n return element.tagName === 'IX-MENU-ITEM';\n });\n\n return menuItems.some((menu) => this.tabsContainer.contains(menu));\n }\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expand,\n [`mode-${this.mode}`]: true,\n }}\n >\n <div\n class={{\n menu: true,\n expanded: this.expand,\n }}\n onClick={() => {\n this.resetActiveTab();\n }}\n >\n <ix-burger-menu\n onClick={async () => this.toggleMenu()}\n expanded={this.expand}\n class={{\n 'burger-menu': true,\n }}\n ></ix-burger-menu>\n <div id=\"avatar-tab-placeholder\"></div>\n <div\n id=\"menu-tabs\"\n style={{\n display: 'contents',\n }}\n onClick={(event) => {\n if (this.isMenuItemClicked(event)) {\n this.resetOverlay();\n }\n }}\n >\n <div class=\"tabs-top\"></div>\n <slot></slot>\n <div class=\"active-more-tab\">\n {this.activeTab ? (\n <ix-menu-item\n class=\"internal-tab\"\n active={true}\n tabIcon={this.activeTab.tabIcon}\n >\n {this.activeTab.innerText}\n </ix-menu-item>\n ) : null}\n </div>\n <ix-menu-item\n id=\"ix-menu-more-tab\"\n tabIcon=\"more-menu\"\n class={{\n 'internal-tab': true,\n }}\n style={{\n display: this.showMoreButton() ? 'block' : 'none',\n }}\n title=\"Show more\"\n notifications={this.countMoreNotifications}\n >\n {this.i18nMore}\n <ix-dropdown\n trigger={'ix-menu-more-tab'}\n positioningStrategy={'fixed'}\n placement={'right-start'}\n >\n {this.menuItems\n .filter(\n (elm: HTMLIxMenuItemElement, index) =>\n !this.showTab(index) &&\n !this.isMenuItemActive(elm) &&\n this.isVisible(elm)\n )\n .map((e: HTMLIxMenuItemElement) => {\n return (\n <ix-menu-item\n tabIcon={e.tabIcon}\n active={e.active}\n class=\"internal-tab appended\"\n onClick={() => {\n this.resetOverlay();\n e.dispatchEvent(new CustomEvent('click'));\n }}\n >\n {e.innerText}\n </ix-menu-item>\n );\n })}\n </ix-dropdown>\n </ix-menu-item>\n </div>\n <div class=\"bottom-tab-divider\"></div>\n {this.enableSettings && !this.isSettingsEmpty ? (\n <ix-menu-item\n id=\"settings\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showSettings,\n }}\n tabIcon=\"cogwheel\"\n onClick={async () => this.toggleSettings(!this.showSettings)}\n >\n {this.i18nSettings}\n </ix-menu-item>\n ) : null}\n <slot name=\"bottom\"></slot>\n <div id=\"popover-area\"></div>\n {this.about ? (\n <ix-menu-item\n id=\"aboutAndLegal\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showAbout,\n }}\n tabIcon=\"info\"\n onClick={async () => this.toggleAbout(!this.showAbout)}\n >\n {this.i18nLegal}\n </ix-menu-item>\n ) : null}\n {this.enableToggleTheme ? (\n <ix-menu-item\n id=\"toggleTheme\"\n onClick={() => themeSwitcher.toggleMode()}\n class=\"internal-tab bottom-tab\"\n tabIcon=\"bulb\"\n >\n {this.i18nToggleTheme}\n </ix-menu-item>\n ) : null}\n {this.enableMapExpand ? (\n <ix-menu-item\n id=\"menu-collapse\"\n onClick={() => this.mapExpandChange.emit(this.mapExpand)}\n class=\"internal-tab bottom-tab\"\n tabIcon={`${this.getCollapseIcon()}`}\n >\n {this.getCollapseText()}\n </ix-menu-item>\n ) : null}\n </div>\n <div\n class={{\n 'menu-overlay': true,\n expanded: this.expand,\n 'd-block': this.showAbout || this.showSettings,\n }}\n style={{\n opacity: this.showAbout || this.showSettings ? '1' : '0',\n }}\n ></div>\n <div class=\"menu-overlay-invisible\"></div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'fonts';\n\n:host {\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: $medium-space $default-space $default-space $x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .about-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: $x-large-space;\n margin-bottom: $small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 0;\n }\n }\n\n .about-tabs {\n margin-bottom: $large-space;\n }\n\n ix-menu-about-item {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-about',\n styleUrl: 'menu-about.scss',\n scoped: true,\n})\nexport class MenuAbout {\n /**\n * Active tab\n */\n @Prop({ mutable: true }) activeTabLabel: string;\n\n /**\n * Label of first tab\n */\n @Prop() label = 'About & legal information';\n\n /**\n * Internal\n */\n @Prop() show = false;\n\n @Element() el!: HTMLIxMenuAboutElement;\n\n /**\n * About and Legal closed\n */\n @Event() close: EventEmitter<MouseEvent>;\n\n @State() labels: string[] = [];\n\n get aboutItems(): HTMLIxMenuAboutItemElement[] {\n return Array.from(this.el.querySelectorAll('ix-menu-about-item'));\n }\n\n private setTab(label: string) {\n this.activeTabLabel = label;\n this.aboutItems.forEach((i) => {\n i.style.display = 'none';\n if (i.label === this.activeTabLabel) {\n i.style.display = 'block';\n }\n });\n }\n\n componentWillLoad() {\n if (this.aboutItems.length) {\n this.setTab(this.activeTabLabel || this.aboutItems[0].label);\n }\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n componentWillRender() {\n this.updateLabels();\n }\n\n private updateLabels() {\n this.labels = this.aboutItems.map((i) => i.label);\n }\n\n @Watch('activeTabLabel')\n watchActiveTabLabel(value: string) {\n // Wait a DOM render cycle to get changed labels\n setTimeout(() => this.setTab(value));\n }\n\n private getSelectedTabIndex(label: string) {\n const selectedItem = this.aboutItems.find((item) => item.label === label);\n return this.aboutItems.indexOf(selectedItem);\n }\n\n private getTabItems() {\n return this.aboutItems.map(({ label }) => {\n return (\n <ix-tab-item\n class={{\n active: label === this.activeTabLabel,\n }}\n onClick={() => this.setTab(label)}\n >\n {label}\n </ix-tab-item>\n );\n });\n }\n\n render() {\n return (\n <Host\n class={{\n animate__animated: true,\n animate__fadeInLeft: this.show,\n animate__fadeOutLeft: !this.show,\n }}\n >\n <div class=\"about-header\">\n <h2 class=\"text-h2\">{this.label}</h2>\n <ix-icon-button\n ghost\n size=\"24\"\n icon=\"close\"\n onClick={(e) => this.close.emit(e)}\n ></ix-icon-button>\n </div>\n <ix-tabs\n selected={this.getSelectedTabIndex(this.activeTabLabel)}\n class=\"about-tabs\"\n >\n {this.getTabItems()}\n </ix-tabs>\n <div class=\"about-items\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\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, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-about-item',\n styleUrl: 'menu-about-item.css',\n scoped: true,\n})\nexport class MenuAboutItem {\n /**\n * About Item label\n */\n @Prop({ reflect: true }) label: string;\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadows';\n\n:host {\n --margin: 0.5rem;\n\n $left: 4rem;\n display: block;\n position: fixed;\n width: 20rem;\n height: auto;\n background-color: var(--theme-color-1);\n border: var(--theme-weak-bdr-1);\n border-radius: $default-border-radius;\n padding: 1rem;\n left: $left;\n z-index: 10000;\n transition: left var(--animate-duration);\n\n margin-left: var(--margin) !important;\n\n @include box-shadow(4);\n\n &.expanded {\n left: calc(#{$left} + 12rem);\n }\n\n &.show {\n display: none;\n }\n\n .banner-container {\n position: absolute;\n top: 0.0625rem;\n left: $default-space;\n\n svg {\n position: absolute;\n height: 3.625rem;\n width: 3rem;\n\n polygon {\n fill: var(--theme-color-primary);\n }\n }\n\n ix-icon {\n margin: $small-space;\n position: absolute;\n z-index: 1;\n }\n }\n\n .cui-popover-news-header {\n margin-bottom: 2rem;\n margin-left: 4rem;\n margin-top: -$tiny-space;\n }\n\n .popover-body {\n color: var(--theme-color-std-text);\n }\n\n .cui-popover-news-footer {\n display: flex;\n justify-content: flex-end;\n margin-top: 1rem;\n }\n\n ix-icon-button {\n top: $small-space;\n right: $small-space;\n position: absolute;\n }\n\n #arrow {\n position: absolute;\n width: 0.5rem;\n height: 0.5rem;\n background-color: var(--theme-color-1);\n border-left: var(--theme-weak-bdr-1);\n border-bottom: var(--theme-weak-bdr-1);\n transform: translateX(calc(var(--margin) * -1 - 0.8rem)) rotateZ(45deg);\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, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-about-news',\n styleUrl: 'menu-about-news.scss',\n scoped: true,\n})\nexport class MenuAboutNews {\n /**\n * Show about news\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Title of the about news\n */\n @Prop() label: string;\n\n /**\n *\n */\n @Prop() i18nShowMore = 'Show more';\n\n /**\n * Subtitle of the about news\n */\n @Prop() aboutItemLabel: string;\n\n /**\n * Bottom offset\n */\n @Prop() offsetBottom = 0;\n\n /**\n * Show More button is pressed\n */\n @Event() showMore: EventEmitter<MouseEvent>;\n\n /**\n * Popover closed\n */\n @Event() closePopover: EventEmitter<void>;\n\n /**\n * Internal\n */\n @Prop() expanded = false;\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expanded,\n show: !this.show,\n }}\n >\n <div class=\"banner-container\">\n <ix-icon\n color=\"color-inv-contrast-text\"\n name=\"shout\"\n size=\"32\"\n ></ix-icon>\n <svg viewBox=\"0 0 48 56\" xmlns=\"http://www.w3.org/2000/svg\">\n <polygon points=\"0 0 48 0 48 56 24 48 0 56\" />\n </svg>\n </div>\n\n <div class=\"cui-popover-news-header\">\n <span class=\"text-l-title\">{this.label}</span>\n </div>\n\n <ix-icon-button\n size=\"24\"\n icon=\"close-small\"\n ghost\n onClick={() => {\n this.show = false;\n this.closePopover.emit();\n }}\n ></ix-icon-button>\n <slot></slot>\n {this.aboutItemLabel ? (\n <div class=\"cui-popover-news-footer\">\n <button\n class=\"btn btn-primary\"\n onClick={(e) => {\n this.show = false;\n this.showMore.emit(e);\n }}\n >\n {this.i18nShowMore}\n </button>\n </div>\n ) : null}\n <div id=\"arrow\"></div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import 'mixins/hover';\n\n:host {\n display: block;\n position: relative;\n margin-bottom: 0.5rem;\n\n .avatar {\n display: flex;\n align-items: center;\n height: 2.5rem;\n max-height: 2.5rem;\n padding-left: 0.25rem;\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n transition: 0.15s;\n\n > .avatar-image {\n height: 2rem;\n width: 2rem;\n min-height: 2rem;\n min-width: 2rem;\n border-radius: 100px;\n }\n\n > .avatar-initials {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2rem;\n width: 2rem;\n min-height: 2rem;\n min-width: 2rem;\n border-radius: 100px;\n background-color: var(--theme-color-component-3);\n }\n\n #avatar-path-background {\n fill: var(--theme-avatar--background);\n }\n\n #avatar-path-person {\n fill: var(--theme-color-4);\n }\n\n .avatar-name {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n margin-left: $default-space;\n line-height: 1.14;\n\n .text-default-single {\n @include ellipsis;\n }\n }\n\n border-radius: 1.25rem;\n\n @include hover {\n background-color: var(--theme-avatar-btn--background--hover);\n color: var(--theme-avatar-btn--color--hover);\n }\n\n @include active {\n background-color: var(--theme-avatar-btn--background--active);\n color: var(--theme-avatar-btn--color--active);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction DefaultAvatar(props: { initials?: string }) {\n const { initials } = props;\n\n if (initials) {\n return <div class={'avatar-initials'}>{initials}</div>;\n }\n\n return (\n <svg\n class={'avatar-image'}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n >\n <g fill=\"none\" fill-rule=\"evenodd\">\n <path\n id=\"avatar-path-background\"\n d=\"M16 0C7.163 0 0 7.163 0 16s7.163 16 16 16 16-7.163\n 16-16c0-4.243-1.686-8.313-4.686-11.314C24.314 1.686 20.244 0 16 0z\"\n />\n <path\n id=\"avatar-path-person\"\n d=\"M17.897 17.91c3.8-.018 7.358 1.875 9.485 5.046-2.417 3.999-6.734 6.434-11.382\n 6.42-4.648.014-8.965-2.421-11.382-6.42 2.127-3.171 5.685-5.064\n 9.485-5.045h3.794zM15.821 2.129c3.682 0 6.667 2.984 6.667 6.666 0 3.682-2.985\n 6.667-6.667 6.667s-6.667-2.985-6.667-6.667 2.985-6.666 6.667-6.666z\"\n />\n </g>\n </svg>\n );\n}\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-avatar',\n styleUrl: 'menu-avatar.scss',\n scoped: true,\n})\nexport class MenuAvatar {\n @Element() hostElement: HTMLIxMenuAvatarElement;\n\n /**\n * First line of text\n */\n @Prop() top: string;\n\n /**\n * Second line of text\n */\n @Prop() bottom: string;\n\n /**\n * Display a avatar image\n *\n * @since 1.4.0\n */\n @Prop() image: string;\n\n /**\n * Display the initials of the user. Will be overwritten by image\n *\n * @since 1.4.0\n */\n @Prop() initials: string;\n\n /**\n * Use for translation\n */\n @Prop() i18nLogout = 'Logout';\n\n /**\n * Logout click\n */\n @Event() logoutClick: EventEmitter;\n\n private avatarElementId = 'ix-menu-avatar-id';\n\n render() {\n return (\n <Host>\n <li\n class=\"nav-item top-item avatar no-hover\"\n title={this.top}\n id={this.avatarElementId}\n >\n {this.image ? (\n <img src={this.image} class=\"avatar-image\"></img>\n ) : (\n <DefaultAvatar initials={this.initials} />\n )}\n <div class=\"avatar-name\">\n <span class=\"text-default-single\" title={this.top}>\n {this.top}\n </span>\n <span class=\"text-default-single\" title={this.bottom}>\n {this.bottom}\n </span>\n </div>\n </li>\n <ix-dropdown\n trigger={this.avatarElementId}\n placement={'right-start'}\n offset={{\n mainAxis: 12,\n }}\n >\n <slot></slot>\n <ix-menu-avatar-item\n label={this.i18nLogout}\n icon=\"log-out\"\n onClick={(e) => {\n this.logoutClick.emit(e);\n }}\n ></ix-menu-avatar-item>\n </ix-dropdown>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-avatar-item',\n styleUrl: 'menu-avatar-item.css',\n scoped: true,\n})\nexport class MenuAvatarItem {\n /**\n * Avatar dropdown icon\n */\n @Prop() icon: string;\n\n /**\n * Avatar dropdown label\n */\n @Prop() label: string;\n\n /**\n * Avatar dropdown item clicked\n */\n @Event() itemClick: EventEmitter<MouseEvent>;\n\n @Element() hostElement: HTMLIxMenuAvatarItemElement;\n\n render() {\n return (\n <ix-dropdown-item\n icon={this.icon}\n label={this.label}\n onClick={(e) => this.itemClick.emit(e)}\n ></ix-dropdown-item>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n position: relative;\n display: block;\n\n .tab {\n display: flex;\n position: relative;\n align-items: center;\n height: 3rem;\n z-index: 500;\n padding-left: 1.25rem;\n\n &:not(.selected) {\n cursor: pointer;\n\n @include ghost-hover-pressed;\n }\n }\n\n i.glyph {\n color: var(--theme-nav-item-primary-icon--color);\n position: relative;\n }\n\n .tab:focus-visible {\n outline: none;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n .tab:not(:last-child) {\n margin-bottom: $small-space;\n }\n\n .notification {\n display: inline-flex;\n position: absolute;\n top: -$small-space;\n right: -50%;\n\n .pill {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1rem;\n min-width: 1rem;\n position: relative;\n border-radius: 6.25rem;\n background-color: var(--theme-color-primary);\n border-radius: 6.25rem;\n font-size: 0.75rem;\n font-weight: bold;\n line-height: 1;\n font-family: Siemens Sans, Arial, sans-serif;\n color: var(--theme-color-primary--contrast);\n padding: $tiny-space;\n }\n }\n\n .tab-text {\n @include ellipsis;\n color: var(--theme-nav-item-primary--color);\n margin: 0 1.25rem;\n user-select: none;\n }\n\n &.active,\n &.selected {\n .tab {\n background-color: var(--theme-nav-item-primary--background--selected);\n }\n\n .tab::before {\n content: '';\n background-color: var(--theme-nav-item-primary--border-color--selected);\n height: 3rem;\n width: 0.25rem;\n left: 0;\n position: absolute;\n }\n\n .tab > .glyph {\n color: var(--theme-nav-item-primary-icon--color--selected);\n }\n }\n\n &.disabled {\n color: var(--theme-color-weak-text);\n pointer-events: none;\n cursor: default;\n\n .tab > .glyph {\n color: var(--theme-color-weak-text);\n }\n\n .tab-text {\n color: var(--theme-color-weak-text);\n }\n }\n\n &.home-tab,\n &[slot='home'] {\n margin-bottom: 1.5rem;\n }\n\n &.bottom-tab,\n &[slot='bottom'] {\n $bottom-height: 2.25rem;\n\n height: $bottom-height;\n\n .tab {\n height: $bottom-height;\n }\n\n .tab::before {\n height: $bottom-height;\n }\n\n &.active,\n &.selected {\n .tab {\n background-color: var(--theme-color-1);\n }\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-item',\n styleUrl: 'menu-item.scss',\n scoped: true,\n})\nexport class MenuItem {\n /**\n * Move the Tab to a top position.\n */\n @Prop() home = false;\n\n /**\n * Caution: this is no longer working. Please use slot=\"bottom\" instead.\n *\n * Place tab on bottom\n *\n * @deprecated Will be removed in 2.0.0. Replaced by slot based implementation\n */\n @Prop() bottom = false;\n\n /**\n * Icon name from @siemens/ix-icons\n */\n @Prop() tabIcon = 'document';\n\n /**\n * Show notification cound on tab\n */\n @Prop() notifications: number;\n\n /**\n * State to display active\n */\n @Prop() active: boolean;\n\n /**\n * Disable tab and remove event handlers\n */\n @Prop() disabled: boolean;\n\n @Element() hostElement: HTMLIxMenuItemElement;\n\n @State() title: string;\n\n get tabLabel() {\n return this.hostElement.querySelector('.tab-text');\n }\n\n componentDidRender() {\n const spanElement = this.tabLabel;\n const newTitle = spanElement.innerHTML.replace('&amp;', '&');\n if (this.title !== newTitle) {\n this.title = newTitle;\n }\n }\n\n render() {\n return (\n <Host\n class={{\n disabled: this.disabled,\n 'home-tab': this.home,\n 'bottom-tab': this.bottom,\n active: this.active,\n }}\n >\n <li class=\"tab\" title={this.title}>\n <i class={`glyph glyph-${this.tabIcon}`}>\n <div class=\"notification\">\n {this.notifications ? (\n <div class=\"pill\">{this.notifications}</div>\n ) : null}\n </div>\n </i>\n <span class=\"tab-text text-default\">\n <slot></slot>\n </span>\n </li>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'fonts';\n\n:host {\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: $medium-space $default-space $default-space $x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .settings-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: $x-large-space;\n margin-bottom: $small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 0;\n }\n }\n\n .settings-tabs {\n margin-bottom: $large-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-settings',\n styleUrl: 'menu-settings.scss',\n scoped: true,\n})\nexport class MenuAbout {\n /**\n * active tab\n */\n @Prop({ mutable: true }) activeTabLabel: string;\n\n /**\n * Label\n */\n @Prop() label = 'Settings';\n\n /**\n * Internal\n */\n @Prop() show = false;\n\n @Element() el!: HTMLIxMenuSettingsElement;\n\n /**\n * Popover closed\n */\n @Event() close: EventEmitter<MouseEvent>;\n\n get settingsItems(): HTMLIxMenuSettingsItemElement[] {\n return Array.from(this.el.querySelectorAll('ix-menu-settings-item'));\n }\n\n private setTab(label: string) {\n this.activeTabLabel = label;\n this.settingsItems.forEach((i) => {\n i.style.display = 'none';\n\n if (i.label === this.activeTabLabel) {\n i.style.display = 'block';\n }\n });\n }\n\n componentWillLoad() {\n if (this.settingsItems.length) {\n this.setTab(this.activeTabLabel || this.settingsItems[0].label);\n }\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n @Watch('activeTabLabel')\n watchActiveTabLabel(value: string) {\n this.setTab(value);\n }\n\n private getTabItems() {\n return this.settingsItems.map(({ label }) => {\n return (\n <ix-tab-item\n class={{\n active: label === this.activeTabLabel,\n }}\n onClick={() => this.setTab(label)}\n >\n {label}\n </ix-tab-item>\n );\n });\n }\n\n render() {\n return (\n <Host\n class={{\n animate__animated: true,\n animate__fadeInLeft: this.show,\n animate__fadeOutLeft: !this.show,\n }}\n >\n <div class=\"settings-header\">\n <h2 class=\"text-h2\">{this.label}</h2>\n <ix-icon-button\n ghost\n size=\"24\"\n icon=\"close\"\n onClick={(e) => this.close.emit(e)}\n ></ix-icon-button>\n </div>\n <ix-tabs>{this.getTabItems()}</ix-tabs>\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\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, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-settings-item',\n styleUrl: 'menu-settings-item.css',\n scoped: true,\n})\nexport class MenuSettingsItem {\n /**\n * Label\n */\n @Prop() label: string;\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-menu.ix-menu-about.ix-menu-about-item.ix-menu-about-news.ix-menu-avatar.ix-menu-avatar-item.ix-menu-item.ix-menu-settings.ix-menu-settings-item.entry.js","mappings":"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","names":["MenuAbout"],"sources":["./src/components/menu/menu.scss?tag=ix-menu","./src/components/menu/menu.tsx","./src/components/menu-about/menu-about.scss?tag=ix-menu-about&encapsulation=scoped","./src/components/menu-about/menu-about.tsx","./src/components/menu-about-item/menu-about-item.css?tag=ix-menu-about-item&encapsulation=scoped","./src/components/menu-about-item/menu-about-item.tsx","./src/components/menu-about-news/menu-about-news.scss?tag=ix-menu-about-news&encapsulation=scoped","./src/components/menu-about-news/menu-about-news.tsx","./src/components/menu-avatar/menu-avatar.scss?tag=ix-menu-avatar&encapsulation=scoped","./src/components/menu-avatar/menu-avatar.tsx","./src/components/menu-avatar-item/menu-avatar-item.css?tag=ix-menu-avatar-item&encapsulation=scoped","./src/components/menu-avatar-item/menu-avatar-item.tsx","./src/components/menu-item/menu-item.scss?tag=ix-menu-item&encapsulation=scoped","./src/components/menu-item/menu-item.tsx","./src/components/menu-settings/menu-settings.scss?tag=ix-menu-settings&encapsulation=scoped","./src/components/menu-settings/menu-settings.tsx","./src/components/menu-settings-item/menu-settings-item.css?tag=ix-menu-settings-item&encapsulation=scoped","./src/components/menu-settings-item/menu-settings-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/hover';\n\nix-menu {\n display: flex;\n flex-direction: row;\n position: absolute;\n height: 100%;\n min-height: 22.75rem;\n z-index: var(--theme-z-index-sticky);\n width: auto;\n\n .menu {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 4rem;\n height: 100%;\n padding-block-end: 1rem;\n overflow: hidden;\n\n &.expanded {\n box-shadow: var(--theme-navigation--box-shadow);\n }\n\n background-color: var(--theme-nav--background);\n transition: width var(--animate-duration);\n\n .burger-menu {\n margin: 0.75rem 0 1rem 0.75rem;\n }\n }\n\n .menu-overlay {\n display: block;\n position: absolute;\n width: calc(100vw - 4rem);\n height: 100%;\n left: 4rem;\n z-index: -1;\n backdrop-filter: blur(1rem);\n background-color: var(--theme-sidebar-overlay-blur);\n transition: all $medium-time ease-out;\n }\n\n .menu-overlay-invisible {\n display: none;\n }\n\n .menu.expanded {\n width: 16rem;\n }\n\n .menu-overlay.expanded {\n width: calc(100vw - 16rem);\n left: 16rem;\n }\n\n #avatar-tab-placeholder {\n max-height: 3rem;\n }\n\n .avatar {\n margin-bottom: 2rem;\n }\n\n #cui-imprint {\n .cui-imprint-product-name {\n margin-bottom: $default-space;\n }\n\n .cui-imprint-product-description {\n margin-bottom: $x-large-space;\n }\n\n .cui-imprint-link-container {\n display: flex;\n align-items: center;\n }\n }\n\n .bottom-tab-divider {\n margin-top: auto;\n }\n}\n\nix-menu.mode-mobile {\n .menu:not(.expanded) {\n width: 0;\n }\n\n .menu {\n padding-top: 2rem;\n }\n\n .menu .burger-menu {\n display: none;\n }\n\n .menu-overlay {\n left: 0px;\n width: calc(100vw);\n }\n}\n\n// Remove text-decoration if a tag is used inside ix-menu\na[href]:has(> ix-menu-item) {\n text-decoration: 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 Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { hostContext, isBasicNavigationLayout } from '../utils/screen/context';\nimport { Mode } from '../utils/screen/mode';\nimport { screenMode } from '../utils/screen/service';\nimport { themeSwitcher } from '../utils/theme-switcher';\n\n@Component({\n tag: 'ix-menu',\n styleUrl: 'menu.scss',\n scoped: false,\n})\nexport class Menu {\n @Element() hostElement!: HTMLIxMenuElement;\n\n /**\n * Is settings tab visible\n */\n @Prop({ mutable: true }) showSettings = false;\n\n /**\n * Is about tab visible\n */\n @Prop({ mutable: true }) showAbout = false;\n\n /**\n * Show toggle between light and dark variant. Only if the provided theme have implemented both!\n */\n @Prop() enableToggleTheme = false;\n\n /**\n * Is settings tab is visible\n */\n @Prop() enableSettings = true;\n\n /**\n * Internal\n */\n @Prop() enableMapExpand = false;\n\n /**\n * Should only be set if you use ix-menu standalone\n */\n @Prop() applicationName: string;\n\n /**\n * Should only be set if you use ix-menu standalone\n */\n @Prop() applicationDescription = '';\n\n /**\n * Maximum number of menu items to show in case enough vertical space is available.\n * Extra menu items will be collapsed to 'show more' menu item.\n */\n @Prop() maxVisibleMenuItems = 9;\n\n /**\n */\n @Prop() i18nLegal = 'About & legal information';\n\n /**\n */\n @Prop() i18nSettings = 'Settings';\n\n /**\n */\n @Prop() i18nToggleTheme = 'Toggle theme';\n\n /**\n */\n @Prop() i18nExpand = ' Expand';\n\n /**\n */\n @Prop() i18nCollapse = 'Collapse';\n\n /**\n */\n @Prop() i18nMore = 'More…';\n\n /**\n * Expand menu\n */\n @Prop({ mutable: true, reflect: true }) expand = false;\n\n /**\n * Menu expanded\n */\n @Event() expandChange: EventEmitter<boolean>;\n\n /**\n * Map Sidebar expanded\n */\n @Event() mapExpandChange: EventEmitter<boolean>;\n @State() showMoreItems = false;\n @State() visibleMenuItems = 0;\n @State() countMoreNotifications = 0;\n @State() mapExpand = true;\n @State() activeTab: HTMLIxMenuItemElement;\n @State() isMoreTabEmpty = false;\n @State() mode: Mode = 'desktop';\n\n private readonly domObserver = new MutationObserver(\n this.onDomChange.bind(this)\n );\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.visibleMenuItems = this.getMaxTabCount();\n }\n\n private handleNodeMutation(node: Node) {\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n if (node.matches('.tab')) {\n this.onWindowResize();\n }\n\n if (node.matches('ix-menu-about') && this.menu.contains(node)) {\n this.appendAbout();\n }\n\n if (node.matches('ix-menu-settings') && this.menu.contains(node)) {\n this.appendSettings();\n }\n }\n\n private onDomChange(mutations: MutationRecord[]) {\n mutations.forEach((mutationRecord) => {\n mutationRecord.addedNodes.forEach(this.handleNodeMutation.bind(this));\n mutationRecord.removedNodes.forEach(this.handleNodeMutation.bind(this));\n });\n }\n\n // FBC IAM workaround #488\n private readonly isVisible = (elm: HTMLElement) => {\n return (\n elm.style.display !== 'none' &&\n elm.parentElement?.parentElement?.style.display !== 'none'\n );\n };\n\n get popoverArea() {\n return this.hostElement.querySelector('#popover-area');\n }\n\n get overlayContainer() {\n return this.hostElement.querySelector('.menu-overlay');\n }\n\n get invisibleContainer() {\n return this.hostElement.querySelector('.menu-overlay-invisible');\n }\n\n get menu() {\n return this.hostElement.querySelector('.menu');\n }\n\n get menuItems() {\n return Array.from(\n this.hostElement.querySelectorAll(\n 'ix-menu-item:not(.internal-tab):not(.home-tab):not(.bottom-tab):not([slot=\"bottom\"])'\n )\n ).filter(this.isVisible);\n }\n\n get menuBottomItems() {\n return Array.from(\n this.hostElement.querySelectorAll(\n 'ix-menu-item.bottom-tab:not(.internal-tab):not(.home-tab)'\n )\n ).filter(this.isVisible);\n }\n\n get homeTab() {\n return this.hostElement.querySelector('ix-menu-item.home-tab');\n }\n\n get moreItemsDropdown(): HTMLElement {\n return this.hostElement.querySelector('.internal-tab ix-dropdown');\n }\n\n get isMoreItemsDropdownEmpty(): boolean {\n return (\n this.hostElement.querySelectorAll('.internal-tab ix-dropdown .appended')\n .length === 0\n );\n }\n\n get moreItemsDropdownItems() {\n return this.hostElement.querySelectorAll(\n '.internal-tab ix-dropdown ix-menu-item'\n );\n }\n\n get activeMoreTabContainer() {\n return this.hostElement.querySelector('.active-more-tab');\n }\n\n get activeMoreTab() {\n return this.hostElement.querySelector('.active-more-tab ix-menu-item');\n }\n\n get aboutPopoverContainer(): HTMLElement {\n return this.hostElement.querySelector('.about-news');\n }\n\n get aboutPopover(): HTMLIxMenuAboutNewsElement {\n return document.querySelector('ix-menu-about-news');\n }\n\n get aboutTab(): HTMLElement {\n return this.hostElement.querySelector('#aboutAndLegal');\n }\n\n get about(): HTMLIxMenuAboutElement {\n return this.hostElement.querySelector('ix-menu-about');\n }\n\n get settings(): HTMLIxMenuSettingsElement {\n return this.hostElement.querySelector('ix-menu-settings');\n }\n\n get isSettingsEmpty(): boolean {\n return (\n Array.from(this.hostElement.querySelectorAll('ix-menu-settings-item'))\n .length === 0\n );\n }\n\n get avatarItem(): HTMLIxMenuAvatarElement {\n return this.hostElement.querySelector('ix-menu-avatar');\n }\n\n get tabsContainer(): HTMLDivElement {\n return this.hostElement.querySelector('#menu-tabs');\n }\n\n private showTab(index: number) {\n return index + 1 <= this.visibleMenuItems;\n }\n\n componentDidLoad() {\n this.settings?.addEventListener('close', () => {\n this.showSettings = false;\n this.settings.show = this.showSettings;\n });\n\n this.settings?.addEventListener('animationend', () => {\n if (!this.showSettings) {\n this.settings.classList.add('d-none');\n this.overlayContainer.classList.add('d-none');\n }\n });\n\n this.about?.addEventListener('close', () => {\n this.showAbout = false;\n this.about.show = this.showAbout;\n });\n\n this.about?.addEventListener('animationend', () => {\n if (!this.showAbout) {\n this.about.classList.add('d-none');\n this.overlayContainer.classList.add('d-none');\n }\n });\n\n this.overlayContainer.classList.add('d-none');\n\n this.onWindowResize();\n\n this.domObserver.observe(this.hostElement, {\n attributes: false,\n childList: true,\n subtree: true,\n });\n }\n\n componentWillLoad() {\n menuController.register(this.hostElement);\n const layout = hostContext('ix-basic-navigation', this.hostElement);\n if (isBasicNavigationLayout(layout) && layout.hideHeader === false) {\n screenMode.onChange.on((mode) => (this.mode = mode));\n this.mode = screenMode.mode;\n }\n }\n\n componentWillRender() {\n this.appendTabs();\n }\n\n componentDidRender() {\n this.visibleMenuItems = this.getMaxTabCount();\n this.appendFragments();\n }\n\n private appendFragments() {\n this.appendAvatar();\n this.appendAbout();\n this.appendSettings();\n this.appendAboutNewsPopover();\n\n // This lead to none infinite-loops and other bugs.\n this.isMoreTabEmpty = this.isMoreItemsDropdownEmpty;\n\n this.countMoreNotifications = this.getMoreNotificationsCount();\n }\n\n private resetActiveTab() {\n this.activeTab = null;\n }\n\n private isMenuItemActive(item: HTMLIxMenuItemElement) {\n return item.active || item.classList.contains('active');\n }\n\n private appendTabs() {\n this.activeTab = null;\n\n if (this.homeTab) {\n this.hostElement.querySelector('.tabs-top').appendChild(this.homeTab);\n this.homeTab.addEventListener('click', this.resetOverlay.bind(this));\n }\n\n this.menuItems.forEach((item: HTMLIxMenuItemElement, index) => {\n if (this.showTab(index)) {\n item.classList.remove('d-none');\n } else {\n item.classList.add('d-none');\n\n if (this.isMenuItemActive(item)) {\n this.activeTab = item;\n }\n }\n\n // TODO: Find better solution to handle home tab\n this.homeTab?.classList.remove('d-none');\n\n item.addEventListener('click', this.resetOverlay.bind(this));\n });\n }\n\n private appendAvatar() {\n const avatar = this.avatarItem;\n if (avatar) {\n avatar.style.marginBottom = '1rem';\n this.hostElement\n .querySelector('#avatar-tab-placeholder')\n ?.appendChild(avatar);\n }\n }\n\n private getAboutPopoverVerticalPosition() {\n const heightArrow = 12;\n const offsetArrow = 6;\n const rectAbout = this.aboutTab.getBoundingClientRect();\n const offset =\n window.innerHeight -\n (rectAbout.bottom - rectAbout.height / 2 + heightArrow / 2 + offsetArrow);\n return convertToRemString(offset);\n }\n\n private appendAboutNewsPopover() {\n if (!this.aboutPopover) {\n return;\n }\n\n this.aboutPopover.style.bottom = this.getAboutPopoverVerticalPosition();\n\n if (!this.popoverArea?.contains(this.aboutPopover)) {\n const showMore = () => {\n if (this.aboutPopover?.aboutItemLabel) {\n this.about.activeTabLabel = this.aboutPopover.aboutItemLabel;\n this.toggleAbout(true);\n }\n };\n\n this.aboutPopover.addEventListener('showMore', showMore.bind(this));\n document.body.appendChild(this.aboutPopover);\n }\n }\n\n private appendSettings() {\n if (this.settings) {\n this.overlayContainer.appendChild(this.settings);\n }\n }\n\n private appendAbout() {\n if (this.about) {\n this.overlayContainer.appendChild(this.about);\n }\n }\n\n private getMoreNotificationsCount(): number {\n const moreTabs = this.moreItemsDropdown?.querySelectorAll('.appended');\n let count = 0;\n moreTabs?.forEach((tab) => {\n if (tab['notifications']) {\n count += tab['notifications'];\n }\n });\n\n return count;\n }\n\n private getAvailableHeight() {\n const heightBurgerMenu = 60;\n const heightHome = 72;\n const heightAvatar = 56;\n const heightBottomTab = 36;\n\n let availableHeight = this.hostElement.clientHeight;\n\n availableHeight -= heightBurgerMenu;\n\n if (this.avatarItem) {\n availableHeight -= heightAvatar;\n }\n\n if (this.homeTab) {\n availableHeight -= heightHome;\n }\n\n if (this.showAbout) {\n availableHeight -= heightBottomTab;\n }\n\n if (this.showSettings) {\n availableHeight -= heightBottomTab;\n }\n\n if (this.menuBottomItems.length) {\n availableHeight -= this.menuBottomItems.length * heightBottomTab;\n }\n\n if (this.enableMapExpand) {\n availableHeight -= heightBottomTab;\n }\n\n // Subtract height of imprint and theme toggle tabs\n availableHeight -= 2 * heightBottomTab;\n\n // Subtract bottom margin of bottom tabs\n availableHeight -= 16;\n\n return availableHeight;\n }\n\n private getMaxTabCount() {\n const heightTab = 48;\n const availableHeight = this.getAvailableHeight();\n const visibleCount = Math.floor(availableHeight / heightTab);\n const menuItemCount = this.menuItems.length;\n\n if (menuItemCount === 1) {\n return 1;\n }\n\n if (menuItemCount < this.maxVisibleMenuItems) {\n if (visibleCount > menuItemCount) {\n return menuItemCount;\n }\n\n return Math.min(visibleCount - 2, menuItemCount);\n }\n\n if (menuItemCount === this.maxVisibleMenuItems) {\n if (visibleCount < this.maxVisibleMenuItems) {\n return visibleCount - 2;\n }\n\n if (visibleCount === this.maxVisibleMenuItems) {\n return this.maxVisibleMenuItems - 2;\n }\n\n return Math.min(visibleCount, this.maxVisibleMenuItems);\n }\n\n if (visibleCount === this.maxVisibleMenuItems) {\n return this.maxVisibleMenuItems - 2;\n }\n if (visibleCount >= this.maxVisibleMenuItems) {\n return this.maxVisibleMenuItems - 1;\n }\n\n return Math.min(visibleCount - 2, this.maxVisibleMenuItems);\n }\n\n /**\n * Toggle map sidebar expand\n * @param show\n */\n @Method()\n async toggleMapExpand(show?: boolean) {\n this.skipAllOverlayAnimations();\n\n if (show !== undefined) {\n this.mapExpand = show;\n } else {\n this.mapExpand = !this.mapExpand;\n }\n }\n\n private skipAllOverlayAnimations() {\n if (this.about) {\n this.skipOverlayAnimationFor(this.about);\n }\n if (this.settings) {\n this.skipOverlayAnimationFor(this.settings);\n }\n }\n\n private skipOverlayAnimationFor(element: HTMLElement) {\n const animateClass = 'animate__animated';\n\n element?.classList.remove(animateClass);\n\n setTimeout(() => {\n element?.classList.add(animateClass);\n }, 300);\n }\n\n /**\n * Toggle menu\n * @param show\n */\n @Method()\n async toggleMenu(show?: boolean) {\n this.skipAllOverlayAnimations();\n\n if (show !== undefined) {\n this.expand = show;\n } else {\n this.expand = !this.expand;\n }\n\n if (this.aboutPopover) {\n this.aboutPopover.expanded = this.expand;\n }\n\n this.expandChange.emit(this.expand);\n }\n\n /**\n * Toggle Settings tabs\n * @param show\n */\n @Method()\n async toggleSettings(show: boolean) {\n if (this.showAbout) {\n this.skipAllOverlayAnimations();\n } else {\n this.skipOverlayAnimationFor(this.about);\n }\n\n this.about?.classList.add('d-none');\n\n this.resetOverlay();\n this.showSettings = show;\n this.settings.show = this.showSettings;\n this.settings.classList.remove('d-none');\n this.overlayContainer.classList.remove('d-none');\n }\n\n /**\n * Toggle About tabs\n * @param show\n */\n @Method()\n async toggleAbout(show: boolean) {\n if (this.showSettings) {\n this.skipAllOverlayAnimations();\n } else {\n this.skipOverlayAnimationFor(this.settings);\n }\n\n this.settings?.classList.add('d-none');\n\n this.resetOverlay();\n this.showAbout = show;\n this.about.show = this.showAbout;\n this.about.classList.remove('d-none');\n this.overlayContainer.classList.remove('d-none');\n }\n\n private resetOverlay() {\n this.showSettings = false;\n this.showAbout = false;\n\n if (this.settings) {\n this.settings.show = this.showSettings;\n }\n\n if (this.about) {\n this.about.show = this.showAbout;\n }\n\n this.toggleMenu(false);\n }\n\n private showMoreButton() {\n const menuItemCount = this.menuItems.length;\n\n if (menuItemCount === 1) {\n return false;\n }\n\n if (menuItemCount < this.maxVisibleMenuItems) {\n return this.visibleMenuItems < menuItemCount;\n }\n\n if (menuItemCount > this.maxVisibleMenuItems) {\n return this.visibleMenuItems < this.maxVisibleMenuItems;\n }\n\n return this.visibleMenuItems <= this.maxVisibleMenuItems - 2;\n }\n\n private getCollapseText() {\n return this.mapExpand ? this.i18nCollapse : this.i18nExpand;\n }\n\n private getCollapseIcon() {\n return this.mapExpand ? 'double-chevron-left' : 'double-chevron-right';\n }\n\n private isMenuItemClicked(event: MouseEvent) {\n const path = event.composedPath();\n const menuItems = (path as HTMLElement[])\n .filter((element) => element.id !== 'ix-menu-more-tab')\n .filter((element) => {\n return element.tagName === 'IX-MENU-ITEM';\n });\n\n return menuItems.some((menu) => this.tabsContainer.contains(menu));\n }\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expand,\n [`mode-${this.mode}`]: true,\n }}\n >\n <div\n class={{\n menu: true,\n expanded: this.expand,\n }}\n onClick={() => {\n this.resetActiveTab();\n }}\n >\n <ix-burger-menu\n onClick={async () => this.toggleMenu()}\n expanded={this.expand}\n class={{\n 'burger-menu': true,\n }}\n ></ix-burger-menu>\n <div id=\"avatar-tab-placeholder\"></div>\n <div\n id=\"menu-tabs\"\n style={{\n display: 'contents',\n }}\n onClick={(event) => {\n if (this.isMenuItemClicked(event)) {\n this.resetOverlay();\n }\n }}\n >\n <div class=\"tabs-top\"></div>\n <slot></slot>\n <div class=\"active-more-tab\">\n {this.activeTab ? (\n <ix-menu-item\n class=\"internal-tab\"\n active={true}\n tabIcon={this.activeTab.tabIcon}\n >\n {this.activeTab.innerText}\n </ix-menu-item>\n ) : null}\n </div>\n <ix-menu-item\n id=\"ix-menu-more-tab\"\n tabIcon=\"more-menu\"\n class={{\n 'internal-tab': true,\n }}\n style={{\n display: this.showMoreButton() ? 'block' : 'none',\n }}\n title=\"Show more\"\n notifications={this.countMoreNotifications}\n >\n {this.i18nMore}\n <ix-dropdown\n trigger={'ix-menu-more-tab'}\n positioningStrategy={'fixed'}\n placement={'right-start'}\n >\n {this.menuItems\n .filter(\n (elm: HTMLIxMenuItemElement, index) =>\n !this.showTab(index) &&\n !this.isMenuItemActive(elm) &&\n this.isVisible(elm)\n )\n .map((e: HTMLIxMenuItemElement) => {\n return (\n <ix-menu-item\n tabIcon={e.tabIcon}\n active={e.active}\n class=\"internal-tab appended\"\n onClick={() => {\n this.resetOverlay();\n e.dispatchEvent(new CustomEvent('click'));\n }}\n >\n {e.innerText}\n </ix-menu-item>\n );\n })}\n </ix-dropdown>\n </ix-menu-item>\n </div>\n <div class=\"bottom-tab-divider\"></div>\n {this.enableSettings && !this.isSettingsEmpty ? (\n <ix-menu-item\n id=\"settings\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showSettings,\n }}\n tabIcon=\"cogwheel\"\n onClick={async () => this.toggleSettings(!this.showSettings)}\n >\n {this.i18nSettings}\n </ix-menu-item>\n ) : null}\n <slot name=\"bottom\"></slot>\n <div id=\"popover-area\"></div>\n {this.about ? (\n <ix-menu-item\n id=\"aboutAndLegal\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showAbout,\n }}\n tabIcon=\"info\"\n onClick={async () => this.toggleAbout(!this.showAbout)}\n >\n {this.i18nLegal}\n </ix-menu-item>\n ) : null}\n {this.enableToggleTheme ? (\n <ix-menu-item\n id=\"toggleTheme\"\n onClick={() => themeSwitcher.toggleMode()}\n class=\"internal-tab bottom-tab\"\n tabIcon=\"bulb\"\n >\n {this.i18nToggleTheme}\n </ix-menu-item>\n ) : null}\n {this.enableMapExpand ? (\n <ix-menu-item\n id=\"menu-collapse\"\n onClick={() => this.mapExpandChange.emit(this.mapExpand)}\n class=\"internal-tab bottom-tab\"\n tabIcon={`${this.getCollapseIcon()}`}\n >\n {this.getCollapseText()}\n </ix-menu-item>\n ) : null}\n </div>\n <div\n class={{\n 'menu-overlay': true,\n expanded: this.expand,\n 'd-block': this.showAbout || this.showSettings,\n }}\n style={{\n opacity: this.showAbout || this.showSettings ? '1' : '0',\n }}\n ></div>\n <div class=\"menu-overlay-invisible\"></div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'fonts';\n\n:host {\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: $medium-space $default-space $default-space $x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .about-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: $x-large-space;\n margin-bottom: $small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 0;\n }\n }\n\n .about-tabs {\n margin-bottom: $large-space;\n }\n\n ix-menu-about-item {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-about',\n styleUrl: 'menu-about.scss',\n scoped: true,\n})\nexport class MenuAbout {\n /**\n * Active tab\n */\n @Prop({ mutable: true }) activeTabLabel: string;\n\n /**\n * Label of first tab\n */\n @Prop() label = 'About & legal information';\n\n /**\n * Internal\n */\n @Prop() show = false;\n\n @Element() el!: HTMLIxMenuAboutElement;\n\n /**\n * About and Legal closed\n */\n @Event() close: EventEmitter<MouseEvent>;\n\n @State() labels: string[] = [];\n\n get aboutItems(): HTMLIxMenuAboutItemElement[] {\n return Array.from(this.el.querySelectorAll('ix-menu-about-item'));\n }\n\n private setTab(label: string) {\n this.activeTabLabel = label;\n this.aboutItems.forEach((i) => {\n i.style.display = 'none';\n if (i.label === this.activeTabLabel) {\n i.style.display = 'block';\n }\n });\n }\n\n componentWillLoad() {\n if (this.aboutItems.length) {\n this.setTab(this.activeTabLabel || this.aboutItems[0].label);\n }\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n componentWillRender() {\n this.updateLabels();\n }\n\n private updateLabels() {\n this.labels = this.aboutItems.map((i) => i.label);\n }\n\n @Watch('activeTabLabel')\n watchActiveTabLabel(value: string) {\n // Wait a DOM render cycle to get changed labels\n setTimeout(() => this.setTab(value));\n }\n\n private getSelectedTabIndex(label: string) {\n const selectedItem = this.aboutItems.find((item) => item.label === label);\n return this.aboutItems.indexOf(selectedItem);\n }\n\n private getTabItems() {\n return this.aboutItems.map(({ label }) => {\n return (\n <ix-tab-item\n class={{\n active: label === this.activeTabLabel,\n }}\n onClick={() => this.setTab(label)}\n >\n {label}\n </ix-tab-item>\n );\n });\n }\n\n render() {\n return (\n <Host\n class={{\n animate__animated: true,\n animate__fadeInLeft: this.show,\n animate__fadeOutLeft: !this.show,\n }}\n >\n <div class=\"about-header\">\n <h2 class=\"text-h2\">{this.label}</h2>\n <ix-icon-button\n ghost\n size=\"24\"\n icon=\"close\"\n onClick={(e) => this.close.emit(e)}\n ></ix-icon-button>\n </div>\n <ix-tabs\n selected={this.getSelectedTabIndex(this.activeTabLabel)}\n class=\"about-tabs\"\n >\n {this.getTabItems()}\n </ix-tabs>\n <div class=\"about-items\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\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, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-about-item',\n styleUrl: 'menu-about-item.css',\n scoped: true,\n})\nexport class MenuAboutItem {\n /**\n * About Item label\n */\n @Prop({ reflect: true }) label: string;\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadows';\n\n:host {\n --margin: 0.5rem;\n\n $left: 4rem;\n display: block;\n position: fixed;\n width: 20rem;\n height: auto;\n background-color: var(--theme-color-1);\n border: var(--theme-weak-bdr-1);\n border-radius: $default-border-radius;\n padding: 1rem;\n left: $left;\n z-index: 10000;\n transition: left var(--animate-duration);\n\n margin-left: var(--margin) !important;\n\n @include box-shadow(4);\n\n &.expanded {\n left: calc(#{$left} + 12rem);\n }\n\n &.show {\n display: none;\n }\n\n .banner-container {\n position: absolute;\n top: 0.0625rem;\n left: $default-space;\n\n svg {\n position: absolute;\n height: 3.625rem;\n width: 3rem;\n\n polygon {\n fill: var(--theme-color-primary);\n }\n }\n\n ix-icon {\n margin: $small-space;\n position: absolute;\n z-index: 1;\n }\n }\n\n .cui-popover-news-header {\n margin-bottom: 2rem;\n margin-left: 4rem;\n margin-top: -$tiny-space;\n }\n\n .popover-body {\n color: var(--theme-color-std-text);\n }\n\n .cui-popover-news-footer {\n display: flex;\n justify-content: flex-end;\n margin-top: 1rem;\n }\n\n ix-icon-button {\n top: $small-space;\n right: $small-space;\n position: absolute;\n }\n\n #arrow {\n position: absolute;\n width: 0.5rem;\n height: 0.5rem;\n background-color: var(--theme-color-1);\n border-left: var(--theme-weak-bdr-1);\n border-bottom: var(--theme-weak-bdr-1);\n transform: translateX(calc(var(--margin) * -1 - 0.8rem)) rotateZ(45deg);\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, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-about-news',\n styleUrl: 'menu-about-news.scss',\n scoped: true,\n})\nexport class MenuAboutNews {\n /**\n * Show about news\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Title of the about news\n */\n @Prop() label: string;\n\n /**\n *\n */\n @Prop() i18nShowMore = 'Show more';\n\n /**\n * Subtitle of the about news\n */\n @Prop() aboutItemLabel: string;\n\n /**\n * Bottom offset\n */\n @Prop() offsetBottom = 0;\n\n /**\n * Show More button is pressed\n */\n @Event() showMore: EventEmitter<MouseEvent>;\n\n /**\n * Popover closed\n */\n @Event() closePopover: EventEmitter<void>;\n\n /**\n * Internal\n */\n @Prop() expanded = false;\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expanded,\n show: !this.show,\n }}\n >\n <div class=\"banner-container\">\n <ix-icon\n color=\"color-inv-contrast-text\"\n name=\"shout\"\n size=\"32\"\n ></ix-icon>\n <svg viewBox=\"0 0 48 56\" xmlns=\"http://www.w3.org/2000/svg\">\n <polygon points=\"0 0 48 0 48 56 24 48 0 56\" />\n </svg>\n </div>\n\n <div class=\"cui-popover-news-header\">\n <span class=\"text-l-title\">{this.label}</span>\n </div>\n\n <ix-icon-button\n size=\"24\"\n icon=\"close-small\"\n ghost\n onClick={() => {\n this.show = false;\n this.closePopover.emit();\n }}\n ></ix-icon-button>\n <slot></slot>\n {this.aboutItemLabel ? (\n <div class=\"cui-popover-news-footer\">\n <button\n class=\"btn btn-primary\"\n onClick={(e) => {\n this.show = false;\n this.showMore.emit(e);\n }}\n >\n {this.i18nShowMore}\n </button>\n </div>\n ) : null}\n <div id=\"arrow\"></div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import 'mixins/hover';\n\n:host {\n display: block;\n position: relative;\n margin-bottom: 0.5rem;\n\n .avatar {\n display: flex;\n align-items: center;\n height: 2.5rem;\n max-height: 2.5rem;\n padding-left: 0.25rem;\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n transition: 0.15s;\n\n > .avatar-image {\n height: 2rem;\n width: 2rem;\n min-height: 2rem;\n min-width: 2rem;\n border-radius: 100px;\n }\n\n > .avatar-initials {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2rem;\n width: 2rem;\n min-height: 2rem;\n min-width: 2rem;\n border-radius: 100px;\n background-color: var(--theme-color-component-3);\n }\n\n #avatar-path-background {\n fill: var(--theme-avatar--background);\n }\n\n #avatar-path-person {\n fill: var(--theme-color-4);\n }\n\n .avatar-name {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n margin-left: $default-space;\n line-height: 1.14;\n\n .text-default-single {\n @include ellipsis;\n }\n }\n\n border-radius: 1.25rem;\n\n @include hover {\n background-color: var(--theme-avatar-btn--background--hover);\n color: var(--theme-avatar-btn--color--hover);\n }\n\n @include active {\n background-color: var(--theme-avatar-btn--background--active);\n color: var(--theme-avatar-btn--color--active);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction DefaultAvatar(props: { initials?: string }) {\n const { initials } = props;\n\n if (initials) {\n return <div class={'avatar-initials'}>{initials}</div>;\n }\n\n return (\n <svg\n class={'avatar-image'}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n >\n <g fill=\"none\" fill-rule=\"evenodd\">\n <path\n id=\"avatar-path-background\"\n d=\"M16 0C7.163 0 0 7.163 0 16s7.163 16 16 16 16-7.163\n 16-16c0-4.243-1.686-8.313-4.686-11.314C24.314 1.686 20.244 0 16 0z\"\n />\n <path\n id=\"avatar-path-person\"\n d=\"M17.897 17.91c3.8-.018 7.358 1.875 9.485 5.046-2.417 3.999-6.734 6.434-11.382\n 6.42-4.648.014-8.965-2.421-11.382-6.42 2.127-3.171 5.685-5.064\n 9.485-5.045h3.794zM15.821 2.129c3.682 0 6.667 2.984 6.667 6.666 0 3.682-2.985\n 6.667-6.667 6.667s-6.667-2.985-6.667-6.667 2.985-6.666 6.667-6.666z\"\n />\n </g>\n </svg>\n );\n}\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-avatar',\n styleUrl: 'menu-avatar.scss',\n scoped: true,\n})\nexport class MenuAvatar {\n @Element() hostElement: HTMLIxMenuAvatarElement;\n\n /**\n * First line of text\n */\n @Prop() top: string;\n\n /**\n * Second line of text\n */\n @Prop() bottom: string;\n\n /**\n * Display a avatar image\n *\n * @since 1.4.0\n */\n @Prop() image: string;\n\n /**\n * Display the initials of the user. Will be overwritten by image\n *\n * @since 1.4.0\n */\n @Prop() initials: string;\n\n /**\n * Use for translation\n */\n @Prop() i18nLogout = 'Logout';\n\n /**\n * Logout click\n */\n @Event() logoutClick: EventEmitter;\n\n private avatarElementId = 'ix-menu-avatar-id';\n\n render() {\n return (\n <Host>\n <li\n class=\"nav-item top-item avatar no-hover\"\n title={this.top}\n id={this.avatarElementId}\n >\n {this.image ? (\n <img src={this.image} class=\"avatar-image\"></img>\n ) : (\n <DefaultAvatar initials={this.initials} />\n )}\n <div class=\"avatar-name\">\n <span class=\"text-default-single\" title={this.top}>\n {this.top}\n </span>\n <span class=\"text-default-single\" title={this.bottom}>\n {this.bottom}\n </span>\n </div>\n </li>\n <ix-dropdown\n trigger={this.avatarElementId}\n placement={'right-start'}\n offset={{\n mainAxis: 12,\n }}\n >\n <slot></slot>\n <ix-menu-avatar-item\n label={this.i18nLogout}\n icon=\"log-out\"\n onClick={(e) => {\n this.logoutClick.emit(e);\n }}\n ></ix-menu-avatar-item>\n </ix-dropdown>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-avatar-item',\n styleUrl: 'menu-avatar-item.css',\n scoped: true,\n})\nexport class MenuAvatarItem {\n /**\n * Avatar dropdown icon\n */\n @Prop() icon: string;\n\n /**\n * Avatar dropdown label\n */\n @Prop() label: string;\n\n /**\n * Avatar dropdown item clicked\n */\n @Event() itemClick: EventEmitter<MouseEvent>;\n\n @Element() hostElement: HTMLIxMenuAvatarItemElement;\n\n render() {\n return (\n <ix-dropdown-item\n icon={this.icon}\n label={this.label}\n onClick={(e) => this.itemClick.emit(e)}\n ></ix-dropdown-item>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n position: relative;\n display: block;\n cursor: pointer;\n @include ghost-hover-pressed;\n\n .tab {\n display: flex;\n position: relative;\n align-items: center;\n height: 3rem;\n z-index: 500;\n padding-left: 1.25rem;\n }\n\n i.glyph {\n color: var(--theme-nav-item-primary-icon--color);\n position: relative;\n }\n\n .tab:focus-visible {\n outline: none;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n .tab:not(:last-child) {\n margin-bottom: $small-space;\n }\n\n .notification {\n display: inline-flex;\n position: absolute;\n top: -$small-space;\n right: -50%;\n\n .pill {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1rem;\n min-width: 1rem;\n position: relative;\n border-radius: 6.25rem;\n background-color: var(--theme-color-primary);\n border-radius: 6.25rem;\n font-size: 0.75rem;\n font-weight: bold;\n line-height: 1;\n font-family: Siemens Sans, Arial, sans-serif;\n color: var(--theme-color-primary--contrast);\n padding: $tiny-space;\n }\n }\n\n .tab-text {\n @include ellipsis;\n color: var(--theme-nav-item-primary--color);\n margin: 0 1.25rem;\n user-select: none;\n }\n\n &.active,\n &.selected {\n .tab {\n background-color: var(--theme-nav-item-primary--background--selected);\n }\n\n .tab::before {\n content: '';\n background-color: var(--theme-nav-item-primary--border-color--selected);\n height: 3rem;\n width: 0.25rem;\n left: 0;\n position: absolute;\n }\n\n .tab > .glyph {\n color: var(--theme-nav-item-primary-icon--color--selected);\n }\n }\n\n &.disabled {\n color: var(--theme-color-weak-text);\n pointer-events: none;\n cursor: default;\n\n .tab > .glyph {\n color: var(--theme-color-weak-text);\n }\n\n .tab-text {\n color: var(--theme-color-weak-text);\n }\n }\n\n &.home-tab,\n &[slot='home'] {\n margin-bottom: 1.5rem;\n }\n\n &.bottom-tab,\n &[slot='bottom'] {\n $bottom-height: 2.25rem;\n\n height: $bottom-height;\n\n .tab {\n height: $bottom-height;\n }\n\n .tab::before {\n height: $bottom-height;\n background-color: transparent;\n }\n\n &.active,\n &.selected {\n .tab {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n\n &:hover {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n\n &:active {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n }\n }\n}\n","/*\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, State } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-item',\n styleUrl: 'menu-item.scss',\n scoped: true,\n})\nexport class MenuItem {\n /**\n * Move the Tab to a top position.\n */\n @Prop() home = false;\n\n /**\n * Caution: this is no longer working. Please use slot=\"bottom\" instead.\n *\n * Place tab on bottom\n *\n * @deprecated Will be removed in 2.0.0. Replaced by slot based implementation\n */\n @Prop() bottom = false;\n\n /**\n * Icon name from @siemens/ix-icons\n */\n @Prop() tabIcon = 'document';\n\n /**\n * Show notification cound on tab\n */\n @Prop() notifications: number;\n\n /**\n * State to display active\n */\n @Prop() active: boolean;\n\n /**\n * Disable tab and remove event handlers\n */\n @Prop() disabled: boolean;\n\n @Element() hostElement: HTMLIxMenuItemElement;\n\n @State() title: string;\n\n get tabLabel() {\n return this.hostElement.querySelector('.tab-text');\n }\n\n componentDidRender() {\n const spanElement = this.tabLabel;\n const newTitle = spanElement.innerHTML.replace('&amp;', '&');\n if (this.title !== newTitle) {\n this.title = newTitle;\n }\n }\n\n render() {\n return (\n <Host\n class={{\n disabled: this.disabled,\n 'home-tab': this.home,\n 'bottom-tab': this.bottom,\n active: this.active,\n }}\n >\n <li class=\"tab\" title={this.title}>\n <i class={`glyph glyph-${this.tabIcon}`}>\n <div class=\"notification\">\n {this.notifications ? (\n <div class=\"pill\">{this.notifications}</div>\n ) : null}\n </div>\n </i>\n <span class=\"tab-text text-default\">\n <slot></slot>\n </span>\n </li>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'fonts';\n\n:host {\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: $medium-space $default-space $default-space $x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .settings-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: $x-large-space;\n margin-bottom: $small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 0;\n }\n }\n\n .settings-tabs {\n margin-bottom: $large-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-settings',\n styleUrl: 'menu-settings.scss',\n scoped: true,\n})\nexport class MenuAbout {\n /**\n * active tab\n */\n @Prop({ mutable: true }) activeTabLabel: string;\n\n /**\n * Label\n */\n @Prop() label = 'Settings';\n\n /**\n * Internal\n */\n @Prop() show = false;\n\n @Element() el!: HTMLIxMenuSettingsElement;\n\n /**\n * Popover closed\n */\n @Event() close: EventEmitter<MouseEvent>;\n\n get settingsItems(): HTMLIxMenuSettingsItemElement[] {\n return Array.from(this.el.querySelectorAll('ix-menu-settings-item'));\n }\n\n private setTab(label: string) {\n this.activeTabLabel = label;\n this.settingsItems.forEach((i) => {\n i.style.display = 'none';\n\n if (i.label === this.activeTabLabel) {\n i.style.display = 'block';\n }\n });\n }\n\n componentWillLoad() {\n if (this.settingsItems.length) {\n this.setTab(this.activeTabLabel || this.settingsItems[0].label);\n }\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n @Watch('activeTabLabel')\n watchActiveTabLabel(value: string) {\n this.setTab(value);\n }\n\n private getTabItems() {\n return this.settingsItems.map(({ label }) => {\n return (\n <ix-tab-item\n class={{\n active: label === this.activeTabLabel,\n }}\n onClick={() => this.setTab(label)}\n >\n {label}\n </ix-tab-item>\n );\n });\n }\n\n render() {\n return (\n <Host\n class={{\n animate__animated: true,\n animate__fadeInLeft: this.show,\n animate__fadeOutLeft: !this.show,\n }}\n >\n <div class=\"settings-header\">\n <h2 class=\"text-h2\">{this.label}</h2>\n <ix-icon-button\n ghost\n size=\"24\"\n icon=\"close\"\n onClick={(e) => this.close.emit(e)}\n ></ix-icon-button>\n </div>\n <ix-tabs>{this.getTabItems()}</ix-tabs>\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\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, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-menu-settings-item',\n styleUrl: 'menu-settings-item.css',\n scoped: true,\n})\nexport class MenuSettingsItem {\n /**\n * Label\n */\n @Prop() label: string;\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}