@siemens/ix 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (588) hide show
  1. package/dist/cjs/icon-c65f0901.js +106 -0
  2. package/dist/cjs/icon-c65f0901.js.map +1 -0
  3. package/dist/cjs/{index-931d1fb5.js → index-c978628a.js} +53 -5
  4. package/dist/cjs/index-c978628a.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +2 -0
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/ix-action-card.cjs.entry.js +28 -0
  8. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ix-animated-tab_2.cjs.entry.js +1 -1
  10. package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
  11. package/dist/cjs/ix-basic-navigation.cjs.entry.js +2 -2
  12. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ix-blind.cjs.entry.js +4 -7
  14. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +1 -1
  16. package/dist/cjs/ix-burger-menu.cjs.entry.js +1 -1
  17. package/dist/cjs/ix-button.cjs.entry.js +2 -2
  18. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +74 -0
  20. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -0
  21. package/dist/cjs/ix-card-list.cjs.entry.js +164 -0
  22. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -0
  23. package/dist/cjs/{ix-typography.cjs.entry.js → ix-card_3.cjs.entry.js} +37 -3
  24. package/dist/cjs/ix-card_3.cjs.entry.js.map +1 -0
  25. package/dist/cjs/ix-category-filter.cjs.entry.js +1 -1
  26. package/dist/cjs/ix-chip.cjs.entry.js +1 -1
  27. package/dist/cjs/ix-content-header.cjs.entry.js +26 -0
  28. package/dist/cjs/ix-content-header.cjs.entry.js.map +1 -0
  29. package/dist/cjs/ix-counter-pill.cjs.entry.js +1 -1
  30. package/dist/cjs/ix-css-grid-item.cjs.entry.js +24 -0
  31. package/dist/cjs/ix-css-grid-item.cjs.entry.js.map +1 -0
  32. package/dist/cjs/ix-css-grid.cjs.entry.js +96 -0
  33. package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -0
  34. package/dist/cjs/ix-date-picker_2.cjs.entry.js +103 -19
  35. package/dist/cjs/ix-date-picker_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
  37. package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
  38. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  39. package/dist/cjs/ix-drawer.cjs.entry.js +4 -4
  40. package/dist/cjs/ix-drawer.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ix-dropdown-button.cjs.entry.js +1 -1
  42. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  43. package/dist/cjs/ix-dropdown_2.cjs.entry.js +1 -1
  44. package/dist/cjs/ix-empty-state.cjs.entry.js +27 -0
  45. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -0
  46. package/dist/cjs/ix-event-list_2.cjs.entry.js +1 -1
  47. package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -2
  48. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ix-filter-chip.cjs.entry.js +1 -1
  50. package/dist/cjs/ix-flip-tile_2.cjs.entry.js +1 -1
  51. package/dist/cjs/ix-group-context-menu.cjs.entry.js +1 -1
  52. package/dist/cjs/ix-group_3.cjs.entry.js +1 -1
  53. package/dist/cjs/ix-icon-button.cjs.entry.js +11 -4
  54. package/dist/cjs/ix-icon-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ix-icon.cjs.entry.js +3 -29
  56. package/dist/cjs/ix-icon.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ix-index-button.cjs.entry.js +1 -1
  58. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  59. package/dist/cjs/ix-key-value-list.cjs.entry.js +22 -0
  60. package/dist/cjs/ix-key-value-list.cjs.entry.js.map +1 -0
  61. package/dist/cjs/ix-key-value.cjs.entry.js +28 -0
  62. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -0
  63. package/dist/cjs/ix-kpi.cjs.entry.js +2 -2
  64. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ix-map-navigation_2.cjs.entry.js +11 -5
  66. package/dist/cjs/ix-map-navigation_2.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ix-menu_9.cjs.entry.js +24 -15
  68. package/dist/cjs/ix-menu_9.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
  70. package/dist/cjs/ix-message-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  72. package/dist/cjs/ix-modal_2.cjs.entry.js +2 -2
  73. package/dist/cjs/ix-modal_2.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ix-pagination.cjs.entry.js +1 -1
  75. package/dist/cjs/ix-pill.cjs.entry.js +1 -1
  76. package/dist/cjs/ix-push-card.cjs.entry.js +27 -0
  77. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -0
  78. package/dist/cjs/ix-select_2.cjs.entry.js +3 -3
  79. package/dist/cjs/ix-select_2.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ix-spinner.cjs.entry.js +2 -2
  81. package/dist/cjs/ix-spinner.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ix-split-button_2.cjs.entry.js +1 -1
  83. package/dist/cjs/ix-tab-item.cjs.entry.js +1 -1
  84. package/dist/cjs/ix-tabs.cjs.entry.js +1 -1
  85. package/dist/cjs/ix-tile.cjs.entry.js +1 -1
  86. package/dist/cjs/ix-toast_2.cjs.entry.js +8 -26
  87. package/dist/cjs/ix-toast_2.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
  89. package/dist/cjs/ix-tooltip.cjs.entry.js +1 -1
  90. package/dist/cjs/ix-tree_2.cjs.entry.js +1 -1
  91. package/dist/cjs/ix-upload.cjs.entry.js +1 -1
  92. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +1 -1
  93. package/dist/cjs/ix-workflow-step_2.cjs.entry.js +1 -1
  94. package/dist/cjs/loader.cjs.js +2 -2
  95. package/dist/cjs/my-component.cjs.entry.js +2 -2
  96. package/dist/cjs/my-component.cjs.entry.js.map +1 -1
  97. package/dist/cjs/siemens-ix.cjs.js +2 -2
  98. package/dist/collection/collection-manifest.json +32 -3
  99. package/dist/collection/components/action-card/action-card.css +161 -0
  100. package/dist/collection/components/action-card/action-card.js +136 -0
  101. package/dist/collection/components/action-card/action-card.js.map +1 -0
  102. package/dist/collection/components/basic-navigation/basic-navigation.css +1 -1
  103. package/dist/collection/components/blind/blind.css +5 -5
  104. package/dist/collection/components/blind/blind.js +3 -6
  105. package/dist/collection/components/blind/blind.js.map +1 -1
  106. package/dist/collection/components/button/button.css +359 -0
  107. package/dist/collection/components/button/button.js +2 -2
  108. package/dist/collection/components/button/button.js.map +1 -1
  109. package/dist/collection/components/card/card.css +92 -0
  110. package/dist/collection/components/card/card.js +53 -0
  111. package/dist/collection/components/card/card.js.map +1 -0
  112. package/dist/collection/components/card-accordion/card-accordion.css +121 -0
  113. package/dist/collection/components/card-accordion/card-accordion.js +94 -0
  114. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -0
  115. package/dist/collection/components/card-content/card-content.css +29 -0
  116. package/dist/collection/components/card-content/card-content.js +22 -0
  117. package/dist/collection/components/card-content/card-content.js.map +1 -0
  118. package/dist/collection/components/card-list/card-list.css +127 -0
  119. package/dist/collection/components/card-list/card-list.js +387 -0
  120. package/dist/collection/components/card-list/card-list.js.map +1 -0
  121. package/dist/collection/components/card-title/card-title.css +30 -0
  122. package/dist/collection/components/card-title/card-title.js +24 -0
  123. package/dist/collection/components/card-title/card-title.js.map +1 -0
  124. package/dist/collection/components/content-header/content-header.css +28 -0
  125. package/dist/collection/components/content-header/content-header.js +131 -0
  126. package/dist/collection/components/content-header/content-header.js.map +1 -0
  127. package/dist/collection/components/drawer/drawer.css +20 -12
  128. package/dist/collection/components/drawer/drawer.js +5 -5
  129. package/dist/collection/components/drawer/drawer.js.map +1 -1
  130. package/dist/collection/components/empty-state/empty-state.css +100 -0
  131. package/dist/collection/components/empty-state/empty-state.js +150 -0
  132. package/dist/collection/components/empty-state/empty-state.js.map +1 -0
  133. package/dist/collection/components/expanding-search/expanding-search.css +8 -0
  134. package/dist/collection/components/expanding-search/expanding-search.js +24 -0
  135. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  136. package/dist/collection/components/icon-button/icon-button.css +362 -0
  137. package/dist/collection/components/icon-button/icon-button.js +10 -3
  138. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  139. package/dist/collection/components/key-value/key-value.css +56 -0
  140. package/dist/collection/components/key-value/key-value.js +119 -0
  141. package/dist/collection/components/key-value/key-value.js.map +1 -0
  142. package/dist/collection/components/key-value-list/key-value-list.css +7 -0
  143. package/dist/collection/components/key-value-list/key-value-list.js +54 -0
  144. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -0
  145. package/dist/collection/components/kpi/kpi.css +25 -11
  146. package/dist/collection/components/kpi/kpi.js +1 -1
  147. package/dist/collection/components/kpi/kpi.js.map +1 -1
  148. package/dist/collection/components/layout/css-grid/builder.js +20 -0
  149. package/dist/collection/components/layout/css-grid/builder.js.map +1 -0
  150. package/dist/collection/components/layout/css-grid/css-grid-item.css +16 -0
  151. package/dist/collection/components/layout/css-grid/css-grid-item.js +56 -0
  152. package/dist/collection/components/layout/css-grid/css-grid-item.js.map +1 -0
  153. package/dist/collection/components/{icon/icon.css → layout/css-grid/css-grid.css} +5 -23
  154. package/dist/collection/components/layout/css-grid/css-grid.js +123 -0
  155. package/dist/collection/components/layout/css-grid/css-grid.js.map +1 -0
  156. package/dist/collection/components/map-navigation/map-navigation.css +1 -1
  157. package/dist/collection/components/map-navigation/map-navigation.js +37 -3
  158. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  159. package/dist/collection/components/menu/menu.css +4 -4
  160. package/dist/collection/components/menu/menu.js +1 -1
  161. package/dist/collection/components/menu/menu.js.map +1 -1
  162. package/dist/collection/components/menu-about-news/menu-about-news.css +2 -2
  163. package/dist/collection/components/menu-avatar/menu-avatar.css +2 -2
  164. package/dist/collection/components/menu-avatar/menu-avatar.js +1 -1
  165. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  166. package/dist/collection/components/menu-item/menu-item.css +47 -23
  167. package/dist/collection/components/menu-item/menu-item.js +19 -10
  168. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  169. package/dist/collection/components/message-bar/message-bar.css +19 -11
  170. package/dist/collection/components/message-bar/message-bar.js +1 -1
  171. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  172. package/dist/collection/components/modal/modal.css +1 -0
  173. package/dist/collection/components/my-component/my-component.css +1 -0
  174. package/dist/collection/components/my-component/my-component.js.map +1 -1
  175. package/dist/collection/components/push-card/push-card.css +74 -0
  176. package/dist/collection/components/push-card/push-card.js +134 -0
  177. package/dist/collection/components/push-card/push-card.js.map +1 -0
  178. package/dist/collection/components/select/select.css +20 -2
  179. package/dist/collection/components/select/select.js +1 -1
  180. package/dist/collection/components/select/select.js.map +1 -1
  181. package/dist/collection/components/spinner/spinner.css +13 -0
  182. package/dist/collection/components/spinner/spinner.js +1 -1
  183. package/dist/collection/components/spinner/spinner.js.map +1 -1
  184. package/dist/collection/components/time-picker/time-picker.css +23 -17
  185. package/dist/collection/components/time-picker/time-picker.js +102 -18
  186. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  187. package/dist/collection/components/toast/toast.css +0 -10
  188. package/dist/collection/components/toast/toast.js +6 -25
  189. package/dist/collection/components/toast/toast.js.map +1 -1
  190. package/dist/collection/components/typography/{types.js → type-mapping.js} +1 -1
  191. package/dist/collection/components/typography/type-mapping.js.map +1 -0
  192. package/dist/collection/components/typography/typography.js +34 -6
  193. package/dist/collection/components/typography/typography.js.map +1 -1
  194. package/dist/collection/index.js +1 -0
  195. package/dist/collection/index.js.map +1 -1
  196. package/dist/components/button.js +3 -2
  197. package/dist/components/button.js.map +1 -1
  198. package/dist/components/card-accordion.js +80 -0
  199. package/dist/components/card-accordion.js.map +1 -0
  200. package/dist/components/card-content.js +32 -0
  201. package/dist/components/card-content.js.map +1 -0
  202. package/dist/components/card-title.js +32 -0
  203. package/dist/components/card-title.js.map +1 -0
  204. package/dist/components/card.js +36 -0
  205. package/dist/components/card.js.map +1 -0
  206. package/dist/components/icon-button.js +12 -4
  207. package/dist/components/icon-button.js.map +1 -1
  208. package/dist/components/icon.js +87 -14
  209. package/dist/components/icon.js.map +1 -1
  210. package/dist/components/ix-action-card.d.ts +11 -0
  211. package/dist/components/ix-action-card.js +72 -0
  212. package/dist/components/ix-action-card.js.map +1 -0
  213. package/dist/components/ix-basic-navigation.js +1 -1
  214. package/dist/components/ix-basic-navigation.js.map +1 -1
  215. package/dist/components/ix-blind.js +5 -7
  216. package/dist/components/ix-blind.js.map +1 -1
  217. package/dist/components/ix-card-accordion.d.ts +11 -0
  218. package/dist/components/ix-card-accordion.js +8 -0
  219. package/dist/components/ix-card-accordion.js.map +1 -0
  220. package/dist/components/ix-card-content.d.ts +11 -0
  221. package/dist/components/ix-card-content.js +8 -0
  222. package/dist/components/ix-card-content.js.map +1 -0
  223. package/dist/components/ix-card-list.d.ts +11 -0
  224. package/dist/components/ix-card-list.js +228 -0
  225. package/dist/components/ix-card-list.js.map +1 -0
  226. package/dist/components/ix-card-title.d.ts +11 -0
  227. package/dist/components/ix-card-title.js +8 -0
  228. package/dist/components/ix-card-title.js.map +1 -0
  229. package/dist/components/{ix-icon.d.ts → ix-card.d.ts} +4 -4
  230. package/dist/components/ix-card.js +8 -0
  231. package/dist/components/ix-card.js.map +1 -0
  232. package/dist/components/ix-content-header.d.ts +11 -0
  233. package/dist/components/ix-content-header.js +63 -0
  234. package/dist/components/ix-content-header.js.map +1 -0
  235. package/dist/components/ix-css-grid-item.d.ts +11 -0
  236. package/dist/components/ix-css-grid-item.js +40 -0
  237. package/dist/components/ix-css-grid-item.js.map +1 -0
  238. package/dist/components/ix-css-grid.d.ts +11 -0
  239. package/dist/components/ix-css-grid.js +113 -0
  240. package/dist/components/ix-css-grid.js.map +1 -0
  241. package/dist/components/ix-drawer.js +6 -5
  242. package/dist/components/ix-drawer.js.map +1 -1
  243. package/dist/components/ix-empty-state.d.ts +11 -0
  244. package/dist/components/ix-empty-state.js +65 -0
  245. package/dist/components/ix-empty-state.js.map +1 -0
  246. package/dist/components/ix-expanding-search.js +5 -1
  247. package/dist/components/ix-expanding-search.js.map +1 -1
  248. package/dist/components/ix-key-value-list.d.ts +11 -0
  249. package/dist/components/ix-key-value-list.js +38 -0
  250. package/dist/components/ix-key-value-list.js.map +1 -0
  251. package/dist/components/ix-key-value.d.ts +11 -0
  252. package/dist/components/ix-key-value.js +53 -0
  253. package/dist/components/ix-key-value.js.map +1 -0
  254. package/dist/components/ix-kpi.js +3 -2
  255. package/dist/components/ix-kpi.js.map +1 -1
  256. package/dist/components/ix-map-navigation.js +11 -4
  257. package/dist/components/ix-map-navigation.js.map +1 -1
  258. package/dist/components/ix-menu-about-news.js +1 -1
  259. package/dist/components/ix-menu-about-news.js.map +1 -1
  260. package/dist/components/ix-menu-avatar.js +2 -2
  261. package/dist/components/ix-menu-avatar.js.map +1 -1
  262. package/dist/components/ix-menu.js +12 -6
  263. package/dist/components/ix-menu.js.map +1 -1
  264. package/dist/components/ix-message-bar.js +3 -2
  265. package/dist/components/ix-message-bar.js.map +1 -1
  266. package/dist/components/ix-push-card.d.ts +11 -0
  267. package/dist/components/ix-push-card.js +83 -0
  268. package/dist/components/ix-push-card.js.map +1 -0
  269. package/dist/components/menu-item.js +27 -11
  270. package/dist/components/menu-item.js.map +1 -1
  271. package/dist/components/modal.js +1 -1
  272. package/dist/components/modal.js.map +1 -1
  273. package/dist/components/my-component.js +1 -1
  274. package/dist/components/my-component.js.map +1 -1
  275. package/dist/components/select.js +2 -2
  276. package/dist/components/select.js.map +1 -1
  277. package/dist/components/spinner.js +3 -2
  278. package/dist/components/spinner.js.map +1 -1
  279. package/dist/components/time-picker.js +103 -19
  280. package/dist/components/time-picker.js.map +1 -1
  281. package/dist/components/toast.js +7 -26
  282. package/dist/components/toast.js.map +1 -1
  283. package/dist/components/typography.js +9 -2
  284. package/dist/components/typography.js.map +1 -1
  285. package/dist/esm/icon-21211f80.js +104 -0
  286. package/dist/esm/icon-21211f80.js.map +1 -0
  287. package/dist/esm/{index-57424926.js → index-8ddfb6d8.js} +53 -5
  288. package/dist/esm/index-8ddfb6d8.js.map +1 -0
  289. package/dist/esm/index.js +2 -0
  290. package/dist/esm/index.js.map +1 -1
  291. package/dist/esm/ix-action-card.entry.js +24 -0
  292. package/dist/esm/ix-action-card.entry.js.map +1 -0
  293. package/dist/esm/ix-animated-tab_2.entry.js +1 -1
  294. package/dist/esm/ix-application-header.entry.js +1 -1
  295. package/dist/esm/ix-basic-navigation.entry.js +2 -2
  296. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  297. package/dist/esm/ix-blind.entry.js +4 -7
  298. package/dist/esm/ix-blind.entry.js.map +1 -1
  299. package/dist/esm/ix-breadcrumb_2.entry.js +1 -1
  300. package/dist/esm/ix-burger-menu.entry.js +1 -1
  301. package/dist/esm/ix-button.entry.js +2 -2
  302. package/dist/esm/ix-button.entry.js.map +1 -1
  303. package/dist/esm/ix-card-accordion_2.entry.js +69 -0
  304. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -0
  305. package/dist/esm/ix-card-list.entry.js +160 -0
  306. package/dist/esm/ix-card-list.entry.js.map +1 -0
  307. package/dist/esm/{ix-typography.entry.js → ix-card_3.entry.js} +36 -4
  308. package/dist/esm/ix-card_3.entry.js.map +1 -0
  309. package/dist/esm/ix-category-filter.entry.js +1 -1
  310. package/dist/esm/ix-chip.entry.js +1 -1
  311. package/dist/esm/ix-content-header.entry.js +22 -0
  312. package/dist/esm/ix-content-header.entry.js.map +1 -0
  313. package/dist/esm/ix-counter-pill.entry.js +1 -1
  314. package/dist/esm/ix-css-grid-item.entry.js +20 -0
  315. package/dist/esm/ix-css-grid-item.entry.js.map +1 -0
  316. package/dist/esm/ix-css-grid.entry.js +92 -0
  317. package/dist/esm/ix-css-grid.entry.js.map +1 -0
  318. package/dist/esm/ix-date-picker_2.entry.js +103 -19
  319. package/dist/esm/ix-date-picker_2.entry.js.map +1 -1
  320. package/dist/esm/ix-date-time-card.entry.js +1 -1
  321. package/dist/esm/ix-datetime-picker.entry.js +1 -1
  322. package/dist/esm/ix-divider.entry.js +1 -1
  323. package/dist/esm/ix-drawer.entry.js +4 -4
  324. package/dist/esm/ix-drawer.entry.js.map +1 -1
  325. package/dist/esm/ix-dropdown-button.entry.js +1 -1
  326. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  327. package/dist/esm/ix-dropdown_2.entry.js +1 -1
  328. package/dist/esm/ix-empty-state.entry.js +23 -0
  329. package/dist/esm/ix-empty-state.entry.js.map +1 -0
  330. package/dist/esm/ix-event-list_2.entry.js +1 -1
  331. package/dist/esm/ix-expanding-search.entry.js +5 -2
  332. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  333. package/dist/esm/ix-filter-chip.entry.js +1 -1
  334. package/dist/esm/ix-flip-tile_2.entry.js +1 -1
  335. package/dist/esm/ix-group-context-menu.entry.js +1 -1
  336. package/dist/esm/ix-group_3.entry.js +1 -1
  337. package/dist/esm/ix-icon-button.entry.js +11 -4
  338. package/dist/esm/ix-icon-button.entry.js.map +1 -1
  339. package/dist/esm/ix-icon.entry.js +2 -32
  340. package/dist/esm/ix-icon.entry.js.map +1 -1
  341. package/dist/esm/ix-index-button.entry.js +1 -1
  342. package/dist/esm/ix-input-group.entry.js +1 -1
  343. package/dist/esm/ix-key-value-list.entry.js +18 -0
  344. package/dist/esm/ix-key-value-list.entry.js.map +1 -0
  345. package/dist/esm/ix-key-value.entry.js +24 -0
  346. package/dist/esm/ix-key-value.entry.js.map +1 -0
  347. package/dist/esm/ix-kpi.entry.js +2 -2
  348. package/dist/esm/ix-kpi.entry.js.map +1 -1
  349. package/dist/esm/ix-map-navigation_2.entry.js +11 -5
  350. package/dist/esm/ix-map-navigation_2.entry.js.map +1 -1
  351. package/dist/esm/ix-menu_9.entry.js +24 -15
  352. package/dist/esm/ix-menu_9.entry.js.map +1 -1
  353. package/dist/esm/ix-message-bar.entry.js +2 -2
  354. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  355. package/dist/esm/ix-modal-example.entry.js +1 -1
  356. package/dist/esm/ix-modal_2.entry.js +2 -2
  357. package/dist/esm/ix-modal_2.entry.js.map +1 -1
  358. package/dist/esm/ix-pagination.entry.js +1 -1
  359. package/dist/esm/ix-pill.entry.js +1 -1
  360. package/dist/esm/ix-push-card.entry.js +23 -0
  361. package/dist/esm/ix-push-card.entry.js.map +1 -0
  362. package/dist/esm/ix-select_2.entry.js +3 -3
  363. package/dist/esm/ix-select_2.entry.js.map +1 -1
  364. package/dist/esm/ix-spinner.entry.js +2 -2
  365. package/dist/esm/ix-spinner.entry.js.map +1 -1
  366. package/dist/esm/ix-split-button_2.entry.js +1 -1
  367. package/dist/esm/ix-tab-item.entry.js +1 -1
  368. package/dist/esm/ix-tabs.entry.js +1 -1
  369. package/dist/esm/ix-tile.entry.js +1 -1
  370. package/dist/esm/ix-toast_2.entry.js +8 -26
  371. package/dist/esm/ix-toast_2.entry.js.map +1 -1
  372. package/dist/esm/ix-toggle.entry.js +1 -1
  373. package/dist/esm/ix-tooltip.entry.js +1 -1
  374. package/dist/esm/ix-tree_2.entry.js +1 -1
  375. package/dist/esm/ix-upload.entry.js +1 -1
  376. package/dist/esm/ix-validation-tooltip.entry.js +1 -1
  377. package/dist/esm/ix-workflow-step_2.entry.js +1 -1
  378. package/dist/esm/loader.js +3 -3
  379. package/dist/esm/my-component.entry.js +2 -2
  380. package/dist/esm/my-component.entry.js.map +1 -1
  381. package/dist/esm/siemens-ix.js +3 -3
  382. package/dist/siemens-ix/index.esm.js +1 -1
  383. package/dist/siemens-ix/index.esm.js.map +1 -1
  384. package/dist/siemens-ix/{p-2850e6b1.entry.js → p-003e9355.entry.js} +2 -2
  385. package/dist/siemens-ix/p-07c932da.entry.js +2 -0
  386. package/dist/siemens-ix/p-07c932da.entry.js.map +1 -0
  387. package/dist/siemens-ix/{p-f20dc192.entry.js → p-1331a920.entry.js} +2 -2
  388. package/dist/siemens-ix/p-13bda5ea.entry.js +2 -0
  389. package/dist/siemens-ix/p-13bda5ea.entry.js.map +1 -0
  390. package/dist/siemens-ix/p-1abcd6ba.js +2 -0
  391. package/dist/siemens-ix/p-1abcd6ba.js.map +1 -0
  392. package/dist/siemens-ix/{p-57a5d3d0.js → p-1c64b073.js} +3 -3
  393. package/dist/siemens-ix/p-1c64b073.js.map +1 -0
  394. package/dist/siemens-ix/{p-f2355beb.entry.js → p-1e8ee4af.entry.js} +2 -2
  395. package/dist/siemens-ix/{p-729c8d31.entry.js → p-3172249b.entry.js} +2 -2
  396. package/dist/siemens-ix/p-3f4a9e1f.entry.js +2 -0
  397. package/dist/siemens-ix/p-3f4a9e1f.entry.js.map +1 -0
  398. package/dist/siemens-ix/{p-3b4c5e4b.entry.js → p-40982e21.entry.js} +2 -2
  399. package/dist/siemens-ix/{p-7cdbc92b.entry.js → p-4597dd77.entry.js} +2 -2
  400. package/dist/siemens-ix/p-46ced516.entry.js +2 -0
  401. package/dist/siemens-ix/p-46ced516.entry.js.map +1 -0
  402. package/dist/siemens-ix/p-47422d47.entry.js +2 -0
  403. package/dist/siemens-ix/p-47422d47.entry.js.map +1 -0
  404. package/dist/siemens-ix/{p-d985e147.entry.js → p-4e851aa3.entry.js} +2 -2
  405. package/dist/siemens-ix/{p-1c1dd6d6.entry.js → p-51c81a20.entry.js} +2 -2
  406. package/dist/siemens-ix/p-55b54a81.entry.js +2 -0
  407. package/dist/siemens-ix/p-55b54a81.entry.js.map +1 -0
  408. package/dist/siemens-ix/p-5ec38498.entry.js +2 -0
  409. package/dist/siemens-ix/p-5ec38498.entry.js.map +1 -0
  410. package/dist/siemens-ix/{p-b54c8bba.entry.js → p-6124d173.entry.js} +2 -2
  411. package/dist/siemens-ix/{p-7f7657ec.entry.js → p-626fbee2.entry.js} +2 -2
  412. package/dist/siemens-ix/{p-15335e01.entry.js → p-652ba2c1.entry.js} +2 -2
  413. package/dist/siemens-ix/p-67be3720.entry.js +2 -0
  414. package/dist/siemens-ix/p-67be3720.entry.js.map +1 -0
  415. package/dist/siemens-ix/p-6acce5c9.entry.js +2 -0
  416. package/dist/siemens-ix/p-6acce5c9.entry.js.map +1 -0
  417. package/dist/siemens-ix/p-6c033b08.entry.js +2 -0
  418. package/dist/siemens-ix/p-6c033b08.entry.js.map +1 -0
  419. package/dist/siemens-ix/{p-f7f07386.entry.js → p-821ca55e.entry.js} +2 -2
  420. package/dist/siemens-ix/p-85f01dba.entry.js +2 -0
  421. package/dist/siemens-ix/p-85f01dba.entry.js.map +1 -0
  422. package/dist/siemens-ix/{p-46e468af.entry.js → p-8719eeff.entry.js} +2 -2
  423. package/dist/siemens-ix/{p-de1e7c64.entry.js → p-94ab7c1c.entry.js} +2 -2
  424. package/dist/siemens-ix/{p-9da2881b.entry.js → p-9a82921b.entry.js} +2 -2
  425. package/dist/siemens-ix/{p-908afbed.entry.js → p-a08e1bbc.entry.js} +2 -2
  426. package/dist/siemens-ix/p-a422c64a.entry.js +2 -0
  427. package/dist/siemens-ix/p-a422c64a.entry.js.map +1 -0
  428. package/dist/siemens-ix/p-a7212f01.entry.js +2 -0
  429. package/dist/siemens-ix/p-a7212f01.entry.js.map +1 -0
  430. package/dist/siemens-ix/{p-e4f9db28.entry.js → p-a73580a5.entry.js} +2 -2
  431. package/dist/siemens-ix/p-a89a1fa5.entry.js +2 -0
  432. package/dist/siemens-ix/p-a89a1fa5.entry.js.map +1 -0
  433. package/dist/siemens-ix/{p-2ecb0ffd.entry.js → p-b5c40bb3.entry.js} +2 -2
  434. package/dist/siemens-ix/p-b60bd26c.entry.js +2 -0
  435. package/dist/siemens-ix/p-b60bd26c.entry.js.map +1 -0
  436. package/dist/siemens-ix/p-b9c2e7d9.entry.js +2 -0
  437. package/dist/siemens-ix/p-b9c2e7d9.entry.js.map +1 -0
  438. package/dist/siemens-ix/{p-0dd51d53.entry.js → p-bd24f35f.entry.js} +2 -2
  439. package/dist/siemens-ix/p-c349b266.entry.js +2 -0
  440. package/dist/siemens-ix/p-c349b266.entry.js.map +1 -0
  441. package/dist/siemens-ix/p-c5124f7b.entry.js +2 -0
  442. package/dist/siemens-ix/p-c5124f7b.entry.js.map +1 -0
  443. package/dist/siemens-ix/{p-bbda3133.entry.js → p-c7109071.entry.js} +2 -2
  444. package/dist/siemens-ix/p-c724bb65.entry.js +2 -0
  445. package/dist/siemens-ix/p-c724bb65.entry.js.map +1 -0
  446. package/dist/siemens-ix/p-ca4d28fb.entry.js +2 -0
  447. package/dist/siemens-ix/p-ca4d28fb.entry.js.map +1 -0
  448. package/dist/siemens-ix/p-cd3cfc78.entry.js +2 -0
  449. package/dist/siemens-ix/p-cd3cfc78.entry.js.map +1 -0
  450. package/dist/siemens-ix/p-cd4e3593.entry.js +2 -0
  451. package/dist/siemens-ix/p-cd4e3593.entry.js.map +1 -0
  452. package/dist/siemens-ix/p-cd75b455.entry.js +2 -0
  453. package/dist/siemens-ix/p-cd75b455.entry.js.map +1 -0
  454. package/dist/siemens-ix/{p-ae29d220.entry.js → p-cf2717c1.entry.js} +2 -2
  455. package/dist/siemens-ix/{p-2149ce72.entry.js → p-d2225fc2.entry.js} +2 -2
  456. package/dist/siemens-ix/{p-925b7d63.entry.js → p-d5302336.entry.js} +2 -2
  457. package/dist/siemens-ix/{p-c11ebe2f.entry.js → p-d784a04b.entry.js} +2 -2
  458. package/dist/siemens-ix/{p-9a4a825a.entry.js → p-d7e23a1f.entry.js} +2 -2
  459. package/dist/siemens-ix/p-d848739e.entry.js +2 -0
  460. package/dist/siemens-ix/p-d848739e.entry.js.map +1 -0
  461. package/dist/siemens-ix/p-dbcec49e.entry.js +2 -0
  462. package/dist/siemens-ix/p-dbcec49e.entry.js.map +1 -0
  463. package/dist/siemens-ix/{p-dae58ef8.entry.js → p-dc98d3f4.entry.js} +2 -2
  464. package/dist/siemens-ix/{p-63663ccd.entry.js → p-df138b2a.entry.js} +2 -2
  465. package/dist/siemens-ix/p-ea55afa3.entry.js +2 -0
  466. package/dist/siemens-ix/p-ea55afa3.entry.js.map +1 -0
  467. package/dist/siemens-ix/{p-77c1e1e7.entry.js → p-eccc2475.entry.js} +2 -2
  468. package/dist/siemens-ix/{p-c4b1210b.entry.js → p-ecd1145b.entry.js} +2 -2
  469. package/dist/siemens-ix/{p-a36c0c05.entry.js → p-f207e578.entry.js} +2 -2
  470. package/dist/siemens-ix/p-f207e578.entry.js.map +1 -0
  471. package/dist/siemens-ix/{p-272b771c.entry.js → p-f48b706b.entry.js} +2 -2
  472. package/dist/siemens-ix/{p-65d38367.entry.js → p-f50697b9.entry.js} +2 -2
  473. package/dist/siemens-ix/p-f6ae45fb.entry.js +2 -0
  474. package/dist/siemens-ix/p-f6ae45fb.entry.js.map +1 -0
  475. package/dist/siemens-ix/{p-0fcfac90.entry.js → p-f74c7692.entry.js} +2 -2
  476. package/dist/siemens-ix/{p-7ed22ba1.entry.js → p-feb8c2c4.entry.js} +2 -2
  477. package/dist/siemens-ix/siemens-ix.css +32 -14
  478. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  479. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  480. package/dist/types/components/action-card/action-card.d.ts +28 -0
  481. package/dist/types/components/button/button.d.ts +1 -1
  482. package/dist/types/components/card/card.d.ts +12 -0
  483. package/dist/types/components/card-accordion/card-accordion.d.ts +20 -0
  484. package/dist/types/components/card-content/card-content.d.ts +6 -0
  485. package/dist/types/components/card-list/card-list.d.ts +78 -0
  486. package/dist/types/components/card-title/card-title.d.ts +8 -0
  487. package/dist/types/components/content-header/content-header.d.ts +25 -0
  488. package/dist/types/components/drawer/drawer.d.ts +1 -1
  489. package/dist/types/components/empty-state/empty-state.d.ts +32 -0
  490. package/dist/types/components/expanding-search/expanding-search.d.ts +5 -0
  491. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  492. package/dist/types/components/key-value/key-value.d.ts +25 -0
  493. package/dist/types/components/key-value-list/key-value-list.d.ts +10 -0
  494. package/dist/types/components/layout/css-grid/builder.d.ts +1 -0
  495. package/dist/types/components/layout/css-grid/css-grid-item.d.ts +10 -0
  496. package/dist/types/components/layout/css-grid/css-grid.d.ts +18 -0
  497. package/dist/types/components/map-navigation/map-navigation.d.ts +7 -1
  498. package/dist/types/components/menu-item/menu-item.d.ts +5 -3
  499. package/dist/types/components/push-card/push-card.d.ts +28 -0
  500. package/dist/types/components/time-picker/time-picker.d.ts +7 -0
  501. package/dist/types/components/toast/toast.d.ts +0 -1
  502. package/dist/types/components/typography/typography.d.ts +7 -2
  503. package/dist/types/components.d.ts +654 -46
  504. package/dist/types/index.d.ts +12 -0
  505. package/package.json +2 -2
  506. package/scss/components/_buttons.scss +3 -6
  507. package/scss/components/_forms.scss +18 -12
  508. package/scss/mixins/shadow-dom/_component.scss +15 -0
  509. package/scss/mixins/shadow-dom/_hover.scss +19 -0
  510. package/scss/theme/classic-dark/_borderRadius.scss +1 -1
  511. package/dist/cjs/index-931d1fb5.js.map +0 -1
  512. package/dist/cjs/ix-typography.cjs.entry.js.map +0 -1
  513. package/dist/collection/components/icon/icon.js +0 -101
  514. package/dist/collection/components/icon/icon.js.map +0 -1
  515. package/dist/collection/components/typography/types.js.map +0 -1
  516. package/dist/esm/index-57424926.js.map +0 -1
  517. package/dist/esm/ix-typography.entry.js.map +0 -1
  518. package/dist/siemens-ix/p-091accfc.entry.js +0 -2
  519. package/dist/siemens-ix/p-091accfc.entry.js.map +0 -1
  520. package/dist/siemens-ix/p-189cdc59.entry.js +0 -2
  521. package/dist/siemens-ix/p-189cdc59.entry.js.map +0 -1
  522. package/dist/siemens-ix/p-2206924a.entry.js +0 -2
  523. package/dist/siemens-ix/p-2206924a.entry.js.map +0 -1
  524. package/dist/siemens-ix/p-2e2fca5f.entry.js +0 -2
  525. package/dist/siemens-ix/p-2e2fca5f.entry.js.map +0 -1
  526. package/dist/siemens-ix/p-57a5d3d0.js.map +0 -1
  527. package/dist/siemens-ix/p-69c4d72b.entry.js +0 -2
  528. package/dist/siemens-ix/p-69c4d72b.entry.js.map +0 -1
  529. package/dist/siemens-ix/p-75045a73.entry.js +0 -2
  530. package/dist/siemens-ix/p-75045a73.entry.js.map +0 -1
  531. package/dist/siemens-ix/p-89b7ae4c.entry.js +0 -2
  532. package/dist/siemens-ix/p-89b7ae4c.entry.js.map +0 -1
  533. package/dist/siemens-ix/p-8cf56736.entry.js +0 -2
  534. package/dist/siemens-ix/p-8cf56736.entry.js.map +0 -1
  535. package/dist/siemens-ix/p-93d6bfe1.entry.js +0 -2
  536. package/dist/siemens-ix/p-93d6bfe1.entry.js.map +0 -1
  537. package/dist/siemens-ix/p-9c2ae88d.entry.js +0 -2
  538. package/dist/siemens-ix/p-9c2ae88d.entry.js.map +0 -1
  539. package/dist/siemens-ix/p-a36c0c05.entry.js.map +0 -1
  540. package/dist/siemens-ix/p-a6e443df.entry.js +0 -2
  541. package/dist/siemens-ix/p-a6e443df.entry.js.map +0 -1
  542. package/dist/siemens-ix/p-af533e73.entry.js +0 -2
  543. package/dist/siemens-ix/p-af533e73.entry.js.map +0 -1
  544. package/dist/siemens-ix/p-b46713aa.entry.js +0 -2
  545. package/dist/siemens-ix/p-b46713aa.entry.js.map +0 -1
  546. package/dist/siemens-ix/p-bdaae206.entry.js +0 -2
  547. package/dist/siemens-ix/p-bdaae206.entry.js.map +0 -1
  548. package/dist/siemens-ix/p-c29d31ea.entry.js +0 -2
  549. package/dist/siemens-ix/p-c29d31ea.entry.js.map +0 -1
  550. package/dist/siemens-ix/p-d57afc21.entry.js +0 -2
  551. package/dist/siemens-ix/p-d57afc21.entry.js.map +0 -1
  552. package/dist/siemens-ix/p-f72d10e6.entry.js +0 -2
  553. package/dist/siemens-ix/p-f72d10e6.entry.js.map +0 -1
  554. package/dist/types/components/icon/icon.d.ts +0 -15
  555. /package/dist/siemens-ix/{p-2850e6b1.entry.js.map → p-003e9355.entry.js.map} +0 -0
  556. /package/dist/siemens-ix/{p-f20dc192.entry.js.map → p-1331a920.entry.js.map} +0 -0
  557. /package/dist/siemens-ix/{p-f2355beb.entry.js.map → p-1e8ee4af.entry.js.map} +0 -0
  558. /package/dist/siemens-ix/{p-729c8d31.entry.js.map → p-3172249b.entry.js.map} +0 -0
  559. /package/dist/siemens-ix/{p-3b4c5e4b.entry.js.map → p-40982e21.entry.js.map} +0 -0
  560. /package/dist/siemens-ix/{p-7cdbc92b.entry.js.map → p-4597dd77.entry.js.map} +0 -0
  561. /package/dist/siemens-ix/{p-d985e147.entry.js.map → p-4e851aa3.entry.js.map} +0 -0
  562. /package/dist/siemens-ix/{p-1c1dd6d6.entry.js.map → p-51c81a20.entry.js.map} +0 -0
  563. /package/dist/siemens-ix/{p-b54c8bba.entry.js.map → p-6124d173.entry.js.map} +0 -0
  564. /package/dist/siemens-ix/{p-7f7657ec.entry.js.map → p-626fbee2.entry.js.map} +0 -0
  565. /package/dist/siemens-ix/{p-15335e01.entry.js.map → p-652ba2c1.entry.js.map} +0 -0
  566. /package/dist/siemens-ix/{p-f7f07386.entry.js.map → p-821ca55e.entry.js.map} +0 -0
  567. /package/dist/siemens-ix/{p-46e468af.entry.js.map → p-8719eeff.entry.js.map} +0 -0
  568. /package/dist/siemens-ix/{p-de1e7c64.entry.js.map → p-94ab7c1c.entry.js.map} +0 -0
  569. /package/dist/siemens-ix/{p-9da2881b.entry.js.map → p-9a82921b.entry.js.map} +0 -0
  570. /package/dist/siemens-ix/{p-908afbed.entry.js.map → p-a08e1bbc.entry.js.map} +0 -0
  571. /package/dist/siemens-ix/{p-e4f9db28.entry.js.map → p-a73580a5.entry.js.map} +0 -0
  572. /package/dist/siemens-ix/{p-2ecb0ffd.entry.js.map → p-b5c40bb3.entry.js.map} +0 -0
  573. /package/dist/siemens-ix/{p-0dd51d53.entry.js.map → p-bd24f35f.entry.js.map} +0 -0
  574. /package/dist/siemens-ix/{p-bbda3133.entry.js.map → p-c7109071.entry.js.map} +0 -0
  575. /package/dist/siemens-ix/{p-ae29d220.entry.js.map → p-cf2717c1.entry.js.map} +0 -0
  576. /package/dist/siemens-ix/{p-2149ce72.entry.js.map → p-d2225fc2.entry.js.map} +0 -0
  577. /package/dist/siemens-ix/{p-925b7d63.entry.js.map → p-d5302336.entry.js.map} +0 -0
  578. /package/dist/siemens-ix/{p-c11ebe2f.entry.js.map → p-d784a04b.entry.js.map} +0 -0
  579. /package/dist/siemens-ix/{p-9a4a825a.entry.js.map → p-d7e23a1f.entry.js.map} +0 -0
  580. /package/dist/siemens-ix/{p-dae58ef8.entry.js.map → p-dc98d3f4.entry.js.map} +0 -0
  581. /package/dist/siemens-ix/{p-63663ccd.entry.js.map → p-df138b2a.entry.js.map} +0 -0
  582. /package/dist/siemens-ix/{p-77c1e1e7.entry.js.map → p-eccc2475.entry.js.map} +0 -0
  583. /package/dist/siemens-ix/{p-c4b1210b.entry.js.map → p-ecd1145b.entry.js.map} +0 -0
  584. /package/dist/siemens-ix/{p-272b771c.entry.js.map → p-f48b706b.entry.js.map} +0 -0
  585. /package/dist/siemens-ix/{p-65d38367.entry.js.map → p-f50697b9.entry.js.map} +0 -0
  586. /package/dist/siemens-ix/{p-0fcfac90.entry.js.map → p-f74c7692.entry.js.map} +0 -0
  587. /package/dist/siemens-ix/{p-7ed22ba1.entry.js.map → p-feb8c2c4.entry.js.map} +0 -0
  588. /package/dist/types/components/typography/{types.d.ts → type-mapping.d.ts} +0 -0
@@ -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.cjs.js","mappings":"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","names":["menuController","hostContext","isBasicNavigationLayout","screenMode","convertToRemString","h","Host","themeSwitcher","MenuAbout","forceUpdate"],"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}
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.cjs.js","mappings":"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","names":["menuController","hostContext","isBasicNavigationLayout","screenMode","convertToRemString","h","Host","themeSwitcher","MenuAbout","forceUpdate","createMutationObserver"],"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=shadow","./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: 3.25rem;\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.35rem;\n }\n }\n\n .menu-overlay {\n display: block;\n position: absolute;\n width: calc(100vw - 3.25rem);\n height: 100%;\n left: 3.25rem;\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 disabled={e.disabled}\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: 3.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} + 12.7rem);\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.41rem;\n margin-right: 0.35rem;\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: 6,\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\n height: 3rem;\n min-height: 3rem;\n max-height: 3rem;\n\n .tab {\n display: flex;\n position: relative;\n align-items: center;\n height: 3rem;\n z-index: 500;\n padding-left: 0.875rem;\n\n @include ghost-hover-pressed;\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: 0.25rem;\n left: 1.75rem;\n\n .pill {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 0.5rem;\n min-width: 1rem;\n position: relative;\n border-radius: 6.25rem;\n background-color: var(--theme-color-primary);\n 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\n:host(.active),\n:host(.selected) {\n .tab {\n background-color: var(--theme-nav-item-primary--background--selected);\n }\n\n .tab::before {\n content: '';\n background-color: var(--theme-nav-item-primary--border-color--selected);\n height: 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:host(.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:host(.home-tab),\n:host([slot='home']) {\n margin-bottom: 1.5rem;\n}\n\n:host(.bottom-tab),\n:host([slot='bottom']) {\n $bottom-height: 2.25rem;\n\n min-height: $bottom-height;\n height: $bottom-height;\n max-height: $bottom-height;\n\n .tab {\n height: $bottom-height;\n }\n\n .tab::before {\n height: $bottom-height;\n background-color: transparent;\n }\n\n &.active,\n &.selected {\n &:hover {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n\n &:active {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n }\n}\n\n:host(.bottom-tab.active),\n:host(.bottom-tab.selected),\n:host(.active[slot='bottom']),\n:host(.selected[slot='bottom']) {\n .tab {\n background-color: var(--theme-nav-item-secondary--background--selected);\n }\n}\n","/*\n * 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';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n@Component({\n tag: 'ix-menu-item',\n styleUrl: 'menu-item.scss',\n shadow: 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 count on tab\n */\n @Prop() notifications: number;\n\n /**\n * State to display active\n */\n @Prop() active: boolean;\n\n /**\n * Disable tab and remove event handlers\n */\n @Prop() disabled: boolean;\n\n @Element() hostElement: HTMLIxMenuItemElement;\n\n @State() title: string;\n\n private observer: MutationObserver;\n\n componentWillRender() {\n this.title = this.hostElement.innerText;\n }\n\n connectedCallback() {\n this.observer = createMutationObserver(() => {\n this.title = this.hostElement.innerText;\n });\n\n this.observer.observe(this.hostElement, {\n subtree: true,\n childList: true,\n characterData: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\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 <ix-icon name={this.tabIcon}></ix-icon>\n <div class=\"notification\">\n {this.notifications ? (\n <div class=\"pill\">{this.notifications}</div>\n ) : null}\n </div>\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}
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-931d1fb5.js');
5
+ const index = require('./index-c978628a.js');
6
6
  const anime_es = require('./anime.es-8822f296.js');
7
7
 
8
- const messageBarCss = ".message-container.sc-ix-message-bar{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;justify-content:space-between;min-height:3.375rem;margin:0.5rem 0.5rem 0rem 0.5rem;padding:calc(0.75rem - var(--theme-message-bar--border-thickness)) 0.75rem calc(0.75rem - var(--theme-message-bar--border-thickness)) 1rem;border-radius:var(--theme-message-bar--border-radius);background-color:var(--theme-messagebar--background)}.danger.sc-ix-message-bar{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}.warning.sc-ix-message-bar{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-warning)}.info.sc-ix-message-bar{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-info)}.message-content.sc-ix-message-bar{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;align-self:center;min-height:1.25rem;padding:0 1rem;font-weight:bold;white-space:normal}ix-icon.sc-ix-message-bar{margin-top:0.25rem}";
8
+ const messageBarCss = ":host *,:host *::after,:host *::before{box-sizing:border-box}:host .message-container{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;justify-content:space-between;min-height:3.375rem;margin:0.5rem 0.5rem 0rem 0.5rem;padding:calc(0.75rem - var(--theme-message-bar--border-thickness)) 0.75rem calc(0.75rem - var(--theme-message-bar--border-thickness)) 1rem;border-radius:var(--theme-message-bar--border-radius);background-color:var(--theme-messagebar--background)}:host .danger{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .warning{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-warning)}:host .info{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-info)}:host .message-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;align-self:center;min-height:1.25rem;padding:0 1rem;font-weight:bold;white-space:normal}:host ix-icon{margin-top:0.25rem}";
9
9
 
10
10
  const MessageBar = class {
11
11
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"ix-message-bar.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,u+BAAu+B;;MC0Bh/B,UAAU;;;;gBAIyB,MAAM;uBAK9B,IAAI;;;;EAe1B,mBAAmB;IACjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;MAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;MACpB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;KAC5B;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;MACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;MACnB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;KAC3B;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;MAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;MACtB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;KAC9B;GACF;EAEO,UAAU,CAAC,EAAe;IAChCA,cAAK,CAAC;MACJ,OAAO,EAAE,EAAE;MACX,QAAQ,EAAE,UAAU,CAAC,QAAQ;MAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACf,MAAM,EAAE,aAAa;MACrB,QAAQ,EAAE;QACR,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;OAC5B;KACF,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;GAC1B;EAED,MAAM;IACJ,QACEC,QAACC,UAAI,QACHD,iBACE,KAAK,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EACvD,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,GAAG,EAAiB,CAAC,IAElDA,qBAAS,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAY,EACvDA,iBAAK,KAAK,EAAC,iBAAiB,IAC1BA,qBAAa,CACT,EACL,IAAI,CAAC,WAAW,IACfA,4BACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,IAAI,EACX,OAAO,EAAE;QACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OAClC,iBACW,WAAW,GACP,KAElB,EAAE,CACH,CACG,CACD,EACP;GACH;;AA9DuB,mBAAQ,GAAG,GAAG,CAAC;;;;;","names":["anime","h","Host"],"sources":["./src/components/message-bar/message-bar.scss?tag=ix-message-bar&encapsulation=scoped","./src/components/message-bar/message-bar.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/text-truncation';\n\n.message-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: nowrap;\n justify-content: space-between;\n min-height: 3.375rem;\n margin: $small-space $small-space 0rem $small-space;\n padding: calc(#{$medium-space} - var(--theme-message-bar--border-thickness))\n $medium-space\n calc(#{$medium-space} - var(--theme-message-bar--border-thickness))\n $default-space;\n border-radius: var(--theme-message-bar--border-radius);\n background-color: var(--theme-messagebar--background);\n}\n\n.danger {\n border: solid var(--theme-message-bar--border-thickness)\n var(--theme-color-alarm);\n}\n\n.warning {\n border: solid var(--theme-message-bar--border-thickness)\n var(--theme-color-warning);\n}\n\n.info {\n border: solid var(--theme-message-bar--border-thickness)\n var(--theme-color-info);\n}\n\n.message-content {\n @include ellipsis;\n flex-grow: 1;\n align-self: center;\n min-height: 1.25rem;\n padding: 0 $default-space;\n font-weight: bold;\n white-space: normal;\n}\n\nix-icon {\n margin-top: $tiny-space;\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 Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { NotificationColor } from '../utils/notification-color';\n\n@Component({\n tag: 'ix-message-bar',\n styleUrl: 'message-bar.scss',\n scoped: true,\n})\nexport class MessageBar {\n /**\n * Specifies the type of the alert.\n */\n @Prop() type: 'danger' | 'warning' | 'info' = 'info';\n\n /**\n * If true, close button is enabled and alert can be dismissed by the user\n */\n @Prop() dismissible = true;\n\n /**\n * An event emitted when the close button is clicked\n */\n @Event() closedChange: EventEmitter;\n\n @State() icon: 'error' | 'warning' | 'info';\n\n @State() color: NotificationColor;\n\n private static readonly duration = 300;\n\n private divElement?: HTMLElement;\n\n componentWillRender() {\n if (this.type === 'danger') {\n this.icon = 'error';\n this.color = 'color-alarm';\n }\n\n if (this.type === 'info') {\n this.icon = 'info';\n this.color = 'color-info';\n }\n\n if (this.type === 'warning') {\n this.icon = 'warning';\n this.color = 'color-warning';\n }\n }\n\n private closeAlert(el: HTMLElement) {\n anime({\n targets: el,\n duration: MessageBar.duration,\n opacity: [1, 0],\n easing: 'easeOutSine',\n complete: () => {\n el.classList.add('d-none');\n },\n });\n this.closedChange.emit();\n }\n\n render() {\n return (\n <Host>\n <div\n class={{ 'message-container': true, [this.type]: true }}\n role=\"alert\"\n ref={(el) => (this.divElement = el as HTMLElement)}\n >\n <ix-icon color={this.color} name={this.icon}></ix-icon>\n <div class=\"message-content\">\n <slot></slot>\n </div>\n {this.dismissible ? (\n <ix-icon-button\n icon=\"close\"\n size=\"24\"\n ghost={true}\n onClick={() => {\n this.closeAlert(this.divElement);\n }}\n data-testid=\"close-btn\"\n ></ix-icon-button>\n ) : (\n ''\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-message-bar.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,49BAA49B;;MC0Br+B,UAAU;;;;gBAIyB,MAAM;uBAK9B,IAAI;;;;EAe1B,mBAAmB;IACjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;MAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;MACpB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;KAC5B;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;MACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;MACnB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;KAC3B;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;MAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;MACtB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;KAC9B;GACF;EAEO,UAAU,CAAC,EAAe;IAChCA,cAAK,CAAC;MACJ,OAAO,EAAE,EAAE;MACX,QAAQ,EAAE,UAAU,CAAC,QAAQ;MAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACf,MAAM,EAAE,aAAa;MACrB,QAAQ,EAAE;QACR,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;OAC5B;KACF,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;GAC1B;EAED,MAAM;IACJ,QACEC,QAACC,UAAI,QACHD,iBACE,KAAK,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EACvD,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,GAAG,EAAiB,CAAC,IAElDA,qBAAS,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAY,EACvDA,iBAAK,KAAK,EAAC,iBAAiB,IAC1BA,qBAAa,CACT,EACL,IAAI,CAAC,WAAW,IACfA,4BACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,IAAI,EACX,OAAO,EAAE;QACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OAClC,iBACW,WAAW,GACP,KAElB,EAAE,CACH,CACG,CACD,EACP;GACH;;AA9DuB,mBAAQ,GAAG,GAAG,CAAC;;;;;","names":["anime","h","Host"],"sources":["./src/components/message-bar/message-bar.scss?tag=ix-message-bar&encapsulation=shadow","./src/components/message-bar/message-bar.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/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n .message-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: nowrap;\n justify-content: space-between;\n min-height: 3.375rem;\n margin: $small-space $small-space 0rem $small-space;\n padding: calc(#{$medium-space} - var(--theme-message-bar--border-thickness))\n $medium-space\n calc(#{$medium-space} - var(--theme-message-bar--border-thickness))\n $default-space;\n border-radius: var(--theme-message-bar--border-radius);\n background-color: var(--theme-messagebar--background);\n }\n\n .danger {\n border: solid var(--theme-message-bar--border-thickness)\n var(--theme-color-alarm);\n }\n\n .warning {\n border: solid var(--theme-message-bar--border-thickness)\n var(--theme-color-warning);\n }\n\n .info {\n border: solid var(--theme-message-bar--border-thickness)\n var(--theme-color-info);\n }\n\n .message-content {\n @include ellipsis;\n flex-grow: 1;\n align-self: center;\n min-height: 1.25rem;\n padding: 0 $default-space;\n font-weight: bold;\n white-space: normal;\n }\n\n ix-icon {\n margin-top: $tiny-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 Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { NotificationColor } from '../utils/notification-color';\n\n@Component({\n tag: 'ix-message-bar',\n styleUrl: 'message-bar.scss',\n shadow: true,\n})\nexport class MessageBar {\n /**\n * Specifies the type of the alert.\n */\n @Prop() type: 'danger' | 'warning' | 'info' = 'info';\n\n /**\n * If true, close button is enabled and alert can be dismissed by the user\n */\n @Prop() dismissible = true;\n\n /**\n * An event emitted when the close button is clicked\n */\n @Event() closedChange: EventEmitter;\n\n @State() icon: 'error' | 'warning' | 'info';\n\n @State() color: NotificationColor;\n\n private static readonly duration = 300;\n\n private divElement?: HTMLElement;\n\n componentWillRender() {\n if (this.type === 'danger') {\n this.icon = 'error';\n this.color = 'color-alarm';\n }\n\n if (this.type === 'info') {\n this.icon = 'info';\n this.color = 'color-info';\n }\n\n if (this.type === 'warning') {\n this.icon = 'warning';\n this.color = 'color-warning';\n }\n }\n\n private closeAlert(el: HTMLElement) {\n anime({\n targets: el,\n duration: MessageBar.duration,\n opacity: [1, 0],\n easing: 'easeOutSine',\n complete: () => {\n el.classList.add('d-none');\n },\n });\n this.closedChange.emit();\n }\n\n render() {\n return (\n <Host>\n <div\n class={{ 'message-container': true, [this.type]: true }}\n role=\"alert\"\n ref={(el) => (this.divElement = el as HTMLElement)}\n >\n <ix-icon color={this.color} name={this.icon}></ix-icon>\n <div class=\"message-content\">\n <slot></slot>\n </div>\n {this.dismissible ? (\n <ix-icon-button\n icon=\"close\"\n size=\"24\"\n ghost={true}\n onClick={() => {\n this.closeAlert(this.divElement);\n }}\n data-testid=\"close-btn\"\n ></ix-icon-button>\n ) : (\n ''\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-931d1fb5.js');
5
+ const index = require('./index-c978628a.js');
6
6
  const modalUtils = require('./modal-utils-b645989b.js');
7
7
 
8
8
  const ModalExample = class {
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-931d1fb5.js');
5
+ const index = require('./index-c978628a.js');
6
6
  const anime_es = require('./anime.es-8822f296.js');
7
7
  const animation = require('./animation-d5cc0bec.js');
8
8
  const typedEvent = require('./typed-event-f0f051da.js');
9
9
 
10
- const modalCss = ".sc-ix-modal-h{position:relative;width:100vw;height:100vh}.sc-ix-modal-h .modal.sc-ix-modal{display:flex}.sc-ix-modal-h .modal.animation.sc-ix-modal{animation:modal-fade 300ms ease-in-out}.sc-ix-modal-h .modal.backdrop.sc-ix-modal{background-color:var(--theme-color-lightbox);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:none}.sc-ix-modal-h .modal.backdrop.animation.sc-ix-modal{transition:-webkit-backdrop-filter 0ms ease-in-out;transition:backdrop-filter 0ms ease-in-out;transition:backdrop-filter 0ms ease-in-out, -webkit-backdrop-filter 0ms ease-in-out}.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal{flex-grow:1}.sc-ix-modal-h .modal.scrollable.sc-ix-modal .modal-content.sc-ix-modal{max-height:100%}.sc-ix-modal-h .modal.scrollable.sc-ix-modal .modal-content.sc-ix-modal .modal-body.sc-ix-modal{overflow-y:auto}.sc-ix-modal-h .modal.sc-ix-modal .modal-content.sc-ix-modal{box-shadow:var(--theme-modal--box-shadow);flex-direction:row;background-color:var(--theme-modal--background);border:var(--modal--border-thickness) solid var(--theme-modal--border-color);padding:1.5rem;max-height:100vh}.sc-ix-modal-h .modal.sc-ix-modal .modal-content.sc-ix-modal .state-icon-container.sc-ix-modal{-webkit-margin-end:1rem;margin-inline-end:1rem}.sc-ix-modal-h .modal.sc-ix-modal .modal-content.sc-ix-modal .slot-container.sc-ix-modal{flex-grow:1}@media (min-width: 576px){.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal:not(.modal-dialog-centered){margin:2.5rem auto}}@media (max-width: 575.98px){.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal{height:100%;margin:0}.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal .modal-content.sc-ix-modal{height:100%;border-radius:0}}@keyframes modal-fade{from{opacity:0%}to{opacity:100%}}@keyframes slide-down{from{top:-100%}to{top:32px}}";
10
+ const modalCss = ".sc-ix-modal-h{position:relative;width:100vw;height:100vh}.sc-ix-modal-h .modal.sc-ix-modal{display:flex}.sc-ix-modal-h .modal.animation.sc-ix-modal{animation:modal-fade 300ms ease-in-out}.sc-ix-modal-h .modal.backdrop.sc-ix-modal{background-color:var(--theme-color-lightbox);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:none}.sc-ix-modal-h .modal.backdrop.animation.sc-ix-modal{transition:-webkit-backdrop-filter 0ms ease-in-out;transition:backdrop-filter 0ms ease-in-out;transition:backdrop-filter 0ms ease-in-out, -webkit-backdrop-filter 0ms ease-in-out}.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal{flex-grow:1}.sc-ix-modal-h .modal.scrollable.sc-ix-modal .modal-content.sc-ix-modal{max-height:100%}.sc-ix-modal-h .modal.scrollable.sc-ix-modal .modal-content.sc-ix-modal .modal-body.sc-ix-modal{overflow-y:auto}.sc-ix-modal-h .modal.sc-ix-modal .modal-content.sc-ix-modal{box-shadow:var(--theme-modal--box-shadow);flex-direction:row;background-color:var(--theme-modal--background);border:var(--modal--border-thickness) solid var(--theme-modal--border-color);padding:1.5rem;max-height:100vh;border-radius:var(--theme-default-border-radius)}.sc-ix-modal-h .modal.sc-ix-modal .modal-content.sc-ix-modal .state-icon-container.sc-ix-modal{-webkit-margin-end:1rem;margin-inline-end:1rem}.sc-ix-modal-h .modal.sc-ix-modal .modal-content.sc-ix-modal .slot-container.sc-ix-modal{flex-grow:1}@media (min-width: 576px){.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal:not(.modal-dialog-centered){margin:2.5rem auto}}@media (max-width: 575.98px){.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal{height:100%;margin:0}.sc-ix-modal-h .modal.sc-ix-modal .modal-dialog.sc-ix-modal .modal-content.sc-ix-modal{height:100%;border-radius:0}}@keyframes modal-fade{from{opacity:0%}to{opacity:100%}}@keyframes slide-down{from{top:-100%}to{top:32px}}";
11
11
 
12
12
  let modalInstanceId = 0;
13
13
  function getNextModalInstanceId() {
@@ -1 +1 @@
1
- {"file":"ix-modal.ix-modal-container.entry.cjs.js","mappings":"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","names":["Animation","anime","h","Host","TypedEvent"],"sources":["./src/components/modal/modal.scss?tag=ix-modal&encapsulation=scoped","./src/components/modal/modal.tsx","./src/components/modal-container/modal-container.scss?tag=ix-modal-container&encapsulation=scoped","./src/components/modal-container/modal-container.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 '~bootstrap/scss/_functions';\n@import '~bootstrap/scss/mixins/_breakpoints.scss';\n@import '~bootstrap/scss/_variables.scss';\n\n@import 'common-variables';\n\n:host {\n position: relative;\n width: 100vw;\n height: 100vh;\n\n .modal {\n display: flex;\n\n &.animation {\n animation: modal-fade $medium-time ease-in-out;\n }\n\n &.backdrop {\n background-color: var(--theme-color-lightbox);\n backdrop-filter: blur(4px);\n transition: none;\n\n &.animation {\n transition: backdrop-filter $short-time ease-in-out;\n }\n }\n\n .modal-dialog {\n flex-grow: 1;\n }\n\n &.scrollable {\n .modal-content {\n max-height: 100%;\n .modal-body {\n overflow-y: auto;\n }\n }\n }\n\n .modal-content {\n box-shadow: var(--theme-modal--box-shadow);\n flex-direction: row;\n background-color: var(--theme-modal--background);\n border: var(--modal--border-thickness) solid\n var(--theme-modal--border-color);\n padding: $large-space;\n max-height: 100vh;\n\n .state-icon-container {\n margin-inline-end: $default-space;\n }\n\n .slot-container {\n flex-grow: 1;\n }\n }\n\n @include media-breakpoint-up(sm) {\n .modal-dialog:not(.modal-dialog-centered) {\n margin: 2.5rem auto;\n }\n }\n\n @include media-breakpoint-down(sm) {\n .modal-dialog {\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border-radius: 0;\n }\n }\n }\n\n @keyframes modal-fade {\n from {\n opacity: 0%;\n }\n to {\n opacity: 100%;\n }\n }\n\n @keyframes slide-down {\n from {\n top: -100%;\n }\n to {\n top: 32px;\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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport Animation from '../utils/animation';\nimport { NotificationColor } from '../utils/notification-color';\n\nlet modalInstanceId = 0;\n\nfunction getNextModalInstanceId() {\n return `ix-modal-instance-${++modalInstanceId}`;\n}\n\n@Component({\n tag: 'ix-modal',\n styleUrl: 'modal.scss',\n scoped: true,\n})\nexport class Modal {\n @Element() hostElement: HTMLIxModalElement;\n\n /**\n * Should the modal be animtated\n */\n @Prop() animation = true;\n\n /**\n *\n */\n @Prop() ariaDescribedBy: string;\n\n /**\n *\n */\n @Prop() ariaLabelledBy = 'modal-title';\n\n /**\n * Adds a dimming layer to the modal.\n * This should only be used when it it necessary to focus the user's attention to the dialog content (e.g. errors, warnings, complex tasks).\n */\n @Prop() backdrop: boolean | 'static' = true;\n\n /**\n * Backdrop class\n */\n @Prop() backdropClass: string;\n\n /**\n * BeforeDismiss callback\n */\n @Prop() beforeDismiss: (reason?: any) => boolean | Promise<boolean>;\n\n /**\n * Centered modal\n */\n @Prop() centered = false;\n\n /**\n * Content of modal\n */\n @Prop() content: HTMLElement | string;\n\n /**\n * ESC close modal dialog\n */\n @Prop() keyboard = true;\n\n /**\n * Optional icon displayed next to the title\n */\n @Prop() icon: string;\n\n /**\n * Color of the header {@see ix-icon}\n */\n @Prop() iconColor: NotificationColor = 'color-std-text';\n\n /**\n * Modal dialog class\n */\n @Prop() modalDialogClass: string;\n\n /**\n * Modal scollable\n */\n @Prop() scrollable = true;\n\n /**\n * Modal size\n */\n @Prop() size: 'sm' | 'lg' | 'xl' = 'sm';\n\n /**\n * Header title\n */\n @Prop() headerTitle: string;\n\n /**\n * Window class\n */\n @Prop() windowClass: string;\n\n /**\n * Modal closed\n */\n @Event() closed: EventEmitter;\n\n /**\n * Modal dismissed\n */\n @Event() dismissed: EventEmitter;\n\n private modalId = getNextModalInstanceId();\n private readonly onKeydown = this.handleKeydown.bind(this);\n\n get modal() {\n return this.hostElement.querySelector('.modal');\n }\n\n get modalDialog() {\n return this.modal.querySelector('.modal-dialog');\n }\n\n get modalContent() {\n return this.modalDialog.querySelector('.modal-content');\n }\n\n get modalBackdrop() {\n return this.hostElement.querySelector('.backdrop');\n }\n\n private slideDown(modal: any) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n anime({\n targets: modal,\n duration,\n opacity: [0, 1],\n translateY: ['-100%', 0],\n easing: 'easeOutSine',\n });\n }\n\n private slideUp(modal: any, completeCallback?: any) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n anime({\n targets: modal,\n duration,\n opacity: [1, 0],\n translateY: [0, '-100%'],\n easing: 'easeInSine',\n complete: () => {\n if (completeCallback) {\n completeCallback();\n }\n },\n });\n }\n\n private onBackdropClick(event: Event) {\n const target = event.target as Element;\n if (target.classList.contains('backdrop')) {\n this.dismiss(event);\n }\n }\n\n componentDidLoad() {\n if (this.backdrop === 'static') {\n this.modalBackdrop.addEventListener('click', (event) =>\n this.onBackdropClick(event)\n );\n }\n\n if (this.backdropClass) {\n this.modalBackdrop.classList.add(this.backdropClass);\n }\n\n if (this.modalDialogClass) {\n this.modalDialog.classList.add(this.modalDialogClass);\n }\n\n if (this.windowClass) {\n this.modal.classList.add(this.windowClass);\n }\n\n if (this.keyboard) {\n window.addEventListener('keydown', this.onKeydown);\n }\n\n this.slideDown(this.modalContent);\n }\n\n private handleKeydown(ev: KeyboardEvent) {\n if (ev.key === 'Escape') {\n this.dismiss(ev.key);\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this.onKeydown);\n }\n\n /**\n * Dismiss modal instance\n * @param reason\n */\n @Method()\n async dismiss<T = any>(reason?: T) {\n if (this.beforeDismiss) {\n const result = await this.beforeDismiss(reason);\n if (result !== false) {\n this.slideUp(this.modalContent, () => this.dismissed.emit(reason));\n }\n } else {\n this.slideUp(this.modalContent, () => this.dismissed.emit(reason));\n }\n }\n\n /**\n * Close modal\n * @param result\n */\n @Method()\n async close<T = any>(result: T) {\n this.slideUp(this.modalContent, () => this.closed.emit(result));\n }\n\n render() {\n return (\n <Host id={this.modalId}>\n <div\n class={{\n animation: this.animation,\n modal: true,\n backdrop: this.backdrop === 'static' || this.backdrop,\n 'align-items-center': this.centered,\n scrollable: this.scrollable,\n }}\n aria-describedby={this.ariaDescribedBy}\n aria-labelledby={this.ariaLabelledBy}\n >\n <div\n class={{\n 'modal-dialog': true,\n 'modal-sm': this.size === 'sm',\n 'modal-lg': this.size === 'lg',\n 'modal-xl': this.size === 'xl',\n }}\n >\n <div class=\"modal-content\">\n {this.icon === undefined || this.icon === '' ? (\n ''\n ) : (\n <div class=\"state-icon-container\">\n <ix-icon\n name={this.icon}\n size=\"32\"\n color={this.iconColor}\n ></ix-icon>\n </div>\n )}\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n </div>\n </div>\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 position: absolute;\n top: 0;\n left: 0;\n z-index: 9999;\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, Method } from '@stencil/core';\nimport { ModalConfig, ModalInstance } from '../modal/modal-utils';\nimport { TypedEvent } from '../utils/typed-event';\n\n@Component({\n tag: 'ix-modal-container',\n styleUrl: 'modal-container.scss',\n scoped: true,\n})\nexport class ModalContainer {\n @Element() hostElement: HTMLIxModalContainerElement;\n\n get modalStack() {\n return this.hostElement.querySelector(':scope > div.modal-stack');\n }\n\n /**\n * Display modal dialog\n *\n * @param config\n */\n @Method()\n async showModal<T = any>(config: ModalConfig<T>): Promise<ModalInstance<T>> {\n const onClose = new TypedEvent<T>();\n const onDismiss = new TypedEvent<T>();\n\n const modal = document.createElement('ix-modal');\n let { title, content, ...modifiedConfig } = config;\n Object.assign(modal, { headerTitle: title, ...modifiedConfig });\n\n if (typeof content === 'string') {\n const template = document.createElement('template');\n content = content.trim();\n template.innerHTML = content;\n modal.appendChild(template.content.firstChild);\n } else {\n modal.appendChild(content);\n }\n this.modalStack.appendChild(modal);\n\n modal.addEventListener('closed', (event: CustomEvent<T>) => {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.modalStack.removeChild(modal);\n onClose.emit(event.detail);\n });\n modal.addEventListener('dismissed', (event: CustomEvent<T>) => {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.modalStack.removeChild(modal);\n onDismiss.emit(event.detail);\n });\n\n return {\n htmlElement: modal,\n onClose,\n onDismiss,\n };\n }\n\n render() {\n return (\n <Host>\n <div class=\"modal-stack\"></div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-modal.ix-modal-container.entry.cjs.js","mappings":"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","names":["Animation","anime","h","Host","TypedEvent"],"sources":["./src/components/modal/modal.scss?tag=ix-modal&encapsulation=scoped","./src/components/modal/modal.tsx","./src/components/modal-container/modal-container.scss?tag=ix-modal-container&encapsulation=scoped","./src/components/modal-container/modal-container.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 '~bootstrap/scss/_functions';\n@import '~bootstrap/scss/mixins/_breakpoints.scss';\n@import '~bootstrap/scss/_variables.scss';\n\n@import 'common-variables';\n\n:host {\n position: relative;\n width: 100vw;\n height: 100vh;\n\n .modal {\n display: flex;\n\n &.animation {\n animation: modal-fade $medium-time ease-in-out;\n }\n\n &.backdrop {\n background-color: var(--theme-color-lightbox);\n backdrop-filter: blur(4px);\n transition: none;\n\n &.animation {\n transition: backdrop-filter $short-time ease-in-out;\n }\n }\n\n .modal-dialog {\n flex-grow: 1;\n }\n\n &.scrollable {\n .modal-content {\n max-height: 100%;\n .modal-body {\n overflow-y: auto;\n }\n }\n }\n\n .modal-content {\n box-shadow: var(--theme-modal--box-shadow);\n flex-direction: row;\n background-color: var(--theme-modal--background);\n border: var(--modal--border-thickness) solid\n var(--theme-modal--border-color);\n padding: $large-space;\n max-height: 100vh;\n border-radius: var(--theme-default-border-radius);\n\n .state-icon-container {\n margin-inline-end: $default-space;\n }\n\n .slot-container {\n flex-grow: 1;\n }\n }\n\n @include media-breakpoint-up(sm) {\n .modal-dialog:not(.modal-dialog-centered) {\n margin: 2.5rem auto;\n }\n }\n\n @include media-breakpoint-down(sm) {\n .modal-dialog {\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border-radius: 0;\n }\n }\n }\n\n @keyframes modal-fade {\n from {\n opacity: 0%;\n }\n to {\n opacity: 100%;\n }\n }\n\n @keyframes slide-down {\n from {\n top: -100%;\n }\n to {\n top: 32px;\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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport Animation from '../utils/animation';\nimport { NotificationColor } from '../utils/notification-color';\n\nlet modalInstanceId = 0;\n\nfunction getNextModalInstanceId() {\n return `ix-modal-instance-${++modalInstanceId}`;\n}\n\n@Component({\n tag: 'ix-modal',\n styleUrl: 'modal.scss',\n scoped: true,\n})\nexport class Modal {\n @Element() hostElement: HTMLIxModalElement;\n\n /**\n * Should the modal be animtated\n */\n @Prop() animation = true;\n\n /**\n *\n */\n @Prop() ariaDescribedBy: string;\n\n /**\n *\n */\n @Prop() ariaLabelledBy = 'modal-title';\n\n /**\n * Adds a dimming layer to the modal.\n * This should only be used when it it necessary to focus the user's attention to the dialog content (e.g. errors, warnings, complex tasks).\n */\n @Prop() backdrop: boolean | 'static' = true;\n\n /**\n * Backdrop class\n */\n @Prop() backdropClass: string;\n\n /**\n * BeforeDismiss callback\n */\n @Prop() beforeDismiss: (reason?: any) => boolean | Promise<boolean>;\n\n /**\n * Centered modal\n */\n @Prop() centered = false;\n\n /**\n * Content of modal\n */\n @Prop() content: HTMLElement | string;\n\n /**\n * ESC close modal dialog\n */\n @Prop() keyboard = true;\n\n /**\n * Optional icon displayed next to the title\n */\n @Prop() icon: string;\n\n /**\n * Color of the header {@see ix-icon}\n */\n @Prop() iconColor: NotificationColor = 'color-std-text';\n\n /**\n * Modal dialog class\n */\n @Prop() modalDialogClass: string;\n\n /**\n * Modal scollable\n */\n @Prop() scrollable = true;\n\n /**\n * Modal size\n */\n @Prop() size: 'sm' | 'lg' | 'xl' = 'sm';\n\n /**\n * Header title\n */\n @Prop() headerTitle: string;\n\n /**\n * Window class\n */\n @Prop() windowClass: string;\n\n /**\n * Modal closed\n */\n @Event() closed: EventEmitter;\n\n /**\n * Modal dismissed\n */\n @Event() dismissed: EventEmitter;\n\n private modalId = getNextModalInstanceId();\n private readonly onKeydown = this.handleKeydown.bind(this);\n\n get modal() {\n return this.hostElement.querySelector('.modal');\n }\n\n get modalDialog() {\n return this.modal.querySelector('.modal-dialog');\n }\n\n get modalContent() {\n return this.modalDialog.querySelector('.modal-content');\n }\n\n get modalBackdrop() {\n return this.hostElement.querySelector('.backdrop');\n }\n\n private slideDown(modal: any) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n anime({\n targets: modal,\n duration,\n opacity: [0, 1],\n translateY: ['-100%', 0],\n easing: 'easeOutSine',\n });\n }\n\n private slideUp(modal: any, completeCallback?: any) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n anime({\n targets: modal,\n duration,\n opacity: [1, 0],\n translateY: [0, '-100%'],\n easing: 'easeInSine',\n complete: () => {\n if (completeCallback) {\n completeCallback();\n }\n },\n });\n }\n\n private onBackdropClick(event: Event) {\n const target = event.target as Element;\n if (target.classList.contains('backdrop')) {\n this.dismiss(event);\n }\n }\n\n componentDidLoad() {\n if (this.backdrop === 'static') {\n this.modalBackdrop.addEventListener('click', (event) =>\n this.onBackdropClick(event)\n );\n }\n\n if (this.backdropClass) {\n this.modalBackdrop.classList.add(this.backdropClass);\n }\n\n if (this.modalDialogClass) {\n this.modalDialog.classList.add(this.modalDialogClass);\n }\n\n if (this.windowClass) {\n this.modal.classList.add(this.windowClass);\n }\n\n if (this.keyboard) {\n window.addEventListener('keydown', this.onKeydown);\n }\n\n this.slideDown(this.modalContent);\n }\n\n private handleKeydown(ev: KeyboardEvent) {\n if (ev.key === 'Escape') {\n this.dismiss(ev.key);\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this.onKeydown);\n }\n\n /**\n * Dismiss modal instance\n * @param reason\n */\n @Method()\n async dismiss<T = any>(reason?: T) {\n if (this.beforeDismiss) {\n const result = await this.beforeDismiss(reason);\n if (result !== false) {\n this.slideUp(this.modalContent, () => this.dismissed.emit(reason));\n }\n } else {\n this.slideUp(this.modalContent, () => this.dismissed.emit(reason));\n }\n }\n\n /**\n * Close modal\n * @param result\n */\n @Method()\n async close<T = any>(result: T) {\n this.slideUp(this.modalContent, () => this.closed.emit(result));\n }\n\n render() {\n return (\n <Host id={this.modalId}>\n <div\n class={{\n animation: this.animation,\n modal: true,\n backdrop: this.backdrop === 'static' || this.backdrop,\n 'align-items-center': this.centered,\n scrollable: this.scrollable,\n }}\n aria-describedby={this.ariaDescribedBy}\n aria-labelledby={this.ariaLabelledBy}\n >\n <div\n class={{\n 'modal-dialog': true,\n 'modal-sm': this.size === 'sm',\n 'modal-lg': this.size === 'lg',\n 'modal-xl': this.size === 'xl',\n }}\n >\n <div class=\"modal-content\">\n {this.icon === undefined || this.icon === '' ? (\n ''\n ) : (\n <div class=\"state-icon-container\">\n <ix-icon\n name={this.icon}\n size=\"32\"\n color={this.iconColor}\n ></ix-icon>\n </div>\n )}\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n </div>\n </div>\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 position: absolute;\n top: 0;\n left: 0;\n z-index: 9999;\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, Method } from '@stencil/core';\nimport { ModalConfig, ModalInstance } from '../modal/modal-utils';\nimport { TypedEvent } from '../utils/typed-event';\n\n@Component({\n tag: 'ix-modal-container',\n styleUrl: 'modal-container.scss',\n scoped: true,\n})\nexport class ModalContainer {\n @Element() hostElement: HTMLIxModalContainerElement;\n\n get modalStack() {\n return this.hostElement.querySelector(':scope > div.modal-stack');\n }\n\n /**\n * Display modal dialog\n *\n * @param config\n */\n @Method()\n async showModal<T = any>(config: ModalConfig<T>): Promise<ModalInstance<T>> {\n const onClose = new TypedEvent<T>();\n const onDismiss = new TypedEvent<T>();\n\n const modal = document.createElement('ix-modal');\n let { title, content, ...modifiedConfig } = config;\n Object.assign(modal, { headerTitle: title, ...modifiedConfig });\n\n if (typeof content === 'string') {\n const template = document.createElement('template');\n content = content.trim();\n template.innerHTML = content;\n modal.appendChild(template.content.firstChild);\n } else {\n modal.appendChild(content);\n }\n this.modalStack.appendChild(modal);\n\n modal.addEventListener('closed', (event: CustomEvent<T>) => {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.modalStack.removeChild(modal);\n onClose.emit(event.detail);\n });\n modal.addEventListener('dismissed', (event: CustomEvent<T>) => {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.modalStack.removeChild(modal);\n onDismiss.emit(event.detail);\n });\n\n return {\n htmlElement: modal,\n onClose,\n onDismiss,\n };\n }\n\n render() {\n return (\n <Host>\n <div class=\"modal-stack\"></div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-931d1fb5.js');
5
+ const index = require('./index-c978628a.js');
6
6
 
7
7
  const paginationCss = ".sc-ix-pagination-h,.sc-ix-pagination-h .advanced-pagination.sc-ix-pagination,.sc-ix-pagination-h .item-count.sc-ix-pagination{display:inline-flex;align-items:center}.sc-ix-pagination-h .basic-pagination.sc-ix-pagination{padding:0 0.125rem}.sc-ix-pagination-h .advanced-pagination.sc-ix-pagination{padding:0 0.75rem}.sc-ix-pagination-h input.sc-ix-pagination{width:4.125rem;text-align:center;margin:0 0.5rem}.sc-ix-pagination-h .page-buttons.sc-ix-pagination{white-space:nowrap}.sc-ix-pagination-h .total-count.sc-ix-pagination{white-space:nowrap}.sc-ix-pagination-h .item-count.sc-ix-pagination{flex-grow:1;justify-content:flex-end;-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.sc-ix-pagination-h .item-count.sc-ix-pagination ix-select.sc-ix-pagination{width:4.5rem;-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.sc-ix-pagination-h ix-index-button.sc-ix-pagination+ix-index-button.sc-ix-pagination{-webkit-margin-start:0.125rem;margin-inline-start:0.125rem}";
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-931d1fb5.js');
5
+ const index = require('./index-c978628a.js');
6
6
 
7
7
  const pillCss = ".sc-ix-pill-h{display:inline-flex;width:-moz-fit-content;width:fit-content;position:relative;align-items:center;justify-content:center;border-radius:100px;padding:0px 6px;margin-left:0.25rem;min-width:1.5rem;height:1.25rem;min-height:1.25rem;max-height:1.25rem;cursor:auto}.sc-ix-pill-h .with-icon.sc-ix-pill{margin-right:0.25rem}.align-left.sc-ix-pill-h{justify-content:flex-start}[variant=primary].sc-ix-pill-h{background-color:var(--theme-color-primary);color:var(--theme-chip-primary--color)}[variant=primary].sc-ix-pill-h .close-button.sc-ix-pill{color:var(--theme-chip-primary--color);pointer-events:auto}[variant=primary].outline.sc-ix-pill-h{color:var(--theme-chip-primary-outline--color);background-color:transparent;border:solid 1px var(--theme-chip-primary-outline--border-color)}[variant=primary].outline.sc-ix-pill-h .close-button.sc-ix-pill{color:var(--theme-chip-primary-outline--color)}[variant=alarm].sc-ix-pill-h{color:var(--theme-color-alarm--contrast)}[variant=alarm].sc-ix-pill-h:not(.outline){background-color:var(--theme-color-alarm)}[variant=alarm].sc-ix-pill-h:not(.outline) .close-button.sc-ix-pill{color:var(--theme-color-alarm--contrast)}[variant=alarm].sc-ix-pill-h:not(.outline):hover::after{content:\"\";background-color:rgba(0, 0, 0, 0.05)}[variant=alarm].sc-ix-pill-h:not(.outline).active::after,[variant=alarm].sc-ix-pill-h:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}[variant=alarm].outline.sc-ix-pill-h{color:var(--theme-chip-outline--color);border:solid 1px var(--theme-color-alarm)}[variant=alarm].outline.sc-ix-pill-h:hover::after{display:none}[variant=alarm].outline.sc-ix-pill-h:hover{background-color:var(--theme-chip-outline--background--hover)}[variant=alarm].outline.active.sc-ix-pill-h::after,[variant=alarm].outline.sc-ix-pill-h:active::after{display:none}[variant=alarm].outline.active.sc-ix-pill-h,[variant=alarm].outline.sc-ix-pill-h:active{background-color:var(--theme-chip-outline--background--active)}[variant=critical].sc-ix-pill-h{color:var(--theme-color-critical--contrast)}[variant=critical].sc-ix-pill-h:not(.outline){background-color:var(--theme-color-critical)}[variant=critical].sc-ix-pill-h:not(.outline) .close-button.sc-ix-pill{color:var(--theme-color-critical--contrast)}[variant=critical].sc-ix-pill-h:not(.outline):hover::after{content:\"\";background-color:rgba(0, 0, 0, 0.05)}[variant=critical].sc-ix-pill-h:not(.outline).active::after,[variant=critical].sc-ix-pill-h:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}[variant=critical].outline.sc-ix-pill-h{color:var(--theme-chip-outline--color);border:solid 1px var(--theme-color-critical)}[variant=critical].outline.sc-ix-pill-h:hover::after{display:none}[variant=critical].outline.sc-ix-pill-h:hover{background-color:var(--theme-chip-outline--background--hover)}[variant=critical].outline.active.sc-ix-pill-h::after,[variant=critical].outline.sc-ix-pill-h:active::after{display:none}[variant=critical].outline.active.sc-ix-pill-h,[variant=critical].outline.sc-ix-pill-h:active{background-color:var(--theme-chip-outline--background--active)}[variant=warning].sc-ix-pill-h{color:var(--theme-color-warning--contrast)}[variant=warning].sc-ix-pill-h:not(.outline){background-color:var(--theme-color-warning)}[variant=warning].sc-ix-pill-h:not(.outline) .close-button.sc-ix-pill{color:var(--theme-color-warning--contrast)}[variant=warning].sc-ix-pill-h:not(.outline):hover::after{content:\"\";background-color:rgba(0, 0, 0, 0.05)}[variant=warning].sc-ix-pill-h:not(.outline).active::after,[variant=warning].sc-ix-pill-h:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}[variant=warning].outline.sc-ix-pill-h{color:var(--theme-chip-outline--color);border:solid 1px var(--theme-color-warning)}[variant=warning].outline.sc-ix-pill-h:hover::after{display:none}[variant=warning].outline.sc-ix-pill-h:hover{background-color:var(--theme-chip-outline--background--hover)}[variant=warning].outline.active.sc-ix-pill-h::after,[variant=warning].outline.sc-ix-pill-h:active::after{display:none}[variant=warning].outline.active.sc-ix-pill-h,[variant=warning].outline.sc-ix-pill-h:active{background-color:var(--theme-chip-outline--background--active)}[variant=info].sc-ix-pill-h{color:var(--theme-color-info--contrast)}[variant=info].sc-ix-pill-h:not(.outline){background-color:var(--theme-color-info)}[variant=info].sc-ix-pill-h:not(.outline) .close-button.sc-ix-pill{color:var(--theme-color-info--contrast)}[variant=info].sc-ix-pill-h:not(.outline):hover::after{content:\"\";background-color:rgba(0, 0, 0, 0.05)}[variant=info].sc-ix-pill-h:not(.outline).active::after,[variant=info].sc-ix-pill-h:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}[variant=info].outline.sc-ix-pill-h{color:var(--theme-chip-outline--color);border:solid 1px var(--theme-color-info)}[variant=info].outline.sc-ix-pill-h:hover::after{display:none}[variant=info].outline.sc-ix-pill-h:hover{background-color:var(--theme-chip-outline--background--hover)}[variant=info].outline.active.sc-ix-pill-h::after,[variant=info].outline.sc-ix-pill-h:active::after{display:none}[variant=info].outline.active.sc-ix-pill-h,[variant=info].outline.sc-ix-pill-h:active{background-color:var(--theme-chip-outline--background--active)}[variant=neutral].sc-ix-pill-h{color:var(--theme-color-neutral--contrast)}[variant=neutral].sc-ix-pill-h:not(.outline){background-color:var(--theme-color-neutral)}[variant=neutral].sc-ix-pill-h:not(.outline) .close-button.sc-ix-pill{color:var(--theme-color-neutral--contrast)}[variant=neutral].sc-ix-pill-h:not(.outline):hover::after{content:\"\";background-color:rgba(0, 0, 0, 0.05)}[variant=neutral].sc-ix-pill-h:not(.outline).active::after,[variant=neutral].sc-ix-pill-h:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}[variant=neutral].outline.sc-ix-pill-h{color:var(--theme-chip-outline--color);border:solid 1px var(--theme-color-neutral)}[variant=neutral].outline.sc-ix-pill-h:hover::after{display:none}[variant=neutral].outline.sc-ix-pill-h:hover{background-color:var(--theme-chip-outline--background--hover)}[variant=neutral].outline.active.sc-ix-pill-h::after,[variant=neutral].outline.sc-ix-pill-h:active::after{display:none}[variant=neutral].outline.active.sc-ix-pill-h,[variant=neutral].outline.sc-ix-pill-h:active{background-color:var(--theme-chip-outline--background--active)}[variant=success].sc-ix-pill-h{color:var(--theme-color-success--contrast)}[variant=success].sc-ix-pill-h:not(.outline){background-color:var(--theme-color-success)}[variant=success].sc-ix-pill-h:not(.outline) .close-button.sc-ix-pill{color:var(--theme-color-success--contrast)}[variant=success].sc-ix-pill-h:not(.outline):hover::after{content:\"\";background-color:rgba(0, 0, 0, 0.05)}[variant=success].sc-ix-pill-h:not(.outline).active::after,[variant=success].sc-ix-pill-h:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}[variant=success].outline.sc-ix-pill-h{color:var(--theme-chip-outline--color);border:solid 1px var(--theme-color-success)}[variant=success].outline.sc-ix-pill-h:hover::after{display:none}[variant=success].outline.sc-ix-pill-h:hover{background-color:var(--theme-chip-outline--background--hover)}[variant=success].outline.active.sc-ix-pill-h::after,[variant=success].outline.sc-ix-pill-h:active::after{display:none}[variant=success].outline.active.sc-ix-pill-h,[variant=success].outline.sc-ix-pill-h:active{background-color:var(--theme-chip-outline--background--active)}[variant=custom].outline.sc-ix-pill-h{border:solid 1px transparent;background-color:transparent}.sc-ix-pill-h .slot.sc-ix-pill{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-ix-pill-h .hidden.sc-ix-pill{width:0px;margin-right:0px}";
8
8