@siemens/ix 0.0.0-pr-2297-20251204163058 → 0.0.0-pr-2300-20260107140403
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/READMEOSS.html +1 -1
- package/components/index.js +1 -1
- package/components/index.js.map +1 -1
- package/components/ix-action-card.js +8 -3
- package/components/ix-action-card.js.map +1 -1
- package/components/ix-application.js +1 -1
- package/components/ix-breadcrumb.js +1 -1
- package/components/ix-card-list.js +1 -1
- package/components/ix-card.js +1 -1
- package/components/ix-date-dropdown.js +1 -1
- package/components/ix-dropdown-button.js +8 -4
- package/components/ix-dropdown-button.js.map +1 -1
- package/components/ix-dropdown-item.js +1 -1
- package/components/ix-menu-avatar-item.js +1 -1
- package/components/ix-menu-avatar.js +2 -2
- package/components/ix-menu-category.js +1 -1
- package/components/ix-menu.js +21 -13
- package/components/ix-menu.js.map +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-message-bar.js.map +1 -1
- package/components/ix-pagination.js +3 -3
- package/components/ix-pane-layout.js +2 -1
- package/components/ix-pane-layout.js.map +1 -1
- package/components/ix-push-card.js +8 -3
- package/components/ix-push-card.js.map +1 -1
- package/components/ix-select-item.js +1 -1
- package/components/ix-select.js +1 -1
- package/components/ix-toast-container.js +5 -4
- package/components/ix-toast-container.js.map +1 -1
- package/components/ix-toast.js +1 -1
- package/components/{p-Dy6xvLn4.js → p-BCLcSQh4.js} +3 -3
- package/components/{p-Dy6xvLn4.js.map → p-BCLcSQh4.js.map} +1 -1
- package/components/{p-BOQ00Fbs.js → p-Ce5NQ5Zo.js} +4 -4
- package/components/{p-BOQ00Fbs.js.map → p-Ce5NQ5Zo.js.map} +1 -1
- package/components/{p-BLeWaHpy.js → p-DYCKIBUp.js} +12 -6
- package/components/p-DYCKIBUp.js.map +1 -0
- package/components/{p-Bk0vKwmt.js → p-DmhyoH-k.js} +3 -3
- package/components/{p-Bk0vKwmt.js.map → p-DmhyoH-k.js.map} +1 -1
- package/components/{p-CsHYWHE6.js → p-G5i1Siog.js} +15 -5
- package/components/p-G5i1Siog.js.map +1 -0
- package/components/{p-hwPzPVf8.js → p-rFxiFp44.js} +12 -6
- package/components/p-rFxiFp44.js.map +1 -0
- package/components/{p-DlVaL0Yi.js → p-tpxSImkl.js} +9 -4
- package/components/p-tpxSImkl.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +5 -1
- package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +1 -1
- package/dist/cjs/ix-card.ix-card-content.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +8 -3
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +7 -3
- package/dist/cjs/ix-dropdown-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +9 -3
- package/dist/cjs/ix-dropdown-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +20 -13
- package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -1
- package/dist/cjs/ix-pane-layout.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +5 -1
- package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js +4 -3
- package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +6 -2
- package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/cjs/{theme-switcher-76Td30il.js → theme-switcher-BCyZa6wG.js} +15 -5
- package/dist/cjs/theme-switcher-BCyZa6wG.js.map +1 -0
- package/dist/collection/components/action-card/action-card.js +25 -1
- package/dist/collection/components/action-card/action-card.js.map +1 -1
- package/dist/collection/components/card/card.css +49 -0
- package/dist/collection/components/card/card.js +27 -2
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +8 -4
- package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +10 -4
- package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/menu/menu.js +21 -12
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/message-bar/message-bar.css +0 -11
- package/dist/collection/components/pane-layout/pane-layout.js +2 -1
- package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +25 -1
- package/dist/collection/components/push-card/push-card.js.map +1 -1
- package/dist/collection/components/toast/toast-container.js +4 -3
- package/dist/collection/components/toast/toast-container.js.map +1 -1
- package/dist/collection/components/toast/toast-utils.js.map +1 -1
- package/dist/collection/components/toast/toast.js +26 -2
- package/dist/collection/components/toast/toast.js.map +1 -1
- package/dist/collection/components/utils/theme-switcher.js +13 -3
- package/dist/collection/components/utils/theme-switcher.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +5 -1
- package/dist/esm/ix-action-card.entry.js.map +1 -1
- package/dist/esm/ix-application.entry.js +1 -1
- package/dist/esm/ix-card.ix-card-content.entry.js.map +1 -1
- package/dist/esm/ix-card_2.entry.js +8 -3
- package/dist/esm/ix-dropdown-button.entry.js +7 -3
- package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +9 -3
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-menu.entry.js +20 -13
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-message-bar.entry.js.map +1 -1
- package/dist/esm/ix-pane-layout.entry.js +2 -1
- package/dist/esm/ix-pane-layout.entry.js.map +1 -1
- package/dist/esm/ix-push-card.entry.js +5 -1
- package/dist/esm/ix-push-card.entry.js.map +1 -1
- package/dist/esm/ix-toast-container.entry.js +4 -3
- package/dist/esm/ix-toast-container.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +6 -2
- package/dist/esm/ix-toast.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/esm/{theme-switcher-DRqJGlG2.js → theme-switcher-EbjilqRl.js} +15 -5
- package/dist/esm/theme-switcher-EbjilqRl.js.map +1 -0
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-card.ix-card-content.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-dropdown-button.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-dropdown-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-pane-layout.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
- package/dist/siemens-ix/p-0063d077.entry.js +2 -0
- package/dist/siemens-ix/p-0063d077.entry.js.map +1 -0
- package/dist/siemens-ix/{p-6dc6eb63.entry.js → p-01e16377.entry.js} +2 -2
- package/dist/siemens-ix/{p-6dc6eb63.entry.js.map → p-01e16377.entry.js.map} +1 -1
- package/dist/siemens-ix/p-2e1bb4bf.entry.js +2 -0
- package/dist/siemens-ix/p-2e1bb4bf.entry.js.map +1 -0
- package/dist/siemens-ix/p-3c297dc0.entry.js +2 -0
- package/dist/siemens-ix/p-3c297dc0.entry.js.map +1 -0
- package/dist/siemens-ix/p-3ca8fd00.entry.js +2 -0
- package/dist/siemens-ix/p-3ca8fd00.entry.js.map +1 -0
- package/dist/siemens-ix/{p-367df024.entry.js → p-84178b22.entry.js} +2 -2
- package/dist/siemens-ix/p-84178b22.entry.js.map +1 -0
- package/dist/siemens-ix/p-944a39a6.entry.js +2 -0
- package/dist/siemens-ix/p-944a39a6.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b76df1c7.entry.js → p-9f7d9525.entry.js} +2 -2
- package/dist/siemens-ix/p-9f7d9525.entry.js.map +1 -0
- package/dist/siemens-ix/p-G5i1Siog.js +2 -0
- package/dist/siemens-ix/p-G5i1Siog.js.map +1 -0
- package/dist/siemens-ix/{p-8f17f6ec.entry.js → p-ec9dc8d8.entry.js} +2 -2
- package/dist/siemens-ix/p-ec9dc8d8.entry.js.map +1 -0
- package/dist/siemens-ix/{p-35d6b656.entry.js → p-f5dd421a.entry.js} +2 -2
- package/dist/siemens-ix/{p-b8f4b001.entry.js → p-f5f9940c.entry.js} +2 -2
- package/dist/siemens-ix/p-f5f9940c.entry.js.map +1 -0
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/types/components/action-card/action-card.d.ts +4 -0
- package/dist/types/components/card/card.d.ts +4 -0
- package/dist/types/components/menu/menu.d.ts +1 -0
- package/dist/types/components/push-card/push-card.d.ts +4 -0
- package/dist/types/components/toast/toast-utils.d.ts +4 -0
- package/dist/types/components/toast/toast.d.ts +4 -0
- package/dist/types/components.d.ts +40 -0
- package/hydrate/index.js +88 -40
- package/hydrate/index.mjs +88 -40
- package/package.json +1 -1
- package/components/p-BLeWaHpy.js.map +0 -1
- package/components/p-CsHYWHE6.js.map +0 -1
- package/components/p-DlVaL0Yi.js.map +0 -1
- package/components/p-hwPzPVf8.js.map +0 -1
- package/dist/cjs/theme-switcher-76Td30il.js.map +0 -1
- package/dist/esm/theme-switcher-DRqJGlG2.js.map +0 -1
- package/dist/siemens-ix/p-0d621531.entry.js +0 -2
- package/dist/siemens-ix/p-0d621531.entry.js.map +0 -1
- package/dist/siemens-ix/p-2597a988.entry.js +0 -2
- package/dist/siemens-ix/p-2597a988.entry.js.map +0 -1
- package/dist/siemens-ix/p-33fcea65.entry.js +0 -2
- package/dist/siemens-ix/p-33fcea65.entry.js.map +0 -1
- package/dist/siemens-ix/p-367df024.entry.js.map +0 -1
- package/dist/siemens-ix/p-37bd983a.entry.js +0 -2
- package/dist/siemens-ix/p-37bd983a.entry.js.map +0 -1
- package/dist/siemens-ix/p-8f17f6ec.entry.js.map +0 -1
- package/dist/siemens-ix/p-CsHYWHE6.js +0 -2
- package/dist/siemens-ix/p-CsHYWHE6.js.map +0 -1
- package/dist/siemens-ix/p-b76df1c7.entry.js.map +0 -1
- package/dist/siemens-ix/p-b8f4b001.entry.js.map +0 -1
- package/dist/siemens-ix/p-c1160cf8.entry.js +0 -2
- package/dist/siemens-ix/p-c1160cf8.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-35d6b656.entry.js.map → p-f5dd421a.entry.js.map} +0 -0
|
@@ -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: '
|
|
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: '
|
|
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
|
-
|
|
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":
|
|
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;
|
|
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: '
|
|
440
|
+
return (h(Host, { key: 'ea617374858acbf094cbf397be00f38023c6d09b', class: {
|
|
435
441
|
expanded: this.expand,
|
|
436
442
|
[`breakpoint-${this.breakpoint}`]: true,
|
|
437
|
-
}, slot: "menu" }, h("nav", { key: '
|
|
443
|
+
}, slot: "menu" }, h("nav", { key: '49709a839fd53bc53b4f0c100d38ef50a101532e', class: {
|
|
438
444
|
menu: true,
|
|
439
445
|
expanded: this.expand,
|
|
440
|
-
} }, h("div", { key: '
|
|
441
|
-
((_a = this.applicationLayoutContext) === null || _a === void 0 ? void 0 : _a.appSwitchConfig) && (h("ix-icon-button", { key: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
455
|
+
} }), h("div", { key: 'e2ba26766b80e0a6c262a2ce42a208f114cdfba6', class: {
|
|
450
456
|
tabs: true,
|
|
451
457
|
'show-scrollbar': this.expand,
|
|
452
|
-
}, onScroll: () => this.handleOverflowIndicator() }, h("div", { key: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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":"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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 /**\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"]}
|
|
@@ -33,14 +33,6 @@
|
|
|
33
33
|
* This source code is licensed under the MIT license found in the
|
|
34
34
|
* LICENSE file in the root directory of this source tree.
|
|
35
35
|
*/
|
|
36
|
-
/*
|
|
37
|
-
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
38
|
-
*
|
|
39
|
-
* SPDX-License-Identifier: MIT
|
|
40
|
-
*
|
|
41
|
-
* This source code is licensed under the MIT license found in the
|
|
42
|
-
* LICENSE file in the root directory of this source tree.
|
|
43
|
-
*/
|
|
44
36
|
:host {
|
|
45
37
|
margin: 0.5rem 0.5rem 0rem 0.5rem;
|
|
46
38
|
}
|
|
@@ -133,9 +125,6 @@
|
|
|
133
125
|
padding: 0 1rem;
|
|
134
126
|
font-weight: normal;
|
|
135
127
|
white-space: normal;
|
|
136
|
-
overflow: hidden;
|
|
137
|
-
text-overflow: ellipsis;
|
|
138
|
-
white-space: nowrap;
|
|
139
128
|
}
|
|
140
129
|
:host ix-icon {
|
|
141
130
|
margin-top: 0.25rem;
|
|
@@ -49,6 +49,7 @@ export class Panes {
|
|
|
49
49
|
this.isMobile = matchBreakpoint('sm');
|
|
50
50
|
applicationLayoutService.onChange.on(() => {
|
|
51
51
|
this.isMobile = matchBreakpoint('sm');
|
|
52
|
+
this.configurePanes();
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
componentDidLoad() {
|
|
@@ -238,7 +239,7 @@ export class Panes {
|
|
|
238
239
|
return pane ? pane.floating : false;
|
|
239
240
|
}
|
|
240
241
|
render() {
|
|
241
|
-
return (h(Host, { key: '
|
|
242
|
+
return (h(Host, { key: 'e325d469cf08970e85af16e34df3e25ea6fadacc' }, !this.isMobile ? (this.layout == 'full-vertical' ? (h("div", { class: "side-panes-wrapper" }, h("div", { class: {
|
|
242
243
|
row: true,
|
|
243
244
|
'padding-left': this.hasPadding('left'),
|
|
244
245
|
'padding-right': this.hasPadding('right'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pane-layout.js","sourceRoot":"","sources":["../../../src/components/pane-layout/pane-layout.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 forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { Composition } from '../pane/pane.types';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\n\n@Component({\n tag: 'ix-pane-layout',\n styleUrl: 'pane-layout.scss',\n shadow: true,\n})\nexport class Panes {\n @Element() hostElement!: HTMLIxPaneLayoutElement;\n\n /**\n * Choose the layout of the panes.\n * When set to 'full-vertical' the vertical panes (left, right) will get the full height.\n * When set to 'full-horizontal' the horizontal panes (top, bottom) will get the full width.\n */\n @Prop() layout: 'full-vertical' | 'full-horizontal' = 'full-vertical';\n\n /**\n * Set the default variant for all panes in the layout\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Set the default border state for all panes in the layout\n */\n @Prop() borderless: boolean = false;\n\n @State() private isMobile = false;\n @State() private paneElements = 0;\n\n private panes: Array<{\n slot: string;\n hideOnCollapse: boolean;\n floating: boolean;\n }> = [];\n\n private observer?: MutationObserver;\n\n get currentPanes() {\n return this.hostElement.querySelectorAll('ix-pane');\n }\n\n componentWillLoad() {\n this.paneElements = this.currentPanes.length;\n\n this.observer = new MutationObserver((mutations) => {\n if (mutations[0].addedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements += 1;\n } else if (mutations[0].removedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements -= 1;\n }\n });\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n }\n\n componentDidLoad() {\n this.setPanes(this.currentPanes);\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n private setPaneVariant(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n pane.variant = this.variant;\n }\n }\n\n private setPaneBorder(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n if (this.borderless) {\n pane.borderless = true;\n } else {\n const hasVisibleLeftPane = !!this.panes.find(\n (pane) => pane.slot === 'left' && !pane.hideOnCollapse\n );\n if (\n pane.variant === 'floating' &&\n this.layout === 'full-vertical' &&\n hasVisibleLeftPane &&\n (pane.composition === 'top' || pane.composition === 'bottom')\n ) {\n pane.borderless = true;\n } else {\n pane.borderless = false;\n }\n }\n }\n }\n\n private setPaneZIndex(pane: HTMLIxPaneElement) {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n let zIndex = 1;\n if (this.isMobile) {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n } else {\n if (this.layout === 'full-vertical') {\n if (isLeft || isRight) {\n zIndex = 3;\n }\n } else {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n }\n }\n pane.style.zIndex = zIndex.toString();\n }\n\n private setPanes(panes: NodeListOf<HTMLIxPaneElement>) {\n this.panes = [];\n panes.forEach((pane) => {\n this.panes.push({\n slot: pane.slot,\n hideOnCollapse: pane.hideOnCollapse,\n floating: pane.variant === 'floating',\n });\n });\n }\n\n private closeFloatingPanes() {\n this.currentPanes.forEach((pane) => {\n if (pane.expanded && pane.variant === 'floating') {\n pane.expanded = false;\n }\n });\n }\n\n private configurePanes() {\n let topCount = 0;\n let bottomCount = 0;\n let leftCount = 0;\n let rightCount = 0;\n\n this.currentPanes.forEach((pane) => {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n if (isLeft) {\n if (leftCount) {\n pane.slot = '';\n return;\n }\n leftCount++;\n } else if (isRight) {\n if (rightCount) {\n pane.slot = '';\n return;\n }\n rightCount++;\n } else if (isTop) {\n if (topCount) {\n pane.slot = '';\n return;\n }\n topCount++;\n } else if (isBottom) {\n if (bottomCount) {\n pane.slot = '';\n return;\n }\n bottomCount++;\n } else {\n pane.slot = '';\n return;\n }\n\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Listen('slotChanged')\n onSlotChanged() {\n this.configurePanes();\n }\n\n @Listen('hideOnCollapseChanged')\n onCollapsibleChanged(event: CustomEvent) {\n const { slot, hideOnCollapse } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.hideOnCollapse = hideOnCollapse;\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Listen('variantChanged')\n onVariantChanged(event: CustomEvent) {\n const { slot, variant } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.floating = variant === 'floating';\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Watch('paneElements')\n onPaneElementsChange() {\n this.configurePanes();\n }\n\n @Watch('variant')\n onVariableChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Watch('borderless')\n onBorderChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n });\n }\n\n @Watch('layout')\n onLayoutChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneZIndex(pane);\n });\n }\n\n private hasPadding(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? !pane.hideOnCollapse && pane.floating : false;\n }\n\n private hasPaddingMobile(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane && !pane.hideOnCollapse;\n }\n\n private slotExists(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return !!pane;\n }\n\n private isFloating(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? pane.floating : false;\n }\n\n render() {\n return (\n <Host>\n {!this.isMobile ? (\n this.layout == 'full-vertical' ? (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n </div>\n ) : (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n </div>\n )\n ) : (\n <div class=\"col\">\n <div\n key=\"top\"\n style={{\n minHeight: this.hasPaddingMobile('top') ? '48px' : '0',\n display: this.slotExists('top') ? 'block' : 'none',\n }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"left\"\n style={{\n minHeight: this.hasPaddingMobile('left') ? '48px' : '0',\n display: this.slotExists('left') ? 'block' : 'none',\n }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n style={{\n minHeight: this.hasPaddingMobile('right') ? '48px' : '0',\n display: this.slotExists('right') ? 'block' : 'none',\n }}\n >\n <slot name=\"right\"></slot>\n </div>\n <div\n key=\"bottom\"\n style={{\n minHeight: this.hasPaddingMobile('bottom') ? '48px' : '0',\n display: this.slotExists('bottom') ? 'block' : 'none',\n }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pane-layout.js","sourceRoot":"","sources":["../../../src/components/pane-layout/pane-layout.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 forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { Composition } from '../pane/pane.types';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\n\n@Component({\n tag: 'ix-pane-layout',\n styleUrl: 'pane-layout.scss',\n shadow: true,\n})\nexport class Panes {\n @Element() hostElement!: HTMLIxPaneLayoutElement;\n\n /**\n * Choose the layout of the panes.\n * When set to 'full-vertical' the vertical panes (left, right) will get the full height.\n * When set to 'full-horizontal' the horizontal panes (top, bottom) will get the full width.\n */\n @Prop() layout: 'full-vertical' | 'full-horizontal' = 'full-vertical';\n\n /**\n * Set the default variant for all panes in the layout\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Set the default border state for all panes in the layout\n */\n @Prop() borderless: boolean = false;\n\n @State() private isMobile = false;\n @State() private paneElements = 0;\n\n private panes: Array<{\n slot: string;\n hideOnCollapse: boolean;\n floating: boolean;\n }> = [];\n\n private observer?: MutationObserver;\n\n get currentPanes() {\n return this.hostElement.querySelectorAll('ix-pane');\n }\n\n componentWillLoad() {\n this.paneElements = this.currentPanes.length;\n\n this.observer = new MutationObserver((mutations) => {\n if (mutations[0].addedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements += 1;\n } else if (mutations[0].removedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements -= 1;\n }\n });\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n this.configurePanes();\n });\n }\n\n componentDidLoad() {\n this.setPanes(this.currentPanes);\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n private setPaneVariant(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n pane.variant = this.variant;\n }\n }\n\n private setPaneBorder(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n if (this.borderless) {\n pane.borderless = true;\n } else {\n const hasVisibleLeftPane = !!this.panes.find(\n (pane) => pane.slot === 'left' && !pane.hideOnCollapse\n );\n if (\n pane.variant === 'floating' &&\n this.layout === 'full-vertical' &&\n hasVisibleLeftPane &&\n (pane.composition === 'top' || pane.composition === 'bottom')\n ) {\n pane.borderless = true;\n } else {\n pane.borderless = false;\n }\n }\n }\n }\n\n private setPaneZIndex(pane: HTMLIxPaneElement) {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n let zIndex = 1;\n if (this.isMobile) {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n } else {\n if (this.layout === 'full-vertical') {\n if (isLeft || isRight) {\n zIndex = 3;\n }\n } else {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n }\n }\n pane.style.zIndex = zIndex.toString();\n }\n\n private setPanes(panes: NodeListOf<HTMLIxPaneElement>) {\n this.panes = [];\n panes.forEach((pane) => {\n this.panes.push({\n slot: pane.slot,\n hideOnCollapse: pane.hideOnCollapse,\n floating: pane.variant === 'floating',\n });\n });\n }\n\n private closeFloatingPanes() {\n this.currentPanes.forEach((pane) => {\n if (pane.expanded && pane.variant === 'floating') {\n pane.expanded = false;\n }\n });\n }\n\n private configurePanes() {\n let topCount = 0;\n let bottomCount = 0;\n let leftCount = 0;\n let rightCount = 0;\n\n this.currentPanes.forEach((pane) => {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n if (isLeft) {\n if (leftCount) {\n pane.slot = '';\n return;\n }\n leftCount++;\n } else if (isRight) {\n if (rightCount) {\n pane.slot = '';\n return;\n }\n rightCount++;\n } else if (isTop) {\n if (topCount) {\n pane.slot = '';\n return;\n }\n topCount++;\n } else if (isBottom) {\n if (bottomCount) {\n pane.slot = '';\n return;\n }\n bottomCount++;\n } else {\n pane.slot = '';\n return;\n }\n\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Listen('slotChanged')\n onSlotChanged() {\n this.configurePanes();\n }\n\n @Listen('hideOnCollapseChanged')\n onCollapsibleChanged(event: CustomEvent) {\n const { slot, hideOnCollapse } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.hideOnCollapse = hideOnCollapse;\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Listen('variantChanged')\n onVariantChanged(event: CustomEvent) {\n const { slot, variant } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.floating = variant === 'floating';\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Watch('paneElements')\n onPaneElementsChange() {\n this.configurePanes();\n }\n\n @Watch('variant')\n onVariableChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Watch('borderless')\n onBorderChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n });\n }\n\n @Watch('layout')\n onLayoutChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneZIndex(pane);\n });\n }\n\n private hasPadding(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? !pane.hideOnCollapse && pane.floating : false;\n }\n\n private hasPaddingMobile(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane && !pane.hideOnCollapse;\n }\n\n private slotExists(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return !!pane;\n }\n\n private isFloating(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? pane.floating : false;\n }\n\n render() {\n return (\n <Host>\n {!this.isMobile ? (\n this.layout == 'full-vertical' ? (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n </div>\n ) : (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n </div>\n )\n ) : (\n <div class=\"col\">\n <div\n key=\"top\"\n style={{\n minHeight: this.hasPaddingMobile('top') ? '48px' : '0',\n display: this.slotExists('top') ? 'block' : 'none',\n }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"left\"\n style={{\n minHeight: this.hasPaddingMobile('left') ? '48px' : '0',\n display: this.slotExists('left') ? 'block' : 'none',\n }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n style={{\n minHeight: this.hasPaddingMobile('right') ? '48px' : '0',\n display: this.slotExists('right') ? 'block' : 'none',\n }}\n >\n <slot name=\"right\"></slot>\n </div>\n <div\n key=\"bottom\"\n style={{\n minHeight: this.hasPaddingMobile('bottom') ? '48px' : '0',\n display: this.slotExists('bottom') ? 'block' : 'none',\n }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -17,10 +17,14 @@ export class PushCard {
|
|
|
17
17
|
* Expand the card
|
|
18
18
|
*/
|
|
19
19
|
this.expanded = false;
|
|
20
|
+
/**
|
|
21
|
+
* If true, disables hover and active styles and changes cursor to default
|
|
22
|
+
*/
|
|
23
|
+
this.passive = false;
|
|
20
24
|
}
|
|
21
25
|
render() {
|
|
22
26
|
var _a;
|
|
23
|
-
return (h(Host, { key: '
|
|
27
|
+
return (h(Host, { key: 'f91d2bc149d2358afb29d82de24a0fd4d36ff8da', class: `card-${this.variant}` }, h("ix-card", { key: '22520048301a654e61139c8d6bd50788328861d9', variant: this.variant, passive: this.passive }, h("ix-card-content", { key: 'ff4cdaa22e092861c98cf9af6554626c5d8b067f' }, h("ix-card-title", { key: '63deacdf7535977fd8c7a4f42e45127231ee6475' }, this.icon ? (h("ix-icon", { class: 'icon', name: this.icon, size: "32", "aria-label": this.ariaLabelIcon })) : null, h("ix-typography", { key: '3a86dc49d3cf32c426c231865b1a2336ccad48bf', format: "display-xxl" }, (_a = this.notification) !== null && _a !== void 0 ? _a : 0), h("slot", { key: '19fa42ddfbb9e1dce31842f5eab9ca9652b86701', name: "title-action" })), h("ix-typography", { key: '28a8dd2f112f679f5352fd17bccb0e9996208d80', format: "h4" }, this.heading), h("ix-typography", { key: '6b46c08124d639b71d8c11b8b3fb07c91950b5ed' }, this.subheading)), h("ix-card-accordion", { key: '0812bbb4d460cd89d095aa1eff55e5c37ef52e36', collapse: !this.expanded, variant: this.variant }, h("slot", { key: '2ac082345c8179a97520407d6bc91aac7a3b0a9b' })))));
|
|
24
28
|
}
|
|
25
29
|
static get is() { return "ix-push-card"; }
|
|
26
30
|
static get encapsulation() { return "shadow"; }
|
|
@@ -179,6 +183,26 @@ export class PushCard {
|
|
|
179
183
|
"setter": false,
|
|
180
184
|
"reflect": false,
|
|
181
185
|
"defaultValue": "false"
|
|
186
|
+
},
|
|
187
|
+
"passive": {
|
|
188
|
+
"type": "boolean",
|
|
189
|
+
"attribute": "passive",
|
|
190
|
+
"mutable": false,
|
|
191
|
+
"complexType": {
|
|
192
|
+
"original": "boolean",
|
|
193
|
+
"resolved": "boolean",
|
|
194
|
+
"references": {}
|
|
195
|
+
},
|
|
196
|
+
"required": false,
|
|
197
|
+
"optional": false,
|
|
198
|
+
"docs": {
|
|
199
|
+
"tags": [],
|
|
200
|
+
"text": "If true, disables hover and active styles and changes cursor to default"
|
|
201
|
+
},
|
|
202
|
+
"getter": false,
|
|
203
|
+
"setter": false,
|
|
204
|
+
"reflect": false,
|
|
205
|
+
"defaultValue": "false"
|
|
182
206
|
}
|
|
183
207
|
};
|
|
184
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-card.js","sourceRoot":"","sources":["../../../src/components/push-card/push-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzD,MAAM,OAAO,QAAQ;IALrB;QAiCE;;WAEG;QACK,YAAO,GAAoB,SAAS,CAAC;QAE7C;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;KA+
|
|
1
|
+
{"version":3,"file":"push-card.js","sourceRoot":"","sources":["../../../src/components/push-card/push-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzD,MAAM,OAAO,QAAQ;IALrB;QAiCE;;WAEG;QACK,YAAO,GAAoB,SAAS,CAAC;QAE7C;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAElC;;WAEG;QACK,YAAO,GAAY,KAAK,CAAC;KA+BlC;IA7BC,MAAM;;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE;YACjC,gEAAS,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACnD;oBACE;wBACG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eACE,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,gBACG,IAAI,CAAC,aAAa,GACrB,CACZ,CAAC,CAAC,CAAC,IAAI;wBACR,sEAAe,MAAM,EAAC,aAAa,IAChC,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC,CACT;wBAChB,6DAAM,IAAI,EAAC,cAAc,GAAQ,CACnB;oBAChB,sEAAe,MAAM,EAAC,IAAI,IAAE,IAAI,CAAC,OAAO,CAAiB;oBACzD,wEAAgB,IAAI,CAAC,UAAU,CAAiB,CAChC;gBAClB,0EAAmB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;oBAChE,8DAAa,CACK,CACZ,CACL,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, h, Host, Prop } from '@stencil/core';\nimport type { PushCardVariant } from './push-card.types';\n\n@Component({\n tag: 'ix-push-card',\n styleUrl: 'push-card.scss',\n shadow: true,\n})\nexport class PushCard {\n /**\n * Card icon\n */\n @Prop() icon?: string;\n\n /**\n * ARIA label for the icon\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * Card KPI value\n */\n @Prop() notification?: string;\n\n /**\n * Card heading\n */\n @Prop() heading?: string;\n\n /**\n * Card subheading\n */\n @Prop() subheading?: string;\n\n /**\n * Card variant\n */\n @Prop() variant: PushCardVariant = 'outline';\n\n /**\n * Expand the card\n */\n @Prop() expanded: boolean = false;\n\n /**\n * If true, disables hover and active styles and changes cursor to default\n */\n @Prop() passive: boolean = false;\n\n render() {\n return (\n <Host class={`card-${this.variant}`}>\n <ix-card variant={this.variant} passive={this.passive}>\n <ix-card-content>\n <ix-card-title>\n {this.icon ? (\n <ix-icon\n class={'icon'}\n name={this.icon}\n size=\"32\"\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n ) : null}\n <ix-typography format=\"display-xxl\">\n {this.notification ?? 0}\n </ix-typography>\n <slot name=\"title-action\"></slot>\n </ix-card-title>\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n <ix-typography>{this.subheading}</ix-typography>\n </ix-card-content>\n <ix-card-accordion collapse={!this.expanded} variant={this.variant}>\n <slot></slot>\n </ix-card-accordion>\n </ix-card>\n </Host>\n );\n }\n}\n"]}
|