UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

132 lines 15.9 kB
import { NgClass, NgTemplateOutlet } from '@angular/common'; import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { slideMotion, zoomBigMotion } from 'ng-zorro-antd/core/animation'; import * as i0 from "@angular/core"; import * as i1 from "@angular/cdk/bidi"; export class NzSubmenuNoneInlineChildComponent { constructor(directionality) { this.directionality = directionality; this.menuClass = ''; this.theme = 'light'; this.templateOutlet = null; this.isMenuInsideDropDown = false; this.mode = 'vertical'; this.position = 'right'; this.nzDisabled = false; this.nzOpen = false; this.subMenuMouseState = new EventEmitter(); this.expandState = 'collapsed'; this.dir = 'ltr'; this.destroy$ = new Subject(); } setMouseState(state) { if (!this.nzDisabled) { this.subMenuMouseState.next(state); } } ngOnDestroy() { this.destroy$.next(); this.destroy$.complete(); } calcMotionState() { if (this.nzOpen) { if (this.mode === 'horizontal') { this.expandState = 'bottom'; } else if (this.mode === 'vertical') { this.expandState = 'active'; } } else { this.expandState = 'collapsed'; } } ngOnInit() { this.calcMotionState(); this.dir = this.directionality.value; this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { this.dir = direction; }); } ngOnChanges(changes) { const { mode, nzOpen } = changes; if (mode || nzOpen) { this.calcMotionState(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NzSubmenuNoneInlineChildComponent, deps: [{ token: i1.Directionality }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: NzSubmenuNoneInlineChildComponent, isStandalone: true, selector: "[nz-submenu-none-inline-child]", inputs: { menuClass: "menuClass", theme: "theme", templateOutlet: "templateOutlet", isMenuInsideDropDown: "isMenuInsideDropDown", mode: "mode", position: "position", nzDisabled: "nzDisabled", nzOpen: "nzOpen" }, outputs: { subMenuMouseState: "subMenuMouseState" }, host: { listeners: { "mouseenter": "setMouseState(true)", "mouseleave": "setMouseState(false)" }, properties: { "class.ant-menu-light": "theme === 'light'", "class.ant-menu-dark": "theme === 'dark'", "class.ant-menu-submenu-placement-bottom": "mode === 'horizontal'", "class.ant-menu-submenu-placement-right": "mode === 'vertical' && position === 'right'", "class.ant-menu-submenu-placement-left": "mode === 'vertical' && position === 'left'", "class.ant-menu-submenu-rtl": "dir ===\"rtl\"", "@slideMotion": "expandState", "@zoomBigMotion": "expandState" }, classAttribute: "ant-menu-submenu ant-menu-submenu-popup" }, exportAs: ["nzSubmenuNoneInlineChild"], usesOnChanges: true, ngImport: i0, template: ` <div [class.ant-dropdown-menu]="isMenuInsideDropDown" [class.ant-menu]="!isMenuInsideDropDown" [class.ant-dropdown-menu-vertical]="isMenuInsideDropDown" [class.ant-menu-vertical]="!isMenuInsideDropDown" [class.ant-dropdown-menu-sub]="isMenuInsideDropDown" [class.ant-menu-sub]="!isMenuInsideDropDown" [class.ant-menu-rtl]="dir === 'rtl'" [ngClass]="menuClass" > <ng-template [ngTemplateOutlet]="templateOutlet"></ng-template> </div> `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [zoomBigMotion, slideMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NzSubmenuNoneInlineChildComponent, decorators: [{ type: Component, args: [{ selector: '[nz-submenu-none-inline-child]', exportAs: 'nzSubmenuNoneInlineChild', encapsulation: ViewEncapsulation.None, animations: [zoomBigMotion, slideMotion], changeDetection: ChangeDetectionStrategy.OnPush, template: ` <div [class.ant-dropdown-menu]="isMenuInsideDropDown" [class.ant-menu]="!isMenuInsideDropDown" [class.ant-dropdown-menu-vertical]="isMenuInsideDropDown" [class.ant-menu-vertical]="!isMenuInsideDropDown" [class.ant-dropdown-menu-sub]="isMenuInsideDropDown" [class.ant-menu-sub]="!isMenuInsideDropDown" [class.ant-menu-rtl]="dir === 'rtl'" [ngClass]="menuClass" > <ng-template [ngTemplateOutlet]="templateOutlet"></ng-template> </div> `, host: { class: 'ant-menu-submenu ant-menu-submenu-popup', '[class.ant-menu-light]': "theme === 'light'", '[class.ant-menu-dark]': "theme === 'dark'", '[class.ant-menu-submenu-placement-bottom]': "mode === 'horizontal'", '[class.ant-menu-submenu-placement-right]': "mode === 'vertical' && position === 'right'", '[class.ant-menu-submenu-placement-left]': "mode === 'vertical' && position === 'left'", '[class.ant-menu-submenu-rtl]': 'dir ==="rtl"', '[@slideMotion]': 'expandState', '[@zoomBigMotion]': 'expandState', '(mouseenter)': 'setMouseState(true)', '(mouseleave)': 'setMouseState(false)' }, imports: [NgClass, NgTemplateOutlet], standalone: true }] }], ctorParameters: () => [{ type: i1.Directionality }], propDecorators: { menuClass: [{ type: Input }], theme: [{ type: Input }], templateOutlet: [{ type: Input }], isMenuInsideDropDown: [{ type: Input }], mode: [{ type: Input }], position: [{ type: Input }], nzDisabled: [{ type: Input }], nzOpen: [{ type: Input }], subMenuMouseState: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWVudS1ub24taW5saW5lLWNoaWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvbWVudS9zdWJtZW51LW5vbi1pbmxpbmUtY2hpbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBeUMxRSxNQUFNLE9BQU8saUNBQWlDO0lBVzVDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVZ6QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFVBQUssR0FBb0IsT0FBTyxDQUFDO1FBQ2pDLG1CQUFjLEdBQWtDLElBQUksQ0FBQztRQUNyRCx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsU0FBSSxHQUFtQixVQUFVLENBQUM7UUFDbEMsYUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDTCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBU25FLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzFCLFFBQUcsR0FBYyxLQUFLLENBQUM7UUFDZixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVRjLENBQUM7SUFFdEQsYUFBYSxDQUFD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QVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ2EsaUJBQWlCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHNsaWRlTW90aW9uLCB6b29tQmlnTW90aW9uIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL2FuaW1hdGlvbic7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBOek1lbnVNb2RlVHlwZSwgTnpNZW51VGhlbWVUeXBlIH0gZnJvbSAnLi9tZW51LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW256LXN1Ym1lbnUtbm9uZS1pbmxpbmUtY2hpbGRdJyxcbiAgZXhwb3J0QXM6ICduelN1Ym1lbnVOb25lSW5saW5lQ2hpbGQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbem9vbUJpZ01vdGlvbiwgc2xpZGVNb3Rpb25dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBbY2xhc3MuYW50LWRyb3Bkb3duLW1lbnVdPVwiaXNNZW51SW5zaWRlRHJvcERvd25cIlxuICAgICAgW2NsYXNzLmFudC1tZW51XT1cIiFpc01lbnVJbnNpZGVEcm9wRG93blwiXG4gICAgICBbY2xhc3MuYW50LWRyb3Bkb3duLW1lbnUtdmVydGljYWxdPVwiaXNNZW51SW5zaWRlRHJvcERvd25cIlxuICAgICAgW2NsYXNzLmFudC1tZW51LXZlcnRpY2FsXT1cIiFpc01lbnVJbnNpZGVEcm9wRG93blwiXG4gICAgICBbY2xhc3MuYW50LWRyb3Bkb3duLW1lbnUtc3ViXT1cImlzTWVudUluc2lkZURyb3BEb3duXCJcbiAgICAgIFtjbGFzcy5hbnQtbWVudS1zdWJdPVwiIWlzTWVudUluc2lkZURyb3BEb3duXCJcbiAgICAgIFtjbGFzcy5hbnQtbWVudS1ydGxdPVwiZGlyID09PSAncnRsJ1wiXG4gICAgICBbbmdDbGFzc109XCJtZW51Q2xhc3NcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZU91dGxldFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2FudC1tZW51LXN1Ym1lbnUgYW50LW1lbnUtc3VibWVudS1wb3B1cCcsXG4gICAgJ1tjbGFzcy5hbnQtbWVudS1saWdodF0nOiBcInRoZW1lID09PSAnbGlnaHQnXCIsXG4gICAgJ1tjbGFzcy5hbnQtbWVudS1kYXJrXSc6IFwidGhlbWUgPT09ICdkYXJrJ1wiLFxuICAgICdbY2xhc3MuYW50LW1lbnUtc3VibWVudS1wbGFjZW1lbnQtYm90dG9tXSc6IFwibW9kZSA9PT0gJ2hvcml6b250YWwnXCIsXG4gICAgJ1tjbGFzcy5hbnQtbWVudS1zdWJtZW51LXBsYWNlbWVudC1yaWdodF0nOiBcIm1vZGUgPT09ICd2ZXJ0aWNhbCcgJiYgcG9zaXRpb24gPT09ICdyaWdodCdcIixcbiAgICAnW2NsYXNzLmFudC1tZW51LXN1Ym1lbnUtcGxhY2VtZW50LWxlZnRdJzogXCJtb2RlID09PSAndmVydGljYWwnICYmIHBvc2l0aW9uID09PSAnbGVmdCdcIixcbiAgICAnW2NsYXNzLmFudC1tZW51LXN1Ym1lbnUtcnRsXSc6ICdkaXIgPT09XCJydGxcIicsXG4gICAgJ1tAc2xpZGVNb3Rpb25dJzogJ2V4cGFuZFN0YXRlJyxcbiAgICAnW0B6b29tQmlnTW90aW9uXSc6ICdleHBhbmRTdGF0ZScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdzZXRNb3VzZVN0YXRlKHRydWUpJyxcbiAgICAnKG1vdXNlbGVhdmUpJzogJ3NldE1vdXNlU3RhdGUoZmFsc2UpJ1xuICB9LFxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldF0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTnpTdWJtZW51Tm9uZUlubGluZUNoaWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIG1lbnVDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRoZW1lOiBOek1lbnVUaGVtZVR5cGUgPSAnbGlnaHQnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZU91dGxldDogVGVtcGxhdGVSZWY8TnpTYWZlQW55PiB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpc01lbnVJbnNpZGVEcm9wRG93biA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlOiBOek1lbnVNb2RlVHlwZSA9ICd2ZXJ0aWNhbCc7XG4gIEBJbnB1dCgpIHBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgbnpEaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBuek9wZW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHN1Yk1lbnVNb3VzZVN0YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlyZWN0aW9uYWxpdHk6IERpcmVjdGlvbmFsaXR5KSB7fVxuXG4gIHNldE1vdXNlU3RhdGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubnpEaXNhYmxlZCkge1xuICAgICAgdGhpcy5zdWJNZW51TW91c2VTdGF0ZS5uZXh0KHN0YXRlKTtcbiAgICB9XG4gIH1cbiAgZXhwYW5kU3RhdGUgPSAnY29sbGFwc2VkJztcbiAgZGlyOiBEaXJlY3Rpb24gPSAnbHRyJztcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG4gIGNhbGNNb3Rpb25TdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uek9wZW4pIHtcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICB0aGlzLmV4cGFuZFN0YXRlID0gJ2JvdHRvbSc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICB0aGlzLmV4cGFuZFN0YXRlID0gJ2FjdGl2ZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXhwYW5kU3RhdGUgPSAnY29sbGFwc2VkJztcbiAgICB9XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxjTW90aW9uU3RhdGUoKTtcblxuICAgIHRoaXMuZGlyID0gdGhpcy5kaXJlY3Rpb25hbGl0eS52YWx1ZTtcbiAgICB0aGlzLmRpcmVjdGlvbmFsaXR5LmNoYW5nZT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZGlyZWN0aW9uOiBEaXJlY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuZGlyID0gZGlyZWN0aW9uO1xuICAgIH0pO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IG1vZGUsIG56T3BlbiB9ID0gY2hhbmdlcztcbiAgICBpZiAobW9kZSB8fCBuek9wZW4pIHtcbiAgICAgIHRoaXMuY2FsY01vdGlvblN0YXRlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=