@siemens/ix 0.0.0-pr-2297-20251204163058 → 0.0.0-pr-2300-20260107140403

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 (190) hide show
  1. package/READMEOSS.html +1 -1
  2. package/components/index.js +1 -1
  3. package/components/index.js.map +1 -1
  4. package/components/ix-action-card.js +8 -3
  5. package/components/ix-action-card.js.map +1 -1
  6. package/components/ix-application.js +1 -1
  7. package/components/ix-breadcrumb.js +1 -1
  8. package/components/ix-card-list.js +1 -1
  9. package/components/ix-card.js +1 -1
  10. package/components/ix-date-dropdown.js +1 -1
  11. package/components/ix-dropdown-button.js +8 -4
  12. package/components/ix-dropdown-button.js.map +1 -1
  13. package/components/ix-dropdown-item.js +1 -1
  14. package/components/ix-menu-avatar-item.js +1 -1
  15. package/components/ix-menu-avatar.js +2 -2
  16. package/components/ix-menu-category.js +1 -1
  17. package/components/ix-menu.js +21 -13
  18. package/components/ix-menu.js.map +1 -1
  19. package/components/ix-message-bar.js +1 -1
  20. package/components/ix-message-bar.js.map +1 -1
  21. package/components/ix-pagination.js +3 -3
  22. package/components/ix-pane-layout.js +2 -1
  23. package/components/ix-pane-layout.js.map +1 -1
  24. package/components/ix-push-card.js +8 -3
  25. package/components/ix-push-card.js.map +1 -1
  26. package/components/ix-select-item.js +1 -1
  27. package/components/ix-select.js +1 -1
  28. package/components/ix-toast-container.js +5 -4
  29. package/components/ix-toast-container.js.map +1 -1
  30. package/components/ix-toast.js +1 -1
  31. package/components/{p-Dy6xvLn4.js → p-BCLcSQh4.js} +3 -3
  32. package/components/{p-Dy6xvLn4.js.map → p-BCLcSQh4.js.map} +1 -1
  33. package/components/{p-BOQ00Fbs.js → p-Ce5NQ5Zo.js} +4 -4
  34. package/components/{p-BOQ00Fbs.js.map → p-Ce5NQ5Zo.js.map} +1 -1
  35. package/components/{p-BLeWaHpy.js → p-DYCKIBUp.js} +12 -6
  36. package/components/p-DYCKIBUp.js.map +1 -0
  37. package/components/{p-Bk0vKwmt.js → p-DmhyoH-k.js} +3 -3
  38. package/components/{p-Bk0vKwmt.js.map → p-DmhyoH-k.js.map} +1 -1
  39. package/components/{p-CsHYWHE6.js → p-G5i1Siog.js} +15 -5
  40. package/components/p-G5i1Siog.js.map +1 -0
  41. package/components/{p-hwPzPVf8.js → p-rFxiFp44.js} +12 -6
  42. package/components/p-rFxiFp44.js.map +1 -0
  43. package/components/{p-DlVaL0Yi.js → p-tpxSImkl.js} +9 -4
  44. package/components/p-tpxSImkl.js.map +1 -0
  45. package/dist/cjs/index.cjs.js +1 -1
  46. package/dist/cjs/index.cjs.js.map +1 -1
  47. package/dist/cjs/ix-action-card.cjs.entry.js +5 -1
  48. package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
  49. package/dist/cjs/ix-application.cjs.entry.js +1 -1
  50. package/dist/cjs/ix-card.ix-card-content.entry.cjs.js.map +1 -1
  51. package/dist/cjs/ix-card_2.cjs.entry.js +8 -3
  52. package/dist/cjs/ix-dropdown-button.cjs.entry.js +7 -3
  53. package/dist/cjs/ix-dropdown-button.entry.cjs.js.map +1 -1
  54. package/dist/cjs/ix-dropdown-item.cjs.entry.js +9 -3
  55. package/dist/cjs/ix-dropdown-item.entry.cjs.js.map +1 -1
  56. package/dist/cjs/ix-menu.cjs.entry.js +20 -13
  57. package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
  58. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  59. package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
  60. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -1
  61. package/dist/cjs/ix-pane-layout.entry.cjs.js.map +1 -1
  62. package/dist/cjs/ix-push-card.cjs.entry.js +5 -1
  63. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  64. package/dist/cjs/ix-toast-container.cjs.entry.js +4 -3
  65. package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
  66. package/dist/cjs/ix-toast.cjs.entry.js +6 -2
  67. package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
  68. package/dist/cjs/loader.cjs.js +1 -1
  69. package/dist/cjs/siemens-ix.cjs.js +1 -1
  70. package/dist/cjs/{theme-switcher-76Td30il.js → theme-switcher-BCyZa6wG.js} +15 -5
  71. package/dist/cjs/theme-switcher-BCyZa6wG.js.map +1 -0
  72. package/dist/collection/components/action-card/action-card.js +25 -1
  73. package/dist/collection/components/action-card/action-card.js.map +1 -1
  74. package/dist/collection/components/card/card.css +49 -0
  75. package/dist/collection/components/card/card.js +27 -2
  76. package/dist/collection/components/card/card.js.map +1 -1
  77. package/dist/collection/components/dropdown-button/dropdown-button.js +8 -4
  78. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  79. package/dist/collection/components/dropdown-item/dropdown-item.js +10 -4
  80. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  81. package/dist/collection/components/menu/menu.js +21 -12
  82. package/dist/collection/components/menu/menu.js.map +1 -1
  83. package/dist/collection/components/message-bar/message-bar.css +0 -11
  84. package/dist/collection/components/pane-layout/pane-layout.js +2 -1
  85. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  86. package/dist/collection/components/push-card/push-card.js +25 -1
  87. package/dist/collection/components/push-card/push-card.js.map +1 -1
  88. package/dist/collection/components/toast/toast-container.js +4 -3
  89. package/dist/collection/components/toast/toast-container.js.map +1 -1
  90. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  91. package/dist/collection/components/toast/toast.js +26 -2
  92. package/dist/collection/components/toast/toast.js.map +1 -1
  93. package/dist/collection/components/utils/theme-switcher.js +13 -3
  94. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  95. package/dist/esm/index.js +1 -1
  96. package/dist/esm/index.js.map +1 -1
  97. package/dist/esm/ix-action-card.entry.js +5 -1
  98. package/dist/esm/ix-action-card.entry.js.map +1 -1
  99. package/dist/esm/ix-application.entry.js +1 -1
  100. package/dist/esm/ix-card.ix-card-content.entry.js.map +1 -1
  101. package/dist/esm/ix-card_2.entry.js +8 -3
  102. package/dist/esm/ix-dropdown-button.entry.js +7 -3
  103. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  104. package/dist/esm/ix-dropdown-item.entry.js +9 -3
  105. package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
  106. package/dist/esm/ix-menu.entry.js +20 -13
  107. package/dist/esm/ix-menu.entry.js.map +1 -1
  108. package/dist/esm/ix-message-bar.entry.js +1 -1
  109. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  110. package/dist/esm/ix-pane-layout.entry.js +2 -1
  111. package/dist/esm/ix-pane-layout.entry.js.map +1 -1
  112. package/dist/esm/ix-push-card.entry.js +5 -1
  113. package/dist/esm/ix-push-card.entry.js.map +1 -1
  114. package/dist/esm/ix-toast-container.entry.js +4 -3
  115. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  116. package/dist/esm/ix-toast.entry.js +6 -2
  117. package/dist/esm/ix-toast.entry.js.map +1 -1
  118. package/dist/esm/loader.js +1 -1
  119. package/dist/esm/siemens-ix.js +1 -1
  120. package/dist/esm/{theme-switcher-DRqJGlG2.js → theme-switcher-EbjilqRl.js} +15 -5
  121. package/dist/esm/theme-switcher-EbjilqRl.js.map +1 -0
  122. package/dist/siemens-ix/index.esm.js +1 -1
  123. package/dist/siemens-ix/index.esm.js.map +1 -1
  124. package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
  125. package/dist/siemens-ix/ix-card.ix-card-content.entry.esm.js.map +1 -1
  126. package/dist/siemens-ix/ix-dropdown-button.entry.esm.js.map +1 -1
  127. package/dist/siemens-ix/ix-dropdown-item.entry.esm.js.map +1 -1
  128. package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
  129. package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
  130. package/dist/siemens-ix/ix-pane-layout.entry.esm.js.map +1 -1
  131. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  132. package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
  133. package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
  134. package/dist/siemens-ix/p-0063d077.entry.js +2 -0
  135. package/dist/siemens-ix/p-0063d077.entry.js.map +1 -0
  136. package/dist/siemens-ix/{p-6dc6eb63.entry.js → p-01e16377.entry.js} +2 -2
  137. package/dist/siemens-ix/{p-6dc6eb63.entry.js.map → p-01e16377.entry.js.map} +1 -1
  138. package/dist/siemens-ix/p-2e1bb4bf.entry.js +2 -0
  139. package/dist/siemens-ix/p-2e1bb4bf.entry.js.map +1 -0
  140. package/dist/siemens-ix/p-3c297dc0.entry.js +2 -0
  141. package/dist/siemens-ix/p-3c297dc0.entry.js.map +1 -0
  142. package/dist/siemens-ix/p-3ca8fd00.entry.js +2 -0
  143. package/dist/siemens-ix/p-3ca8fd00.entry.js.map +1 -0
  144. package/dist/siemens-ix/{p-367df024.entry.js → p-84178b22.entry.js} +2 -2
  145. package/dist/siemens-ix/p-84178b22.entry.js.map +1 -0
  146. package/dist/siemens-ix/p-944a39a6.entry.js +2 -0
  147. package/dist/siemens-ix/p-944a39a6.entry.js.map +1 -0
  148. package/dist/siemens-ix/{p-b76df1c7.entry.js → p-9f7d9525.entry.js} +2 -2
  149. package/dist/siemens-ix/p-9f7d9525.entry.js.map +1 -0
  150. package/dist/siemens-ix/p-G5i1Siog.js +2 -0
  151. package/dist/siemens-ix/p-G5i1Siog.js.map +1 -0
  152. package/dist/siemens-ix/{p-8f17f6ec.entry.js → p-ec9dc8d8.entry.js} +2 -2
  153. package/dist/siemens-ix/p-ec9dc8d8.entry.js.map +1 -0
  154. package/dist/siemens-ix/{p-35d6b656.entry.js → p-f5dd421a.entry.js} +2 -2
  155. package/dist/siemens-ix/{p-b8f4b001.entry.js → p-f5f9940c.entry.js} +2 -2
  156. package/dist/siemens-ix/p-f5f9940c.entry.js.map +1 -0
  157. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  158. package/dist/types/components/action-card/action-card.d.ts +4 -0
  159. package/dist/types/components/card/card.d.ts +4 -0
  160. package/dist/types/components/menu/menu.d.ts +1 -0
  161. package/dist/types/components/push-card/push-card.d.ts +4 -0
  162. package/dist/types/components/toast/toast-utils.d.ts +4 -0
  163. package/dist/types/components/toast/toast.d.ts +4 -0
  164. package/dist/types/components.d.ts +40 -0
  165. package/hydrate/index.js +88 -40
  166. package/hydrate/index.mjs +88 -40
  167. package/package.json +1 -1
  168. package/components/p-BLeWaHpy.js.map +0 -1
  169. package/components/p-CsHYWHE6.js.map +0 -1
  170. package/components/p-DlVaL0Yi.js.map +0 -1
  171. package/components/p-hwPzPVf8.js.map +0 -1
  172. package/dist/cjs/theme-switcher-76Td30il.js.map +0 -1
  173. package/dist/esm/theme-switcher-DRqJGlG2.js.map +0 -1
  174. package/dist/siemens-ix/p-0d621531.entry.js +0 -2
  175. package/dist/siemens-ix/p-0d621531.entry.js.map +0 -1
  176. package/dist/siemens-ix/p-2597a988.entry.js +0 -2
  177. package/dist/siemens-ix/p-2597a988.entry.js.map +0 -1
  178. package/dist/siemens-ix/p-33fcea65.entry.js +0 -2
  179. package/dist/siemens-ix/p-33fcea65.entry.js.map +0 -1
  180. package/dist/siemens-ix/p-367df024.entry.js.map +0 -1
  181. package/dist/siemens-ix/p-37bd983a.entry.js +0 -2
  182. package/dist/siemens-ix/p-37bd983a.entry.js.map +0 -1
  183. package/dist/siemens-ix/p-8f17f6ec.entry.js.map +0 -1
  184. package/dist/siemens-ix/p-CsHYWHE6.js +0 -2
  185. package/dist/siemens-ix/p-CsHYWHE6.js.map +0 -1
  186. package/dist/siemens-ix/p-b76df1c7.entry.js.map +0 -1
  187. package/dist/siemens-ix/p-b8f4b001.entry.js.map +0 -1
  188. package/dist/siemens-ix/p-c1160cf8.entry.js +0 -2
  189. package/dist/siemens-ix/p-c1160cf8.entry.js.map +0 -1
  190. /package/dist/siemens-ix/{p-35d6b656.entry.js.map → p-f5dd421a.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ix-dropdown-button.entry.js","sources":["src/components/dropdown-button/dropdown-button.scss?tag=ix-dropdown-button&encapsulation=shadow","src/components/dropdown-button/dropdown-button.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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n@mixin triangle($name: '') {\n @if ($name != '') {\n $name: '#{$name}-';\n }\n\n .triangle.#{$name}primary {\n color: var(--theme-btn-#{$name}primary--color);\n }\n .triangle.#{$name}secondary {\n color: var(--theme-btn-#{$name}secondary--color);\n }\n .triangle.#{$name}tertiary {\n color: var(--theme-btn-#{$name}tertiary--color);\n }\n\n .triangle.#{$name}primary.disabled {\n color: var(--theme-btn-#{$name}primary--color--disabled);\n }\n .triangle.#{$name}secondary.disabled {\n color: var(--theme-btn-#{$name}secondary--color--disabled);\n }\n .triangle.#{$name}tertiary.disabled {\n color: var(--theme-btn-#{$name}tertiary--color--disabled);\n }\n}\n\n:host {\n display: inline-block;\n position: relative;\n height: vars.$x-large-space;\n width: auto;\n\n @include component.ix-component;\n\n .hide {\n display: none;\n }\n\n .dropdown-button {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n .dropdown-button > ix-button {\n width: 100%;\n height: 100%;\n }\n\n .dropdown-button .button-label {\n margin-right: auto;\n min-width: 0px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .dropdown-button .dropdown-icon {\n margin-right: 0.25rem;\n }\n\n .triangle {\n position: absolute;\n margin-inline-start: 1.5625rem;\n margin-block-start: -0.4375rem;\n border-right: 0 solid transparent;\n border-left: 4px solid transparent;\n border-top: 0 solid transparent;\n border-bottom: 4px solid;\n color: var(--theme-btn-primary--color);\n }\n\n @include triangle();\n @include triangle('subtle');\n @include triangle('danger');\n\n .content {\n display: flex;\n align-items: center;\n }\n}\n\n:host(.disabled) {\n pointer-events: 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 { Component, Element, h, Host, Prop, State } from '@stencil/core';\nimport { AlignedPlacement } from '../dropdown/placement';\nimport {\n iconChevronDownSmall,\n iconChevronUpSmall,\n} from '@siemens/ix-icons/icons';\nimport { makeRef } from '../utils/make-ref';\nimport type { DropdownButtonVariant } from './dropdown-button.types';\n\n@Component({\n tag: 'ix-dropdown-button',\n styleUrl: 'dropdown-button.scss',\n shadow: true,\n})\nexport class DropdownButton {\n @Element() hostElement!: HTMLIxDropdownButtonElement;\n\n /**\n * Button variant\n */\n @Prop() variant: DropdownButtonVariant = 'primary';\n\n /**\n * Disable button\n */\n @Prop() disabled = false;\n\n /**\n * Set label\n */\n @Prop() label?: string;\n\n /**\n * Button icon\n */\n @Prop() icon?: string;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n */\n @Prop() closeBehavior: 'inside' | 'outside' | 'both' | boolean = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement?: AlignedPlacement;\n\n /**\n * ARIA label for the dropdown button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelDropdownButton?: string;\n\n @State() dropdownShow = false;\n\n private readonly dropdownAnchor = makeRef<HTMLElement>();\n\n private getTriangle() {\n return (\n <div\n class={{\n triangle: true,\n [this.variant]: true,\n hide: !!this.label,\n disabled: this.disabled,\n }}\n ></div>\n );\n }\n\n private readonly onDropdownShowChanged = (event: CustomEvent<boolean>) => {\n this.dropdownShow = event.detail;\n };\n\n render() {\n return (\n <Host\n class={{\n disabled: this.disabled,\n }}\n ref={this.dropdownAnchor}\n >\n <div class=\"dropdown-button\">\n {this.label ? (\n <ix-button\n variant={this.variant}\n disabled={this.disabled}\n alignment=\"start\"\n ariaLabel={this.ariaLabelDropdownButton}\n >\n <div class={'content'}>\n {this.icon ? (\n <ix-icon\n name={this.icon}\n size=\"24\"\n class={'dropdown-icon'}\n ></ix-icon>\n ) : null}\n <div class={'button-label'}>{this.label}</div>\n <ix-icon\n name={\n this.dropdownShow\n ? iconChevronUpSmall\n : iconChevronDownSmall\n }\n size=\"24\"\n ></ix-icon>\n </div>\n </ix-button>\n ) : (\n <div>\n <ix-icon-button\n icon={this.icon}\n variant={this.variant}\n disabled={this.disabled}\n ></ix-icon-button>\n {this.getTriangle()}\n </div>\n )}\n </div>\n\n <ix-dropdown\n class=\"dropdown\"\n trigger={this.dropdownAnchor.waitForCurrent()}\n placement={this.placement}\n closeBehavior={this.closeBehavior}\n onShowChanged={this.onDropdownShowChanged}\n >\n <slot></slot>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,iBAAiB,GAAG,w9FAAw9F;;MCuBr+F,cAAc,GAAA,MAAA;AAL3B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAQE;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAA0B,SAAS;AAElD;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAYxB;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAA4C,MAAM;AAe9D,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK;AAEZ,QAAA,IAAc,CAAA,cAAA,GAAG,OAAO,EAAe;AAevC,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AACvE,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM;AAClC,SAAC;AA6DF;IA5ES,WAAW,GAAA;AACjB,QAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI;AACpB,gBAAA,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EAAA,CACI;;IAQX,MAAM,GAAA;QACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EACD,GAAG,EAAE,IAAI,CAAC,cAAc,EAAA,EAExB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,iBAAiB,EAAA,EACzB,IAAI,CAAC,KAAK,IACT,CACE,CAAA,WAAA,EAAA,EAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAA,EAEvC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,SAAS,EAAA,EAClB,IAAI,CAAC,IAAI,IACR,CACE,CAAA,SAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,eAAe,EAAA,CACb,IACT,IAAI,EACR,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,cAAc,IAAG,IAAI,CAAC,KAAK,CAAO,EAC9C,CAAA,CAAA,SAAA,EAAA,EACE,IAAI,EACF,IAAI,CAAC;AACH,kBAAE;kBACA,oBAAoB,EAE1B,IAAI,EAAC,IAAI,EACA,CAAA,CACP,CACI,KAEZ,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAA,CAAA,gBAAA,EAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACP,CAAA,EACjB,IAAI,CAAC,WAAW,EAAE,CACf,CACP,CACG,EAEN,CAAA,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,UAAU,EAChB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAC7C,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,aAAa,EAAE,IAAI,CAAC,qBAAqB,EAAA,EAEzC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACD,CACT;;;;;;;;"}
1
+ {"version":3,"file":"ix-dropdown-button.entry.js","sources":["src/components/dropdown-button/dropdown-button.scss?tag=ix-dropdown-button&encapsulation=shadow","src/components/dropdown-button/dropdown-button.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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n@mixin triangle($name: '') {\n @if ($name != '') {\n $name: '#{$name}-';\n }\n\n .triangle.#{$name}primary {\n color: var(--theme-btn-#{$name}primary--color);\n }\n .triangle.#{$name}secondary {\n color: var(--theme-btn-#{$name}secondary--color);\n }\n .triangle.#{$name}tertiary {\n color: var(--theme-btn-#{$name}tertiary--color);\n }\n\n .triangle.#{$name}primary.disabled {\n color: var(--theme-btn-#{$name}primary--color--disabled);\n }\n .triangle.#{$name}secondary.disabled {\n color: var(--theme-btn-#{$name}secondary--color--disabled);\n }\n .triangle.#{$name}tertiary.disabled {\n color: var(--theme-btn-#{$name}tertiary--color--disabled);\n }\n}\n\n:host {\n display: inline-block;\n position: relative;\n height: vars.$x-large-space;\n width: auto;\n\n @include component.ix-component;\n\n .hide {\n display: none;\n }\n\n .dropdown-button {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n .dropdown-button > ix-button {\n width: 100%;\n height: 100%;\n }\n\n .dropdown-button .button-label {\n margin-right: auto;\n min-width: 0px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .dropdown-button .dropdown-icon {\n margin-right: 0.25rem;\n }\n\n .triangle {\n position: absolute;\n margin-inline-start: 1.5625rem;\n margin-block-start: -0.4375rem;\n border-right: 0 solid transparent;\n border-left: 4px solid transparent;\n border-top: 0 solid transparent;\n border-bottom: 4px solid;\n color: var(--theme-btn-primary--color);\n }\n\n @include triangle();\n @include triangle('subtle');\n @include triangle('danger');\n\n .content {\n display: flex;\n align-items: center;\n }\n}\n\n:host(.disabled) {\n pointer-events: 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 { Component, Element, h, Host, Prop, State } from '@stencil/core';\nimport { AlignedPlacement } from '../dropdown/placement';\nimport {\n iconChevronDownSmall,\n iconChevronUpSmall,\n} from '@siemens/ix-icons/icons';\nimport { makeRef } from '../utils/make-ref';\nimport type { DropdownButtonVariant } from './dropdown-button.types';\nimport { a11yBoolean } from '../utils/a11y';\n\n@Component({\n tag: 'ix-dropdown-button',\n styleUrl: 'dropdown-button.scss',\n shadow: true,\n})\nexport class DropdownButton {\n @Element() hostElement!: HTMLIxDropdownButtonElement;\n\n /**\n * Button variant\n */\n @Prop() variant: DropdownButtonVariant = 'primary';\n\n /**\n * Disable button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Set label\n */\n @Prop() label?: string;\n\n /**\n * Button icon\n */\n @Prop() icon?: string;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n */\n @Prop() closeBehavior: 'inside' | 'outside' | 'both' | boolean = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement?: AlignedPlacement;\n\n /**\n * ARIA label for the dropdown button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelDropdownButton?: string;\n\n @State() dropdownShow = false;\n\n private readonly dropdownAnchor = makeRef<HTMLElement>();\n\n private getTriangle() {\n return (\n <div\n class={{\n triangle: true,\n [this.variant]: true,\n hide: !!this.label,\n disabled: this.disabled,\n }}\n ></div>\n );\n }\n\n private readonly onDropdownShowChanged = (event: CustomEvent<boolean>) => {\n if (this.disabled && event.detail) {\n return;\n }\n this.dropdownShow = event.detail;\n };\n\n render() {\n return (\n <Host\n aria-disabled={a11yBoolean(this.disabled)}\n class={{\n disabled: this.disabled,\n }}\n ref={this.dropdownAnchor}\n >\n <div class=\"dropdown-button\">\n {this.label ? (\n <ix-button\n variant={this.variant}\n disabled={this.disabled}\n alignment=\"start\"\n ariaLabel={this.ariaLabelDropdownButton}\n tabIndex={this.disabled ? -1 : 0}\n >\n <div class={'content'}>\n {this.icon ? (\n <ix-icon\n name={this.icon}\n size=\"24\"\n class={'dropdown-icon'}\n ></ix-icon>\n ) : null}\n <div class={'button-label'}>{this.label}</div>\n <ix-icon\n name={\n this.dropdownShow\n ? iconChevronUpSmall\n : iconChevronDownSmall\n }\n size=\"24\"\n ></ix-icon>\n </div>\n </ix-button>\n ) : (\n <div>\n <ix-icon-button\n icon={this.icon}\n variant={this.variant}\n disabled={this.disabled}\n tabIndex={this.disabled ? -1 : 0}\n ></ix-icon-button>\n {this.getTriangle()}\n </div>\n )}\n </div>\n\n <ix-dropdown\n class=\"dropdown\"\n trigger={this.dropdownAnchor.waitForCurrent()}\n placement={this.placement}\n closeBehavior={this.closeBehavior}\n onShowChanged={this.onDropdownShowChanged}\n >\n <slot></slot>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-CtoreFVF.js';
2
2
  import { N as iconSingleCheck, v as iconChevronRightSmall } from './index-8HpPmDK_.js';
3
+ import { a as a11yBoolean } from './a11y-Bb7pDeaQ.js';
3
4
 
4
5
  const dropdownItemCss = ":host{--ix-dropdown-item-checked-color:var(--theme-color-primary);display:flex;flex-direction:row;position:relative;height:2.5rem;width:auto;overflow:hidden;cursor:pointer}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-item{all:unset;display:flex;flex-direction:row;align-items:center;position:relative;height:calc(100% - 2px);border:0.0625rem solid transparent;white-space:nowrap;width:calc(100% - 0.5rem - 1.5rem);padding:0 0.5rem;padding-right:1.5rem}:host .dropdown-item.no-checked-field{width:calc(100% - 1rem - 1.5rem);padding:0 1rem;padding-right:1.5rem}:host .dropdown-item:focus-visible{border-color:var(--theme-color-focus-bdr)}:host .dropdown-item-checked{display:flex;align-items:center;justify-content:center;position:relative;height:100%;width:1rem;min-width:1rem;margin-right:0.5rem;color:var(--ix-dropdown-item-checked-color)}:host .dropdown-item-icon{margin-right:0.5rem;color:var(--theme-color-std-text)}:host .dropdown-item-text{display:block;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:pre}:host .submenu-icon{margin-left:auto}:host(.icon-only) .dropdown-item-icon{margin-right:0px}:host(.icon-only) .dropdown-item-checked{display:none}:host(.icon-only) .dropdown-item{width:calc(100% - 0.5rem - 0.5rem);padding:0 0.5rem;padding-right:0.5rem}:host(.submenu) .dropdown-item{width:calc(100% - 0.5rem - 0.5rem);padding:0 0.5rem;padding-right:0.5rem}:host(:not(.disabled):not(:disabled).hover),:host(:not(.disabled):not(:disabled):hover){background-color:var(--theme-ghost--background--hover)}:host(:not(.disabled):not(:disabled).active),:host(:not(.disabled):not(:disabled):active){background-color:var(--theme-ghost--background--active)}:host(.disabled){pointer-events:none;color:var(--theme-color-weak-text) !important}:host(.disabled) .dropdown-item-icon{color:var(--theme-color-weak-text) !important}";
5
6
 
@@ -38,15 +39,20 @@ const DropdownItem = class {
38
39
  this.icon !== undefined);
39
40
  }
40
41
  render() {
41
- return (h(Host, { key: '4683b34a35d26f4cdce448ed24cdc5115f838fed', class: {
42
+ return (h(Host, { key: '89d6023460273b60bf52f129e456e0d92e51c09d', class: {
42
43
  hover: this.hover,
43
44
  'icon-only': this.isIconOnly(),
44
45
  disabled: this.disabled,
45
46
  submenu: this.isSubMenu,
46
- }, role: "listitem" }, h("button", { key: 'a655623c265f18e805a0f60a093dd4ac565ab35c', type: "button", tabIndex: 0, class: {
47
+ }, role: "listitem" }, h("button", { key: '32feebb5d24eb19af7b5081c4f771a489913180f', type: "button", tabIndex: this.disabled ? -1 : 0, class: {
47
48
  'dropdown-item': true,
48
49
  'no-checked-field': this.suppressChecked,
49
- }, onClick: () => this.emitItemClick(), "aria-label": this.ariaLabelButton }, !this.suppressChecked ? (h("div", { class: "dropdown-item-checked" }, this.checked ? (h("ix-icon", { class: "checkmark", name: iconSingleCheck, size: "16" })) : null)) : null, this.icon ? (h("ix-icon", { class: "dropdown-item-icon", name: this.icon, "aria-label": this.ariaLabelIcon })) : null, h("div", { key: 'd88e90650387ce4dd0d440fe03bf21c19c785709', class: "dropdown-item-text" }, this.label, h("slot", { key: 'd892aabbb2e268d36c348b800c043d08f2ceef83' })), this.isSubMenu ? (h("ix-icon", { name: iconChevronRightSmall, class: 'submenu-icon' })) : null)));
50
+ disabled: this.disabled,
51
+ }, onClick: () => {
52
+ if (!this.disabled) {
53
+ this.emitItemClick();
54
+ }
55
+ }, "aria-label": this.ariaLabelButton, "aria-disabled": a11yBoolean(this.disabled), disabled: this.disabled }, !this.suppressChecked ? (h("div", { class: "dropdown-item-checked" }, this.checked ? (h("ix-icon", { class: "checkmark", name: iconSingleCheck, size: "16" })) : null)) : null, this.icon ? (h("ix-icon", { class: "dropdown-item-icon", name: this.icon, "aria-label": this.ariaLabelIcon })) : null, h("div", { key: 'dbc0b8352eb200eca806604da06e884bc398c5f0', class: "dropdown-item-text" }, this.label, h("slot", { key: 'e9a0a489086d0990f613b9e44fbe16cd00a0794b' })), this.isSubMenu ? (h("ix-icon", { name: iconChevronRightSmall, class: 'submenu-icon' })) : null)));
50
56
  }
51
57
  get hostElement() { return getElement(this); }
52
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ix-dropdown-item.entry.js","sources":["src/components/dropdown-item/dropdown-item.scss?tag=ix-dropdown-item&encapsulation=shadow","src/components/dropdown-item/dropdown-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@use 'mixins/shadow-dom/component';\n@use 'mixins/shadow-dom/hover';\n\n$itemPadding: 0.5rem;\n$itemPaddingRight: 1.5rem;\n$focusBorder: 0.0625rem;\n\n@mixin applyItemWidth($padding, $paddingRight) {\n width: calc(100% - #{$padding} - #{$paddingRight});\n\n padding: 0 $padding;\n padding-right: $paddingRight;\n}\n\n:host {\n --ix-dropdown-item-checked-color: var(--theme-color-primary);\n\n display: flex;\n flex-direction: row;\n\n position: relative;\n height: 2.5rem;\n width: auto;\n overflow: hidden;\n cursor: pointer;\n\n @include component.ix-component;\n\n .dropdown-item {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n position: relative;\n height: calc(100% - 2px);\n border: $focusBorder solid transparent;\n white-space: nowrap;\n\n @include applyItemWidth($itemPadding, $itemPaddingRight);\n }\n\n .dropdown-item.no-checked-field {\n @include applyItemWidth(1rem, $itemPaddingRight);\n }\n\n .dropdown-item:focus-visible {\n border-color: var(--theme-color-focus-bdr);\n }\n\n .dropdown-item-checked {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n height: 100%;\n width: 1rem;\n min-width: 1rem;\n margin-right: 0.5rem;\n\n color: var(--ix-dropdown-item-checked-color);\n }\n\n .dropdown-item-icon {\n margin-right: 0.5rem;\n color: var(--theme-color-std-text);\n }\n\n .dropdown-item-text {\n display: block;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n\n .submenu-icon {\n margin-left: auto;\n }\n}\n\n:host(.icon-only) {\n .dropdown-item-icon {\n margin-right: 0px;\n }\n\n .dropdown-item-checked {\n display: none;\n }\n\n .dropdown-item {\n @include applyItemWidth(0.5rem, 0.5rem);\n }\n}\n\n:host(.submenu) {\n .dropdown-item {\n @include applyItemWidth($itemPadding, 0.5rem);\n }\n}\n\n@include hover.ghost-hover-pressed;\n\n:host(.disabled) {\n pointer-events: none;\n color: var(--theme-color-weak-text) !important;\n\n .dropdown-item-icon {\n color: var(--theme-color-weak-text) !important;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\nimport {\n iconChevronRightSmall,\n iconSingleCheck,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-dropdown-item',\n styleUrl: 'dropdown-item.scss',\n shadow: true,\n})\nexport class DropdownItem implements DropdownItemWrapper {\n @Element() hostElement!: HTMLIxDropdownItemElement;\n\n /**\n * Label of dropdown item\n */\n @Prop() label?: string;\n\n /**\n * Icon of dropdown item\n */\n @Prop() icon?: string;\n\n /**\n * ARIA label for the icon\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * ARIA label for the item's button\n * Will be set as aria-label for the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelButton?: string;\n\n /**\n * Display hover state\n */\n @Prop() hover = false;\n\n /**\n * Disable item and remove event listeners\n */\n @Prop() disabled = false;\n\n /**\n * Whether the item is checked or not. If true a checkmark will mark the item as checked.\n */\n @Prop() checked = false;\n\n /** @internal */\n @Prop() isSubMenu = false;\n\n /** @internal */\n @Prop() suppressChecked = false;\n\n /** @internal */\n @Event() itemClick!: EventEmitter<HTMLIxDropdownItemElement>;\n\n /** @internal */\n @Method()\n async emitItemClick() {\n this.itemClick.emit(this.hostElement);\n }\n\n /** @internal */\n @Method()\n async getDropdownItemElement() {\n return this.hostElement;\n }\n\n private isIconOnly() {\n return (\n this.label === undefined &&\n this.hostElement.innerText === '' &&\n this.icon !== undefined\n );\n }\n\n render() {\n return (\n <Host\n class={{\n hover: this.hover,\n 'icon-only': this.isIconOnly(),\n disabled: this.disabled,\n submenu: this.isSubMenu,\n }}\n role=\"listitem\"\n >\n <button\n type=\"button\"\n tabIndex={0}\n class={{\n 'dropdown-item': true,\n 'no-checked-field': this.suppressChecked,\n }}\n onClick={() => this.emitItemClick()}\n aria-label={this.ariaLabelButton}\n >\n {!this.suppressChecked ? (\n <div class=\"dropdown-item-checked\">\n {this.checked ? (\n <ix-icon\n class=\"checkmark\"\n name={iconSingleCheck}\n size=\"16\"\n ></ix-icon>\n ) : null}\n </div>\n ) : null}\n {this.icon ? (\n <ix-icon\n class=\"dropdown-item-icon\"\n name={this.icon}\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n ) : null}\n <div class=\"dropdown-item-text\">\n {this.label}\n <slot></slot>\n </div>\n {this.isSubMenu ? (\n <ix-icon\n name={iconChevronRightSmall}\n class={'submenu-icon'}\n ></ix-icon>\n ) : null}\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,6iFAA6iF;;MC8BxjF,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AA+BE;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK;AAErB;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAExB;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;;AAGf,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;;AAGjB,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK;AA8EhC;;AAvEC,IAAA,MAAM,aAAa,GAAA;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;AAKvC,IAAA,MAAM,sBAAsB,GAAA;QAC1B,OAAO,IAAI,CAAC,WAAW;;IAGjB,UAAU,GAAA;AAChB,QAAA,QACE,IAAI,CAAC,KAAK,KAAK,SAAS;AACxB,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,EAAE;AACjC,YAAA,IAAI,CAAC,IAAI,KAAK,SAAS;;IAI3B,MAAM,GAAA;QACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,gBAAA,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,SAAS;aACxB,EACD,IAAI,EAAC,UAAU,EAAA,EAEf,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE;AACL,gBAAA,eAAe,EAAE,IAAI;gBACrB,kBAAkB,EAAE,IAAI,CAAC,eAAe;AACzC,aAAA,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,EAAA,YAAA,EACvB,IAAI,CAAC,eAAe,EAAA,EAE/B,CAAC,IAAI,CAAC,eAAe,IACpB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,OAAO,IACX,CACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAC,IAAI,EAAA,CACA,IACT,IAAI,CACJ,IACJ,IAAI,EACP,IAAI,CAAC,IAAI,IACR,CACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,YAAA,EACH,IAAI,CAAC,aAAa,EAAA,CACrB,IACT,IAAI,EACR,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC5B,IAAI,CAAC,KAAK,EACX,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACL,IAAI,CAAC,SAAS,IACb,CAAA,CAAA,SAAA,EAAA,EACE,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,cAAc,EACZ,CAAA,IACT,IAAI,CACD,CACJ;;;;;;;;"}
1
+ {"version":3,"file":"ix-dropdown-item.entry.js","sources":["src/components/dropdown-item/dropdown-item.scss?tag=ix-dropdown-item&encapsulation=shadow","src/components/dropdown-item/dropdown-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@use 'mixins/shadow-dom/component';\n@use 'mixins/shadow-dom/hover';\n\n$itemPadding: 0.5rem;\n$itemPaddingRight: 1.5rem;\n$focusBorder: 0.0625rem;\n\n@mixin applyItemWidth($padding, $paddingRight) {\n width: calc(100% - #{$padding} - #{$paddingRight});\n\n padding: 0 $padding;\n padding-right: $paddingRight;\n}\n\n:host {\n --ix-dropdown-item-checked-color: var(--theme-color-primary);\n\n display: flex;\n flex-direction: row;\n\n position: relative;\n height: 2.5rem;\n width: auto;\n overflow: hidden;\n cursor: pointer;\n\n @include component.ix-component;\n\n .dropdown-item {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n position: relative;\n height: calc(100% - 2px);\n border: $focusBorder solid transparent;\n white-space: nowrap;\n\n @include applyItemWidth($itemPadding, $itemPaddingRight);\n }\n\n .dropdown-item.no-checked-field {\n @include applyItemWidth(1rem, $itemPaddingRight);\n }\n\n .dropdown-item:focus-visible {\n border-color: var(--theme-color-focus-bdr);\n }\n\n .dropdown-item-checked {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n height: 100%;\n width: 1rem;\n min-width: 1rem;\n margin-right: 0.5rem;\n\n color: var(--ix-dropdown-item-checked-color);\n }\n\n .dropdown-item-icon {\n margin-right: 0.5rem;\n color: var(--theme-color-std-text);\n }\n\n .dropdown-item-text {\n display: block;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n\n .submenu-icon {\n margin-left: auto;\n }\n}\n\n:host(.icon-only) {\n .dropdown-item-icon {\n margin-right: 0px;\n }\n\n .dropdown-item-checked {\n display: none;\n }\n\n .dropdown-item {\n @include applyItemWidth(0.5rem, 0.5rem);\n }\n}\n\n:host(.submenu) {\n .dropdown-item {\n @include applyItemWidth($itemPadding, 0.5rem);\n }\n}\n\n@include hover.ghost-hover-pressed;\n\n:host(.disabled) {\n pointer-events: none;\n color: var(--theme-color-weak-text) !important;\n\n .dropdown-item-icon {\n color: var(--theme-color-weak-text) !important;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\nimport {\n iconChevronRightSmall,\n iconSingleCheck,\n} from '@siemens/ix-icons/icons';\nimport { a11yBoolean } from '../utils/a11y';\n\n@Component({\n tag: 'ix-dropdown-item',\n styleUrl: 'dropdown-item.scss',\n shadow: true,\n})\nexport class DropdownItem implements DropdownItemWrapper {\n @Element() hostElement!: HTMLIxDropdownItemElement;\n\n /**\n * Label of dropdown item\n */\n @Prop() label?: string;\n\n /**\n * Icon of dropdown item\n */\n @Prop() icon?: string;\n\n /**\n * ARIA label for the icon\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * ARIA label for the item's button\n * Will be set as aria-label for the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelButton?: string;\n\n /**\n * Display hover state\n */\n @Prop() hover = false;\n\n /**\n * Disable item and remove event listeners\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Whether the item is checked or not. If true a checkmark will mark the item as checked.\n */\n @Prop() checked = false;\n\n /** @internal */\n @Prop() isSubMenu = false;\n\n /** @internal */\n @Prop() suppressChecked = false;\n\n /** @internal */\n @Event() itemClick!: EventEmitter<HTMLIxDropdownItemElement>;\n\n /** @internal */\n @Method()\n async emitItemClick() {\n this.itemClick.emit(this.hostElement);\n }\n\n /** @internal */\n @Method()\n async getDropdownItemElement() {\n return this.hostElement;\n }\n\n private isIconOnly() {\n return (\n this.label === undefined &&\n this.hostElement.innerText === '' &&\n this.icon !== undefined\n );\n }\n\n render() {\n return (\n <Host\n class={{\n hover: this.hover,\n 'icon-only': this.isIconOnly(),\n disabled: this.disabled,\n submenu: this.isSubMenu,\n }}\n role=\"listitem\"\n >\n <button\n type=\"button\"\n tabIndex={this.disabled ? -1 : 0}\n class={{\n 'dropdown-item': true,\n 'no-checked-field': this.suppressChecked,\n disabled: this.disabled,\n }}\n onClick={() => {\n if (!this.disabled) {\n this.emitItemClick();\n }\n }}\n aria-label={this.ariaLabelButton}\n aria-disabled={a11yBoolean(this.disabled)}\n disabled={this.disabled}\n >\n {!this.suppressChecked ? (\n <div class=\"dropdown-item-checked\">\n {this.checked ? (\n <ix-icon\n class=\"checkmark\"\n name={iconSingleCheck}\n size=\"16\"\n ></ix-icon>\n ) : null}\n </div>\n ) : null}\n {this.icon ? (\n <ix-icon\n class=\"dropdown-item-icon\"\n name={this.icon}\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n ) : null}\n <div class=\"dropdown-item-text\">\n {this.label}\n <slot></slot>\n </div>\n {this.isSubMenu ? (\n <ix-icon\n name={iconChevronRightSmall}\n class={'submenu-icon'}\n ></ix-icon>\n ) : null}\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,6iFAA6iF;;MC+BxjF,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AA+BE;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK;AAErB;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAEzC;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;;AAGf,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;;AAGjB,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK;AAqFhC;;AA9EC,IAAA,MAAM,aAAa,GAAA;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;AAKvC,IAAA,MAAM,sBAAsB,GAAA;QAC1B,OAAO,IAAI,CAAC,WAAW;;IAGjB,UAAU,GAAA;AAChB,QAAA,QACE,IAAI,CAAC,KAAK,KAAK,SAAS;AACxB,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,EAAE;AACjC,YAAA,IAAI,CAAC,IAAI,KAAK,SAAS;;IAI3B,MAAM,GAAA;QACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,gBAAA,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,SAAS;AACxB,aAAA,EACD,IAAI,EAAC,UAAU,EAAA,EAEf,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,KAAK,EAAE;AACL,gBAAA,eAAe,EAAE,IAAI;gBACrB,kBAAkB,EAAE,IAAI,CAAC,eAAe;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EACD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,aAAa,EAAE;;AAExB,aAAC,gBACW,IAAI,CAAC,eAAe,EAAA,eAAA,EACjB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,EAEtB,CAAC,IAAI,CAAC,eAAe,IACpB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,OAAO,IACX,CACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAC,IAAI,EAAA,CACA,IACT,IAAI,CACJ,IACJ,IAAI,EACP,IAAI,CAAC,IAAI,IACR,CACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,YAAA,EACH,IAAI,CAAC,aAAa,EAAA,CACrB,IACT,IAAI,EACR,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC5B,IAAI,CAAC,KAAK,EACX,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACL,IAAI,CAAC,SAAS,IACb,CAAA,CAAA,SAAA,EAAA,EACE,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,cAAc,EACZ,CAAA,IACT,IAAI,CACD,CACJ;;;;;;;;"}
@@ -5,7 +5,7 @@ import { a as useContextConsumer, A as ApplicationLayoutContext } from './contex
5
5
  import { a as applicationLayoutService } from './service-Da0kv8hS.js';
6
6
  import { m as menuController } from './menu-service-BMvtckRa.js';
7
7
  import { c as convertToRemString } from './rwd.util-pXYAoEyc.js';
8
- import { t as themeSwitcher } from './theme-switcher-DRqJGlG2.js';
8
+ import { t as themeSwitcher } from './theme-switcher-EbjilqRl.js';
9
9
  import { P as iconNavigationLeft, Q as iconNavigationRight, e as iconApps, R as iconCogwheel, S as iconLightDark, b as iconInfo } from './index-8HpPmDK_.js';
10
10
  import { A as Animation } from './animation-C5MWUgDN.js';
11
11
  import './modal-BTxff2hq.js';
@@ -104,6 +104,12 @@ const Menu = class {
104
104
  ((_b = (_a = elm.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.style.display) !== 'none');
105
105
  };
106
106
  }
107
+ expandChanged(newExpand, oldExpand) {
108
+ if (newExpand === oldExpand) {
109
+ return;
110
+ }
111
+ this.toggleMenu(newExpand);
112
+ }
107
113
  pinnedChange(newPinned) {
108
114
  this.setPinned(this.pinned);
109
115
  if (newPinned) {
@@ -448,47 +454,48 @@ const Menu = class {
448
454
  }
449
455
  render() {
450
456
  var _a, _b;
451
- return (h(Host, { key: 'b36f27c9c7b9342fd8f984dd5d00ad73d735b2ff', class: {
457
+ return (h(Host, { key: 'ea617374858acbf094cbf397be00f38023c6d09b', class: {
452
458
  expanded: this.expand,
453
459
  [`breakpoint-${this.breakpoint}`]: true,
454
- }, slot: "menu" }, h("nav", { key: '4f4b1378ddfe2cb243d0a5305679c98084490e8b', class: {
460
+ }, slot: "menu" }, h("nav", { key: '49709a839fd53bc53b4f0c100d38ef50a101532e', class: {
455
461
  menu: true,
456
462
  expanded: this.expand,
457
- } }, h("div", { key: '70d117cfe299bdb3f3b0ed9639d5ee83bfc33cf1', class: "menu-buttons" }, this.breakpoint !== 'sm' && (h("ix-menu-expand-icon", { key: 'fa76b253e6cf1ae30e3257cc3c186dc23215b516', breakpoint: this.breakpoint, expanded: this.expand, pinned: this.pinned, class: "menu-expand-icon", ixAriaLabel: this.i18nExpandSidebar, onClick: async () => this.toggleMenu(), "data-testid": "expand-collapse-menu" })), this.breakpoint === 'sm' &&
458
- ((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) && (h("ix-icon-button", { key: '927aede1c7824c6c21eed072e7dba6db8d5f8df5', onClick: () => {
463
+ } }, h("div", { key: '5cca034b91fabda2f403b2471d9805c96cdadba5', class: "menu-buttons" }, this.breakpoint !== 'sm' && (h("ix-menu-expand-icon", { key: '94d4ff9776c27b9da7d680cef6c346f0469257ba', breakpoint: this.breakpoint, expanded: this.expand, pinned: this.pinned, class: "menu-expand-icon", ixAriaLabel: this.i18nExpandSidebar, onClick: async () => this.toggleMenu(), "data-testid": "expand-collapse-menu" })), this.breakpoint === 'sm' &&
464
+ ((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) && (h("ix-icon-button", { key: 'bb5026487bb57b272cc3c91124f3779959164bc1', onClick: () => {
459
465
  this.showAppSwitch();
460
- }, icon: iconApps, variant: "subtle-tertiary" }))), h("div", { key: '795f32dc8f94404a75c9a0d0cfb7c8e8d429d8d2', id: "menu-tabs", style: {
466
+ }, icon: iconApps, variant: "subtle-tertiary" }))), h("div", { key: '2b4b5b3a0a29e09cfc8f70f79533995f5cd33c99', id: "menu-tabs", style: {
461
467
  display: 'contents',
462
- }, onClick: (e) => this.onMenuItemsClick(e) }, h("div", { key: '4d609cfd70659c0adfcb1cfca0485edff3b05d08', class: "tabs-shadow-container" }, h("div", { key: 'b8b81a13d75c56f9a460f0db382acef185b1c11c', class: {
468
+ }, onClick: (e) => this.onMenuItemsClick(e) }, h("div", { key: '293741c4d4e200853ca2dce4b8c666f5da0e34d5', class: "tabs-shadow-container" }, h("div", { key: '86dd526ec2a8af64abdd6871cb2f759d7c97ee39', class: {
463
469
  'tabs--shadow': true,
464
470
  'tabs--shadow-top': true,
465
471
  'tabs--shadow--show': this.itemsScrollShadowTop,
466
- } }), h("div", { key: '1095f30e782665f9d66d7f2619eb3a68806ccf54', class: {
472
+ } }), h("div", { key: 'e2ba26766b80e0a6c262a2ce42a208f114cdfba6', class: {
467
473
  tabs: true,
468
474
  'show-scrollbar': this.expand,
469
- }, onScroll: () => this.handleOverflowIndicator() }, h("div", { key: '55ec2b8a3b535c8ed7dfc4c80ecdeedf9add4d34', class: "menu-avatar" }, h("slot", { key: 'a893aea63d56c2b4e7fd5997904704639257f65b', name: "ix-menu-avatar" })), h("slot", { key: '85505735fc0f7c9075340389597565bd99e64801', name: "home" }), this.breakpoint !== 'sm' || !this.isHiddenFromViewport() ? (h("slot", null)) : null), h("div", { key: '7a0013bb20500931471b1ee1273615d0ae740d11', class: {
475
+ }, onScroll: () => this.handleOverflowIndicator() }, h("div", { key: 'bef31787f7c96dea8ed99cd90772e5e91e0d004f', class: "menu-avatar" }, h("slot", { key: '688e681120bdb5d51aa8b0944d8894e3b0e9f0e0', name: "ix-menu-avatar" })), h("slot", { key: '6de7b739e8bbeaece6394bf2eca1c0cfdeb9e0c7', name: "home" }), this.breakpoint !== 'sm' || !this.isHiddenFromViewport() ? (h("slot", null)) : null), h("div", { key: '3f5ef7c1085910d0f0af3fce5baf35bac5e5144e', class: {
470
476
  'tabs--shadow': true,
471
477
  'tabs--shadow-bottom': true,
472
478
  'tabs--shadow--show': this.itemsScrollShadowBottom,
473
- } }))), h("div", { key: '92a48e39684e2bbbb6078dcafc5c8b7103a693de', class: "bottom-tab-divider" }), this.settings ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "settings", class: {
479
+ } }))), h("div", { key: 'b4e9db32fce1c63a303f14145e07e528e50e562c', class: "bottom-tab-divider" }), this.settings ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "settings", class: {
474
480
  'internal-tab': true,
475
481
  'bottom-tab': true,
476
482
  active: this.showSettings,
477
- }, icon: iconCogwheel, onClick: async () => this.toggleSettings(!this.showSettings), label: this.i18nSettings })) : null, this.enableToggleTheme ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "toggleTheme", onClick: () => themeSwitcher.toggleMode(), class: "internal-tab bottom-tab", icon: iconLightDark, label: this.i18nToggleTheme })) : null, h("div", { key: '2a5bad2eb493be6ee59fc101fab300bdb154feb0', onClick: (e) => this.onMenuItemsClick(e) }, h("slot", { key: '5a1e19962a88ceeb1f82ac385dba49d0c311e3d7', name: "bottom" })), h("div", { key: '65802881403efad9dbae84ef9bf5d441e3915150', id: "popover-area" }), this.enableMapExpand || ((_b = this.applicationLayoutContext) === null || _b === void 0 ? void 0 : _b.sidebar) ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "menu-collapse", onClick: () => this.sidebarToggle(), class: "internal-tab bottom-tab", icon: `${this.getCollapseIcon()}`, label: this.getCollapseText() })) : null, this.about ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "aboutAndLegal", class: {
483
+ }, icon: iconCogwheel, onClick: async () => this.toggleSettings(!this.showSettings), label: this.i18nSettings })) : null, this.enableToggleTheme ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "toggleTheme", onClick: () => themeSwitcher.toggleMode(), class: "internal-tab bottom-tab", icon: iconLightDark, label: this.i18nToggleTheme })) : null, h("div", { key: '50b48bbaa282e632c32476d2d3590b969d9b67f4', onClick: (e) => this.onMenuItemsClick(e) }, h("slot", { key: '64eead8c650d587783ad39d27429652da7f56962', name: "bottom" })), h("div", { key: '22f7f7d3d7fae907636b474aeb3cdeedc38631f5', id: "popover-area" }), this.enableMapExpand || ((_b = this.applicationLayoutContext) === null || _b === void 0 ? void 0 : _b.sidebar) ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "menu-collapse", onClick: () => this.sidebarToggle(), class: "internal-tab bottom-tab", icon: `${this.getCollapseIcon()}`, label: this.getCollapseText() })) : null, this.about ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "aboutAndLegal", class: {
478
484
  'internal-tab': true,
479
485
  'bottom-tab': true,
480
486
  active: this.showAbout,
481
- }, icon: iconInfo, onClick: async () => this.toggleAbout(!this.showAbout), label: this.i18nLegal })) : null), h("div", { key: 'e6dd7e53abbd5e4ce11cc5d2be882dd52e335275', class: {
487
+ }, icon: iconInfo, onClick: async () => this.toggleAbout(!this.showAbout), label: this.i18nLegal })) : null), h("div", { key: 'dc67e6cddea726b1a6f692f66a268b3d50318d96', class: {
482
488
  'menu-overlay': true,
483
489
  visible: this.isOverlayVisible(),
484
490
  expanded: this.expand,
485
491
  }, onTransitionEnd: () => {
486
492
  this.isTransitionDisabled = true;
487
493
  this.checkTransition();
488
- } }, h("div", { key: 'd8a49e3983b5d060190f1440b4aacd44243894a8', class: 'menu-overlay-container' }, this.showSettings ? h("slot", { name: "ix-menu-settings" }) : null), h("div", { key: '92ddf6c21d3d08c5d1961200ac598a6135c9ef89', class: 'menu-overlay-container' }, this.showAbout ? h("slot", { name: "ix-menu-about" }) : null))));
494
+ } }, h("div", { key: '5222ed73a531d9c59d24feb032ad7e9929f37e5f', class: 'menu-overlay-container' }, this.showSettings ? h("slot", { name: "ix-menu-settings" }) : null), h("div", { key: '1e91deb207ad24f81e5551a788d7e6e79900eb0d', class: 'menu-overlay-container' }, this.showAbout ? h("slot", { name: "ix-menu-about" }) : null))));
489
495
  }
490
496
  get hostElement() { return getElement(this); }
491
497
  static get watchers() { return {
498
+ "expand": ["expandChanged"],
492
499
  "pinned": ["pinnedChange"]
493
500
  }; }
494
501
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ix-menu.entry.js","sources":["src/components/application-sidebar/events.ts","src/components/menu/menu.scss?tag=ix-menu&encapsulation=shadow","src/components/menu/menu.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport class ApplicationSidebarToggleEvent extends Event {\n public constructor(public readonly force?: boolean) {\n super('application-sidebar-toggle', { bubbles: true, composed: true });\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/hover';\n@use 'mixins/shadow-dom/component';\n@use '~animate.css/animate.min';\n\n$menu-expanded-width: 16rem;\n\n:host {\n display: flex;\n flex-direction: row;\n position: absolute;\n height: 100%;\n min-height: min-content;\n z-index: var(--theme-z-index-sticky);\n width: auto;\n\n bottom: 0;\n\n @include component.ix-component;\n\n .tabs {\n height: 100%;\n position: relative;\n overflow-y: auto;\n pointer-events: all;\n\n -ms-overflow-style: none;\n\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .show-scrollbar {\n scrollbar-width: inherit;\n\n &::-webkit-scrollbar {\n display: inherit;\n }\n }\n\n .tabs-shadow-container {\n overflow: hidden;\n display: block;\n position: relative;\n margin-bottom: 0.75rem;\n }\n\n .tabs--shadow {\n opacity: 0;\n position: absolute;\n width: 100%;\n height: 0.625rem;\n\n background: linear-gradient(var(--theme-color-shadow-1), transparent);\n pointer-events: none;\n z-index: var(--theme-z-index-sticky);\n\n transition: opacity var(--theme-default-time);\n }\n .tabs--shadow-top {\n top: 0;\n background: linear-gradient(var(--theme-color-shadow-1), transparent);\n }\n\n .tabs--shadow-bottom {\n bottom: 0;\n background: linear-gradient(transparent, var(--theme-color-shadow-1));\n }\n\n .tabs--shadow--show {\n opacity: 1;\n }\n\n .menu {\n display: flex;\n flex-direction: column;\n position: relative;\n width: calc(3.25rem + var(--ix-application-menu-safe-area-left, 0rem));\n height: 100%;\n padding-block-end: calc(1rem + var(--ix-safe-area-inset-bottom, 0rem));\n overflow: hidden;\n\n padding-left: var(--ix-application-menu-safe-area-left, 0rem);\n\n &.expanded {\n box-shadow: var(--theme-navigation--box-shadow);\n }\n\n background-color: var(--theme-nav--background);\n transition: width var(--theme-default-time) ease-in-out;\n }\n\n .menu-overlay {\n display: none;\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: left var(--theme-default-time) ease-in-out;\n }\n\n .menu-overlay.visible {\n display: block;\n }\n\n .menu.expanded {\n width: $menu-expanded-width;\n }\n\n .menu-overlay.expanded {\n width: calc(100vw - $menu-expanded-width);\n left: $menu-expanded-width;\n }\n\n .menu-overlay-container {\n display: contents;\n }\n\n .menu-avatar {\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: vars.$default-space;\n }\n\n .cui-imprint-product-description {\n margin-bottom: vars.$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 .menu-buttons {\n margin: 0.5rem 0 0 0.625rem;\n }\n\n .menu-buttons > :last-child {\n margin-bottom: 1rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .menu:not(.expanded) {\n width: 0;\n }\n\n .menu-overlay {\n left: 0;\n width: 100vw;\n }\n}\n\n:host(.breakpoint-lg) {\n position: relative;\n\n .menu.expanded {\n box-shadow: none;\n }\n}\n\n:host {\n ::slotted(a[href]) {\n all: unset;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { animate } from 'animejs';\nimport { ApplicationSidebarToggleEvent } from '../application-sidebar/events';\nimport { showAppSwitch } from '../utils/app-switch';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextType, useContextConsumer } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { themeSwitcher } from '../utils/theme-switcher';\nimport {\n iconApps,\n iconCogwheel,\n iconInfo,\n iconLightDark,\n iconNavigationLeft,\n iconNavigationRight,\n} from '@siemens/ix-icons/icons';\nimport Animation from '../utils/animation';\n\n@Component({\n tag: 'ix-menu',\n styleUrl: 'menu.scss',\n shadow: true,\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 /** @internal */\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 * Accessibility i18n label for the burger menu of the sidebar\n */\n @Prop({ attribute: 'i18n-expand-sidebar' }) i18nExpandSidebar =\n 'Expand sidebar';\n\n /**\n * Toggle the expand state of the menu\n */\n @Prop({ mutable: true, reflect: true }) expand = false;\n\n /**\n * If set the menu will be expanded initially. This will only take effect at the breakpoint 'lg'.\n */\n @Prop() startExpanded = false;\n\n /**\n * Menu stays pinned to the left\n */\n @Prop() pinned = false;\n\n @Watch('pinned')\n pinnedChange(newPinned: boolean) {\n this.setPinned(this.pinned);\n if (newPinned) {\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint('lg');\n return;\n }\n\n applicationLayoutService.enableBreakpointDetection();\n }\n\n /**\n * i18n label for 'About & legal information' button\n */\n @Prop({ attribute: 'i18n-legal' }) i18nLegal = 'About & legal information';\n\n /**\n * i18n label for 'Settings' button\n */\n @Prop({ attribute: 'i18n-settings' }) i18nSettings = 'Settings';\n\n /**\n * i18n label for 'Toggle theme' button\n */\n @Prop({ attribute: 'i18n-toggle-theme' }) i18nToggleTheme = 'Toggle theme';\n\n /**\n * i18n label for 'Expand' button\n */\n @Prop({ attribute: 'i18n-expand' }) i18nExpand = ' Expand';\n\n /**\n * i18n label for 'Collapse' button\n */\n @Prop({ attribute: 'i18n-collapse' }) i18nCollapse = 'Collapse';\n\n /**\n * Menu expanded\n */\n @Event() expandChange!: EventEmitter<boolean>;\n\n /**\n * Map Sidebar expanded\n */\n @Event() mapExpandChange!: EventEmitter<boolean>;\n\n /**\n * Event emitted when the app switch button is clicked\n *\n * @since 3.0.0\n */\n @Event() openAppSwitch!: EventEmitter<void>;\n\n /**\n * Event emitted when the settings button is clicked\n * @since 3.0.0\n */\n @Event() openSettings!: EventEmitter<void>;\n\n /**\n * Event emitted when the about button is clicked\n * @since 3.0.0\n */\n @Event() openAbout!: EventEmitter<void>;\n\n @State() showPinned = false;\n @State() mapExpand = true;\n @State() breakpoint: Breakpoint = 'lg';\n @State() itemsScrollShadowTop = false;\n @State() itemsScrollShadowBottom = false;\n @State() applicationLayoutContext?: ContextType<\n typeof ApplicationLayoutContext\n >;\n private isTransitionDisabled = false;\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.shadowRoot!.querySelector('#popover-area');\n }\n\n get menu() {\n return this.hostElement.shadowRoot!.querySelector('.menu');\n }\n\n get menuItemsContainer(): HTMLDivElement {\n return this.menu!.querySelector('.tabs')!;\n }\n\n get overlayContainer() {\n return this.hostElement.shadowRoot!.querySelector(\n '.menu-overlay'\n ) as HTMLDivElement;\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((elm) => this.isVisible(elm as HTMLElement));\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((elm) => this.isVisible(elm as HTMLElement));\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.shadowRoot!.querySelector(\n '.internal-tab ix-dropdown'\n )!;\n }\n\n get isMoreItemsDropdownEmpty(): boolean {\n return (\n this.hostElement.shadowRoot!.querySelectorAll(\n '.internal-tab ix-dropdown .appended'\n ).length === 0\n );\n }\n\n get moreItemsDropdownItems() {\n return this.hostElement.shadowRoot!.querySelectorAll(\n '.internal-tab ix-dropdown ix-menu-item'\n );\n }\n\n get activeMoreTabContainer() {\n return this.hostElement.shadowRoot!.querySelector('.active-more-tab');\n }\n\n get activeMoreTab() {\n return this.hostElement.shadowRoot!.querySelector(\n '.active-more-tab ix-menu-item'\n );\n }\n\n get aboutPopoverContainer(): HTMLElement {\n return this.hostElement.querySelector('.about-news')!;\n }\n\n get aboutNewsPopover(): HTMLIxMenuAboutNewsElement {\n return (\n document.querySelector('ix-menu-about-news') ??\n this.hostElement.querySelector('ix-menu-about-news')!\n );\n }\n\n get aboutTab(): HTMLElement | null {\n return this.hostElement.shadowRoot!.querySelector('#aboutAndLegal');\n }\n\n get about(): HTMLIxMenuAboutElement | null {\n return this.hostElement.querySelector('ix-menu-about');\n }\n\n get settings(): HTMLIxMenuSettingsElement | null {\n return this.hostElement.querySelector('ix-menu-settings');\n }\n\n get isSettingsEmpty(): boolean {\n return (\n Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-menu-settings-item')\n ).length === 0\n );\n }\n\n get tabsContainer() {\n return this.hostElement;\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.handleOverflowIndicator();\n });\n\n if (this.pinned) {\n this.pinnedChange(this.pinned);\n }\n }\n\n componentWillLoad() {\n useContextConsumer(\n this.hostElement,\n ApplicationLayoutContext,\n (ctx) => {\n this.applicationLayoutContext = ctx;\n if (ctx.hideHeader === true) {\n this.onBreakpointChange('md');\n return;\n }\n\n this.onBreakpointChange(applicationLayoutService.breakpoint);\n },\n true\n );\n\n menuController.register(this.hostElement);\n applicationLayoutService.onChange.on((breakpoint) =>\n this.onBreakpointChange(breakpoint)\n );\n this.onBreakpointChange(applicationLayoutService.breakpoint, true);\n }\n\n componentDidRender() {\n if (!this.about && this.aboutNewsPopover) {\n this.aboutNewsPopover.show = false;\n }\n this.appendFragments();\n }\n\n private setPinned(pinned: boolean) {\n this.showPinned = pinned;\n menuController.setIsPinned(pinned);\n }\n\n private onBreakpointChange(mode: Breakpoint, initial = false) {\n if (!this.applicationLayoutContext && mode === 'sm') {\n return;\n }\n\n if (!this.applicationLayoutContext) {\n return;\n }\n\n if (this.applicationLayoutContext.hideHeader && mode === 'sm') {\n return;\n }\n\n this.setPinned(mode === 'lg');\n if (initial || mode !== this.breakpoint)\n this.toggleMenu(mode === 'lg' && this.startExpanded);\n\n this.breakpoint = mode;\n }\n\n private appendFragments() {\n this.appendAboutNewsPopover();\n }\n\n private getAboutPopoverVerticalPosition() {\n const heightArrow = 12;\n const offsetArrow = 6;\n const rectAbout = this.aboutTab?.getBoundingClientRect() || {\n bottom: -window.innerHeight,\n height: 0,\n };\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.aboutNewsPopover || !this.about) {\n return;\n }\n\n this.aboutNewsPopover.style.bottom = this.getAboutPopoverVerticalPosition();\n\n if (!this.popoverArea?.contains(this.aboutNewsPopover)) {\n const showMore = () => {\n if (this.aboutNewsPopover?.aboutItemLabel && this.about) {\n this.about.activeTabLabel = this.aboutNewsPopover.aboutItemLabel;\n this.toggleAbout(true);\n }\n };\n\n this.aboutNewsPopover.addEventListener('showMore', showMore.bind(this));\n document.body.appendChild(this.aboutNewsPopover);\n }\n }\n\n /**\n * Toggle map sidebar expand\n * @param show\n */\n @Method()\n async toggleMapExpand(show?: boolean) {\n if (show !== undefined) {\n this.mapExpand = show;\n } else {\n this.mapExpand = !this.mapExpand;\n }\n }\n\n /**\n * Toggle menu\n * @param show\n */\n @Method()\n async toggleMenu(show?: boolean) {\n const oldExpand = this.expand;\n\n if (show !== undefined) {\n this.expand = show;\n } else {\n this.expand = !this.expand;\n }\n\n if (this.aboutNewsPopover) {\n this.aboutNewsPopover.expanded = this.expand;\n }\n\n const { defaultPrevented } = this.expandChange.emit(this.expand);\n\n if (defaultPrevented) {\n this.expand = oldExpand;\n\n if (this.aboutNewsPopover) {\n this.aboutNewsPopover.expanded = oldExpand;\n }\n\n return;\n }\n\n this.isTransitionDisabled = false;\n this.checkTransition();\n\n if (this.breakpoint == 'sm' && this.expand) {\n setTimeout(() => {\n this.handleOverflowIndicator();\n }, 100);\n }\n }\n\n /**\n * Disable transition of overlay while menu animation is running.\n */\n private checkTransition() {\n const container = this.overlayContainer;\n\n if (!container) {\n return;\n }\n\n if (this.isTransitionDisabled) {\n container.style.transitionProperty = 'left';\n } else {\n container.style.transitionProperty = 'all';\n }\n }\n\n private isOverlayVisible() {\n return this.showAbout || this.showSettings;\n }\n\n /**\n * Toggle Settings tabs\n * @param show\n */\n @Method()\n async toggleSettings(show: boolean) {\n if (!this.settings) {\n return;\n }\n\n const { defaultPrevented } = this.openSettings.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n if (!this.isOverlayVisible()) {\n this.animateOverlayFadeIn();\n }\n\n if (show) {\n this.resetOverlay();\n this.showSettings = show;\n this.settings.show = this.showSettings;\n } else {\n this.onOverlayClose();\n }\n }\n\n /**\n * Toggle About tabs\n * @param show\n */\n @Method()\n async toggleAbout(show: boolean) {\n if (!this.about) {\n return;\n }\n\n const { defaultPrevented } = this.openAbout.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n if (!this.isOverlayVisible()) {\n this.animateOverlayFadeIn();\n }\n\n if (show) {\n this.resetOverlay();\n this.showAbout = show;\n this.about.show = this.showAbout;\n } else {\n this.onOverlayClose();\n }\n }\n\n private resetOverlay() {\n this.showSettings = false;\n this.showAbout = false;\n\n if (this.settings) {\n this.settings.show = false;\n }\n\n if (this.about) {\n this.about.show = false;\n }\n }\n\n private getCollapseText() {\n return this.mapExpand ? this.i18nCollapse : this.i18nExpand;\n }\n\n private getCollapseIcon() {\n return this.mapExpand ? iconNavigationLeft : iconNavigationRight;\n }\n\n private isMenuItemClicked(event: Event) {\n if (event.target instanceof HTMLElement) {\n return event.target.tagName === 'IX-MENU-ITEM';\n }\n\n return false;\n }\n\n @Listen('resize', { target: 'window' })\n private handleOverflowIndicator() {\n const { clientHeight, scrollTop, scrollHeight } = this.menuItemsContainer;\n this.itemsScrollShadowTop = scrollTop > 0;\n this.itemsScrollShadowBottom =\n Math.round(scrollTop + clientHeight) < scrollHeight;\n }\n\n @Listen('close')\n onOverlayClose() {\n this.animateOverlayFadeOut(() => {\n this.resetOverlay();\n });\n }\n\n private animateOverlayFadeIn() {\n requestAnimationFrame(() => {\n animate(this.overlayContainer!, {\n duration: Animation.mediumTime,\n backdropFilter: [0, 'blur(1rem)'],\n translateX: ['-4rem', 0],\n opacity: [0, 1],\n easing: 'easeInSine',\n onBegin: () => {\n if (this.showPinned) {\n return;\n }\n\n this.toggleMenu(false);\n },\n });\n });\n }\n\n private animateOverlayFadeOut(onComplete: Function) {\n requestAnimationFrame(() => {\n animate(this.overlayContainer!, {\n duration: Animation.mediumTime,\n backdropFilter: ['blur(1rem)', 0],\n translateX: [0, '-4rem'],\n opacity: [1, 0],\n easing: 'easeInSine',\n onComplete: () => onComplete(),\n });\n });\n }\n\n private onMenuItemsClick(event: Event) {\n if (this.isMenuItemClicked(event)) {\n if (!this.showPinned) {\n this.toggleMenu(false);\n }\n this.onOverlayClose();\n }\n }\n\n private isHiddenFromViewport() {\n return this.breakpoint === 'sm' && this.expand === false;\n }\n\n private sidebarToggle() {\n this.mapExpandChange.emit(this.mapExpand);\n\n this.hostElement.dispatchEvent(\n new ApplicationSidebarToggleEvent(this.mapExpand)\n );\n }\n\n private async showAppSwitch() {\n const { defaultPrevented } = this.openAppSwitch.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n if (this.applicationLayoutContext?.appSwitchConfig) {\n showAppSwitch(this.applicationLayoutContext.appSwitchConfig);\n }\n }\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expand,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n slot=\"menu\"\n >\n <nav\n class={{\n menu: true,\n expanded: this.expand,\n }}\n >\n <div class=\"menu-buttons\">\n {this.breakpoint !== 'sm' && (\n <ix-menu-expand-icon\n breakpoint={this.breakpoint}\n expanded={this.expand}\n pinned={this.pinned}\n class=\"menu-expand-icon\"\n ixAriaLabel={this.i18nExpandSidebar}\n onClick={async () => this.toggleMenu()}\n data-testid=\"expand-collapse-menu\"\n ></ix-menu-expand-icon>\n )}\n {this.breakpoint === 'sm' &&\n this.applicationLayoutContext?.appSwitchConfig && (\n <ix-icon-button\n onClick={() => {\n this.showAppSwitch();\n }}\n icon={iconApps}\n variant=\"subtle-tertiary\"\n ></ix-icon-button>\n )}\n </div>\n\n <div\n id=\"menu-tabs\"\n style={{\n display: 'contents',\n }}\n onClick={(e) => this.onMenuItemsClick(e)}\n >\n <div class=\"tabs-shadow-container\">\n <div\n class={{\n 'tabs--shadow': true,\n 'tabs--shadow-top': true,\n 'tabs--shadow--show': this.itemsScrollShadowTop,\n }}\n ></div>\n <div\n class={{\n tabs: true,\n 'show-scrollbar': this.expand,\n }}\n onScroll={() => this.handleOverflowIndicator()}\n >\n <div class=\"menu-avatar\">\n <slot name=\"ix-menu-avatar\"></slot>\n </div>\n <slot name=\"home\"></slot>\n {this.breakpoint !== 'sm' || !this.isHiddenFromViewport() ? (\n <slot></slot>\n ) : null}\n </div>\n <div\n class={{\n 'tabs--shadow': true,\n 'tabs--shadow-bottom': true,\n 'tabs--shadow--show': this.itemsScrollShadowBottom,\n }}\n ></div>\n </div>\n </div>\n <div class=\"bottom-tab-divider\"></div>\n {this.settings ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"settings\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showSettings,\n }}\n icon={iconCogwheel}\n onClick={async () => this.toggleSettings(!this.showSettings)}\n label={this.i18nSettings}\n ></ix-menu-item>\n ) : null}\n {this.enableToggleTheme ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"toggleTheme\"\n onClick={() => themeSwitcher.toggleMode()}\n class=\"internal-tab bottom-tab\"\n icon={iconLightDark}\n label={this.i18nToggleTheme}\n ></ix-menu-item>\n ) : null}\n <div onClick={(e) => this.onMenuItemsClick(e)}>\n <slot name=\"bottom\"></slot>\n </div>\n <div id=\"popover-area\"></div>\n {this.enableMapExpand || this.applicationLayoutContext?.sidebar ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"menu-collapse\"\n onClick={() => this.sidebarToggle()}\n class=\"internal-tab bottom-tab\"\n icon={`${this.getCollapseIcon()}`}\n label={this.getCollapseText()}\n ></ix-menu-item>\n ) : null}\n {this.about ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"aboutAndLegal\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showAbout,\n }}\n icon={iconInfo}\n onClick={async () => this.toggleAbout(!this.showAbout)}\n label={this.i18nLegal}\n ></ix-menu-item>\n ) : null}\n </nav>\n <div\n class={{\n 'menu-overlay': true,\n visible: this.isOverlayVisible(),\n expanded: this.expand,\n }}\n onTransitionEnd={() => {\n this.isTransitionDisabled = true;\n this.checkTransition();\n }}\n >\n <div class={'menu-overlay-container'}>\n {this.showSettings ? <slot name=\"ix-menu-settings\"></slot> : null}\n </div>\n <div class={'menu-overlay-container'}>\n {this.showAbout ? <slot name=\"ix-menu-about\"></slot> : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-menu.entry.js","sources":["src/components/application-sidebar/events.ts","src/components/menu/menu.scss?tag=ix-menu&encapsulation=shadow","src/components/menu/menu.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport class ApplicationSidebarToggleEvent extends Event {\n public constructor(public readonly force?: boolean) {\n super('application-sidebar-toggle', { bubbles: true, composed: true });\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/hover';\n@use 'mixins/shadow-dom/component';\n@use '~animate.css/animate.min';\n\n$menu-expanded-width: 16rem;\n\n:host {\n display: flex;\n flex-direction: row;\n position: absolute;\n height: 100%;\n min-height: min-content;\n z-index: var(--theme-z-index-sticky);\n width: auto;\n\n bottom: 0;\n\n @include component.ix-component;\n\n .tabs {\n height: 100%;\n position: relative;\n overflow-y: auto;\n pointer-events: all;\n\n -ms-overflow-style: none;\n\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .show-scrollbar {\n scrollbar-width: inherit;\n\n &::-webkit-scrollbar {\n display: inherit;\n }\n }\n\n .tabs-shadow-container {\n overflow: hidden;\n display: block;\n position: relative;\n margin-bottom: 0.75rem;\n }\n\n .tabs--shadow {\n opacity: 0;\n position: absolute;\n width: 100%;\n height: 0.625rem;\n\n background: linear-gradient(var(--theme-color-shadow-1), transparent);\n pointer-events: none;\n z-index: var(--theme-z-index-sticky);\n\n transition: opacity var(--theme-default-time);\n }\n .tabs--shadow-top {\n top: 0;\n background: linear-gradient(var(--theme-color-shadow-1), transparent);\n }\n\n .tabs--shadow-bottom {\n bottom: 0;\n background: linear-gradient(transparent, var(--theme-color-shadow-1));\n }\n\n .tabs--shadow--show {\n opacity: 1;\n }\n\n .menu {\n display: flex;\n flex-direction: column;\n position: relative;\n width: calc(3.25rem + var(--ix-application-menu-safe-area-left, 0rem));\n height: 100%;\n padding-block-end: calc(1rem + var(--ix-safe-area-inset-bottom, 0rem));\n overflow: hidden;\n\n padding-left: var(--ix-application-menu-safe-area-left, 0rem);\n\n &.expanded {\n box-shadow: var(--theme-navigation--box-shadow);\n }\n\n background-color: var(--theme-nav--background);\n transition: width var(--theme-default-time) ease-in-out;\n }\n\n .menu-overlay {\n display: none;\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: left var(--theme-default-time) ease-in-out;\n }\n\n .menu-overlay.visible {\n display: block;\n }\n\n .menu.expanded {\n width: $menu-expanded-width;\n }\n\n .menu-overlay.expanded {\n width: calc(100vw - $menu-expanded-width);\n left: $menu-expanded-width;\n }\n\n .menu-overlay-container {\n display: contents;\n }\n\n .menu-avatar {\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: vars.$default-space;\n }\n\n .cui-imprint-product-description {\n margin-bottom: vars.$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 .menu-buttons {\n margin: 0.5rem 0 0 0.625rem;\n }\n\n .menu-buttons > :last-child {\n margin-bottom: 1rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .menu:not(.expanded) {\n width: 0;\n }\n\n .menu-overlay {\n left: 0;\n width: 100vw;\n }\n}\n\n:host(.breakpoint-lg) {\n position: relative;\n\n .menu.expanded {\n box-shadow: none;\n }\n}\n\n:host {\n ::slotted(a[href]) {\n all: unset;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { animate } from 'animejs';\nimport { ApplicationSidebarToggleEvent } from '../application-sidebar/events';\nimport { showAppSwitch } from '../utils/app-switch';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextType, useContextConsumer } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { themeSwitcher } from '../utils/theme-switcher';\nimport {\n iconApps,\n iconCogwheel,\n iconInfo,\n iconLightDark,\n iconNavigationLeft,\n iconNavigationRight,\n} from '@siemens/ix-icons/icons';\nimport Animation from '../utils/animation';\n\n@Component({\n tag: 'ix-menu',\n styleUrl: 'menu.scss',\n shadow: true,\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 /** @internal */\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 * Accessibility i18n label for the burger menu of the sidebar\n */\n @Prop({ attribute: 'i18n-expand-sidebar' }) i18nExpandSidebar =\n 'Expand sidebar';\n\n /**\n * Toggle the expand state of the menu\n */\n @Prop({ mutable: true, reflect: true }) expand = false;\n\n @Watch('expand')\n expandChanged(newExpand: boolean, oldExpand: boolean) {\n if (newExpand === oldExpand) {\n return;\n }\n\n this.toggleMenu(newExpand);\n }\n\n /**\n * If set the menu will be expanded initially. This will only take effect at the breakpoint 'lg'.\n */\n @Prop() startExpanded = false;\n\n /**\n * Menu stays pinned to the left\n */\n @Prop() pinned = false;\n\n @Watch('pinned')\n pinnedChange(newPinned: boolean) {\n this.setPinned(this.pinned);\n if (newPinned) {\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint('lg');\n return;\n }\n\n applicationLayoutService.enableBreakpointDetection();\n }\n\n /**\n * i18n label for 'About & legal information' button\n */\n @Prop({ attribute: 'i18n-legal' }) i18nLegal = 'About & legal information';\n\n /**\n * i18n label for 'Settings' button\n */\n @Prop({ attribute: 'i18n-settings' }) i18nSettings = 'Settings';\n\n /**\n * i18n label for 'Toggle theme' button\n */\n @Prop({ attribute: 'i18n-toggle-theme' }) i18nToggleTheme = 'Toggle theme';\n\n /**\n * i18n label for 'Expand' button\n */\n @Prop({ attribute: 'i18n-expand' }) i18nExpand = ' Expand';\n\n /**\n * i18n label for 'Collapse' button\n */\n @Prop({ attribute: 'i18n-collapse' }) i18nCollapse = 'Collapse';\n\n /**\n * Menu expanded\n */\n @Event() expandChange!: EventEmitter<boolean>;\n\n /**\n * Map Sidebar expanded\n */\n @Event() mapExpandChange!: EventEmitter<boolean>;\n\n /**\n * Event emitted when the app switch button is clicked\n *\n * @since 3.0.0\n */\n @Event() openAppSwitch!: EventEmitter<void>;\n\n /**\n * Event emitted when the settings button is clicked\n * @since 3.0.0\n */\n @Event() openSettings!: EventEmitter<void>;\n\n /**\n * Event emitted when the about button is clicked\n * @since 3.0.0\n */\n @Event() openAbout!: EventEmitter<void>;\n\n @State() showPinned = false;\n @State() mapExpand = true;\n @State() breakpoint: Breakpoint = 'lg';\n @State() itemsScrollShadowTop = false;\n @State() itemsScrollShadowBottom = false;\n @State() applicationLayoutContext?: ContextType<\n typeof ApplicationLayoutContext\n >;\n private isTransitionDisabled = false;\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.shadowRoot!.querySelector('#popover-area');\n }\n\n get menu() {\n return this.hostElement.shadowRoot!.querySelector('.menu');\n }\n\n get menuItemsContainer(): HTMLDivElement {\n return this.menu!.querySelector('.tabs')!;\n }\n\n get overlayContainer() {\n return this.hostElement.shadowRoot!.querySelector(\n '.menu-overlay'\n ) as HTMLDivElement;\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((elm) => this.isVisible(elm as HTMLElement));\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((elm) => this.isVisible(elm as HTMLElement));\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.shadowRoot!.querySelector(\n '.internal-tab ix-dropdown'\n )!;\n }\n\n get isMoreItemsDropdownEmpty(): boolean {\n return (\n this.hostElement.shadowRoot!.querySelectorAll(\n '.internal-tab ix-dropdown .appended'\n ).length === 0\n );\n }\n\n get moreItemsDropdownItems() {\n return this.hostElement.shadowRoot!.querySelectorAll(\n '.internal-tab ix-dropdown ix-menu-item'\n );\n }\n\n get activeMoreTabContainer() {\n return this.hostElement.shadowRoot!.querySelector('.active-more-tab');\n }\n\n get activeMoreTab() {\n return this.hostElement.shadowRoot!.querySelector(\n '.active-more-tab ix-menu-item'\n );\n }\n\n get aboutPopoverContainer(): HTMLElement {\n return this.hostElement.querySelector('.about-news')!;\n }\n\n get aboutNewsPopover(): HTMLIxMenuAboutNewsElement {\n return (\n document.querySelector('ix-menu-about-news') ??\n this.hostElement.querySelector('ix-menu-about-news')!\n );\n }\n\n get aboutTab(): HTMLElement | null {\n return this.hostElement.shadowRoot!.querySelector('#aboutAndLegal');\n }\n\n get about(): HTMLIxMenuAboutElement | null {\n return this.hostElement.querySelector('ix-menu-about');\n }\n\n get settings(): HTMLIxMenuSettingsElement | null {\n return this.hostElement.querySelector('ix-menu-settings');\n }\n\n get isSettingsEmpty(): boolean {\n return (\n Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-menu-settings-item')\n ).length === 0\n );\n }\n\n get tabsContainer() {\n return this.hostElement;\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.handleOverflowIndicator();\n });\n\n if (this.pinned) {\n this.pinnedChange(this.pinned);\n }\n }\n\n componentWillLoad() {\n useContextConsumer(\n this.hostElement,\n ApplicationLayoutContext,\n (ctx) => {\n this.applicationLayoutContext = ctx;\n if (ctx.hideHeader === true) {\n this.onBreakpointChange('md');\n return;\n }\n\n this.onBreakpointChange(applicationLayoutService.breakpoint);\n },\n true\n );\n\n menuController.register(this.hostElement);\n applicationLayoutService.onChange.on((breakpoint) =>\n this.onBreakpointChange(breakpoint)\n );\n this.onBreakpointChange(applicationLayoutService.breakpoint, true);\n }\n\n componentDidRender() {\n if (!this.about && this.aboutNewsPopover) {\n this.aboutNewsPopover.show = false;\n }\n this.appendFragments();\n }\n\n private setPinned(pinned: boolean) {\n this.showPinned = pinned;\n menuController.setIsPinned(pinned);\n }\n\n private onBreakpointChange(mode: Breakpoint, initial = false) {\n if (!this.applicationLayoutContext && mode === 'sm') {\n return;\n }\n\n if (!this.applicationLayoutContext) {\n return;\n }\n\n if (this.applicationLayoutContext.hideHeader && mode === 'sm') {\n return;\n }\n\n this.setPinned(mode === 'lg');\n if (initial || mode !== this.breakpoint)\n this.toggleMenu(mode === 'lg' && this.startExpanded);\n\n this.breakpoint = mode;\n }\n\n private appendFragments() {\n this.appendAboutNewsPopover();\n }\n\n private getAboutPopoverVerticalPosition() {\n const heightArrow = 12;\n const offsetArrow = 6;\n const rectAbout = this.aboutTab?.getBoundingClientRect() || {\n bottom: -window.innerHeight,\n height: 0,\n };\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.aboutNewsPopover || !this.about) {\n return;\n }\n\n this.aboutNewsPopover.style.bottom = this.getAboutPopoverVerticalPosition();\n\n if (!this.popoverArea?.contains(this.aboutNewsPopover)) {\n const showMore = () => {\n if (this.aboutNewsPopover?.aboutItemLabel && this.about) {\n this.about.activeTabLabel = this.aboutNewsPopover.aboutItemLabel;\n this.toggleAbout(true);\n }\n };\n\n this.aboutNewsPopover.addEventListener('showMore', showMore.bind(this));\n document.body.appendChild(this.aboutNewsPopover);\n }\n }\n\n /**\n * Toggle map sidebar expand\n * @param show\n */\n @Method()\n async toggleMapExpand(show?: boolean) {\n if (show !== undefined) {\n this.mapExpand = show;\n } else {\n this.mapExpand = !this.mapExpand;\n }\n }\n\n /**\n * Toggle menu\n * @param show\n */\n @Method()\n async toggleMenu(show?: boolean) {\n const oldExpand = this.expand;\n\n if (show !== undefined) {\n this.expand = show;\n } else {\n this.expand = !this.expand;\n }\n\n if (this.aboutNewsPopover) {\n this.aboutNewsPopover.expanded = this.expand;\n }\n\n const { defaultPrevented } = this.expandChange.emit(this.expand);\n\n if (defaultPrevented) {\n this.expand = oldExpand;\n\n if (this.aboutNewsPopover) {\n this.aboutNewsPopover.expanded = oldExpand;\n }\n\n return;\n }\n\n this.isTransitionDisabled = false;\n this.checkTransition();\n\n if (this.breakpoint == 'sm' && this.expand) {\n setTimeout(() => {\n this.handleOverflowIndicator();\n }, 100);\n }\n }\n\n /**\n * Disable transition of overlay while menu animation is running.\n */\n private checkTransition() {\n const container = this.overlayContainer;\n\n if (!container) {\n return;\n }\n\n if (this.isTransitionDisabled) {\n container.style.transitionProperty = 'left';\n } else {\n container.style.transitionProperty = 'all';\n }\n }\n\n private isOverlayVisible() {\n return this.showAbout || this.showSettings;\n }\n\n /**\n * Toggle Settings tabs\n * @param show\n */\n @Method()\n async toggleSettings(show: boolean) {\n if (!this.settings) {\n return;\n }\n\n const { defaultPrevented } = this.openSettings.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n if (!this.isOverlayVisible()) {\n this.animateOverlayFadeIn();\n }\n\n if (show) {\n this.resetOverlay();\n this.showSettings = show;\n this.settings.show = this.showSettings;\n } else {\n this.onOverlayClose();\n }\n }\n\n /**\n * Toggle About tabs\n * @param show\n */\n @Method()\n async toggleAbout(show: boolean) {\n if (!this.about) {\n return;\n }\n\n const { defaultPrevented } = this.openAbout.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n if (!this.isOverlayVisible()) {\n this.animateOverlayFadeIn();\n }\n\n if (show) {\n this.resetOverlay();\n this.showAbout = show;\n this.about.show = this.showAbout;\n } else {\n this.onOverlayClose();\n }\n }\n\n private resetOverlay() {\n this.showSettings = false;\n this.showAbout = false;\n\n if (this.settings) {\n this.settings.show = false;\n }\n\n if (this.about) {\n this.about.show = false;\n }\n }\n\n private getCollapseText() {\n return this.mapExpand ? this.i18nCollapse : this.i18nExpand;\n }\n\n private getCollapseIcon() {\n return this.mapExpand ? iconNavigationLeft : iconNavigationRight;\n }\n\n private isMenuItemClicked(event: Event) {\n if (event.target instanceof HTMLElement) {\n return event.target.tagName === 'IX-MENU-ITEM';\n }\n\n return false;\n }\n\n @Listen('resize', { target: 'window' })\n private handleOverflowIndicator() {\n const { clientHeight, scrollTop, scrollHeight } = this.menuItemsContainer;\n this.itemsScrollShadowTop = scrollTop > 0;\n this.itemsScrollShadowBottom =\n Math.round(scrollTop + clientHeight) < scrollHeight;\n }\n\n @Listen('close')\n onOverlayClose() {\n this.animateOverlayFadeOut(() => {\n this.resetOverlay();\n });\n }\n\n private animateOverlayFadeIn() {\n requestAnimationFrame(() => {\n animate(this.overlayContainer!, {\n duration: Animation.mediumTime,\n backdropFilter: [0, 'blur(1rem)'],\n translateX: ['-4rem', 0],\n opacity: [0, 1],\n easing: 'easeInSine',\n onBegin: () => {\n if (this.showPinned) {\n return;\n }\n\n this.toggleMenu(false);\n },\n });\n });\n }\n\n private animateOverlayFadeOut(onComplete: Function) {\n requestAnimationFrame(() => {\n animate(this.overlayContainer!, {\n duration: Animation.mediumTime,\n backdropFilter: ['blur(1rem)', 0],\n translateX: [0, '-4rem'],\n opacity: [1, 0],\n easing: 'easeInSine',\n onComplete: () => onComplete(),\n });\n });\n }\n\n private onMenuItemsClick(event: Event) {\n if (this.isMenuItemClicked(event)) {\n if (!this.showPinned) {\n this.toggleMenu(false);\n }\n this.onOverlayClose();\n }\n }\n\n private isHiddenFromViewport() {\n return this.breakpoint === 'sm' && this.expand === false;\n }\n\n private sidebarToggle() {\n this.mapExpandChange.emit(this.mapExpand);\n\n this.hostElement.dispatchEvent(\n new ApplicationSidebarToggleEvent(this.mapExpand)\n );\n }\n\n private async showAppSwitch() {\n const { defaultPrevented } = this.openAppSwitch.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n if (this.applicationLayoutContext?.appSwitchConfig) {\n showAppSwitch(this.applicationLayoutContext.appSwitchConfig);\n }\n }\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expand,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n slot=\"menu\"\n >\n <nav\n class={{\n menu: true,\n expanded: this.expand,\n }}\n >\n <div class=\"menu-buttons\">\n {this.breakpoint !== 'sm' && (\n <ix-menu-expand-icon\n breakpoint={this.breakpoint}\n expanded={this.expand}\n pinned={this.pinned}\n class=\"menu-expand-icon\"\n ixAriaLabel={this.i18nExpandSidebar}\n onClick={async () => this.toggleMenu()}\n data-testid=\"expand-collapse-menu\"\n ></ix-menu-expand-icon>\n )}\n {this.breakpoint === 'sm' &&\n this.applicationLayoutContext?.appSwitchConfig && (\n <ix-icon-button\n onClick={() => {\n this.showAppSwitch();\n }}\n icon={iconApps}\n variant=\"subtle-tertiary\"\n ></ix-icon-button>\n )}\n </div>\n\n <div\n id=\"menu-tabs\"\n style={{\n display: 'contents',\n }}\n onClick={(e) => this.onMenuItemsClick(e)}\n >\n <div class=\"tabs-shadow-container\">\n <div\n class={{\n 'tabs--shadow': true,\n 'tabs--shadow-top': true,\n 'tabs--shadow--show': this.itemsScrollShadowTop,\n }}\n ></div>\n <div\n class={{\n tabs: true,\n 'show-scrollbar': this.expand,\n }}\n onScroll={() => this.handleOverflowIndicator()}\n >\n <div class=\"menu-avatar\">\n <slot name=\"ix-menu-avatar\"></slot>\n </div>\n <slot name=\"home\"></slot>\n {this.breakpoint !== 'sm' || !this.isHiddenFromViewport() ? (\n <slot></slot>\n ) : null}\n </div>\n <div\n class={{\n 'tabs--shadow': true,\n 'tabs--shadow-bottom': true,\n 'tabs--shadow--show': this.itemsScrollShadowBottom,\n }}\n ></div>\n </div>\n </div>\n <div class=\"bottom-tab-divider\"></div>\n {this.settings ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"settings\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showSettings,\n }}\n icon={iconCogwheel}\n onClick={async () => this.toggleSettings(!this.showSettings)}\n label={this.i18nSettings}\n ></ix-menu-item>\n ) : null}\n {this.enableToggleTheme ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"toggleTheme\"\n onClick={() => themeSwitcher.toggleMode()}\n class=\"internal-tab bottom-tab\"\n icon={iconLightDark}\n label={this.i18nToggleTheme}\n ></ix-menu-item>\n ) : null}\n <div onClick={(e) => this.onMenuItemsClick(e)}>\n <slot name=\"bottom\"></slot>\n </div>\n <div id=\"popover-area\"></div>\n {this.enableMapExpand || this.applicationLayoutContext?.sidebar ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"menu-collapse\"\n onClick={() => this.sidebarToggle()}\n class=\"internal-tab bottom-tab\"\n icon={`${this.getCollapseIcon()}`}\n label={this.getCollapseText()}\n ></ix-menu-item>\n ) : null}\n {this.about ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"aboutAndLegal\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showAbout,\n }}\n icon={iconInfo}\n onClick={async () => this.toggleAbout(!this.showAbout)}\n label={this.i18nLegal}\n ></ix-menu-item>\n ) : null}\n </nav>\n <div\n class={{\n 'menu-overlay': true,\n visible: this.isOverlayVisible(),\n expanded: this.expand,\n }}\n onTransitionEnd={() => {\n this.isTransitionDisabled = true;\n this.checkTransition();\n }}\n >\n <div class={'menu-overlay-container'}>\n {this.showSettings ? <slot name=\"ix-menu-settings\"></slot> : null}\n </div>\n <div class={'menu-overlay-container'}>\n {this.showAbout ? <slot name=\"ix-menu-about\"></slot> : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, H as Host } from './index-C
2
2
  import { a as animate } from './anime.esm-DhE1t8Qh.js';
3
3
  import { p as iconClose, y as iconNotification, b as iconInfo, c as iconSuccess, a as iconWarning, z as iconWarningRhomb, i as iconError } from './index-8HpPmDK_.js';
4
4
 
5
- const messageBarCss = ":host{margin:0.5rem 0.5rem 0rem 0.5rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .message-container{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;justify-content:space-between;min-height:3.375rem;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 .alarm{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .danger{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .critical{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-critical)}:host .warning{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-warning)}:host .success{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-success)}:host .info{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-info)}:host .neutral{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-neutral)}:host .primary{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-primary)}:host .message-content{flex-grow:1;align-self:center;min-height:1.25rem;padding:0 1rem;font-weight:normal;white-space:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ix-icon{margin-top:0.25rem}:host .message-bar-hidden{display:none}";
5
+ const messageBarCss = ":host{margin:0.5rem 0.5rem 0rem 0.5rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .message-container{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;justify-content:space-between;min-height:3.375rem;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 .alarm{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .danger{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .critical{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-critical)}:host .warning{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-warning)}:host .success{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-success)}:host .info{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-info)}:host .neutral{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-neutral)}:host .primary{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-primary)}:host .message-content{flex-grow:1;align-self:center;min-height:1.25rem;padding:0 1rem;font-weight:normal;white-space:normal}:host ix-icon{margin-top:0.25rem}:host .message-bar-hidden{display:none}";
6
6
 
7
7
  const MessageBar = class {
8
8
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"ix-message-bar.entry.js","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@use './common-variables' as vars;\n@use 'mixins/text-truncation';\n@use 'mixins/shadow-dom/component';\n\n:host {\n margin: vars.$small-space vars.$small-space 0rem vars.$small-space;\n\n @include component.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 padding: calc(#{vars.$medium-space} - var(--theme-message-bar--border-thickness))\n vars.$medium-space\n calc(#{vars.$medium-space} - var(--theme-message-bar--border-thickness))\n vars.$default-space;\n border-radius: var(--theme-message-bar--border-radius);\n background-color: var(--theme-messagebar--background);\n }\n\n $message-types: (\n 'alarm': var(--theme-color-alarm),\n 'danger': var(--theme-color-alarm),\n 'critical': var(--theme-color-critical),\n 'warning': var(--theme-color-warning),\n 'success': var(--theme-color-success),\n 'info': var(--theme-color-info),\n 'neutral': var(--theme-color-neutral),\n 'primary': var(--theme-color-primary)\n );\n\n @each $type, $color in $message-types {\n .#{$type} {\n border: solid var(--theme-message-bar--border-thickness) $color;\n }\n }\n\n\n .message-content {\n flex-grow: 1;\n align-self: center;\n min-height: 1.25rem;\n padding: 0 vars.$default-space;\n font-weight: normal;\n white-space: normal;\n\n @include text-truncation.ellipsis;\n }\n\n ix-icon {\n margin-top: vars.$tiny-space;\n }\n\n .message-bar-hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { animate } from 'animejs';\nimport { NotificationColor } from '../utils/notification-color';\nimport {\n iconClose,\n iconError,\n iconInfo,\n iconNotification,\n iconSuccess,\n iconWarning,\n iconWarningRhomb,\n} from '@siemens/ix-icons/icons';\n\ninterface MessageTypeConfig {\n icon?: string;\n color: NotificationColor;\n}\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:\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'success'\n | 'info'\n | 'neutral'\n | 'primary' = 'info';\n\n /**\n * If true, close button is disabled and alert cannot be dismissed by the user\n */\n @Prop() persistent = false;\n\n /**\n * An event emitted when the close button is clicked\n */\n @Event() closedChange!: EventEmitter;\n\n /**\n * An event emitted when the close animation is completed\n */\n @Event() closeAnimationCompleted!: EventEmitter;\n\n @State() icon?: string;\n @State() color?: NotificationColor;\n\n private static readonly duration = 300;\n private static readonly messageTypeConfigs: Record<\n string,\n MessageTypeConfig\n > = {\n //TODO(IX-3400): Replace icon colors with proper CSS variables when available\n alarm: { icon: iconError, color: 'color-alarm' },\n critical: { icon: iconWarningRhomb, color: 'color-critical' },\n warning: { icon: iconWarning, color: 'color-warning-text' },\n success: { icon: iconSuccess, color: 'color-success' },\n info: { icon: iconInfo, color: 'color-info' },\n neutral: { icon: iconNotification, color: 'color-neutral' },\n primary: { icon: iconNotification, color: 'color-primary' },\n };\n\n private divElement?: HTMLElement;\n\n componentWillRender() {\n const config = MessageBar.messageTypeConfigs[this.type];\n if (config) {\n this.icon = config.icon;\n this.color = config.color;\n }\n }\n\n private closeAlert(el: HTMLElement) {\n const { defaultPrevented } = this.closedChange.emit();\n\n if (!defaultPrevented) {\n animate(el, {\n duration: MessageBar.duration,\n opacity: [1, 0],\n easing: 'easeOutSine',\n onComplete: () => {\n el.classList.add('message-bar-hidden');\n this.closeAnimationCompleted.emit();\n },\n });\n }\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.persistent && (\n <ix-icon-button\n icon={iconClose}\n iconColor=\"color-soft-text\"\n size=\"24\"\n variant=\"tertiary\"\n onClick={() => {\n if (this.divElement) {\n this.closeAlert(this.divElement);\n }\n }}\n data-testid=\"close-btn\"\n ></ix-icon-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-message-bar.entry.js","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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n margin: vars.$small-space vars.$small-space 0rem vars.$small-space;\n\n @include component.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 padding: calc(\n #{vars.$medium-space} - var(--theme-message-bar--border-thickness)\n )\n vars.$medium-space\n calc(#{vars.$medium-space} - var(--theme-message-bar--border-thickness))\n vars.$default-space;\n border-radius: var(--theme-message-bar--border-radius);\n background-color: var(--theme-messagebar--background);\n }\n\n $message-types: (\n 'alarm': var(--theme-color-alarm),\n 'danger': var(--theme-color-alarm),\n 'critical': var(--theme-color-critical),\n 'warning': var(--theme-color-warning),\n 'success': var(--theme-color-success),\n 'info': var(--theme-color-info),\n 'neutral': var(--theme-color-neutral),\n 'primary': var(--theme-color-primary),\n );\n\n @each $type, $color in $message-types {\n .#{$type} {\n border: solid var(--theme-message-bar--border-thickness) $color;\n }\n }\n\n .message-content {\n flex-grow: 1;\n align-self: center;\n min-height: 1.25rem;\n padding: 0 vars.$default-space;\n font-weight: normal;\n white-space: normal;\n }\n\n ix-icon {\n margin-top: vars.$tiny-space;\n }\n\n .message-bar-hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { animate } from 'animejs';\nimport { NotificationColor } from '../utils/notification-color';\nimport {\n iconClose,\n iconError,\n iconInfo,\n iconNotification,\n iconSuccess,\n iconWarning,\n iconWarningRhomb,\n} from '@siemens/ix-icons/icons';\n\ninterface MessageTypeConfig {\n icon?: string;\n color: NotificationColor;\n}\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:\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'success'\n | 'info'\n | 'neutral'\n | 'primary' = 'info';\n\n /**\n * If true, close button is disabled and alert cannot be dismissed by the user\n */\n @Prop() persistent = false;\n\n /**\n * An event emitted when the close button is clicked\n */\n @Event() closedChange!: EventEmitter;\n\n /**\n * An event emitted when the close animation is completed\n */\n @Event() closeAnimationCompleted!: EventEmitter;\n\n @State() icon?: string;\n @State() color?: NotificationColor;\n\n private static readonly duration = 300;\n private static readonly messageTypeConfigs: Record<\n string,\n MessageTypeConfig\n > = {\n //TODO(IX-3400): Replace icon colors with proper CSS variables when available\n alarm: { icon: iconError, color: 'color-alarm' },\n critical: { icon: iconWarningRhomb, color: 'color-critical' },\n warning: { icon: iconWarning, color: 'color-warning-text' },\n success: { icon: iconSuccess, color: 'color-success' },\n info: { icon: iconInfo, color: 'color-info' },\n neutral: { icon: iconNotification, color: 'color-neutral' },\n primary: { icon: iconNotification, color: 'color-primary' },\n };\n\n private divElement?: HTMLElement;\n\n componentWillRender() {\n const config = MessageBar.messageTypeConfigs[this.type];\n if (config) {\n this.icon = config.icon;\n this.color = config.color;\n }\n }\n\n private closeAlert(el: HTMLElement) {\n const { defaultPrevented } = this.closedChange.emit();\n\n if (!defaultPrevented) {\n animate(el, {\n duration: MessageBar.duration,\n opacity: [1, 0],\n easing: 'easeOutSine',\n onComplete: () => {\n el.classList.add('message-bar-hidden');\n this.closeAnimationCompleted.emit();\n },\n });\n }\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.persistent && (\n <ix-icon-button\n icon={iconClose}\n iconColor=\"color-soft-text\"\n size=\"24\"\n variant=\"tertiary\"\n onClick={() => {\n if (this.divElement) {\n this.closeAlert(this.divElement);\n }\n }}\n data-testid=\"close-btn\"\n ></ix-icon-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ const Panes = class {
46
46
  this.isMobile = matchBreakpoint('sm');
47
47
  applicationLayoutService.onChange.on(() => {
48
48
  this.isMobile = matchBreakpoint('sm');
49
+ this.configurePanes();
49
50
  });
50
51
  }
51
52
  componentDidLoad() {
@@ -235,7 +236,7 @@ const Panes = class {
235
236
  return pane ? pane.floating : false;
236
237
  }
237
238
  render() {
238
- return (h(Host, { key: 'f5825e5fd84ca1f96e9eb6d19c528107167b4e16' }, !this.isMobile ? (this.layout == 'full-vertical' ? (h("div", { class: "side-panes-wrapper" }, h("div", { class: {
239
+ return (h(Host, { key: 'e325d469cf08970e85af16e34df3e25ea6fadacc' }, !this.isMobile ? (this.layout == 'full-vertical' ? (h("div", { class: "side-panes-wrapper" }, h("div", { class: {
239
240
  row: true,
240
241
  'padding-left': this.hasPadding('left'),
241
242
  'padding-right': this.hasPadding('right'),