@skyux/popovers 4.5.2 → 4.7.1

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.
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@skyux/core"),require("@skyux/indicators"),require("@skyux/theme"),require("@skyux/i18n"),require("rxjs"),require("rxjs/operators"),require("@angular/platform-browser/animations"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@skyux/popovers",["exports","@angular/common","@angular/core","@skyux/core","@skyux/indicators","@skyux/theme","@skyux/i18n","rxjs","rxjs/operators","@angular/platform-browser/animations","@angular/animations"],t):t(((e=e||self).skyux=e.skyux||{},e.skyux.popovers={}),e.ng.common,e.ng.core,e.core$1,e.indicators,e.theme,e.i18n,e.rxjs,e.rxjs.operators,e.ng.platformBrowser.animations,e.ng.animations)}(this,(function(e,t,o,n,s,r,i,p,a,c,d){"use strict";
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@skyux/core"),require("@skyux/indicators"),require("@skyux/theme"),require("@skyux/i18n"),require("rxjs"),require("rxjs/operators"),require("@angular/platform-browser/animations"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@skyux/popovers",["exports","@angular/common","@angular/core","@skyux/core","@skyux/indicators","@skyux/theme","@skyux/i18n","rxjs","rxjs/operators","@angular/platform-browser/animations","@angular/animations"],t):t(((e=e||self).skyux=e.skyux||{},e.skyux.popovers={}),e.ng.common,e.ng.core,e.core$1,e.indicators,e.theme,e.i18n,e.rxjs,e.rxjs.operators,e.ng.platformBrowser.animations,e.ng.animations)}(this,(function(e,t,o,n,r,s,i,p,a,c,d){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var u;function l(e,t,o,n){var s,r=arguments.length,i=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,n);else for(var p=e.length-1;p>=0;p--)(s=e[p])&&(i=(r<3?s(i):r>3?s(t,o,i):s(t,o))||i);return r>3&&i&&Object.defineProperty(t,o,i),i}function y(e,t){return function(o,n){t(o,n,e)}}(u=e.SkyDropdownMessageType||(e.SkyDropdownMessageType={}))[u.Open=0]="Open",u[u.Close=1]="Close",u[u.FocusTriggerButton=2]="FocusTriggerButton",u[u.FocusNextItem=3]="FocusNextItem",u[u.FocusPreviousItem=4]="FocusPreviousItem",u[u.Reposition=5]="Reposition",u[u.FocusFirstItem=6]="FocusFirstItem",u[u.FocusLastItem=7]="FocusLastItem";var m=function(){function e(){this.resources={"EN-US":{skyux_dropdown_context_menu_default_label:"Context menu"}}}return e.prototype.getString=function(e,t){return i.getStringForLocale(this.resources,e.locale,t)},e=l([o.Injectable()],e)}(),h=function(){function e(){}return e=l([o.NgModule({providers:[{provide:i.SKY_LIB_RESOURCES_PROVIDERS,useClass:m,multi:!0}],exports:[i.SkyI18nModule]})],e)}(),b=function(){function e(){}return e=l([o.Component({selector:"sky-dropdown-button",template:"<ng-content></ng-content>\n"})],e)}(),f=function(){function e(e,t,o){this.elementRef=e,this.changeDetector=t,this.renderer=o,this.isActive=!1,this.isDisabled=!1}return Object.defineProperty(e.prototype,"ariaRole",{get:function(){return this._ariaRole||"menuitem"},set:function(e){this._ariaRole=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"buttonElement",{get:function(){return this.elementRef.nativeElement.querySelector("button,a")},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.isDisabled=!this.isFocusable();var e=this.buttonElement;e&&this.renderer.setAttribute(e,"tabIndex","0"),this.changeDetector.detectChanges()},e.prototype.focusElement=function(e){this.isActive=!0,e&&this.buttonElement.focus(),this.changeDetector.detectChanges()},e.prototype.isFocusable=function(){return this.buttonElement&&null===this.buttonElement.getAttribute("disabled")},e.prototype.resetState=function(){this.isActive=!1,this.changeDetector.markForCheck()},e.ctorParameters=function(){return[{type:o.ElementRef},{type:o.ChangeDetectorRef},{type:o.Renderer2}]},l([o.Input()],e.prototype,"ariaRole",null),e=l([o.Component({selector:"sky-dropdown-item",template:'<div\n class="sky-dropdown-item"\n [attr.role]="ariaRole"\n [ngClass]="{\n \'sky-dropdown-item-active\': isActive,\n \'sky-dropdown-item-disabled\': isDisabled\n }"\n>\n <ng-content>\n </ng-content>\n</div>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,styles:[".sky-dropdown-item{background-color:transparent;border:none;display:block;margin:4px;min-width:160px;text-align:left}.sky-dropdown-item.sky-dropdown-item-active,.sky-dropdown-item:hover{background-color:#eeeeef}.sky-dropdown-item.sky-dropdown-item-disabled{cursor:default}.sky-dropdown-item.sky-dropdown-item-disabled:hover{background-color:transparent}.sky-dropdown-item>a,.sky-dropdown-item>button{background-color:transparent;border:none;color:#212327;cursor:pointer;display:block;padding:3px 20px;text-align:left;width:100%}.sky-dropdown-item>a:hover,.sky-dropdown-item>button:hover{text-decoration:none}.sky-dropdown-item>a[disabled],.sky-dropdown-item>button[disabled]{color:#686c73}.sky-dropdown-item>a[disabled]:hover,.sky-dropdown-item>button[disabled]:hover{cursor:default}.sky-theme-modern .sky-dropdown-item{margin:0}.sky-theme-modern .sky-dropdown-item.sky-dropdown-item-active,.sky-theme-modern .sky-dropdown-item:hover{background-color:transparent}.sky-theme-modern .sky-dropdown-item>a,.sky-theme-modern .sky-dropdown-item>button{padding:8px 20px;transition:box-shadow 150ms}.sky-theme-modern .sky-dropdown-item>a:hover,.sky-theme-modern .sky-dropdown-item>button:hover{outline:#1870b8 solid 1px;outline-offset:-1px}.sky-theme-modern .sky-dropdown-item>a:active,.sky-theme-modern .sky-dropdown-item>a:focus,.sky-theme-modern .sky-dropdown-item>button:active,.sky-theme-modern .sky-dropdown-item>button:focus{outline:#1870b8 solid 2px;outline-offset:-2px}.sky-theme-modern .sky-dropdown-item>a:focus:not(:active),.sky-theme-modern .sky-dropdown-item>button:focus:not(:active){box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-item>a,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-item>button{color:#fbfcfe}"]})],e)}();function k(e){switch(e){case"center":return"center";case"left":return"left";case"right":return"right";default:throw"SkyAffixHorizontalAlignment does not have a matching value for '"+e+"'!"}}var g=function(){function t(e,t,o,n){this.changeDetector=e,this.affixService=t,this.overlayService=o,this.themeSvc=n,this.messageStream=new p.Subject,this.isMouseEnter=!1,this.isVisible=!1,this.ngUnsubscribe=new p.Subject,this._isOpen=!1}return Object.defineProperty(t.prototype,"buttonStyle",{get:function(){return this._buttonStyle||"default"},set:function(e){this._buttonStyle=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonType",{get:function(){return this._buttonType||"select"},set:function(e){this._buttonType=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled||!1},set:function(e){this._disabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dismissOnBlur",{get:function(){return void 0===this._dismissOnBlur||this._dismissOnBlur},set:function(e){this._dismissOnBlur=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"horizontalAlignment",{get:function(){return this._horizontalAlignment||"left"},set:function(e){this._horizontalAlignment=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"trigger",{get:function(){return this._trigger||"click"},set:function(e){this._trigger=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this._isOpen||!1},set:function(e){this._isOpen=e,this.changeDetector.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"menuContainerElementRef",{get:function(){return this._menuContainerElementRef},set:function(e){e&&(this._menuContainerElementRef=e,this.destroyAffixer(),this.createAffixer(),this.changeDetector.markForCheck())},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var e,t=this;this.addEventListeners(),this.messageStream.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.handleIncomingMessages(e)})),null===(e=this.themeSvc)||void 0===e||e.settingsChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.changeDetector.markForCheck()}))},t.prototype.ngOnDestroy=function(){this.destroyAffixer(),this.destroyOverlay(),this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0},t.prototype.addEventListeners=function(){var t=this,o=this.triggerButton.nativeElement;p.fromEvent(o,"click").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.isOpen?t.sendMessage(e.SkyDropdownMessageType.Close):(t.sendMessage(e.SkyDropdownMessageType.Open),setTimeout((function(){t.sendMessage(e.SkyDropdownMessageType.FocusFirstItem)})))})),p.fromEvent(o,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.key.toLowerCase()){case"escape":t.isOpen&&(t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton),o.stopPropagation());break;case"tab":t.isOpen&&t.dismissOnBlur&&t.sendMessage(e.SkyDropdownMessageType.Close);break;case"arrowup":case"up":t.isOpen||(t.sendMessage(e.SkyDropdownMessageType.Open),t.sendMessage(e.SkyDropdownMessageType.FocusLastItem),o.preventDefault(),o.stopPropagation());break;case"enter":case"arrowdown":case"down":case" ":t.isOpen||(t.sendMessage(e.SkyDropdownMessageType.Open),t.sendMessage(e.SkyDropdownMessageType.FocusFirstItem),o.preventDefault(),o.stopPropagation())}})),p.fromEvent(o,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.isMouseEnter=!0,"hover"===t.trigger&&t.sendMessage(e.SkyDropdownMessageType.Open)})),p.fromEvent(o,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.isMouseEnter=!1,"hover"===t.trigger&&setTimeout((function(){t.isMouseEnter||t.sendMessage(e.SkyDropdownMessageType.Close)}))}))},t.prototype.createOverlay=function(){var t=this;if(!this.overlay){var o=this.overlayService.create({enableScroll:!0,enablePointerEvents:!0});o.attachTemplate(this.menuContainerTemplateRef),o.backdropClick.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.dismissOnBlur&&t.sendMessage(e.SkyDropdownMessageType.Close)})),this.overlay=o}},t.prototype.destroyAffixer=function(){this.affixer&&(this.affixer.destroy(),this.affixer=void 0)},t.prototype.destroyOverlay=function(){this.overlay&&(this.overlayService.close(this.overlay),this.overlay=void 0)},t.prototype.createAffixer=function(){var e=this,t=this.affixService.createAffixer(this.menuContainerElementRef);t.placementChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){e.isVisible=null!==t.placement,e.changeDetector.markForCheck()})),this.affixer=t},t.prototype.handleIncomingMessages=function(t){if(!this.disabled)switch(t.type){case e.SkyDropdownMessageType.Open:this.isOpen=!0,this.positionDropdownMenu();break;case e.SkyDropdownMessageType.Close:this.isOpen=!1,this.destroyOverlay();break;case e.SkyDropdownMessageType.Reposition:this.isOpen&&this.affixer&&this.affixer.reaffix();break;case e.SkyDropdownMessageType.FocusTriggerButton:this.triggerButton.nativeElement.focus()}},t.prototype.sendMessage=function(e){this.messageStream.next({type:e})},t.prototype.positionDropdownMenu=function(){var e=this;this.isVisible=!1,this.createOverlay(),this.changeDetector.markForCheck(),setTimeout((function(){e.affixer.affixTo(e.triggerButton.nativeElement,{autoFitContext:n.SkyAffixAutoFitContext.Viewport,enableAutoFit:!0,horizontalAlignment:k(e.horizontalAlignment),isSticky:!0,placement:"below"}),e.isVisible=!0,e.changeDetector.markForCheck()}))},t.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:n.SkyAffixService},{type:n.SkyOverlayService},{type:r.SkyThemeService,decorators:[{type:o.Optional}]}]},l([o.Input()],t.prototype,"buttonStyle",null),l([o.Input()],t.prototype,"buttonType",null),l([o.Input()],t.prototype,"disabled",null),l([o.Input()],t.prototype,"dismissOnBlur",null),l([o.Input()],t.prototype,"label",void 0),l([o.Input()],t.prototype,"horizontalAlignment",null),l([o.Input()],t.prototype,"messageStream",void 0),l([o.Input()],t.prototype,"title",void 0),l([o.Input()],t.prototype,"trigger",null),l([o.ViewChild("menuContainerElementRef",{read:o.ElementRef})],t.prototype,"menuContainerElementRef",null),l([o.ViewChild("menuContainerTemplateRef",{read:o.TemplateRef,static:!0})],t.prototype,"menuContainerTemplateRef",void 0),l([o.ViewChild("triggerButton",{read:o.ElementRef,static:!0})],t.prototype,"triggerButton",void 0),t=l([o.Component({selector:"sky-dropdown",template:'<div\n class="sky-dropdown"\n>\n <button\n class="sky-btn sky-dropdown-button"\n type="button"\n [attr.aria-expanded]="isOpen"\n [attr.aria-controls]="isOpen ? menuId : null"\n [attr.aria-haspopup]="menuAriaRole"\n [attr.aria-label]="label || (\'skyux_dropdown_context_menu_default_label\' | skyLibResources)"\n [attr.title]="title"\n [disabled]="disabled"\n [ngClass]="[\n \'sky-dropdown-button-type-\' + buttonType,\n \'sky-btn-\' + buttonStyle\n ]"\n #triggerButton\n >\n <ng-container [ngSwitch]="buttonType">\n <ng-template ngSwitchCase="context-menu">\n <sky-icon *skyThemeIf="\'default\'"\n icon="ellipsis-h"\n ></sky-icon>\n <sky-icon *skyThemeIf="\'modern\'"\n icon="ellipsis"\n iconType="skyux"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div *ngIf="buttonType === \'select\' || buttonType === \'tab\' || !buttonType"\n class="sky-dropdown-button-container"\n >\n <div\n class="sky-dropdown-button-content-container"\n >\n <ng-content\n select="sky-dropdown-button"\n >\n </ng-content>\n </div>\n <div\n class="sky-dropdown-button-icon-container"\n >\n <sky-icon *skyThemeIf="\'default\'"\n class="sky-dropdown-caret"\n icon="caret-down"\n >\n </sky-icon>\n <sky-icon *skyThemeIf="\'modern\'"\n class="sky-dropdown-caret"\n icon="chevron-down"\n iconType="skyux"\n >\n </sky-icon>\n </div>\n </div>\n <div *ngIf="buttonType !== \'select\' && buttonType !== \'tab\' && buttonType">\n <sky-icon\n [icon]="buttonType"\n size="lg"\n ></sky-icon>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template\n #menuContainerTemplateRef\n>\n <div\n class="sky-dropdown-menu-container"\n [class.hidden]="!isVisible"\n #menuContainerElementRef\n >\n <ng-content\n select="sky-dropdown-menu"\n ></ng-content>\n </div>\n</ng-template>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,styles:[".sky-dropdown-button-type-tab{border:none;border-radius:4px 4px 0 0;cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:#0974a1;color:#fff;max-width:100%;text-align:left}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:#cdcfd2;cursor:default;outline:0;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:#686c73;cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){text-decoration:none;background-color:#0974a1;color:#fff}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}.sky-theme-modern .sky-dropdown-button-type-tab,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow 150ms;background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus),:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:1px solid #00b4f1;padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:0}.sky-theme-modern .sky-dropdown-button-type-tab:focus:not(:active),:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus:not(:active){outline:#1870b8 solid 2px;outline-offset:-2px;box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}.sky-theme-modern .sky-dropdown-button-type-tab:active,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{border-bottom:3px solid #00b4f1;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active),:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:3px solid #1870b8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled),:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}.sky-theme-modern .sky-dropdown-caret,:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}"]}),y(3,o.Optional())],t)}(),v=0,w=function(){function t(e,t,n){this.changeDetector=e,this.elementRef=t,this.dropdownComponent=n,this.menuChanges=new o.EventEmitter,this.dropdownMenuId="sky-dropdown-menu-"+ ++v,this.ngUnsubscribe=new p.Subject,this._menuIndex=0}return Object.defineProperty(t.prototype,"ariaRole",{get:function(){return this._ariaRole||"menu"},set:function(e){this._ariaRole=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useNativeFocus",{get:function(){return void 0===this._useNativeFocus||this._useNativeFocus},set:function(e){this._useNativeFocus=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasFocusableItems",{get:function(){return void 0!==this.menuItems.find((function(e){return e.isFocusable()}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"menuIndex",{get:function(){return this._menuIndex},set:function(e){e<0&&(e=this.menuItems.length-1),e>=this.menuItems.length&&(e=0),this._menuIndex=e},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.dropdownComponent&&(this.dropdownComponent.menuId=this.dropdownMenuId,this.dropdownComponent.menuAriaRole=this.ariaRole,this.dropdownComponent.messageStream.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.type){case e.SkyDropdownMessageType.Open:case e.SkyDropdownMessageType.Close:t.reset();break;case e.SkyDropdownMessageType.FocusFirstItem:t.focusFirstItem();break;case e.SkyDropdownMessageType.FocusNextItem:t.focusNextItem();break;case e.SkyDropdownMessageType.FocusPreviousItem:t.focusPreviousItem();break;case e.SkyDropdownMessageType.FocusLastItem:t.focusLastItem()}})),this.menuChanges.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){o.selectedItem&&(t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton)),o.items&&t.sendMessage(e.SkyDropdownMessageType.Reposition)}))),this.menuItems.changes.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.reset(),t.menuChanges.emit({items:e.toArray()})})),this.addEventListeners()},t.prototype.ngOnDestroy=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0},t.prototype.focusFirstItem=function(){if(this.hasFocusableItems){this.menuIndex=0;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusNextItem()}},t.prototype.focusLastItem=function(){if(this.hasFocusableItems){this.menuIndex=this.menuItems.length-1;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusPreviousItem()}},t.prototype.focusPreviousItem=function(){if(this.hasFocusableItems){this.menuIndex--;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusPreviousItem()}},t.prototype.focusNextItem=function(){if(this.hasFocusableItems){this.menuIndex++;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusNextItem()}},t.prototype.reset=function(){this._menuIndex=-1,this.resetItemsActiveState(),this.changeDetector.markForCheck()},t.prototype.resetItemsActiveState=function(){this.menuItems.forEach((function(e){e.resetState()}))},t.prototype.focusItem=function(e){this.resetItemsActiveState(),e.focusElement(this.useNativeFocus),this.menuChanges.emit({activeIndex:this.menuIndex})},t.prototype.getItemByIndex=function(e){return this.menuItems.find((function(t,o){return o===e}))},t.prototype.selectItemByEventTarget=function(e){var t=this,o=this.menuItems.find((function(o,n){var s=o.elementRef.nativeElement.contains(e);return s&&(t.menuIndex=n,t.menuChanges.next({activeIndex:t.menuIndex})),s}));o&&this.menuChanges.next({selectedItem:o})},t.prototype.sendMessage=function(e){this.dropdownComponent.messageStream.next({type:e})},t.prototype.addEventListeners=function(){var t=this,o=this.elementRef.nativeElement;p.fromEvent(o,"click").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.selectItemByEventTarget(e.target)})),p.fromEvent(o,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.key.toLowerCase()){case"escape":t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton),o.stopPropagation(),o.preventDefault();break;case"arrowdown":case"down":t.focusNextItem(),o.preventDefault();break;case"arrowup":case"up":t.focusPreviousItem(),o.preventDefault();break;case"tab":t.dropdownComponent.dismissOnBlur&&t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton)}})),p.fromEvent(o,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.dropdownComponent.isMouseEnter=!0})),p.fromEvent(o,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.dropdownComponent.isMouseEnter=!1,setTimeout((function(){"hover"===t.dropdownComponent.trigger&&!1===t.dropdownComponent.isMouseEnter&&t.sendMessage(e.SkyDropdownMessageType.Close)}))}))},t.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:o.ElementRef},{type:g,decorators:[{type:o.Optional}]}]},l([o.Input()],t.prototype,"ariaLabelledBy",void 0),l([o.Input()],t.prototype,"ariaRole",null),l([o.Input()],t.prototype,"useNativeFocus",null),l([o.Output()],t.prototype,"menuChanges",void 0),l([o.ContentChildren(f)],t.prototype,"menuItems",void 0),t=l([o.Component({selector:"sky-dropdown-menu",template:'<div\n class="sky-dropdown-menu sky-shadow sky-elevation-4"\n [attr.aria-labelledby]="ariaLabelledBy"\n [attr.role]="ariaRole"\n [id]="dropdownMenuId"\n>\n <ng-content>\n </ng-content>\n</div>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,styles:[".sky-dropdown-menu{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px);display:flex;flex-direction:column;background-color:#fff}.sky-dropdown-menu button{overflow:hidden;text-overflow:ellipsis}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-menu{background-color:#252a2e;color:#fff}"]}),y(2,o.Optional())],t)}(),x=function(){function e(){}return e=l([o.NgModule({declarations:[b,g,f,w],imports:[t.CommonModule,n.SkyAffixModule,s.SkyIconModule,n.SkyOverlayModule,h,r.SkyThemeModule],exports:[b,g,f,w]})],e)}(),S=function(){function e(){}return e.prototype.getArrowCoordinates=function(e,t,o){var n,s,r=e.caller.nativeElement.getBoundingClientRect(),i=e.popover.nativeElement.getBoundingClientRect(),p=e.popoverArrow.nativeElement.getBoundingClientRect();return"above"===t||"below"===t?((s=r.left+r.width/2)-20<i.left?s=i.left+20:s+20>i.right&&(s=i.right-20),n="above"===t?"modern"!==o?r.top-p.height:r.top-p.height+5:"modern"!==o?r.bottom:r.bottom+4):((n=r.top+r.height/2)-20<i.top?n=i.top+20:n+20>i.bottom&&(n=i.bottom-20),s="left"===t?"modern"!==o?r.left-p.width:r.left-p.width+5:"modern"!==o?r.right:r.right+4),{top:n,left:s}},e=l([o.Injectable()],e)}(),M=d.trigger("skyPopoverAnimation",[d.state("void",d.style({opacity:0})),d.state("open",d.style({opacity:1})),d.state("closed",d.style({opacity:0})),d.transition("void => *",[d.animate("250ms")]),d.transition("open => closed",[d.animate("150ms")]),d.transition("closed => open",[d.animate("150ms")])]),C=function(e){this.contentTemplateRef=e.contentTemplateRef};function I(e){switch(e){case"above":return"above";case"below":return"below";case"right":return"right";case"left":return"left";default:throw"SkyAffixPlacement does not have a matching value for '"+e+"'!"}}function O(e){switch(e){case"center":return"center";case"left":return"left";case"right":return"right";default:throw"SkyAffixHorizontalAlignment does not have a matching value for '"+e+"'!"}}var T,P=function(){function e(e,t,o,n,s,r,i){this.changeDetector=e,this.elementRef=t,this.affixService=o,this.coreAdapterService=n,this.adapterService=s,this.themeSvc=r,this.context=i,this.dismissOnBlur=!0,this.enableAnimations=!0,this.isOpen=!1,this.ngUnsubscribe=new p.Subject,this._closed=new p.Subject,this._isMouseEnter=new p.Subject,this._opened=new p.Subject}return Object.defineProperty(e.prototype,"animationState",{get:function(){return this.isOpen?"open":"closed"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"closed",{get:function(){return this._closed.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"opened",{get:function(){return this._opened.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMouseEnter",{get:function(){return this._isMouseEnter.asObservable()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.contentTarget.createEmbeddedView(this.context.contentTemplateRef),this.addEventListeners(),this.themeSvc&&this.themeSvc.settingsChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){var o,n;e.themeName=null===(n=null===(o=t.currentSettings)||void 0===o?void 0:o.theme)||void 0===n?void 0:n.name}))},e.prototype.ngOnDestroy=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this._closed.complete(),this._isMouseEnter.complete(),this._opened.complete(),this.affixer&&this.affixer.destroy(),this._closed=this._isMouseEnter=this._opened=this.affixer=this.ngUnsubscribe=void 0},e.prototype.onAnimationEvent=function(e){var t,o;"void"!==e.fromState&&"done"===e.phaseName&&("open"===e.toState?null===(t=this._opened)||void 0===t||t.next():null===(o=this._closed)||void 0===o||o.next())},e.prototype.open=function(e,t){var o=this;if(this.caller=e,this.dismissOnBlur=t.dismissOnBlur,this.enableAnimations=t.enableAnimations,this.horizontalAlignment=t.horizontalAlignment,this.placement=t.placement,this.popoverTitle=t.popoverTitle,this.changeDetector.markForCheck(),t.isStatic)return this.isOpen=!0,void this.changeDetector.markForCheck();setTimeout((function(){o.affixer||o.setupAffixer();var e={autoFitContext:n.SkyAffixAutoFitContext.Viewport,enableAutoFit:!0,horizontalAlignment:O(o.horizontalAlignment),isSticky:!0,placement:I(o.placement)};"left"===e.placement||"right"===e.placement?e.verticalAlignment="middle":"above"===e.placement?e.verticalAlignment="bottom":e.verticalAlignment="top",o.affixer.affixTo(o.caller.nativeElement,e),o.updateArrowOffset(),o.isOpen=!0,o.changeDetector.markForCheck()}))},e.prototype.close=function(){this.isOpen=!1,this.changeDetector.markForCheck()},e.prototype.applyFocus=function(){this.isOpen&&this.coreAdapterService.getFocusableChildrenAndApplyFocus(this.popoverRef,".sky-popover",!0)},e.prototype.setupAffixer=function(){var e=this,t=this.affixService.createAffixer(this.popoverRef);t.offsetChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.updateArrowOffset(),e.changeDetector.markForCheck()})),t.overflowScroll.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.updateArrowOffset(),e.changeDetector.markForCheck()})),t.placementChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){e.placement=t.placement,e.changeDetector.markForCheck()})),this.affixer=t},e.prototype.updateArrowOffset=function(){var e=this.adapterService.getArrowCoordinates({caller:this.caller,popover:this.popoverRef,popoverArrow:this.arrowRef},this.placement,this.themeName),t=e.top,o=e.left;this.arrowTop=t,this.arrowLeft=o},e.prototype.addEventListeners=function(){var e=this,t=this.elementRef.nativeElement;p.fromEvent(t,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){return e._isMouseEnter.next(!0)})),p.fromEvent(t,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){return e._isMouseEnter.next(!1)})),p.fromEvent(t,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.key.toLowerCase()){case"escape":e.close(),e.caller.nativeElement.focus(),o.preventDefault(),o.stopPropagation();break;case"tab":if(!e.dismissOnBlur)return;var n=e.coreAdapterService.getFocusableChildren(t),s=n[0]===o.target&&o.shiftKey,r=n[n.length-1]===o.target&&!o.shiftKey;(0===n.length||s||r)&&(e.close(),e.caller.nativeElement.focus(),o.preventDefault(),o.stopPropagation())}}))},e.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:o.ElementRef},{type:n.SkyAffixService},{type:n.SkyCoreAdapterService},{type:S},{type:r.SkyThemeService},{type:C,decorators:[{type:o.Optional}]}]},l([o.ViewChild("arrowRef",{read:o.ElementRef,static:!0})],e.prototype,"arrowRef",void 0),l([o.ViewChild("popoverRef",{read:o.ElementRef,static:!0})],e.prototype,"popoverRef",void 0),l([o.ViewChild("contentTarget",{read:o.ViewContainerRef,static:!0})],e.prototype,"contentTarget",void 0),e=l([o.Component({selector:"sky-popover-content",template:'<div\n class="sky-popover-container sky-popover-max-height"\n [@.disabled]="!enableAnimations"\n [@skyPopoverAnimation]="animationState"\n [class.sky-popover-hidden]="!placement"\n [ngClass]="[\n \'sky-popover-alignment-\' + horizontalAlignment,\n \'sky-popover-placement-\' + placement\n ]"\n (@skyPopoverAnimation.done)="onAnimationEvent($event)"\n (@skyPopoverAnimation.start)="onAnimationEvent($event)"\n #popoverRef\n>\n <div\n class="sky-popover"\n tabindex="-1"\n [skyThemeClass]="{\n \'sky-rounded-corners sky-shadow\': \'default\',\n \'sky-elevation-4\': \'modern\'\n }"\n >\n <header *ngIf="popoverTitle"\n class="sky-popover-header"\n [skyThemeClass]="{\n \'sky-padding-even-default\': \'default\',\n \'sky-padding-even-lg sky-margin-stacked-lg\': \'modern\'\n }"\n >\n <h1 *ngIf="popoverTitle"\n class="sky-popover-title"\n [skyThemeClass]="{\n \'sky-emphasized\': \'default\',\n \'sky-font-emphasized\': \'modern\'\n }"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class="sky-popover-body"\n [skyThemeClass]="{\n \'sky-padding-even-default\': \'default\',\n \'sky-padding-even-lg\': \'modern\'\n }"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden="true"\n class="sky-popover-arrow"\n [style.left.px]="arrowLeft"\n [style.top.px]="arrowTop"\n #arrowRef\n ></span>\n </div>\n</div>\n',animations:[M],styles:[".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:0}@media (max-width:276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}.sky-theme-modern .sky-popover,:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow,:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above,:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover,:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow,:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:10px solid #00b4f1;border-right:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below,:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover,:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow,:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:10px solid #00b4f1;border-left:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right,:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover,:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow,:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:10px solid #00b4f1;border-left:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left,:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover,:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow,:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:10px solid #00b4f1;border-right:10px solid #00b4f1}"]}),y(6,o.Optional())],e)}(),E=function(){function e(e){this.overlayService=e,this.popoverClosed=new o.EventEmitter,this.popoverOpened=new o.EventEmitter,this.isActive=!1,this.enableAnimations=!0,this.isMouseEnter=!1,this.isMarkedForCloseOnMouseLeave=!1,this.ngUnsubscribe=new p.Subject}return Object.defineProperty(e.prototype,"alignment",{get:function(){return this._alignment||"center"},set:function(e){this._alignment=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dismissOnBlur",{get:function(){return void 0===this._dismissOnBlur||this._dismissOnBlur},set:function(e){this._dismissOnBlur=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placement",{get:function(){return this._placement||"above"},set:function(e){this._placement=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0,this.overlay&&(this.overlayService.close(this.overlay),this.overlay=void 0)},e.prototype.positionNextTo=function(e,t,o){this.overlay||this.setupOverlay(),this.placement=t,this.alignment=o,this.isActive=!0,this.contentRef.open(e,{dismissOnBlur:this.dismissOnBlur,enableAnimations:this.enableAnimations,horizontalAlignment:this.alignment,isStatic:!1,placement:this.placement,popoverTitle:this.popoverTitle})},e.prototype.close=function(){this.contentRef.close()},e.prototype.applyFocus=function(){this.contentRef.applyFocus()},e.prototype.markForCloseOnMouseLeave=function(){this.isMarkedForCloseOnMouseLeave=!0},e.prototype.setupOverlay=function(){var e=this,t=this.overlayService.create({enableScroll:!0,enablePointerEvents:!0});t.backdropClick.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.dismissOnBlur&&e.close()}));var o=t.attachComponent(P,[{provide:C,useValue:new C({contentTemplateRef:this.templateRef})}]);o.opened.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.popoverOpened.emit(e)})),o.closed.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.overlayService.close(e.overlay),e.overlay=void 0,e.isActive=!1,e.popoverClosed.emit(e)})),o.isMouseEnter.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){e.isMouseEnter=t,e.isMarkedForCloseOnMouseLeave&&(e.isMarkedForCloseOnMouseLeave=!1,e.close())})),this.overlay=t,this.contentRef=o},e.ctorParameters=function(){return[{type:n.SkyOverlayService}]},l([o.Input()],e.prototype,"alignment",null),l([o.Input()],e.prototype,"dismissOnBlur",null),l([o.Input()],e.prototype,"placement",null),l([o.Input()],e.prototype,"popoverTitle",void 0),l([o.Output()],e.prototype,"popoverClosed",void 0),l([o.Output()],e.prototype,"popoverOpened",void 0),l([o.ViewChild("templateRef",{read:o.TemplateRef,static:!0})],e.prototype,"templateRef",void 0),e=l([o.Component({selector:"sky-popover",template:"<ng-template\n #templateRef\n>\n <ng-content></ng-content>\n</ng-template>"})],e)}();(T=e.SkyPopoverMessageType||(e.SkyPopoverMessageType={}))[T.Open=0]="Open",T[T.Close=1]="Close",T[T.Reposition=2]="Reposition",T[T.Focus=3]="Focus";var A=function(){function t(e){this.elementRef=e,this.skyPopoverMessageStream=new p.Subject,this.ngUnsubscribe=new p.Subject}return Object.defineProperty(t.prototype,"skyPopoverTrigger",{get:function(){return this._trigger||"click"},set:function(e){this._trigger=e},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.addEventListeners()},t.prototype.ngOnDestroy=function(){this.removeEventListeners()},t.prototype.togglePopover=function(){this.skyPopover.isActive?this.sendMessage(e.SkyPopoverMessageType.Close):this.sendMessage(e.SkyPopoverMessageType.Open)},t.prototype.positionPopover=function(){this.skyPopover.positionNextTo(this.elementRef,this.skyPopoverPlacement,this.skyPopoverAlignment)},t.prototype.closePopover=function(){this.skyPopover.close()},t.prototype.closePopoverOrMarkForClose=function(){this.skyPopover.isMouseEnter?this.skyPopover.markForCloseOnMouseLeave():this.sendMessage(e.SkyPopoverMessageType.Close)},t.prototype.addEventListeners=function(){var t=this,o=this.elementRef.nativeElement;this.skyPopoverMessageStream.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.handleIncomingMessages(e)})),p.fromEvent(o,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){if(t.skyPopover.isActive)switch(o.key.toLowerCase()){case"escape":t.sendMessage(e.SkyPopoverMessageType.Close),o.preventDefault(),o.stopPropagation();break;case"tab":t.skyPopover.dismissOnBlur&&t.sendMessage(e.SkyPopoverMessageType.Close);break;case"arrowdown":case"arrowleft":case"arrowright":case"arrowup":case"down":case"left":case"right":case"up":t.sendMessage(e.SkyPopoverMessageType.Focus),o.stopPropagation(),o.preventDefault()}})),p.fromEvent(o,"click").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.skyPopover&&t.togglePopover()})),p.fromEvent(o,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.skyPopover&&(t.skyPopover.isMouseEnter=!0,t.skyPopover.isActive||"mouseenter"!==t.skyPopoverTrigger||t.sendMessage(e.SkyPopoverMessageType.Open))})),p.fromEvent(o,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.skyPopover&&(t.skyPopover.isMouseEnter=!1,t.skyPopover.isActive&&"mouseenter"===t.skyPopoverTrigger&&setTimeout((function(){t.closePopoverOrMarkForClose()})))}))},t.prototype.removeEventListeners=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0},t.prototype.handleIncomingMessages=function(t){switch(t.type){case e.SkyPopoverMessageType.Open:this.positionPopover();break;case e.SkyPopoverMessageType.Close:this.closePopover();break;case e.SkyPopoverMessageType.Reposition:this.skyPopover.isActive&&this.positionPopover();break;case e.SkyPopoverMessageType.Focus:this.skyPopover.applyFocus()}},t.prototype.sendMessage=function(e){this.skyPopoverMessageStream.next({type:e})},t.ctorParameters=function(){return[{type:o.ElementRef}]},l([o.Input()],t.prototype,"skyPopover",void 0),l([o.Input()],t.prototype,"skyPopoverAlignment",void 0),l([o.Input()],t.prototype,"skyPopoverMessageStream",void 0),l([o.Input()],t.prototype,"skyPopoverPlacement",void 0),l([o.Input()],t.prototype,"skyPopoverTrigger",null),t=l([o.Directive({selector:"[skyPopover]"})],t)}(),R=function(){function e(){}return e=l([o.NgModule({declarations:[E,P,A],imports:[c.BrowserAnimationsModule,t.CommonModule,n.SkyAffixModule,n.SkyCoreAdapterModule,s.SkyIconModule,n.SkyOverlayModule,h,r.SkyThemeModule],exports:[E,P,A],entryComponents:[P],providers:[S,r.SkyThemeService]})],e)}();e.SkyDropdownModule=x,e.SkyPopoverModule=R,e.ɵa=b,e.ɵb=g,e.ɵc=f,e.ɵd=w,e.ɵe=h,e.ɵf=m,e.ɵg=E,e.ɵh=P,e.ɵi=M,e.ɵj=S,e.ɵk=C,e.ɵl=A,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var l;function u(e,t,o,n){var r,s=arguments.length,i=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,n);else for(var p=e.length-1;p>=0;p--)(r=e[p])&&(i=(s<3?r(i):s>3?r(t,o,i):r(t,o))||i);return s>3&&i&&Object.defineProperty(t,o,i),i}function y(e,t){return function(o,n){t(o,n,e)}}(l=e.SkyDropdownMessageType||(e.SkyDropdownMessageType={}))[l.Open=0]="Open",l[l.Close=1]="Close",l[l.FocusTriggerButton=2]="FocusTriggerButton",l[l.FocusNextItem=3]="FocusNextItem",l[l.FocusPreviousItem=4]="FocusPreviousItem",l[l.Reposition=5]="Reposition",l[l.FocusFirstItem=6]="FocusFirstItem",l[l.FocusLastItem=7]="FocusLastItem";var m=function(){function e(){this.resources={"EN-US":{skyux_dropdown_context_menu_default_label:"Context menu"}}}return e.prototype.getString=function(e,t){return i.getStringForLocale(this.resources,e.locale,t)},e=u([o.Injectable()],e)}(),h=function(){function e(){}return e=u([o.NgModule({providers:[{provide:i.SKY_LIB_RESOURCES_PROVIDERS,useClass:m,multi:!0}],exports:[i.SkyI18nModule]})],e)}(),b=function(){function e(){}return e=u([o.Component({selector:"sky-dropdown-button",template:"<ng-content></ng-content>\n"})],e)}(),f=function(){function e(e,t,o){this.elementRef=e,this.changeDetector=t,this.renderer=o,this.isActive=!1,this.isDisabled=!1}return Object.defineProperty(e.prototype,"ariaRole",{get:function(){return this._ariaRole||"menuitem"},set:function(e){this._ariaRole=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"buttonElement",{get:function(){return this.elementRef.nativeElement.querySelector("button,a")},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.isDisabled=!this.isFocusable();var e=this.buttonElement;e&&this.renderer.setAttribute(e,"tabIndex","0"),this.changeDetector.detectChanges()},e.prototype.focusElement=function(e){this.isActive=!0,e&&this.buttonElement.focus(),this.changeDetector.detectChanges()},e.prototype.isFocusable=function(){return this.buttonElement&&null===this.buttonElement.getAttribute("disabled")},e.prototype.resetState=function(){this.isActive=!1,this.changeDetector.markForCheck()},e.ctorParameters=function(){return[{type:o.ElementRef},{type:o.ChangeDetectorRef},{type:o.Renderer2}]},u([o.Input()],e.prototype,"ariaRole",null),e=u([o.Component({selector:"sky-dropdown-item",template:'<div\n class="sky-dropdown-item"\n [attr.role]="ariaRole"\n [ngClass]="{\n \'sky-dropdown-item-active\': isActive,\n \'sky-dropdown-item-disabled\': isDisabled\n }"\n>\n <ng-content>\n </ng-content>\n</div>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,styles:[".sky-dropdown-item{background-color:transparent;border:none;display:block;margin:4px;min-width:160px;text-align:left}.sky-dropdown-item.sky-dropdown-item-active,.sky-dropdown-item:hover{background-color:#eeeeef}.sky-dropdown-item.sky-dropdown-item-disabled{cursor:default}.sky-dropdown-item.sky-dropdown-item-disabled:hover{background-color:transparent}.sky-dropdown-item>a,.sky-dropdown-item>button{background-color:transparent;border:none;color:#212327;cursor:pointer;display:block;padding:3px 20px;text-align:left;width:100%}.sky-dropdown-item>a:hover,.sky-dropdown-item>button:hover{text-decoration:none}.sky-dropdown-item>a[disabled],.sky-dropdown-item>button[disabled]{color:#686c73}.sky-dropdown-item>a[disabled]:hover,.sky-dropdown-item>button[disabled]:hover{cursor:default}.sky-theme-modern .sky-dropdown-item{margin:0}.sky-theme-modern .sky-dropdown-item.sky-dropdown-item-active,.sky-theme-modern .sky-dropdown-item:hover{background-color:transparent}.sky-theme-modern .sky-dropdown-item>a,.sky-theme-modern .sky-dropdown-item>button{padding:8px 20px;transition:box-shadow 150ms}.sky-theme-modern .sky-dropdown-item>a:hover,.sky-theme-modern .sky-dropdown-item>button:hover{outline:#1870b8 solid 1px;outline-offset:-1px}.sky-theme-modern .sky-dropdown-item>a:active,.sky-theme-modern .sky-dropdown-item>a:focus,.sky-theme-modern .sky-dropdown-item>button:active,.sky-theme-modern .sky-dropdown-item>button:focus{outline:#1870b8 solid 2px;outline-offset:-2px}.sky-theme-modern .sky-dropdown-item>a:focus:not(:active),.sky-theme-modern .sky-dropdown-item>button:focus:not(:active){box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-item>a,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-item>button{color:#fbfcfe}"]})],e)}();function k(e){switch(e){case"center":return"center";case"left":return"left";case"right":return"right";default:throw"SkyAffixHorizontalAlignment does not have a matching value for '"+e+"'!"}}var v=function(){function t(e,t,o,n){this.changeDetector=e,this.affixService=t,this.overlayService=o,this.themeSvc=n,this.messageStream=new p.Subject,this.isMouseEnter=!1,this.isVisible=!1,this.ngUnsubscribe=new p.Subject,this._isOpen=!1}return Object.defineProperty(t.prototype,"buttonStyle",{get:function(){return this._buttonStyle||"default"},set:function(e){this._buttonStyle=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonType",{get:function(){return this._buttonType||"select"},set:function(e){this._buttonType=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled||!1},set:function(e){this._disabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dismissOnBlur",{get:function(){return void 0===this._dismissOnBlur||this._dismissOnBlur},set:function(e){this._dismissOnBlur=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"horizontalAlignment",{get:function(){return this._horizontalAlignment||"left"},set:function(e){this._horizontalAlignment=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"trigger",{get:function(){return this._trigger||"click"},set:function(e){this._trigger=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isOpen",{get:function(){return this._isOpen||!1},set:function(e){this._isOpen=e,this.changeDetector.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"menuContainerElementRef",{get:function(){return this._menuContainerElementRef},set:function(e){e&&(this._menuContainerElementRef=e,this.destroyAffixer(),this.createAffixer(),this.changeDetector.markForCheck())},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var e,t=this;this.addEventListeners(),this.messageStream.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.handleIncomingMessages(e)})),null===(e=this.themeSvc)||void 0===e||e.settingsChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.changeDetector.markForCheck()}))},t.prototype.ngOnDestroy=function(){this.destroyAffixer(),this.destroyOverlay(),clearTimeout(this._positionTimeout),this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0},t.prototype.addEventListeners=function(){var t=this,o=this.triggerButton.nativeElement;p.fromEvent(o,"click").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.isOpen?t.sendMessage(e.SkyDropdownMessageType.Close):(t.sendMessage(e.SkyDropdownMessageType.Open),setTimeout((function(){t.sendMessage(e.SkyDropdownMessageType.FocusFirstItem)})))})),p.fromEvent(o,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.key.toLowerCase()){case"escape":t.isOpen&&(t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton),o.stopPropagation());break;case"tab":t.isOpen&&t.dismissOnBlur&&t.sendMessage(e.SkyDropdownMessageType.Close);break;case"arrowup":case"up":t.isOpen||(t.sendMessage(e.SkyDropdownMessageType.Open),t.sendMessage(e.SkyDropdownMessageType.FocusLastItem),o.preventDefault(),o.stopPropagation());break;case"enter":case"arrowdown":case"down":case" ":t.isOpen||(t.sendMessage(e.SkyDropdownMessageType.Open),t.sendMessage(e.SkyDropdownMessageType.FocusFirstItem),o.preventDefault(),o.stopPropagation())}})),p.fromEvent(o,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.isMouseEnter=!0,"hover"===t.trigger&&t.sendMessage(e.SkyDropdownMessageType.Open)})),p.fromEvent(o,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.isMouseEnter=!1,"hover"===t.trigger&&setTimeout((function(){t.isMouseEnter||t.sendMessage(e.SkyDropdownMessageType.Close)}))}))},t.prototype.createOverlay=function(){var t=this;if(!this.overlay){var o=this.overlayService.create({enableScroll:!0,enablePointerEvents:!0});o.attachTemplate(this.menuContainerTemplateRef),o.backdropClick.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.dismissOnBlur&&t.sendMessage(e.SkyDropdownMessageType.Close)})),this.overlay=o}},t.prototype.destroyAffixer=function(){this.affixer&&(this.affixer.destroy(),this.affixer=void 0)},t.prototype.destroyOverlay=function(){this.overlay&&(this.overlayService.close(this.overlay),this.overlay=void 0)},t.prototype.createAffixer=function(){var e=this,t=this.affixService.createAffixer(this.menuContainerElementRef);t.placementChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){e.isVisible=null!==t.placement,e.changeDetector.markForCheck()})),this.affixer=t},t.prototype.handleIncomingMessages=function(t){if(!this.disabled)switch(t.type){case e.SkyDropdownMessageType.Open:this.isOpen=!0,this.positionDropdownMenu();break;case e.SkyDropdownMessageType.Close:this.isOpen=!1,this.destroyOverlay();break;case e.SkyDropdownMessageType.Reposition:this.isOpen&&this.affixer&&this.affixer.reaffix();break;case e.SkyDropdownMessageType.FocusTriggerButton:this.triggerButton.nativeElement.focus()}},t.prototype.sendMessage=function(e){this.messageStream.next({type:e})},t.prototype.positionDropdownMenu=function(){var e=this;this.isVisible=!1,this.createOverlay(),this.changeDetector.markForCheck(),this._positionTimeout=setTimeout((function(){e.affixer.affixTo(e.triggerButton.nativeElement,{autoFitContext:n.SkyAffixAutoFitContext.Viewport,enableAutoFit:!0,horizontalAlignment:k(e.horizontalAlignment),isSticky:!0,placement:"below"}),e.isVisible=!0,e.changeDetector.markForCheck()}))},t.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:n.SkyAffixService},{type:n.SkyOverlayService},{type:s.SkyThemeService,decorators:[{type:o.Optional}]}]},u([o.Input()],t.prototype,"buttonStyle",null),u([o.Input()],t.prototype,"buttonType",null),u([o.Input()],t.prototype,"disabled",null),u([o.Input()],t.prototype,"dismissOnBlur",null),u([o.Input()],t.prototype,"label",void 0),u([o.Input()],t.prototype,"horizontalAlignment",null),u([o.Input()],t.prototype,"messageStream",void 0),u([o.Input()],t.prototype,"title",void 0),u([o.Input()],t.prototype,"trigger",null),u([o.ViewChild("menuContainerElementRef",{read:o.ElementRef})],t.prototype,"menuContainerElementRef",null),u([o.ViewChild("menuContainerTemplateRef",{read:o.TemplateRef,static:!0})],t.prototype,"menuContainerTemplateRef",void 0),u([o.ViewChild("triggerButton",{read:o.ElementRef,static:!0})],t.prototype,"triggerButton",void 0),t=u([o.Component({selector:"sky-dropdown",template:'<div\n class="sky-dropdown"\n>\n <button\n class="sky-btn sky-dropdown-button"\n type="button"\n [attr.aria-expanded]="isOpen"\n [attr.aria-controls]="isOpen ? menuId : null"\n [attr.aria-haspopup]="menuAriaRole"\n [attr.aria-label]="label || (\'skyux_dropdown_context_menu_default_label\' | skyLibResources)"\n [attr.title]="title"\n [disabled]="disabled"\n [ngClass]="[\n \'sky-dropdown-button-type-\' + buttonType,\n \'sky-btn-\' + buttonStyle\n ]"\n #triggerButton\n >\n <ng-container [ngSwitch]="buttonType">\n <ng-template ngSwitchCase="context-menu">\n <sky-icon *skyThemeIf="\'default\'"\n icon="ellipsis-h"\n ></sky-icon>\n <sky-icon *skyThemeIf="\'modern\'"\n icon="ellipsis"\n iconType="skyux"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div *ngIf="buttonType === \'select\' || buttonType === \'tab\' || !buttonType"\n class="sky-dropdown-button-container"\n >\n <div\n class="sky-dropdown-button-content-container"\n >\n <ng-content\n select="sky-dropdown-button"\n >\n </ng-content>\n </div>\n <div\n class="sky-dropdown-button-icon-container"\n >\n <sky-icon *skyThemeIf="\'default\'"\n class="sky-dropdown-caret"\n icon="caret-down"\n >\n </sky-icon>\n <sky-icon *skyThemeIf="\'modern\'"\n class="sky-dropdown-caret"\n icon="chevron-down"\n iconType="skyux"\n >\n </sky-icon>\n </div>\n </div>\n <div *ngIf="buttonType !== \'select\' && buttonType !== \'tab\' && buttonType">\n <sky-icon\n [icon]="buttonType"\n size="lg"\n ></sky-icon>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template\n #menuContainerTemplateRef\n>\n <div\n class="sky-dropdown-menu-container"\n [class.hidden]="!isVisible"\n #menuContainerElementRef\n >\n <ng-content\n select="sky-dropdown-menu"\n ></ng-content>\n </div>\n</ng-template>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,styles:[".sky-dropdown-button-type-tab{border:none;border-radius:4px 4px 0 0;cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:#0974a1;color:#fff;max-width:100%;text-align:left}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:#cdcfd2;cursor:default;outline:0;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:#686c73;cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){text-decoration:none;background-color:#0974a1;color:#fff}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow 150ms;background-color:transparent;color:#212327}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:1px solid #00b4f1;padding-bottom:9px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:0}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus:not(:active){outline:#1870b8 solid 2px;outline-offset:-2px;box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{border-bottom:3px solid #00b4f1;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:3px solid #1870b8;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}.sky-theme-modern .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow 150ms;background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:1px solid #00b4f1;padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:0}.sky-theme-modern .sky-dropdown-button-type-tab:focus:not(:active){outline:#1870b8 solid 2px;outline-offset:-2px;box-shadow:0 1px 8px 0 rgba(0,0,0,.3)}.sky-theme-modern .sky-dropdown-button-type-tab:active{border-bottom:3px solid #00b4f1;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active){border-bottom:3px solid #1870b8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}.sky-theme-modern .sky-dropdown-caret{margin-left:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}"]}),y(3,o.Optional())],t)}(),g=0,w=function(){function t(e,t,n){this.changeDetector=e,this.elementRef=t,this.dropdownComponent=n,this.menuChanges=new o.EventEmitter,this.dropdownMenuId="sky-dropdown-menu-"+ ++g,this.ngUnsubscribe=new p.Subject,this._menuIndex=0}return Object.defineProperty(t.prototype,"ariaRole",{get:function(){return this._ariaRole||"menu"},set:function(e){this._ariaRole=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useNativeFocus",{get:function(){return void 0===this._useNativeFocus||this._useNativeFocus},set:function(e){this._useNativeFocus=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasFocusableItems",{get:function(){return void 0!==this.menuItems.find((function(e){return e.isFocusable()}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"menuIndex",{get:function(){return this._menuIndex},set:function(e){e<0&&(e=this.menuItems.length-1),e>=this.menuItems.length&&(e=0),this._menuIndex=e},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.dropdownComponent&&(this.dropdownComponent.menuId=this.dropdownMenuId,this.dropdownComponent.menuAriaRole=this.ariaRole,this.dropdownComponent.messageStream.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.type){case e.SkyDropdownMessageType.Open:case e.SkyDropdownMessageType.Close:t.reset();break;case e.SkyDropdownMessageType.FocusFirstItem:t.focusFirstItem();break;case e.SkyDropdownMessageType.FocusNextItem:t.focusNextItem();break;case e.SkyDropdownMessageType.FocusPreviousItem:t.focusPreviousItem();break;case e.SkyDropdownMessageType.FocusLastItem:t.focusLastItem()}})),this.menuChanges.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){o.selectedItem&&(t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton)),o.items&&t.sendMessage(e.SkyDropdownMessageType.Reposition)}))),this.menuItems.changes.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.reset(),t.menuChanges.emit({items:e.toArray()})})),this.addEventListeners()},t.prototype.ngOnDestroy=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0},t.prototype.focusFirstItem=function(){if(this.hasFocusableItems){this.menuIndex=0;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusNextItem()}},t.prototype.focusLastItem=function(){if(this.hasFocusableItems){this.menuIndex=this.menuItems.length-1;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusPreviousItem()}},t.prototype.focusPreviousItem=function(){if(this.hasFocusableItems){this.menuIndex--;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusPreviousItem()}},t.prototype.focusNextItem=function(){if(this.hasFocusableItems){this.menuIndex++;var e=this.getItemByIndex(this.menuIndex);e&&e.isFocusable()?this.focusItem(e):this.focusNextItem()}},t.prototype.reset=function(){this._menuIndex=-1,this.resetItemsActiveState(),this.changeDetector.markForCheck()},t.prototype.resetItemsActiveState=function(){this.menuItems.forEach((function(e){e.resetState()}))},t.prototype.focusItem=function(e){this.resetItemsActiveState(),e.focusElement(this.useNativeFocus),this.menuChanges.emit({activeIndex:this.menuIndex})},t.prototype.getItemByIndex=function(e){return this.menuItems.find((function(t,o){return o===e}))},t.prototype.selectItemByEventTarget=function(e){var t=this,o=this.menuItems.find((function(o,n){var r=o.elementRef.nativeElement.contains(e);return r&&(t.menuIndex=n,t.menuChanges.next({activeIndex:t.menuIndex})),r}));o&&this.menuChanges.next({selectedItem:o})},t.prototype.sendMessage=function(e){this.dropdownComponent.messageStream.next({type:e})},t.prototype.addEventListeners=function(){var t=this,o=this.elementRef.nativeElement;p.fromEvent(o,"click").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.selectItemByEventTarget(e.target)})),p.fromEvent(o,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.key.toLowerCase()){case"escape":t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton),o.stopPropagation(),o.preventDefault();break;case"arrowdown":case"down":t.focusNextItem(),o.preventDefault();break;case"arrowup":case"up":t.focusPreviousItem(),o.preventDefault();break;case"tab":t.dropdownComponent.dismissOnBlur&&t.sendMessage(e.SkyDropdownMessageType.Close),t.sendMessage(e.SkyDropdownMessageType.FocusTriggerButton)}})),p.fromEvent(o,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.dropdownComponent.isMouseEnter=!0})),p.fromEvent(o,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.dropdownComponent.isMouseEnter=!1,setTimeout((function(){"hover"===t.dropdownComponent.trigger&&!1===t.dropdownComponent.isMouseEnter&&t.sendMessage(e.SkyDropdownMessageType.Close)}))}))},t.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:o.ElementRef},{type:v,decorators:[{type:o.Optional}]}]},u([o.Input()],t.prototype,"ariaLabelledBy",void 0),u([o.Input()],t.prototype,"ariaRole",null),u([o.Input()],t.prototype,"useNativeFocus",null),u([o.Output()],t.prototype,"menuChanges",void 0),u([o.ContentChildren(f,{descendants:!0})],t.prototype,"menuItems",void 0),t=u([o.Component({selector:"sky-dropdown-menu",template:'<div\n class="sky-dropdown-menu sky-shadow sky-elevation-4"\n [attr.aria-labelledby]="ariaLabelledBy"\n [attr.role]="ariaRole"\n [id]="dropdownMenuId"\n>\n <ng-content>\n </ng-content>\n</div>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,styles:[".sky-dropdown-menu{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px);display:flex;flex-direction:column;background-color:#fff}.sky-dropdown-menu button{overflow:hidden;text-overflow:ellipsis}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-menu{background-color:#252a2e;color:#fff}"]}),y(2,o.Optional())],t)}(),x=function(){function e(){}return e=u([o.NgModule({declarations:[b,v,f,w],imports:[t.CommonModule,n.SkyAffixModule,r.SkyIconModule,n.SkyOverlayModule,h,s.SkyThemeModule],exports:[b,v,f,w]})],e)}(),S=function(){function e(){}return e.prototype.getArrowCoordinates=function(e,t,o){var n,r,s=e.caller.nativeElement.getBoundingClientRect(),i=e.popover.nativeElement.getBoundingClientRect(),p=e.popoverArrow.nativeElement.getBoundingClientRect();return"above"===t||"below"===t?((r=s.left+s.width/2)-20<i.left?r=i.left+20:r+20>i.right&&(r=i.right-20),n="above"===t?"modern"!==o?s.top-p.height:s.top-p.height+5:"modern"!==o?s.bottom:s.bottom+4):((n=s.top+s.height/2)-20<i.top?n=i.top+20:n+20>i.bottom&&(n=i.bottom-20),r="left"===t?"modern"!==o?s.left-p.width:s.left-p.width+5:"modern"!==o?s.right:s.right+4),{top:n,left:r}},e=u([o.Injectable()],e)}(),M=d.trigger("skyPopoverAnimation",[d.state("void",d.style({opacity:0})),d.state("open",d.style({opacity:1})),d.state("closed",d.style({opacity:0})),d.transition("void => *",[d.animate("250ms")]),d.transition("open => closed",[d.animate("150ms")]),d.transition("closed => open",[d.animate("150ms")])]),C=function(e){this.contentTemplateRef=e.contentTemplateRef};function I(e){switch(e){case"above":return"above";case"below":return"below";case"right":return"right";case"left":return"left";default:throw"SkyAffixPlacement does not have a matching value for '"+e+"'!"}}function T(e){switch(e){case"center":return"center";case"left":return"left";case"right":return"right";default:throw"SkyAffixHorizontalAlignment does not have a matching value for '"+e+"'!"}}var O,P=function(){function e(e,t,o,n,r,s,i){this.changeDetector=e,this.elementRef=t,this.affixService=o,this.coreAdapterService=n,this.adapterService=r,this.themeSvc=s,this.context=i,this.dismissOnBlur=!0,this.enableAnimations=!0,this.isOpen=!1,this.popoverType="info",this.ngUnsubscribe=new p.Subject,this._closed=new p.Subject,this._isMouseEnter=new p.Subject,this._opened=new p.Subject}return Object.defineProperty(e.prototype,"animationState",{get:function(){return this.isOpen?"open":"closed"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"closed",{get:function(){return this._closed.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"opened",{get:function(){return this._opened.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMouseEnter",{get:function(){return this._isMouseEnter.asObservable()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.contentTarget.createEmbeddedView(this.context.contentTemplateRef),this.addEventListeners(),this.themeSvc&&this.themeSvc.settingsChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){var o,n;e.themeName=null===(n=null===(o=t.currentSettings)||void 0===o?void 0:o.theme)||void 0===n?void 0:n.name}))},e.prototype.ngOnDestroy=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this._closed.complete(),this._isMouseEnter.complete(),this._opened.complete(),this.affixer&&this.affixer.destroy(),this._closed=this._isMouseEnter=this._opened=this.affixer=this.ngUnsubscribe=void 0},e.prototype.onAnimationEvent=function(e){var t,o;"void"!==e.fromState&&"done"===e.phaseName&&("open"===e.toState?null===(t=this._opened)||void 0===t||t.next():null===(o=this._closed)||void 0===o||o.next())},e.prototype.open=function(e,t){var o=this;if(this.caller=e,this.dismissOnBlur=t.dismissOnBlur,this.enableAnimations=t.enableAnimations,this.horizontalAlignment=t.horizontalAlignment,this.placement=t.placement,this.popoverTitle=t.popoverTitle,t.popoverType&&(this.popoverType=t.popoverType),this.changeDetector.markForCheck(),t.isStatic)return this.isOpen=!0,void this.changeDetector.markForCheck();setTimeout((function(){var e;if((null===(e=o.popoverRef)||void 0===e?void 0:e.nativeElement)&&o.ngUnsubscribe&&!o.ngUnsubscribe.isStopped){o.affixer||o.setupAffixer();var t={autoFitContext:n.SkyAffixAutoFitContext.Viewport,enableAutoFit:!0,horizontalAlignment:T(o.horizontalAlignment),isSticky:!0,placement:I(o.placement)};"left"===t.placement||"right"===t.placement?t.verticalAlignment="middle":"above"===t.placement?t.verticalAlignment="bottom":t.verticalAlignment="top",o.affixer.affixTo(o.caller.nativeElement,t),o.updateArrowOffset(),o.isOpen=!0,o.changeDetector.markForCheck()}}))},e.prototype.close=function(){this.isOpen=!1,this.changeDetector.markForCheck()},e.prototype.applyFocus=function(){this.isOpen&&this.coreAdapterService.getFocusableChildrenAndApplyFocus(this.popoverRef,".sky-popover",!0)},e.prototype.setupAffixer=function(){var e=this,t=this.affixService.createAffixer(this.popoverRef);t.offsetChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.updateArrowOffset(),e.changeDetector.markForCheck()})),t.overflowScroll.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.updateArrowOffset(),e.changeDetector.markForCheck()})),t.placementChange.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){e.placement=t.placement,e.changeDetector.markForCheck()})),this.affixer=t},e.prototype.updateArrowOffset=function(){var e=this.adapterService.getArrowCoordinates({caller:this.caller,popover:this.popoverRef,popoverArrow:this.arrowRef},this.placement,this.themeName),t=e.top,o=e.left;this.arrowTop=t,this.arrowLeft=o},e.prototype.addEventListeners=function(){var e=this,t=this.elementRef.nativeElement;p.fromEvent(t,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){return e._isMouseEnter.next(!0)})),p.fromEvent(t,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){return e._isMouseEnter.next(!1)})),p.fromEvent(t,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){switch(o.key.toLowerCase()){case"escape":e.close(),e.caller.nativeElement.focus(),o.preventDefault(),o.stopPropagation();break;case"tab":if(!e.dismissOnBlur)return;var n=e.coreAdapterService.getFocusableChildren(t),r=n[0]===o.target&&o.shiftKey,s=n[n.length-1]===o.target&&!o.shiftKey;(0===n.length||r||s)&&(e.close(),e.caller.nativeElement.focus(),o.preventDefault(),o.stopPropagation())}}))},e.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:o.ElementRef},{type:n.SkyAffixService},{type:n.SkyCoreAdapterService},{type:S},{type:s.SkyThemeService},{type:C,decorators:[{type:o.Optional}]}]},u([o.ViewChild("arrowRef",{read:o.ElementRef,static:!0})],e.prototype,"arrowRef",void 0),u([o.ViewChild("popoverRef",{read:o.ElementRef,static:!0})],e.prototype,"popoverRef",void 0),u([o.ViewChild("contentTarget",{read:o.ViewContainerRef,static:!0})],e.prototype,"contentTarget",void 0),e=u([o.Component({selector:"sky-popover-content",template:'<div\n class="sky-popover-container sky-popover-max-height"\n [@.disabled]="!enableAnimations"\n [@skyPopoverAnimation]="animationState"\n [class.sky-popover-hidden]="!placement"\n [ngClass]="[\n \'sky-popover-alignment-\' + horizontalAlignment,\n \'sky-popover-placement-\' + placement,\n \'sky-popover-\' + popoverType\n ]"\n (@skyPopoverAnimation.done)="onAnimationEvent($event)"\n (@skyPopoverAnimation.start)="onAnimationEvent($event)"\n #popoverRef\n>\n <div\n class="sky-popover"\n tabindex="-1"\n [skyThemeClass]="{\n \'sky-rounded-corners sky-shadow\': \'default\',\n \'sky-elevation-4\': \'modern\'\n }"\n >\n <header *ngIf="popoverTitle"\n class="sky-popover-header"\n [skyThemeClass]="{\n \'sky-padding-even-default\': \'default\',\n \'sky-padding-even-lg sky-margin-stacked-lg\': \'modern\'\n }"\n >\n <h1 *ngIf="popoverTitle"\n class="sky-popover-title"\n [skyThemeClass]="{\n \'sky-emphasized\': \'default\',\n \'sky-font-emphasized\': \'modern\'\n }"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class="sky-popover-body"\n [skyThemeClass]="{\n \'sky-padding-even-default\': \'default\',\n \'sky-padding-even-lg\': \'modern\'\n }"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden="true"\n class="sky-popover-arrow"\n [style.left.px]="arrowLeft"\n [style.top.px]="arrowTop"\n #arrowRef\n ></span>\n </div>\n</div>\n',animations:[M],styles:[".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:0}@media (max-width:276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:10px solid #00b4f1;border-right:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-color:transparent #ef4044 #ef4044 transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:10px solid #00b4f1;border-left:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 transparent transparent #ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:10px solid #00b4f1;border-left:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-color:transparent transparent #ef4044 #ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:10px solid #00b4f1;border-right:10px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 #ef4044 transparent transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:10px solid #00b4f1;border-right:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-color:transparent #ef4044 #ef4044 transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:10px solid #00b4f1;border-left:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 transparent transparent #ef4044}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:10px solid #00b4f1;border-left:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-color:transparent transparent #ef4044 #ef4044}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:10px solid #00b4f1;border-right:10px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-color:#ef4044 #ef4044 transparent transparent}"]}),y(6,o.Optional())],e)}(),E=function(){function e(e){this.overlayService=e,this.popoverClosed=new o.EventEmitter,this.popoverOpened=new o.EventEmitter,this.isActive=!1,this.enableAnimations=!0,this.isMouseEnter=!1,this.isMarkedForCloseOnMouseLeave=!1,this.ngUnsubscribe=new p.Subject}return Object.defineProperty(e.prototype,"alignment",{get:function(){return this._alignment||"center"},set:function(e){this._alignment=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dismissOnBlur",{get:function(){return void 0===this._dismissOnBlur||this._dismissOnBlur},set:function(e){this._dismissOnBlur=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placement",{get:function(){return this._placement||"above"},set:function(e){this._placement=e},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0,this.overlay&&(this.overlayService.close(this.overlay),this.overlay=void 0)},e.prototype.positionNextTo=function(e,t,o){this.overlay||this.setupOverlay(),this.placement=t,this.alignment=o,this.isActive=!0,this.contentRef.open(e,{dismissOnBlur:this.dismissOnBlur,enableAnimations:this.enableAnimations,horizontalAlignment:this.alignment,isStatic:!1,placement:this.placement,popoverTitle:this.popoverTitle,popoverType:this.popoverType})},e.prototype.close=function(){var e;null===(e=this.contentRef)||void 0===e||e.close()},e.prototype.applyFocus=function(){var e;null===(e=this.contentRef)||void 0===e||e.applyFocus()},e.prototype.markForCloseOnMouseLeave=function(){this.isMarkedForCloseOnMouseLeave=!0},e.prototype.setupOverlay=function(){var e=this,t=this.overlayService.create({enableScroll:!0,enablePointerEvents:!0});t.backdropClick.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.dismissOnBlur&&e.close()}));var o=t.attachComponent(P,[{provide:C,useValue:new C({contentTemplateRef:this.templateRef})}]);o.opened.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.popoverOpened.emit(e)})),o.closed.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){e.isActive&&(e.overlayService.close(e.overlay),e.overlay=void 0,e.isActive=!1,e.popoverClosed.emit(e))})),o.isMouseEnter.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(t){e.isMouseEnter=t,e.isMarkedForCloseOnMouseLeave&&(e.isMarkedForCloseOnMouseLeave=!1,e.close())})),this.overlay=t,this.contentRef=o},e.ctorParameters=function(){return[{type:n.SkyOverlayService}]},u([o.Input()],e.prototype,"alignment",null),u([o.Input()],e.prototype,"dismissOnBlur",null),u([o.Input()],e.prototype,"placement",null),u([o.Input()],e.prototype,"popoverTitle",void 0),u([o.Input()],e.prototype,"popoverType",void 0),u([o.Output()],e.prototype,"popoverClosed",void 0),u([o.Output()],e.prototype,"popoverOpened",void 0),u([o.ViewChild("templateRef",{read:o.TemplateRef,static:!0})],e.prototype,"templateRef",void 0),e=u([o.Component({selector:"sky-popover",template:"<ng-template\n #templateRef\n>\n <ng-content></ng-content>\n</ng-template>"})],e)}();(O=e.SkyPopoverMessageType||(e.SkyPopoverMessageType={}))[O.Open=0]="Open",O[O.Close=1]="Close",O[O.Reposition=2]="Reposition",O[O.Focus=3]="Focus";var A=function(){function t(e){this.elementRef=e,this.skyPopoverMessageStream=new p.Subject,this.ngUnsubscribe=new p.Subject}return Object.defineProperty(t.prototype,"skyPopoverTrigger",{get:function(){return this._trigger||"click"},set:function(e){this._trigger=e},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.addEventListeners()},t.prototype.ngOnDestroy=function(){this.removeEventListeners()},t.prototype.togglePopover=function(){this.skyPopover.isActive?this.sendMessage(e.SkyPopoverMessageType.Close):this.sendMessage(e.SkyPopoverMessageType.Open)},t.prototype.positionPopover=function(){this.skyPopover.positionNextTo(this.elementRef,this.skyPopoverPlacement,this.skyPopoverAlignment)},t.prototype.closePopover=function(){this.skyPopover.close()},t.prototype.closePopoverOrMarkForClose=function(){this.skyPopover.isMouseEnter?this.skyPopover.markForCloseOnMouseLeave():this.sendMessage(e.SkyPopoverMessageType.Close)},t.prototype.addEventListeners=function(){var t=this,o=this.elementRef.nativeElement;this.skyPopoverMessageStream.pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(e){t.handleIncomingMessages(e)})),p.fromEvent(o,"keydown").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(o){if(t.skyPopover.isActive)switch(o.key.toLowerCase()){case"escape":t.sendMessage(e.SkyPopoverMessageType.Close),o.preventDefault(),o.stopPropagation();break;case"tab":t.skyPopover.dismissOnBlur&&t.sendMessage(e.SkyPopoverMessageType.Close);break;case"arrowdown":case"arrowleft":case"arrowright":case"arrowup":case"down":case"left":case"right":case"up":t.sendMessage(e.SkyPopoverMessageType.Focus),o.stopPropagation(),o.preventDefault()}})),p.fromEvent(o,"click").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.skyPopover&&t.togglePopover()})),p.fromEvent(o,"mouseenter").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.skyPopover&&(t.skyPopover.isMouseEnter=!0,t.skyPopover.isActive||"mouseenter"!==t.skyPopoverTrigger||t.sendMessage(e.SkyPopoverMessageType.Open))})),p.fromEvent(o,"mouseleave").pipe(a.takeUntil(this.ngUnsubscribe)).subscribe((function(){t.skyPopover&&(t.skyPopover.isMouseEnter=!1,t.skyPopover.isActive&&"mouseenter"===t.skyPopoverTrigger&&setTimeout((function(){t.closePopoverOrMarkForClose()})))}))},t.prototype.removeEventListeners=function(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete(),this.ngUnsubscribe=void 0},t.prototype.handleIncomingMessages=function(t){switch(t.type){case e.SkyPopoverMessageType.Open:this.positionPopover();break;case e.SkyPopoverMessageType.Close:this.skyPopover.isActive&&this.closePopover();break;case e.SkyPopoverMessageType.Reposition:this.skyPopover.isActive&&this.positionPopover();break;case e.SkyPopoverMessageType.Focus:this.skyPopover.applyFocus()}},t.prototype.sendMessage=function(e){this.skyPopoverMessageStream.next({type:e})},t.ctorParameters=function(){return[{type:o.ElementRef}]},u([o.Input()],t.prototype,"skyPopover",void 0),u([o.Input()],t.prototype,"skyPopoverAlignment",void 0),u([o.Input()],t.prototype,"skyPopoverMessageStream",void 0),u([o.Input()],t.prototype,"skyPopoverPlacement",void 0),u([o.Input()],t.prototype,"skyPopoverTrigger",null),t=u([o.Directive({selector:"[skyPopover]"})],t)}(),R=function(){function e(){}return e=u([o.NgModule({declarations:[E,P,A],imports:[c.BrowserAnimationsModule,t.CommonModule,n.SkyAffixModule,n.SkyCoreAdapterModule,r.SkyIconModule,n.SkyOverlayModule,h,s.SkyThemeModule],exports:[E,P,A],entryComponents:[P],providers:[S,s.SkyThemeService]})],e)}();e.SkyDropdownModule=x,e.SkyPopoverModule=R,e.ɵa=b,e.ɵb=v,e.ɵc=f,e.ɵd=w,e.ɵe=h,e.ɵf=m,e.ɵg=E,e.ɵh=P,e.ɵi=M,e.ɵj=S,e.ɵk=C,e.ɵl=A,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=skyux-popovers.umd.min.js.map