import { Component, ViewEncapsulation, Input, Renderer2, ContentChild, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
import { merge } from 'rxjs/observable/merge';
import { debounceTime } from 'rxjs/operator/debounceTime';
import { Observable } from 'rxjs/Observable';
import { NzMenuComponent } from '../menu/nz-menu.component';
import { DropDownAnimation } from '../core/animation/dropdown-animations';
import { NzDropDownDirective } from './nz-dropdown.directive';
import { POSITION_MAP, DEFAULT_DROPDOWN_POSITIONS } from '../core/overlay/overlay-position-map';
var NzDropDownComponent = (function () {
    function NzDropDownComponent(_renderer, _changeDetector) {
        var _this = this;
        this._renderer = _renderer;
        this._changeDetector = _changeDetector;
        this._triggerWidth = 0;
        this._placement = 'bottomLeft';
        this._dropDownPosition = 'bottom';
        this._positions = DEFAULT_DROPDOWN_POSITIONS.slice();
        this.nzTrigger = 'hover';
        this.nzClickHide = true;
        this.nzVisible = false;
        this.nzVisibleChange = new EventEmitter();
        this._onVisibleChange = function (visible) {
            if (visible) {
                if (!_this._triggerWidth) {
                    _this._setTriggerWidth();
                }
            }
            _this.nzVisible = visible;
            _this._changeDetector.markForCheck();
        };
    }
    Object.defineProperty(NzDropDownComponent.prototype, "nzPlacement", {
        get: function () {
            return this._placement;
        },
        set: function (value) {
            this._placement = value;
            this._dropDownPosition = (this.nzPlacement.indexOf('top') !== -1) ? 'top' : 'bottom';
            this._positions.unshift(POSITION_MAP[this._placement]);
        },
        enumerable: true,
        configurable: true
    });
    ;
    NzDropDownComponent.prototype._onClickEvent = function () {
        if (this.nzTrigger === 'click') {
            this._show();
        }
    };
    NzDropDownComponent.prototype._onMouseEnterEvent = function (e) {
        if (this.nzTrigger === 'hover') {
            this._show();
        }
    };
    NzDropDownComponent.prototype._onMouseLeaveEvent = function (e) {
        if (this.nzTrigger === 'hover') {
            this._hide();
        }
    };
    NzDropDownComponent.prototype._hide = function () {
        this.nzVisibleChange.emit(false);
    };
    NzDropDownComponent.prototype._show = function () {
        this.nzVisibleChange.emit(true);
    };
    NzDropDownComponent.prototype._onPositionChange = function (position) {
        this._dropDownPosition = position.connectionPair.originY;
    };
    NzDropDownComponent.prototype._clickDropDown = function ($event) {
        $event.stopPropagation();
        if (this.nzClickHide) {
            this.nzVisible = false;
        }
    };
    NzDropDownComponent.prototype._setTriggerWidth = function () {
        this._triggerWidth = this._nzOrigin.elementRef.nativeElement.getBoundingClientRect().width;
    };
    NzDropDownComponent.prototype._startSubscribe = function (observable$) {
        this._subscription = observable$
            .subscribe(this._onVisibleChange);
    };
    NzDropDownComponent.prototype.ngOnInit = function () {
        this._nzMenu.setDropDown(true);
    };
    NzDropDownComponent.prototype.ngOnDestroy = function () {
        this._subscription.unsubscribe();
    };
    NzDropDownComponent.prototype.ngAfterViewInit = function () {
        var _this = this;
        var mouse$;
        if (this.nzTrigger === 'hover') {
            mouse$ = Observable.create(function (observer) {
                var disposeMouseEnter = _this._renderer.listen(_this._nzOrigin.elementRef.nativeElement, 'mouseenter', function () {
                    observer.next(true);
                });
                var disposeMouseLeave = _this._renderer.listen(_this._nzOrigin.elementRef.nativeElement, 'mouseleave', function () {
                    observer.next(false);
                });
                return function () {
                    disposeMouseEnter();
                    disposeMouseLeave();
                };
            });
        }
        if (this.nzTrigger === 'click') {
            mouse$ = Observable.create(function (observer) {
                var dispose = _this._renderer.listen(_this._nzOrigin.elementRef.nativeElement, 'click', function (e) {
                    e.preventDefault();
                    observer.next(true);
                });
                return function () { return dispose(); };
            });
        }
        var observable$ = debounceTime.call(merge(mouse$, this.nzVisibleChange.asObservable()), 300);
        this._startSubscribe(observable$);
    };
    Object.defineProperty(NzDropDownComponent.prototype, "_hasBackdrop", {
        get: function () {
            return this.nzTrigger === 'click';
        },
        enumerable: true,
        configurable: true
    });
    return NzDropDownComponent;
}());
export { NzDropDownComponent };
NzDropDownComponent.decorators = [
    { type: Component, args: [{
                selector: 'nz-dropdown',
                encapsulation: ViewEncapsulation.None,
                animations: [
                    DropDownAnimation
                ],
                changeDetection: ChangeDetectionStrategy.OnPush,
                template: "\n    <div>\n      <ng-content></ng-content>\n    </div>\n    <ng-template\n      nz-connected-overlay\n      [hasBackdrop]=\"_hasBackdrop\"\n      [positions]=\"_positions\"\n      [origin]=\"_nzOrigin\"\n      (backdropClick)=\"_hide()\"\n      (detach)=\"_hide()\"\n      [minWidth]=\"_triggerWidth\"\n      (positionChange)=\"_onPositionChange($event)\"\n      [open]=\"nzVisible\">\n      <div\n        class=\"{{'ant-dropdown ant-dropdown-placement-'+nzPlacement}}\"\n        [@dropDownAnimation]=\"_dropDownPosition\"\n        (mouseenter)=\"_onMouseEnterEvent($event)\"\n        (mouseleave)=\"_onMouseLeaveEvent($event)\"\n        [style.minWidth.px]=\"_triggerWidth\"\n        (click)=\"_clickDropDown($event)\">\n        <ng-content select=\"[nz-menu]\"></ng-content>\n      </div>\n    </ng-template>",
                styles: [
                    "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable declaration-bang-space-before */\n/* stylelint-disable declaration-bang-space-before */\n.ant-dropdown {\n  position: absolute;\n  left: -9999px;\n  top: -9999px;\n  z-index: 1050;\n  display: block;\n  font-size: 12px;\n  font-weight: normal;\n  line-height: 1.5;\n}\n.ant-dropdown-wrap {\n  position: relative;\n}\n.ant-dropdown-wrap .ant-btn > .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-wrap .ant-btn > .anticon-down {\n  filter: none;\n}\n:root .ant-dropdown-wrap .ant-btn > .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-wrap .anticon-down:before {\n  transition: transform 0.2s ease;\n}\n.ant-dropdown-wrap-open .anticon-down:before {\n  transform: rotate(180deg);\n}\n.ant-dropdown-hidden,\n.ant-dropdown-menu-hidden {\n  display: none;\n}\n.ant-dropdown-menu {\n  outline: none;\n  position: relative;\n  list-style-type: none;\n  padding: 0;\n  margin: 0;\n  text-align: left;\n  background-color: #fff;\n  border-radius: 4px;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n  background-clip: padding-box;\n}\n.ant-dropdown-menu-item,\n.ant-dropdown-menu-submenu-title {\n  padding: 7px 8px;\n  margin: 0;\n  clear: both;\n  font-size: 12px;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.65);\n  white-space: nowrap;\n  cursor: pointer;\n  transition: all .3s;\n}\n.ant-dropdown-menu-item > a,\n.ant-dropdown-menu-submenu-title > a {\n  color: rgba(0, 0, 0, 0.65);\n  display: block;\n  padding: 7px 8px;\n  margin: -7px -8px;\n  transition: all .3s;\n}\n.ant-dropdown-menu-item > a:focus,\n.ant-dropdown-menu-submenu-title > a:focus {\n  text-decoration: none;\n}\n.ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-submenu-title-selected,\n.ant-dropdown-menu-item-selected > a,\n.ant-dropdown-menu-submenu-title-selected > a {\n  color: #108ee9;\n  background-color: #ecf6fd;\n}\n.ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-submenu-title:hover {\n  background-color: #ecf6fd;\n}\n.ant-dropdown-menu-item-disabled,\n.ant-dropdown-menu-submenu-title-disabled {\n  color: rgba(0, 0, 0, 0.25);\n  cursor: not-allowed;\n}\n.ant-dropdown-menu-item-disabled:hover,\n.ant-dropdown-menu-submenu-title-disabled:hover {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.ant-dropdown-menu-item:first-child,\n.ant-dropdown-menu-submenu-title:first-child,\n.ant-dropdown-menu-item:first-child > a,\n.ant-dropdown-menu-submenu-title:first-child > a {\n  border-radius: 4px 4px 0 0;\n}\n.ant-dropdown-menu-item:last-child,\n.ant-dropdown-menu-submenu-title:last-child,\n.ant-dropdown-menu-item:last-child > a,\n.ant-dropdown-menu-submenu-title:last-child > a {\n  border-radius: 0 0 4px 4px;\n}\n.ant-dropdown-menu-item:only-child,\n.ant-dropdown-menu-submenu-title:only-child,\n.ant-dropdown-menu-item:only-child > a,\n.ant-dropdown-menu-submenu-title:only-child > a {\n  border-radius: 4px;\n}\n.ant-dropdown-menu-item-divider,\n.ant-dropdown-menu-submenu-title-divider {\n  height: 1px;\n  overflow: hidden;\n  background-color: #e9e9e9;\n  line-height: 0;\n}\n.ant-dropdown-menu-submenu-title:after {\n  font-family: \"anticon\" !important;\n  position: absolute;\n  content: \"\\e61f\";\n  right: 8px;\n  color: rgba(0, 0, 0, 0.43);\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-menu-submenu-title:after {\n  filter: none;\n}\n:root .ant-dropdown-menu-submenu-title:after {\n  font-size: 12px;\n}\n.ant-dropdown-menu-submenu-vertical {\n  position: relative;\n}\n.ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu {\n  top: 0;\n  left: 100%;\n  position: absolute;\n  min-width: 100%;\n  margin-left: 4px;\n  transform-origin: 0 0;\n}\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title:after {\n  color: rgba(0, 0, 0, 0.25);\n}\n.ant-dropdown-menu-submenu:first-child .ant-dropdown-menu-submenu-title {\n  border-radius: 4px 4px 0 0;\n}\n.ant-dropdown-menu-submenu:last-child .ant-dropdown-menu-submenu-title {\n  border-radius: 0 0 4px 4px;\n}\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomRight,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomRight {\n  animation-name: antSlideUpIn;\n}\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topRight,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topRight {\n  animation-name: antSlideDownIn;\n}\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomRight {\n  animation-name: antSlideUpOut;\n}\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topRight {\n  animation-name: antSlideDownOut;\n}\n.ant-dropdown-trigger .anticon-down,\n.ant-dropdown-link .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-trigger .anticon-down,\n:root .ant-dropdown-link .anticon-down {\n  filter: none;\n}\n:root .ant-dropdown-trigger .anticon-down,\n:root .ant-dropdown-link .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-button {\n  white-space: nowrap;\n}\n.ant-dropdown-button.ant-btn-group > .ant-btn:last-child:not(:first-child) {\n  padding-right: 8px;\n}\n.ant-dropdown-button .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-button .anticon-down {\n  filter: none;\n}\n:root .ant-dropdown-button .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-menu-dark,\n.ant-dropdown-menu-dark .ant-dropdown-menu {\n  background: #404040;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a {\n  color: rgba(255, 255, 255, 0.67);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item:after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:after {\n  color: rgba(255, 255, 255, 0.67);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover {\n  color: #fff;\n  background: transparent;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {\n  background: #108ee9;\n  color: #fff;\n}\n",
                    "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable declaration-bang-space-before */\n/* stylelint-disable declaration-bang-space-before */\n.ant-dropdown {\n  position: absolute;\n  left: -9999px;\n  top: -9999px;\n  z-index: 1050;\n  display: block;\n  font-size: 12px;\n  font-weight: normal;\n  line-height: 1.5;\n}\n.ant-dropdown-wrap {\n  position: relative;\n}\n.ant-dropdown-wrap .ant-btn > .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-wrap .ant-btn > .anticon-down {\n  filter: none;\n}\n:root .ant-dropdown-wrap .ant-btn > .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-wrap .anticon-down:before {\n  transition: transform 0.2s ease;\n}\n.ant-dropdown-wrap-open .anticon-down:before {\n  transform: rotate(180deg);\n}\n.ant-dropdown-hidden,\n.ant-dropdown-menu-hidden {\n  display: none;\n}\n.ant-dropdown-menu {\n  outline: none;\n  position: relative;\n  list-style-type: none;\n  padding: 0;\n  margin: 0;\n  text-align: left;\n  background-color: #fff;\n  border-radius: 4px;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n  background-clip: padding-box;\n}\n.ant-dropdown-menu-item,\n.ant-dropdown-menu-submenu-title {\n  padding: 7px 8px;\n  margin: 0;\n  clear: both;\n  font-size: 12px;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.65);\n  white-space: nowrap;\n  cursor: pointer;\n  transition: all .3s;\n}\n.ant-dropdown-menu-item > a,\n.ant-dropdown-menu-submenu-title > a {\n  color: rgba(0, 0, 0, 0.65);\n  display: block;\n  padding: 7px 8px;\n  margin: -7px -8px;\n  transition: all .3s;\n}\n.ant-dropdown-menu-item > a:focus,\n.ant-dropdown-menu-submenu-title > a:focus {\n  text-decoration: none;\n}\n.ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-submenu-title-selected,\n.ant-dropdown-menu-item-selected > a,\n.ant-dropdown-menu-submenu-title-selected > a {\n  color: #108ee9;\n  background-color: #ecf6fd;\n}\n.ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-submenu-title:hover {\n  background-color: #ecf6fd;\n}\n.ant-dropdown-menu-item-disabled,\n.ant-dropdown-menu-submenu-title-disabled {\n  color: rgba(0, 0, 0, 0.25);\n  cursor: not-allowed;\n}\n.ant-dropdown-menu-item-disabled:hover,\n.ant-dropdown-menu-submenu-title-disabled:hover {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.ant-dropdown-menu-item:first-child,\n.ant-dropdown-menu-submenu-title:first-child,\n.ant-dropdown-menu-item:first-child > a,\n.ant-dropdown-menu-submenu-title:first-child > a {\n  border-radius: 4px 4px 0 0;\n}\n.ant-dropdown-menu-item:last-child,\n.ant-dropdown-menu-submenu-title:last-child,\n.ant-dropdown-menu-item:last-child > a,\n.ant-dropdown-menu-submenu-title:last-child > a {\n  border-radius: 0 0 4px 4px;\n}\n.ant-dropdown-menu-item:only-child,\n.ant-dropdown-menu-submenu-title:only-child,\n.ant-dropdown-menu-item:only-child > a,\n.ant-dropdown-menu-submenu-title:only-child > a {\n  border-radius: 4px;\n}\n.ant-dropdown-menu-item-divider,\n.ant-dropdown-menu-submenu-title-divider {\n  height: 1px;\n  overflow: hidden;\n  background-color: #e9e9e9;\n  line-height: 0;\n}\n.ant-dropdown-menu-submenu-title:after {\n  font-family: \"anticon\" !important;\n  position: absolute;\n  content: \"\\e61f\";\n  right: 8px;\n  color: rgba(0, 0, 0, 0.43);\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-menu-submenu-title:after {\n  filter: none;\n}\n:root .ant-dropdown-menu-submenu-title:after {\n  font-size: 12px;\n}\n.ant-dropdown-menu-submenu-vertical {\n  position: relative;\n}\n.ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu {\n  top: 0;\n  left: 100%;\n  position: absolute;\n  min-width: 100%;\n  margin-left: 4px;\n  transform-origin: 0 0;\n}\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title:after {\n  color: rgba(0, 0, 0, 0.25);\n}\n.ant-dropdown-menu-submenu:first-child .ant-dropdown-menu-submenu-title {\n  border-radius: 4px 4px 0 0;\n}\n.ant-dropdown-menu-submenu:last-child .ant-dropdown-menu-submenu-title {\n  border-radius: 0 0 4px 4px;\n}\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomRight,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomRight {\n  animation-name: antSlideUpIn;\n}\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topRight,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topRight {\n  animation-name: antSlideDownIn;\n}\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomRight {\n  animation-name: antSlideUpOut;\n}\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topRight {\n  animation-name: antSlideDownOut;\n}\n.ant-dropdown-trigger .anticon-down,\n.ant-dropdown-link .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-trigger .anticon-down,\n:root .ant-dropdown-link .anticon-down {\n  filter: none;\n}\n:root .ant-dropdown-trigger .anticon-down,\n:root .ant-dropdown-link .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-button {\n  white-space: nowrap;\n}\n.ant-dropdown-button.ant-btn-group > .ant-btn:last-child:not(:first-child) {\n  padding-right: 8px;\n}\n.ant-dropdown-button .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px 9;\n  transform: scale(0.83333333) rotate(0deg);\n  /* IE6-IE8 */\n  -ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)\";\n  zoom: 1;\n}\n:root .ant-dropdown-button .anticon-down {\n  filter: none;\n}\n:root .ant-dropdown-button .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-menu-dark,\n.ant-dropdown-menu-dark .ant-dropdown-menu {\n  background: #404040;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a {\n  color: rgba(255, 255, 255, 0.67);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item:after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:after {\n  color: rgba(255, 255, 255, 0.67);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover {\n  color: #fff;\n  background: transparent;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {\n  background: #108ee9;\n  color: #fff;\n}\nnz-dropdown {\n  position: relative;\n  display: inline-block;\n}\nnz-dropdown-button {\n  position: relative;\n  display: inline-block;\n}\n.ant-dropdown {\n  top: 100%;\n  left: 0;\n  position: relative;\n  width: 100%;\n  margin-top: 4px;\n  margin-bottom: 4px;\n}\n"
                ]
            },] },
];
/** @nocollapse */
NzDropDownComponent.ctorParameters = function () { return [
    { type: Renderer2, },
    { type: ChangeDetectorRef, },
]; };
NzDropDownComponent.propDecorators = {
    '_nzOrigin': [{ type: ContentChild, args: [NzDropDownDirective,] },],
    '_nzMenu': [{ type: ContentChild, args: [NzMenuComponent,] },],
    'nzTrigger': [{ type: Input },],
    'nzClickHide': [{ type: Input },],
    'nzVisible': [{ type: Input },],
    'nzVisibleChange': [{ type: Output },],
    'nzPlacement': [{ type: Input },],
};
