@siemens/ix 0.0.0-pr-2297-20251204163058 → 0.0.0-pr-2297-20251211061723

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 (64) hide show
  1. package/READMEOSS.html +1 -1
  2. package/components/ix-breadcrumb.js +1 -1
  3. package/components/ix-date-dropdown.js +1 -1
  4. package/components/ix-dropdown-button.js +8 -4
  5. package/components/ix-dropdown-button.js.map +1 -1
  6. package/components/ix-dropdown-item.js +1 -1
  7. package/components/ix-menu-avatar-item.js +1 -1
  8. package/components/ix-menu-avatar.js +2 -2
  9. package/components/ix-menu-category.js +1 -1
  10. package/components/ix-menu.js +20 -12
  11. package/components/ix-menu.js.map +1 -1
  12. package/components/ix-pagination.js +3 -3
  13. package/components/ix-select-item.js +1 -1
  14. package/components/ix-select.js +1 -1
  15. package/components/{p-Dy6xvLn4.js → p-BCLcSQh4.js} +3 -3
  16. package/components/{p-Dy6xvLn4.js.map → p-BCLcSQh4.js.map} +1 -1
  17. package/components/{p-BOQ00Fbs.js → p-Ce5NQ5Zo.js} +4 -4
  18. package/components/{p-BOQ00Fbs.js.map → p-Ce5NQ5Zo.js.map} +1 -1
  19. package/components/{p-BLeWaHpy.js → p-DYCKIBUp.js} +12 -6
  20. package/components/p-DYCKIBUp.js.map +1 -0
  21. package/components/{p-Bk0vKwmt.js → p-DmhyoH-k.js} +3 -3
  22. package/components/{p-Bk0vKwmt.js.map → p-DmhyoH-k.js.map} +1 -1
  23. package/dist/cjs/ix-dropdown-button.cjs.entry.js +7 -3
  24. package/dist/cjs/ix-dropdown-button.entry.cjs.js.map +1 -1
  25. package/dist/cjs/ix-dropdown-item.cjs.entry.js +9 -3
  26. package/dist/cjs/ix-dropdown-item.entry.cjs.js.map +1 -1
  27. package/dist/cjs/ix-menu.cjs.entry.js +19 -12
  28. package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
  29. package/dist/cjs/loader.cjs.js +1 -1
  30. package/dist/cjs/siemens-ix.cjs.js +1 -1
  31. package/dist/collection/components/dropdown-button/dropdown-button.js +8 -4
  32. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  33. package/dist/collection/components/dropdown-item/dropdown-item.js +10 -4
  34. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  35. package/dist/collection/components/menu/menu.js +21 -12
  36. package/dist/collection/components/menu/menu.js.map +1 -1
  37. package/dist/esm/ix-dropdown-button.entry.js +7 -3
  38. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  39. package/dist/esm/ix-dropdown-item.entry.js +9 -3
  40. package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
  41. package/dist/esm/ix-menu.entry.js +19 -12
  42. package/dist/esm/ix-menu.entry.js.map +1 -1
  43. package/dist/esm/loader.js +1 -1
  44. package/dist/esm/siemens-ix.js +1 -1
  45. package/dist/siemens-ix/ix-dropdown-button.entry.esm.js.map +1 -1
  46. package/dist/siemens-ix/ix-dropdown-item.entry.esm.js.map +1 -1
  47. package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
  48. package/dist/siemens-ix/p-0063d077.entry.js +2 -0
  49. package/dist/siemens-ix/p-0063d077.entry.js.map +1 -0
  50. package/dist/siemens-ix/p-3ca8fd00.entry.js +2 -0
  51. package/dist/siemens-ix/p-3ca8fd00.entry.js.map +1 -0
  52. package/dist/siemens-ix/{p-b8f4b001.entry.js → p-f27c0a6c.entry.js} +2 -2
  53. package/dist/siemens-ix/p-f27c0a6c.entry.js.map +1 -0
  54. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  55. package/dist/types/components/menu/menu.d.ts +1 -0
  56. package/hydrate/index.js +37 -22
  57. package/hydrate/index.mjs +37 -22
  58. package/package.json +1 -1
  59. package/components/p-BLeWaHpy.js.map +0 -1
  60. package/dist/siemens-ix/p-0d621531.entry.js +0 -2
  61. package/dist/siemens-ix/p-0d621531.entry.js.map +0 -1
  62. package/dist/siemens-ix/p-37bd983a.entry.js +0 -2
  63. package/dist/siemens-ix/p-37bd983a.entry.js.map +0 -1
  64. package/dist/siemens-ix/p-b8f4b001.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-button.js","sourceRoot":"","sources":["../../../src/components/dropdown-button/dropdown-button.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,MAAM,OAAO,cAAc;IAL3B;QAQE;;WAEG;QACK,YAAO,GAA0B,SAAS,CAAC;QAEnD;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAYzB;;WAEG;QACK,kBAAa,GAA4C,MAAM,CAAC;QAe/D,iBAAY,GAAG,KAAK,CAAC;QAEb,mBAAc,GAAG,OAAO,EAAe,CAAC;QAexC,0BAAqB,GAAG,CAAC,KAA2B,EAAE,EAAE;YACvE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC;KA6DH;IA5ES,WAAW;QACjB,OAAO,CACL,WACE,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,GACI,CACR,CAAC;IACJ,CAAC;IAMD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EACD,GAAG,EAAE,IAAI,CAAC,cAAc;YAExB,4DAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,iBACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,uBAAuB;gBAEvC,WAAK,KAAK,EAAE,SAAS;oBAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,eAAe,GACb,CACZ,CAAC,CAAC,CAAC,IAAI;oBACR,WAAK,KAAK,EAAE,cAAc,IAAG,IAAI,CAAC,KAAK,CAAO;oBAC9C,eACE,IAAI,EACF,IAAI,CAAC,YAAY;4BACf,CAAC,CAAC,kBAAkB;4BACpB,CAAC,CAAC,oBAAoB,EAE1B,IAAI,EAAC,IAAI,GACA,CACP,CACI,CACb,CAAC,CAAC,CAAC,CACF;gBACE,sBACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACP;gBACjB,IAAI,CAAC,WAAW,EAAE,CACf,CACP,CACG;YAEN,oEACE,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;gBAEzC,8DAAa,CACD,CACT,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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\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"]}
1
+ {"version":3,"file":"dropdown-button.js","sourceRoot":"","sources":["../../../src/components/dropdown-button/dropdown-button.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,OAAO,cAAc;IAL3B;QAQE;;WAEG;QACK,YAAO,GAA0B,SAAS,CAAC;QAEnD;;WAEG;QACsB,aAAQ,GAAG,KAAK,CAAC;QAY1C;;WAEG;QACK,kBAAa,GAA4C,MAAM,CAAC;QAe/D,iBAAY,GAAG,KAAK,CAAC;QAEb,mBAAc,GAAG,OAAO,EAAe,CAAC;QAexC,0BAAqB,GAAG,CAAC,KAA2B,EAAE,EAAE;YACvE,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC;KAgEH;IAlFS,WAAW;QACjB,OAAO,CACL,WACE,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,GACI,CACR,CAAC;IACJ,CAAC;IASD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,sEACY,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzC,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EACD,GAAG,EAAE,IAAI,CAAC,cAAc;YAExB,4DAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,iBACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,uBAAuB,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhC,WAAK,KAAK,EAAE,SAAS;oBAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,eAAe,GACb,CACZ,CAAC,CAAC,CAAC,IAAI;oBACR,WAAK,KAAK,EAAE,cAAc,IAAG,IAAI,CAAC,KAAK,CAAO;oBAC9C,eACE,IAAI,EACF,IAAI,CAAC,YAAY;4BACf,CAAC,CAAC,kBAAkB;4BACpB,CAAC,CAAC,oBAAoB,EAE1B,IAAI,EAAC,IAAI,GACA,CACP,CACI,CACb,CAAC,CAAC,CAAC,CACF;gBACE,sBACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAChB;gBACjB,IAAI,CAAC,WAAW,EAAE,CACf,CACP,CACG;YAEN,oEACE,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;gBAEzC,8DAAa,CACD,CACT,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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\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"]}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { h, Host, } from "@stencil/core";
10
10
  import { iconChevronRightSmall, iconSingleCheck, } from "@siemens/ix-icons/icons";
11
+ import { a11yBoolean } from "../utils/a11y";
11
12
  export class DropdownItem {
12
13
  constructor() {
13
14
  /**
@@ -41,15 +42,20 @@ export class DropdownItem {
41
42
  this.icon !== undefined);
42
43
  }
43
44
  render() {
44
- return (h(Host, { key: '4683b34a35d26f4cdce448ed24cdc5115f838fed', class: {
45
+ return (h(Host, { key: '89d6023460273b60bf52f129e456e0d92e51c09d', class: {
45
46
  hover: this.hover,
46
47
  'icon-only': this.isIconOnly(),
47
48
  disabled: this.disabled,
48
49
  submenu: this.isSubMenu,
49
- }, role: "listitem" }, h("button", { key: 'a655623c265f18e805a0f60a093dd4ac565ab35c', type: "button", tabIndex: 0, class: {
50
+ }, role: "listitem" }, h("button", { key: '32feebb5d24eb19af7b5081c4f771a489913180f', type: "button", tabIndex: this.disabled ? -1 : 0, class: {
50
51
  'dropdown-item': true,
51
52
  'no-checked-field': this.suppressChecked,
52
- }, 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)));
53
+ disabled: this.disabled,
54
+ }, onClick: () => {
55
+ if (!this.disabled) {
56
+ this.emitItemClick();
57
+ }
58
+ }, "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)));
53
59
  }
54
60
  static get is() { return "ix-dropdown-item"; }
55
61
  static get encapsulation() { return "shadow"; }
@@ -181,7 +187,7 @@ export class DropdownItem {
181
187
  },
182
188
  "getter": false,
183
189
  "setter": false,
184
- "reflect": false,
190
+ "reflect": true,
185
191
  "defaultValue": "false"
186
192
  },
187
193
  "checked": {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.js","sourceRoot":"","sources":["../../../src/components/dropdown-item/dropdown-item.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,GACL,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,OAAO,YAAY;IALzB;QA+BE;;WAEG;QACK,UAAK,GAAG,KAAK,CAAC;QAEtB;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;WAEG;QACK,YAAO,GAAG,KAAK,CAAC;QAExB,gBAAgB;QACR,cAAS,GAAG,KAAK,CAAC;QAE1B,gBAAgB;QACR,oBAAe,GAAG,KAAK,CAAC;KA8EjC;IAzEC,gBAAgB;IAEhB,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,UAAU;QAChB,OAAO,CACL,IAAI,CAAC,KAAK,KAAK,SAAS;YACxB,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,EAAE;YACjC,IAAI,CAAC,IAAI,KAAK,SAAS,CACxB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,SAAS;aACxB,EACD,IAAI,EAAC,UAAU;YAEf,+DACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE;oBACL,eAAe,EAAE,IAAI;oBACrB,kBAAkB,EAAE,IAAI,CAAC,eAAe;iBACzC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,gBACvB,IAAI,CAAC,eAAe;gBAE/B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACvB,WAAK,KAAK,EAAC,uBAAuB,IAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACd,eACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAC,IAAI,GACA,CACZ,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC,CAAC,CAAC,IAAI;gBACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eACE,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,gBACH,IAAI,CAAC,aAAa,GACrB,CACZ,CAAC,CAAC,CAAC,IAAI;gBACR,4DAAK,KAAK,EAAC,oBAAoB;oBAC5B,IAAI,CAAC,KAAK;oBACX,8DAAa,CACT;gBACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChB,eACE,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,cAAc,GACZ,CACZ,CAAC,CAAC,CAAC,IAAI,CACD,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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\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"]}
1
+ {"version":3,"file":"dropdown-item.js","sourceRoot":"","sources":["../../../src/components/dropdown-item/dropdown-item.tsx"],"names":[],"mappings":"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","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\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"]}
@@ -87,6 +87,12 @@ export class Menu {
87
87
  ((_b = (_a = elm.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.style.display) !== 'none');
88
88
  };
89
89
  }
90
+ expandChanged(newExpand, oldExpand) {
91
+ if (newExpand === oldExpand) {
92
+ return;
93
+ }
94
+ this.toggleMenu(newExpand);
95
+ }
90
96
  pinnedChange(newPinned) {
91
97
  this.setPinned(this.pinned);
92
98
  if (newPinned) {
@@ -431,44 +437,44 @@ export class Menu {
431
437
  }
432
438
  render() {
433
439
  var _a, _b;
434
- return (h(Host, { key: 'b36f27c9c7b9342fd8f984dd5d00ad73d735b2ff', class: {
440
+ return (h(Host, { key: 'ea617374858acbf094cbf397be00f38023c6d09b', class: {
435
441
  expanded: this.expand,
436
442
  [`breakpoint-${this.breakpoint}`]: true,
437
- }, slot: "menu" }, h("nav", { key: '4f4b1378ddfe2cb243d0a5305679c98084490e8b', class: {
443
+ }, slot: "menu" }, h("nav", { key: '49709a839fd53bc53b4f0c100d38ef50a101532e', class: {
438
444
  menu: true,
439
445
  expanded: this.expand,
440
- } }, 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' &&
441
- ((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) && (h("ix-icon-button", { key: '927aede1c7824c6c21eed072e7dba6db8d5f8df5', onClick: () => {
446
+ } }, 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' &&
447
+ ((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) && (h("ix-icon-button", { key: 'bb5026487bb57b272cc3c91124f3779959164bc1', onClick: () => {
442
448
  this.showAppSwitch();
443
- }, icon: iconApps, variant: "subtle-tertiary" }))), h("div", { key: '795f32dc8f94404a75c9a0d0cfb7c8e8d429d8d2', id: "menu-tabs", style: {
449
+ }, icon: iconApps, variant: "subtle-tertiary" }))), h("div", { key: '2b4b5b3a0a29e09cfc8f70f79533995f5cd33c99', id: "menu-tabs", style: {
444
450
  display: 'contents',
445
- }, onClick: (e) => this.onMenuItemsClick(e) }, h("div", { key: '4d609cfd70659c0adfcb1cfca0485edff3b05d08', class: "tabs-shadow-container" }, h("div", { key: 'b8b81a13d75c56f9a460f0db382acef185b1c11c', class: {
451
+ }, onClick: (e) => this.onMenuItemsClick(e) }, h("div", { key: '293741c4d4e200853ca2dce4b8c666f5da0e34d5', class: "tabs-shadow-container" }, h("div", { key: '86dd526ec2a8af64abdd6871cb2f759d7c97ee39', class: {
446
452
  'tabs--shadow': true,
447
453
  'tabs--shadow-top': true,
448
454
  'tabs--shadow--show': this.itemsScrollShadowTop,
449
- } }), h("div", { key: '1095f30e782665f9d66d7f2619eb3a68806ccf54', class: {
455
+ } }), h("div", { key: 'e2ba26766b80e0a6c262a2ce42a208f114cdfba6', class: {
450
456
  tabs: true,
451
457
  'show-scrollbar': this.expand,
452
- }, 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: {
458
+ }, 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: {
453
459
  'tabs--shadow': true,
454
460
  'tabs--shadow-bottom': true,
455
461
  'tabs--shadow--show': this.itemsScrollShadowBottom,
456
- } }))), h("div", { key: '92a48e39684e2bbbb6078dcafc5c8b7103a693de', class: "bottom-tab-divider" }), this.settings ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "settings", class: {
462
+ } }))), h("div", { key: 'b4e9db32fce1c63a303f14145e07e528e50e562c', class: "bottom-tab-divider" }), this.settings ? (h("ix-menu-item", { disabled: this.isHiddenFromViewport(), id: "settings", class: {
457
463
  'internal-tab': true,
458
464
  'bottom-tab': true,
459
465
  active: this.showSettings,
460
- }, 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: {
466
+ }, 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: {
461
467
  'internal-tab': true,
462
468
  'bottom-tab': true,
463
469
  active: this.showAbout,
464
- }, icon: iconInfo, onClick: async () => this.toggleAbout(!this.showAbout), label: this.i18nLegal })) : null), h("div", { key: 'e6dd7e53abbd5e4ce11cc5d2be882dd52e335275', class: {
470
+ }, icon: iconInfo, onClick: async () => this.toggleAbout(!this.showAbout), label: this.i18nLegal })) : null), h("div", { key: 'dc67e6cddea726b1a6f692f66a268b3d50318d96', class: {
465
471
  'menu-overlay': true,
466
472
  visible: this.isOverlayVisible(),
467
473
  expanded: this.expand,
468
474
  }, onTransitionEnd: () => {
469
475
  this.isTransitionDisabled = true;
470
476
  this.checkTransition();
471
- } }, 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))));
477
+ } }, 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))));
472
478
  }
473
479
  static get is() { return "ix-menu"; }
474
480
  static get encapsulation() { return "shadow"; }
@@ -988,6 +994,9 @@ export class Menu {
988
994
  static get elementRef() { return "hostElement"; }
989
995
  static get watchers() {
990
996
  return [{
997
+ "propName": "expand",
998
+ "methodName": "expandChanged"
999
+ }, {
991
1000
  "propName": "pinned",
992
1001
  "methodName": "pinnedChange"
993
1002
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/components/menu/menu.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EAAe,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAO3C,MAAM,OAAO,IAAI;IALjB;QAQE;;WAEG;QACsB,iBAAY,GAAG,KAAK,CAAC;QAE9C;;WAEG;QACsB,cAAS,GAAG,KAAK,CAAC;QAE3C;;WAEG;QACK,sBAAiB,GAAG,KAAK,CAAC;QAElC,gBAAgB;QACR,oBAAe,GAAG,KAAK,CAAC;QAOhC;;WAEG;QACK,2BAAsB,GAAG,EAAE,CAAC;QAEpC;;WAEG;QACyC,sBAAiB,GAC3D,gBAAgB,CAAC;QAEnB;;WAEG;QACqC,WAAM,GAAG,KAAK,CAAC;QAEvD;;WAEG;QACK,kBAAa,GAAG,KAAK,CAAC;QAE9B;;WAEG;QACK,WAAM,GAAG,KAAK,CAAC;QAcvB;;WAEG;QACgC,cAAS,GAAG,2BAA2B,CAAC;QAE3E;;WAEG;QACmC,iBAAY,GAAG,UAAU,CAAC;QAEhE;;WAEG;QACuC,oBAAe,GAAG,cAAc,CAAC;QAE3E;;WAEG;QACiC,eAAU,GAAG,SAAS,CAAC;QAE3D;;WAEG;QACmC,iBAAY,GAAG,UAAU,CAAC;QA+BvD,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,IAAI,CAAC;QACjB,eAAU,GAAe,IAAI,CAAC;QAC9B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,4BAAuB,GAAG,KAAK,CAAC;QAIjC,yBAAoB,GAAG,KAAK,CAAC;QAErC,0BAA0B;QACT,cAAS,GAAG,CAAC,GAAgB,EAAE,EAAE;;YAChD,OAAO,CACL,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM;gBAC5B,CAAA,MAAA,MAAA,GAAG,CAAC,aAAa,0CAAE,aAAa,0CAAE,KAAK,CAAC,OAAO,MAAK,MAAM,CAC3D,CAAC;QACJ,CAAC,CAAC;KAylBH;IA1qBC,YAAY,CAAC,SAAkB;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,SAAS,EAAE,CAAC;YACd,wBAAwB,CAAC,0BAA0B,EAAE,CAAC;YACtD,wBAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,wBAAwB,CAAC,yBAAyB,EAAE,CAAC;IACvD,CAAC;IA0ED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,IAAK,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAC/C,eAAe,CACE,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,sFAAsF,CACvF,CACF,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAkB,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,2DAA2D,CAC5D,CACF,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAkB,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAC/C,2BAA2B,CAC3B,CAAC;IACL,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,CACL,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,gBAAgB,CAC3C,qCAAqC,CACtC,CAAC,MAAM,KAAK,CAAC,CACf,CAAC;IACJ,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,gBAAgB,CAClD,wCAAwC,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAC/C,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC;IACxD,CAAC;IAED,IAAI,gBAAgB;;QAClB,OAAO,CACL,MAAA,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,mCAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CACL,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CACvE,CAAC,MAAM,KAAK,CAAC,CACf,CAAC;IACJ,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,kBAAkB,CAChB,IAAI,CAAC,WAAW,EAChB,wBAAwB,EACxB,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC;YACpC,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC,EACD,IAAI,CACL,CAAC;QAEF,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,CAClD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,SAAS,CAAC,MAAe;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,kBAAkB,CAAC,IAAgB,EAAE,OAAO,GAAG,KAAK;QAC1D,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,CAAC,UAAU,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU;YACrC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEO,+BAA+B;;QACrC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,qBAAqB,EAAE,KAAI;YAC1D,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW;YAC3B,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,MAAM,GACV,MAAM,CAAC,WAAW;YAClB,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;QAC5E,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,sBAAsB;;QAC5B,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAE5E,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,GAAG,EAAE;;gBACpB,IAAI,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,KAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxD,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;oBACjE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,eAAe,CAAC,IAAc;QAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,UAAU,CAAC,IAAc;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAExB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC7C,CAAC;YAED,OAAO;QACT,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAExC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,cAAc,CAAC,IAAa;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,WAAW,CAAC,IAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEnD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9D,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACnE,CAAC;IAEO,iBAAiB,CAAC,KAAY;QACpC,IAAI,KAAK,CAAC,MAAM,YAAY,WAAW,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAGO,uBAAuB;QAC7B,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC1E,IAAI,CAAC,oBAAoB,GAAG,SAAS,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,uBAAuB;YAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,YAAY,CAAC;IACxD,CAAC;IAGD,cAAc;QACZ,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,qBAAqB,CAAC,GAAG,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,gBAAiB,EAAE;gBAC9B,QAAQ,EAAE,SAAS,CAAC,UAAU;gBAC9B,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC;gBACjC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,UAAoB;QAChD,qBAAqB,CAAC,GAAG,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,gBAAiB,EAAE;gBAC9B,QAAQ,EAAE,SAAS,CAAC,UAAU;gBAC9B,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjC,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;gBACxB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,KAAY;QACnC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IAC3D,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,WAAW,CAAC,aAAa,CAC5B,IAAI,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAClD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa;;QACzB,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEvD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,MAAA,IAAI,CAAC,wBAAwB,0CAAE,eAAe,EAAE,CAAC;YACnD,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,MAAM;;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;aACxC,EACD,IAAI,EAAC,MAAM;YAEX,4DACE,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,IAAI,CAAC,MAAM;iBACtB;gBAED,4DAAK,KAAK,EAAC,cAAc;oBACtB,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAC3B,4EACE,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACnC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,iBAC1B,sBAAsB,GACb,CACxB;oBACA,IAAI,CAAC,UAAU,KAAK,IAAI;yBACvB,MAAA,IAAI,CAAC,wBAAwB,0CAAE,eAAe,CAAA,IAAI,CAChD,uEACE,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,CAAC,EACD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAC,iBAAiB,GACT,CACnB,CACC;gBAEN,4DACE,EAAE,EAAC,WAAW,EACd,KAAK,EAAE;wBACL,OAAO,EAAE,UAAU;qBACpB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAExC,4DAAK,KAAK,EAAC,uBAAuB;wBAChC,4DACE,KAAK,EAAE;gCACL,cAAc,EAAE,IAAI;gCACpB,kBAAkB,EAAE,IAAI;gCACxB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;6BAChD,GACI;wBACP,4DACE,KAAK,EAAE;gCACL,IAAI,EAAE,IAAI;gCACV,gBAAgB,EAAE,IAAI,CAAC,MAAM;6BAC9B,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE;4BAE9C,4DAAK,KAAK,EAAC,aAAa;gCACtB,6DAAM,IAAI,EAAC,gBAAgB,GAAQ,CAC/B;4BACN,6DAAM,IAAI,EAAC,MAAM,GAAQ;4BACxB,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAC1D,eAAa,CACd,CAAC,CAAC,CAAC,IAAI,CACJ;wBACN,4DACE,KAAK,EAAE;gCACL,cAAc,EAAE,IAAI;gCACpB,qBAAqB,EAAE,IAAI;gCAC3B,oBAAoB,EAAE,IAAI,CAAC,uBAAuB;6BACnD,GACI,CACH,CACF;gBACN,4DAAK,KAAK,EAAC,oBAAoB,GAAO;gBACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACf,oBACE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACrC,EAAE,EAAC,UAAU,EACb,KAAK,EAAE;wBACL,cAAc,EAAE,IAAI;wBACpB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI,CAAC,YAAY;qBAC1B,EACD,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAC5D,KAAK,EAAE,IAAI,CAAC,YAAY,GACV,CACjB,CAAC,CAAC,CAAC,IAAI;gBACP,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACxB,oBACE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACrC,EAAE,EAAC,aAAa,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EACzC,KAAK,EAAC,yBAAyB,EAC/B,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,IAAI,CAAC,eAAe,GACb,CACjB,CAAC,CAAC,CAAC,IAAI;gBACR,4DAAK,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAC3C,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB;gBACN,4DAAK,EAAE,EAAC,cAAc,GAAO;gBAC5B,IAAI,CAAC,eAAe,KAAI,MAAA,IAAI,CAAC,wBAAwB,0CAAE,OAAO,CAAA,CAAC,CAAC,CAAC,CAChE,oBACE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACrC,EAAE,EAAC,eAAe,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EACnC,KAAK,EAAC,yBAAyB,EAC/B,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,EACjC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,GACf,CACjB,CAAC,CAAC,CAAC,IAAI;gBACP,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,oBACE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACrC,EAAE,EAAC,eAAe,EAClB,KAAK,EAAE;wBACL,cAAc,EAAE,IAAI;wBACpB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI,CAAC,SAAS;qBACvB,EACD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EACtD,KAAK,EAAE,IAAI,CAAC,SAAS,GACP,CACjB,CAAC,CAAC,CAAC,IAAI,CACJ;YACN,4DACE,KAAK,EAAE;oBACL,cAAc,EAAE,IAAI;oBACpB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBAChC,QAAQ,EAAE,IAAI,CAAC,MAAM;iBACtB,EACD,eAAe,EAAE,GAAG,EAAE;oBACpB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,CAAC;gBAED,4DAAK,KAAK,EAAE,wBAAwB,IACjC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAM,IAAI,EAAC,kBAAkB,GAAQ,CAAC,CAAC,CAAC,IAAI,CAC7D;gBACN,4DAAK,KAAK,EAAE,wBAAwB,IACjC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAM,IAAI,EAAC,eAAe,GAAQ,CAAC,CAAC,CAAC,IAAI,CACvD,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\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"]}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/components/menu/menu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\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"]}
@@ -1,6 +1,7 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-CtoreFVF.js';
2
2
  import { q as iconChevronUpSmall, g as iconChevronDownSmall } from './index-8HpPmDK_.js';
3
3
  import { m as makeRef } from './make-ref-bcj7UEIC.js';
4
+ import { a as a11yBoolean } from './a11y-Bb7pDeaQ.js';
4
5
 
5
6
  const dropdownButtonCss = ":host{display:inline-block;position:relative;height:2rem;width:auto}: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 .hide{display:none}:host .dropdown-button{display:block;position:relative;width:100%;height:100%}:host .dropdown-button>ix-button{width:100%;height:100%}:host .dropdown-button .button-label{margin-right:auto;min-width:0px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .dropdown-button .dropdown-icon{margin-right:0.25rem}:host .triangle{position:absolute;margin-inline-start:1.5625rem;margin-block-start:-0.4375rem;border-right:0 solid transparent;border-left:4px solid transparent;border-top:0 solid transparent;border-bottom:4px solid;color:var(--theme-btn-primary--color)}:host .triangle.primary{color:var(--theme-btn-primary--color)}:host .triangle.secondary{color:var(--theme-btn-secondary--color)}:host .triangle.tertiary{color:var(--theme-btn-tertiary--color)}:host .triangle.primary.disabled{color:var(--theme-btn-primary--color--disabled)}:host .triangle.secondary.disabled{color:var(--theme-btn-secondary--color--disabled)}:host .triangle.tertiary.disabled{color:var(--theme-btn-tertiary--color--disabled)}:host .triangle.subtle-primary{color:var(--theme-btn-subtle-primary--color)}:host .triangle.subtle-secondary{color:var(--theme-btn-subtle-secondary--color)}:host .triangle.subtle-tertiary{color:var(--theme-btn-subtle-tertiary--color)}:host .triangle.subtle-primary.disabled{color:var(--theme-btn-subtle-primary--color--disabled)}:host .triangle.subtle-secondary.disabled{color:var(--theme-btn-subtle-secondary--color--disabled)}:host .triangle.subtle-tertiary.disabled{color:var(--theme-btn-subtle-tertiary--color--disabled)}:host .triangle.danger-primary{color:var(--theme-btn-danger-primary--color)}:host .triangle.danger-secondary{color:var(--theme-btn-danger-secondary--color)}:host .triangle.danger-tertiary{color:var(--theme-btn-danger-tertiary--color)}:host .triangle.danger-primary.disabled{color:var(--theme-btn-danger-primary--color--disabled)}:host .triangle.danger-secondary.disabled{color:var(--theme-btn-danger-secondary--color--disabled)}:host .triangle.danger-tertiary.disabled{color:var(--theme-btn-danger-tertiary--color--disabled)}:host .content{display:flex;align-items:center}:host(.disabled){pointer-events:none}";
6
7
 
@@ -22,6 +23,9 @@ const DropdownButton = class {
22
23
  this.dropdownShow = false;
23
24
  this.dropdownAnchor = makeRef();
24
25
  this.onDropdownShowChanged = (event) => {
26
+ if (this.disabled && event.detail) {
27
+ return;
28
+ }
25
29
  this.dropdownShow = event.detail;
26
30
  };
27
31
  }
@@ -34,11 +38,11 @@ const DropdownButton = class {
34
38
  } }));
35
39
  }
36
40
  render() {
37
- return (h(Host, { key: '4e4aca39eff13b8f665682b3f2dc9ace533c7ca0', class: {
41
+ return (h(Host, { key: '8e8bd476bd9a3dccfbd21fe10a10046f725d6e59', "aria-disabled": a11yBoolean(this.disabled), class: {
38
42
  disabled: this.disabled,
39
- }, ref: this.dropdownAnchor }, h("div", { key: '9583ed2274621e67d779e9668fead87f663b7558', class: "dropdown-button" }, this.label ? (h("ix-button", { variant: this.variant, disabled: this.disabled, alignment: "start", ariaLabel: this.ariaLabelDropdownButton }, h("div", { class: 'content' }, this.icon ? (h("ix-icon", { name: this.icon, size: "24", class: 'dropdown-icon' })) : null, h("div", { class: 'button-label' }, this.label), h("ix-icon", { name: this.dropdownShow
43
+ }, ref: this.dropdownAnchor }, h("div", { key: '0fa67ef9f3f779316882f38b17099394f0e99e04', class: "dropdown-button" }, this.label ? (h("ix-button", { variant: this.variant, disabled: this.disabled, alignment: "start", ariaLabel: this.ariaLabelDropdownButton, tabIndex: this.disabled ? -1 : 0 }, h("div", { class: 'content' }, this.icon ? (h("ix-icon", { name: this.icon, size: "24", class: 'dropdown-icon' })) : null, h("div", { class: 'button-label' }, this.label), h("ix-icon", { name: this.dropdownShow
40
44
  ? iconChevronUpSmall
41
- : iconChevronDownSmall, size: "24" })))) : (h("div", null, h("ix-icon-button", { icon: this.icon, variant: this.variant, disabled: this.disabled }), this.getTriangle()))), h("ix-dropdown", { key: 'e4fd6fb8451d8883fac84764758a90ce6dc4d433', class: "dropdown", trigger: this.dropdownAnchor.waitForCurrent(), placement: this.placement, closeBehavior: this.closeBehavior, onShowChanged: this.onDropdownShowChanged }, h("slot", { key: 'be8d3427e80c326bc7a6993f53190e290b824967' }))));
45
+ : iconChevronDownSmall, size: "24" })))) : (h("div", null, h("ix-icon-button", { icon: this.icon, variant: this.variant, disabled: this.disabled, tabIndex: this.disabled ? -1 : 0 }), this.getTriangle()))), h("ix-dropdown", { key: 'bf09de1c2af43bc3ea2085cf11c26e6fb56b694a', class: "dropdown", trigger: this.dropdownAnchor.waitForCurrent(), placement: this.placement, closeBehavior: this.closeBehavior, onShowChanged: this.onDropdownShowChanged }, h("slot", { key: '89bf77cd9781f906d801ffb0c874028f3feef6de' }))));
42
46
  }
43
47
  get hostElement() { return getElement(this); }
44
48
  };
@@ -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;;;;;;;;"}