@skyux/popovers 4.7.0 → 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.
- package/CHANGELOG.md +4 -0
- package/bundles/skyux-popovers.umd.js +2 -1
- package/bundles/skyux-popovers.umd.js.map +1 -1
- package/bundles/skyux-popovers.umd.min.js +1 -1
- package/bundles/skyux-popovers.umd.min.js.map +1 -1
- package/esm2015/modules/dropdown/dropdown.component.js +3 -2
- package/esm5/modules/dropdown/dropdown.component.js +3 -2
- package/fesm2015/skyux-popovers.js +2 -1
- package/fesm2015/skyux-popovers.js.map +1 -1
- package/fesm5/skyux-popovers.js +2 -1
- package/fesm5/skyux-popovers.js.map +1 -1
- package/modules/dropdown/dropdown.component.d.ts +1 -0
- package/package.json +1 -1
- package/skyux-popovers.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-popovers.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@skyux/popovers/modules/dropdown/types/dropdown-message-type.ts","ng://@skyux/popovers/plugin-resources/popovers-resources-provider.ts","ng://@skyux/popovers/modules/shared/popovers-resources.module.ts","ng://@skyux/popovers/modules/dropdown/dropdown-button.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown-item.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown-extensions.ts","ng://@skyux/popovers/modules/dropdown/dropdown.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown-menu.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown.module.ts","ng://@skyux/popovers/modules/popover/popover-adapter.service.ts","ng://@skyux/popovers/modules/popover/popover-animation.ts","ng://@skyux/popovers/modules/popover/popover-context.ts","ng://@skyux/popovers/modules/popover/popover-extensions.ts","ng://@skyux/popovers/modules/popover/popover-content.component.ts","ng://@skyux/popovers/modules/popover/popover.component.ts","ng://@skyux/popovers/modules/popover/types/popover-message-type.ts","ng://@skyux/popovers/modules/popover/popover.directive.ts","ng://@skyux/popovers/modules/popover/popover.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export enum SkyDropdownMessageType {\n /**\n * Opens the dropdown menu.\n */\n Open = 0,\n\n /**\n * Closes the dropdown menu.\n */\n Close = 1,\n\n /**\n * Puts focus on the dropdown button.\n */\n FocusTriggerButton = 2,\n\n /**\n * Puts focus on the next item in the dropdown menu.\n */\n FocusNextItem = 3,\n\n /**\n * Puts focus on the previous item in the dropdown menu.\n */\n FocusPreviousItem = 4,\n\n /**\n * Repositions the dropdown menu next to the dropdown button. This is useful for when the\n * dropdown menu's width and height change while it is open.\n */\n Reposition = 5,\n\n /**\n * Puts focus on the first item in the dropdown menu.\n */\n FocusFirstItem = 6,\n\n /**\n * Puts focus on the last item in the dropdown menu.\n */\n FocusLastItem = 7\n}\n","\nimport {\n Injectable\n} from '@angular/core';\n\nimport {\n getStringForLocale,\n SkyAppLocaleInfo,\n SkyLibResourcesProvider\n} from '@skyux/i18n';\n\n@Injectable()\nexport class SkyPopoversResourcesProvider implements SkyLibResourcesProvider {\n private resources: any = {\"EN-US\":{\"skyux_dropdown_context_menu_default_label\":\"Context menu\"}};\n\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getStringForLocale(this.resources, localeInfo.locale, name);\n }\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyI18nModule\n} from '@skyux/i18n';\n\nimport {\n SkyPopoversResourcesProvider\n} from '../../plugin-resources/popovers-resources-provider';\n\n@NgModule({\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyPopoversResourcesProvider,\n multi: true\n }],\n exports: [\n SkyI18nModule\n ]\n})\nexport class SkyPopoversResourcesModule { }\n","import {\n Component\n} from '@angular/core';\n\n@Component({\n selector: 'sky-dropdown-button',\n templateUrl: './dropdown-button.component.html'\n})\nexport class SkyDropdownButtonComponent { }\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: 'sky-dropdown-item',\n templateUrl: './dropdown-item.component.html',\n styleUrls: ['./dropdown-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyDropdownItemComponent implements AfterViewInit {\n\n /**\n * Specifies an ARIA role for the dropdown menu item\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n * by indicating how the item functions and what it controls. For information about\n * how an ARIA role indicates what an item represents on a web page, see the\n * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).\n * @default \"menuitem\"\n */\n @Input()\n public set ariaRole(value: string) {\n this._ariaRole = value;\n }\n\n public get ariaRole(): string {\n return this._ariaRole || 'menuitem';\n }\n\n public get buttonElement(): HTMLButtonElement {\n return this.elementRef.nativeElement.querySelector('button,a');\n }\n\n public isActive = false;\n\n public isDisabled = false;\n\n private _ariaRole: string;\n\n public constructor(\n public elementRef: ElementRef,\n private changeDetector: ChangeDetectorRef,\n private renderer: Renderer2\n ) { }\n\n public ngAfterViewInit(): void {\n this.isDisabled = !this.isFocusable();\n\n // Make sure anchor elements are tab-able.\n const buttonElement = this.buttonElement;\n /* istanbul ignore else */\n if (buttonElement) {\n this.renderer.setAttribute(buttonElement, 'tabIndex', '0');\n }\n\n this.changeDetector.detectChanges();\n }\n\n public focusElement(enableNativeFocus: boolean): void {\n this.isActive = true;\n\n if (enableNativeFocus) {\n this.buttonElement.focus();\n }\n\n this.changeDetector.detectChanges();\n }\n\n public isFocusable(): boolean {\n /*tslint:disable no-null-keyword */\n const isFocusable = (\n this.buttonElement &&\n this.buttonElement.getAttribute('disabled') === null\n );\n /*tslint:enable */\n return isFocusable;\n }\n\n public resetState(): void {\n this.isActive = false;\n this.changeDetector.markForCheck();\n }\n}\n","import {\n SkyAffixHorizontalAlignment\n} from '@skyux/core';\n\nimport {\n SkyDropdownHorizontalAlignment\n} from './types/dropdown-horizontal-alignment';\n\nexport function parseAffixHorizontalAlignment(\n alignment: SkyDropdownHorizontalAlignment\n): SkyAffixHorizontalAlignment {\n switch (alignment) {\n case 'center':\n return 'center';\n case 'left':\n return 'left';\n case 'right':\n return 'right';\n /* istanbul ignore next */\n default:\n throw `SkyAffixHorizontalAlignment does not have a matching value for '${alignment}'!`;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixer,\n SkyAffixService,\n SkyOverlayInstance,\n SkyOverlayService\n} from '@skyux/core';\n\nimport {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n fromEvent as observableFromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyDropdownHorizontalAlignment\n} from './types/dropdown-horizontal-alignment';\n\nimport {\n SkyDropdownMessage\n} from './types/dropdown-message';\n\nimport {\n SkyDropdownMessageType\n} from './types/dropdown-message-type';\n\nimport {\n SkyDropdownTriggerType\n} from './types/dropdown-trigger-type';\n\nimport {\n parseAffixHorizontalAlignment\n} from './dropdown-extensions';\n\n@Component({\n selector: 'sky-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDropdownComponent implements OnInit, OnDestroy {\n\n /**\n * Specifies a background color for the dropdown button. Available values are `default` and\n * `primary`. These values set the background color from the\n * [secondary and primary button classes](https://developer.blackbaud.com/skyux/components/button) respectively.\n * @default \"default\"\n */\n @Input()\n public set buttonStyle(value: string) {\n this._buttonStyle = value;\n }\n\n public get buttonStyle(): string {\n return this._buttonStyle || 'default';\n }\n\n /**\n * Specifies the type of button to render as the dropdown's trigger element. To display a button\n * with text and a caret, specify `select` and then enter the button text in a\n * `sky-dropdown-button` element. To display a round button with an ellipsis, specify\n * `context-menu`. And to display a button with a [Font Awesome icon](http://fontawesome.io/icons/), specify the icon's class name.\n * For example, to display the `fa-filter` icon, specify `filter`.\n * @default \"select\"\n */\n @Input()\n public set buttonType(value: string) {\n this._buttonType = value;\n }\n\n public get buttonType(): string {\n return this._buttonType || 'select';\n }\n\n /**\n * Indicates whether to disable the dropdown button.\n * @default false\n */\n @Input()\n public set disabled(value: boolean) {\n this._disabled = value;\n }\n\n public get disabled(): boolean {\n return this._disabled || false;\n }\n\n /**\n * Indicates whether to close the dropdown when users click away from the menu.\n * @default true\n */\n @Input()\n public set dismissOnBlur(value: boolean) {\n this._dismissOnBlur = value;\n }\n\n public get dismissOnBlur(): boolean {\n if (this._dismissOnBlur === undefined) {\n return true;\n }\n\n return this._dismissOnBlur;\n }\n\n /**\n * Specifies an ARIA label for the dropdown. This sets the dropdown's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public label: string;\n\n /**\n * Specifies the horizontal alignment of the dropdown menu in relation to the dropdown button.\n * @default \"left\"\n */\n @Input()\n public set horizontalAlignment(value: SkyDropdownHorizontalAlignment) {\n this._horizontalAlignment = value;\n }\n\n public get horizontalAlignment(): SkyDropdownHorizontalAlignment {\n return this._horizontalAlignment || 'left';\n }\n\n /**\n * Provides an observable to send commands to the dropdown. The commands should respect\n * the [[SkyDropdownMessage]] type.\n */\n\n @Input()\n public messageStream = new Subject<SkyDropdownMessage>();\n\n /**\n * Specifies a title to display in a tooltip when users hover the mouse over the dropdown button.\n */\n @Input()\n public title: string;\n\n /**\n * Specifies how users interact with the dropdown button to expose the dropdown menu.\n * We recommend the default `click` value because the `hover` value can pose\n * [accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) issues\n * for users on touch devices such as phones and tablets.\n * @deprecated We recommend against using this property. If you choose to use the deprecated\n * `hover` value anyway, we recommend that you not use it in combination with the `title`\n * property. (This property will be removed in the next major version release.)\n * @default \"click\"\n */\n @Input()\n public set trigger(value: SkyDropdownTriggerType) {\n this._trigger = value;\n }\n\n public get trigger(): SkyDropdownTriggerType {\n return this._trigger || 'click';\n }\n\n public set isOpen(value: boolean) {\n this._isOpen = value;\n this.changeDetector.markForCheck();\n }\n\n public get isOpen(): boolean {\n return this._isOpen || false;\n }\n\n @ViewChild('menuContainerElementRef', {\n read: ElementRef\n })\n public set menuContainerElementRef(value: ElementRef) {\n if (value) {\n this._menuContainerElementRef = value;\n this.destroyAffixer();\n this.createAffixer();\n this.changeDetector.markForCheck();\n }\n }\n\n public get menuContainerElementRef(): ElementRef {\n return this._menuContainerElementRef;\n }\n\n public isMouseEnter: boolean = false;\n\n public isVisible: boolean = false;\n\n public menuId: string;\n\n public menuAriaRole: string;\n\n @ViewChild('menuContainerTemplateRef', {\n read: TemplateRef,\n static: true\n })\n private menuContainerTemplateRef: TemplateRef<any>;\n\n @ViewChild('triggerButton', {\n read: ElementRef,\n static: true\n })\n private triggerButton: ElementRef;\n\n private affixer: SkyAffixer;\n\n private ngUnsubscribe = new Subject();\n\n private overlay: SkyOverlayInstance;\n\n private _buttonStyle: string;\n\n private _buttonType: string;\n\n private _disabled: boolean;\n\n private _dismissOnBlur: boolean;\n\n private _horizontalAlignment: SkyDropdownHorizontalAlignment;\n\n private _isOpen = false;\n\n private _menuContainerElementRef: ElementRef;\n\n private _trigger: SkyDropdownTriggerType;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private affixService: SkyAffixService,\n private overlayService: SkyOverlayService,\n @Optional() private themeSvc?: SkyThemeService\n ) { }\n\n public ngOnInit(): void {\n this.addEventListeners();\n\n this.messageStream\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((message: SkyDropdownMessage) => {\n this.handleIncomingMessages(message);\n });\n\n // Load proper icons on theme change.\n this.themeSvc?.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.changeDetector.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.destroyAffixer();\n this.destroyOverlay();\n\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n }\n\n private addEventListeners(): void {\n const buttonElement = this.triggerButton.nativeElement;\n\n observableFromEvent(buttonElement, 'click')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Close);\n } else {\n this.sendMessage(SkyDropdownMessageType.Open);\n // Wait for dropdown to open, then set focus on first item.\n setTimeout(() => {\n this.sendMessage(SkyDropdownMessageType.FocusFirstItem);\n });\n }\n });\n\n observableFromEvent(buttonElement, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n /* tslint:disable-next-line:switch-default */\n switch (key) {\n case 'escape':\n /*istanbul ignore else*/\n if (this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Close);\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n event.stopPropagation();\n }\n break;\n\n case 'tab':\n if (this.isOpen && this.dismissOnBlur) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n break;\n\n case 'arrowup':\n case 'up':\n if (!this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Open);\n this.sendMessage(SkyDropdownMessageType.FocusLastItem);\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n\n case 'enter':\n case 'arrowdown':\n case 'down':\n case ' ': // Spacebar.\n /*istanbul ignore else*/\n if (!this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Open);\n this.sendMessage(SkyDropdownMessageType.FocusFirstItem);\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n }\n });\n\n observableFromEvent(buttonElement, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.isMouseEnter = true;\n if (this.trigger === 'hover') {\n this.sendMessage(SkyDropdownMessageType.Open);\n }\n });\n\n observableFromEvent(buttonElement, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.isMouseEnter = false;\n if (this.trigger === 'hover') {\n // Allow the dropdown menu to set isMouseEnter before checking if the close action\n // should be taken.\n setTimeout(() => {\n if (!this.isMouseEnter) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n });\n }\n });\n }\n\n private createOverlay(): void {\n if (this.overlay) {\n return;\n }\n\n const overlay = this.overlayService.create({\n enableScroll: true,\n enablePointerEvents: true\n });\n\n overlay.attachTemplate(this.menuContainerTemplateRef);\n\n overlay.backdropClick\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.dismissOnBlur) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n });\n\n this.overlay = overlay;\n }\n\n private destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.affixer) {\n this.affixer.destroy();\n this.affixer = undefined;\n }\n }\n\n private destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.overlay) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n }\n }\n\n private createAffixer(): void {\n const affixer = this.affixService.createAffixer(this.menuContainerElementRef);\n\n affixer.placementChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change) => {\n this.isVisible = (change.placement !== null);\n this.changeDetector.markForCheck();\n });\n\n this.affixer = affixer;\n }\n\n private handleIncomingMessages(message: SkyDropdownMessage): void {\n if (!this.disabled) {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyDropdownMessageType.Open:\n this.isOpen = true;\n this.positionDropdownMenu();\n break;\n\n case SkyDropdownMessageType.Close:\n this.isOpen = false;\n this.destroyOverlay();\n break;\n\n case SkyDropdownMessageType.Reposition:\n // Only reposition the dropdown if it is already open.\n /* istanbul ignore else */\n if (this.isOpen && this.affixer) {\n this.affixer.reaffix();\n }\n break;\n\n case SkyDropdownMessageType.FocusTriggerButton:\n this.triggerButton.nativeElement.focus();\n break;\n }\n }\n }\n\n private sendMessage(type: SkyDropdownMessageType): void {\n this.messageStream.next({ type });\n }\n\n private positionDropdownMenu(): void {\n this.isVisible = false;\n this.createOverlay();\n this.changeDetector.markForCheck();\n\n setTimeout(() => {\n this.affixer.affixTo(this.triggerButton.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: parseAffixHorizontalAlignment(this.horizontalAlignment),\n isSticky: true,\n placement: 'below'\n });\n\n this.isVisible = true;\n this.changeDetector.markForCheck();\n });\n }\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {\n fromEvent as observableFromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyDropdownComponent\n} from './dropdown.component';\n\nimport {\n SkyDropdownItemComponent\n} from './dropdown-item.component';\n\nimport {\n SkyDropdownMenuChange\n} from './types/dropdown-menu-change';\n\nimport {\n SkyDropdownMessage\n} from './types/dropdown-message';\n\nimport {\n SkyDropdownMessageType\n} from './types/dropdown-message-type';\n\nlet nextId = 0;\n\n@Component({\n selector: 'sky-dropdown-menu',\n templateUrl: './dropdown-menu.component.html',\n styleUrls: ['./dropdown-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyDropdownMenuComponent implements AfterContentInit, OnDestroy {\n\n /**\n * Specifies the HTML element ID (without the leading `#`) of the element that labels\n * the dropdown menu. This sets the dropdown menu's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public ariaLabelledBy: string;\n\n /**\n * Specifies an ARIA role for the dropdown menu\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n * by indicating how the dropdown menu functions and what it controls. The dropdown button\n * inherits this value to set its `aria-haspopup` property. For information\n * about how an ARIA role indicates what an item represents on a web page, see the\n * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).\n * @default \"menu\"\n */\n @Input()\n public set ariaRole(value: string) {\n this._ariaRole = value;\n }\n\n public get ariaRole(): string {\n return this._ariaRole || 'menu';\n }\n\n /**\n * Indicates whether to use the browser's native focus function when users navigate through menu\n * items with the keyboard. To disable the native focus function, set this property to `false`.\n * For example, to let users interact with the dropdown menu but keep the keyboard focus on a\n * different element, set this property to `false`.\n * @default true\n */\n @Input()\n public set useNativeFocus(value: boolean) {\n this._useNativeFocus = value;\n }\n\n public get useNativeFocus(): boolean {\n if (this._useNativeFocus === undefined) {\n return true;\n }\n\n return this._useNativeFocus;\n }\n\n /**\n * Fires when the dropdown menu's active index or selected item changes. This event provides an\n * observable to emit changes, and the response is of\n * the SkyDropdownMenuChange type.\n */\n @Output()\n public menuChanges = new EventEmitter<SkyDropdownMenuChange>();\n\n public dropdownMenuId: string = `sky-dropdown-menu-${++nextId}`;\n\n private get hasFocusableItems(): boolean {\n const found = this.menuItems.find(item => item.isFocusable());\n return (found !== undefined);\n }\n\n public set menuIndex(value: number) {\n if (value < 0) {\n value = this.menuItems.length - 1;\n }\n\n if (value >= this.menuItems.length) {\n value = 0;\n }\n\n this._menuIndex = value;\n }\n\n public get menuIndex(): number {\n return this._menuIndex;\n }\n\n @ContentChildren(SkyDropdownItemComponent, {descendants: true})\n public menuItems: QueryList<SkyDropdownItemComponent>;\n\n private ngUnsubscribe = new Subject();\n\n private _ariaRole: string;\n\n private _menuIndex = 0;\n\n private _useNativeFocus: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n @Optional() private dropdownComponent: SkyDropdownComponent\n ) { }\n\n public ngAfterContentInit(): void {\n /* istanbul ignore else */\n if (this.dropdownComponent) {\n this.dropdownComponent.menuId = this.dropdownMenuId;\n this.dropdownComponent.menuAriaRole = this.ariaRole;\n\n this.dropdownComponent.messageStream\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((message: SkyDropdownMessage) => {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyDropdownMessageType.Open:\n case SkyDropdownMessageType.Close:\n this.reset();\n break;\n\n case SkyDropdownMessageType.FocusFirstItem:\n this.focusFirstItem();\n break;\n\n case SkyDropdownMessageType.FocusNextItem:\n this.focusNextItem();\n break;\n\n case SkyDropdownMessageType.FocusPreviousItem:\n this.focusPreviousItem();\n break;\n\n case SkyDropdownMessageType.FocusLastItem:\n this.focusLastItem();\n break;\n }\n });\n\n this.menuChanges\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change: SkyDropdownMenuChange) => {\n // Close the dropdown when a menu item is selected.\n if (change.selectedItem) {\n this.sendMessage(SkyDropdownMessageType.Close);\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n }\n\n if (change.items) {\n // Update the popover style and position whenever the number of items changes.\n this.sendMessage(SkyDropdownMessageType.Reposition);\n }\n });\n }\n\n // Reset dropdown whenever the menu items change.\n this.menuItems.changes\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((items: QueryList<SkyDropdownItemComponent>) => {\n this.reset();\n this.menuChanges.emit({\n items: items.toArray()\n });\n });\n\n this.addEventListeners();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n }\n\n public focusFirstItem(): void {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex = 0;\n\n const firstItem = this.getItemByIndex(this.menuIndex);\n if (firstItem && firstItem.isFocusable()) {\n this.focusItem(firstItem);\n } else {\n this.focusNextItem();\n }\n }\n\n public focusLastItem(): void {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex = this.menuItems.length - 1;\n\n const lastItem = this.getItemByIndex(this.menuIndex);\n if (lastItem && lastItem.isFocusable()) {\n this.focusItem(lastItem);\n } else {\n this.focusPreviousItem();\n }\n }\n\n public focusPreviousItem(): void {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex--;\n\n const previousItem = this.getItemByIndex(this.menuIndex);\n if (previousItem && previousItem.isFocusable()) {\n this.focusItem(previousItem);\n } else {\n this.focusPreviousItem();\n }\n }\n\n public focusNextItem() {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex++;\n\n const nextItem = this.getItemByIndex(this.menuIndex);\n if (nextItem && nextItem.isFocusable()) {\n this.focusItem(nextItem);\n } else {\n this.focusNextItem();\n }\n }\n\n public reset(): void {\n this._menuIndex = -1;\n this.resetItemsActiveState();\n this.changeDetector.markForCheck();\n }\n\n private resetItemsActiveState() {\n this.menuItems.forEach((item: SkyDropdownItemComponent) => {\n item.resetState();\n });\n }\n\n private focusItem(item: SkyDropdownItemComponent): void {\n this.resetItemsActiveState();\n item.focusElement(this.useNativeFocus);\n this.menuChanges.emit({\n activeIndex: this.menuIndex\n });\n }\n\n private getItemByIndex(index: number): SkyDropdownItemComponent {\n return this.menuItems.find((item: any, i: number) => {\n return (i === index);\n });\n }\n\n private selectItemByEventTarget(target: EventTarget): void {\n const selectedItem = this.menuItems.find((item: SkyDropdownItemComponent, i: number) => {\n const found = (item.elementRef.nativeElement.contains(target));\n\n if (found) {\n this.menuIndex = i;\n this.menuChanges.next({\n activeIndex: this.menuIndex\n });\n }\n\n return found;\n });\n\n /* istanbul ignore else */\n if (selectedItem) {\n this.menuChanges.next({\n selectedItem\n });\n }\n }\n\n private sendMessage(type: SkyDropdownMessageType): void {\n this.dropdownComponent.messageStream.next({ type });\n }\n\n private addEventListeners(): void {\n const dropdownMenuElement = this.elementRef.nativeElement;\n\n observableFromEvent(dropdownMenuElement, 'click')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: MouseEvent) => {\n this.selectItemByEventTarget(event.target);\n });\n\n observableFromEvent(dropdownMenuElement, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n /*tslint:disable-next-line:switch-default*/\n switch (key) {\n case 'escape':\n this.sendMessage(SkyDropdownMessageType.Close);\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n event.stopPropagation();\n event.preventDefault();\n break;\n\n case 'arrowdown':\n case 'down':\n this.focusNextItem();\n event.preventDefault();\n break;\n\n case 'arrowup':\n case 'up':\n this.focusPreviousItem();\n event.preventDefault();\n break;\n\n case 'tab':\n if (this.dropdownComponent.dismissOnBlur) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n break;\n }\n });\n\n observableFromEvent(dropdownMenuElement, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.dropdownComponent.isMouseEnter = true;\n });\n\n observableFromEvent(dropdownMenuElement, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.dropdownComponent.isMouseEnter = false;\n // Allow the dropdown component to set isMouseEnter before checking if the close action\n // should be taken.\n setTimeout(() => {\n if (\n this.dropdownComponent.trigger === 'hover' &&\n this.dropdownComponent.isMouseEnter === false\n ) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n });\n });\n }\n\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyAffixModule,\n SkyOverlayModule\n} from '@skyux/core';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyThemeModule\n} from '@skyux/theme';\n\nimport {\n SkyPopoversResourcesModule\n} from '../shared/popovers-resources.module';\n\nimport {\n SkyDropdownButtonComponent\n} from './dropdown-button.component';\n\nimport {\n SkyDropdownItemComponent\n} from './dropdown-item.component';\n\nimport {\n SkyDropdownMenuComponent\n} from './dropdown-menu.component';\n\nimport {\n SkyDropdownComponent\n} from './dropdown.component';\n\n@NgModule({\n declarations: [\n SkyDropdownButtonComponent,\n SkyDropdownComponent,\n SkyDropdownItemComponent,\n SkyDropdownMenuComponent\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyIconModule,\n SkyOverlayModule,\n SkyPopoversResourcesModule,\n SkyThemeModule\n ],\n exports: [\n SkyDropdownButtonComponent,\n SkyDropdownComponent,\n SkyDropdownItemComponent,\n SkyDropdownMenuComponent\n ]\n})\nexport class SkyDropdownModule { }\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyPopoverAdapterArrowCoordinates\n} from './types/popover-adapter-arrow-coordinates';\n\nimport {\n SkyPopoverAdapterElements\n} from './types/popover-adapter-elements';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPopoverAdapterService {\n\n public getArrowCoordinates(\n elements: SkyPopoverAdapterElements,\n placement: SkyPopoverPlacement,\n themeName?: string\n ): SkyPopoverAdapterArrowCoordinates {\n const callerRect = elements.caller.nativeElement.getBoundingClientRect();\n const popoverRect = elements.popover.nativeElement.getBoundingClientRect();\n const arrowRect = elements.popoverArrow.nativeElement.getBoundingClientRect();\n\n const pixelTolerance = 20;\n\n let top: number;\n let left: number;\n\n if (placement === 'above' || placement === 'below') {\n left = callerRect.left + (callerRect.width / 2);\n\n // Make sure the arrow never detaches from the popover.\n if (left - pixelTolerance < popoverRect.left) {\n left = popoverRect.left + pixelTolerance;\n } else if (left + pixelTolerance > popoverRect.right) {\n left = popoverRect.right - pixelTolerance;\n }\n\n if (placement === 'above') {\n if (themeName !== 'modern') {\n top = callerRect.top - arrowRect.height;\n } else {\n top = callerRect.top - arrowRect.height + 5;\n }\n } else {\n if (themeName !== 'modern') {\n top = callerRect.bottom;\n } else {\n top = callerRect.bottom + 4;\n }\n }\n } else {\n top = callerRect.top + (callerRect.height / 2);\n\n // Make sure the arrow never detaches from the popover.\n if (top - pixelTolerance < popoverRect.top) {\n top = popoverRect.top + pixelTolerance;\n } else if (top + pixelTolerance > popoverRect.bottom) {\n top = popoverRect.bottom - pixelTolerance;\n }\n\n if (placement === 'left') {\n if (themeName !== 'modern') {\n left = callerRect.left - arrowRect.width;\n } else {\n left = callerRect.left - arrowRect.width + 5;\n }\n } else {\n if (themeName !== 'modern') {\n left = callerRect.right;\n } else {\n left = callerRect.right + 4;\n }\n }\n }\n\n return { top, left };\n }\n\n}\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n/**\n * @internal\n */\nexport const skyPopoverAnimation: AnimationTriggerMetadata = trigger('skyPopoverAnimation', [\n state('void', style({\n opacity: 0\n })),\n state('open', style({\n opacity: 1\n })),\n state('closed', style({\n opacity: 0\n })),\n transition('void => *', [\n animate('250ms')\n ]),\n transition('open => closed', [\n animate('150ms')\n ]),\n transition('closed => open', [\n animate('150ms')\n ])\n]);\n","import {\n TemplateRef\n} from '@angular/core';\n\n/**\n * @dynamic\n * @internal\n */\nexport class SkyPopoverContext {\n\n public readonly contentTemplateRef: TemplateRef<any>;\n\n constructor(\n args: {\n contentTemplateRef: TemplateRef<any>\n }\n ) {\n this.contentTemplateRef = args.contentTemplateRef;\n }\n\n}\n","import {\n SkyAffixHorizontalAlignment,\n SkyAffixPlacement\n} from '@skyux/core';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nexport function parseAffixPlacement(\n placement: SkyPopoverPlacement\n): SkyAffixPlacement {\n switch (placement) {\n case 'above':\n return 'above';\n case 'below':\n return 'below';\n case 'right':\n return 'right';\n case 'left':\n return 'left';\n /* istanbul ignore next */\n default:\n throw `SkyAffixPlacement does not have a matching value for '${placement}'!`;\n }\n}\n\nexport function parseAffixHorizontalAlignment(\n alignment: SkyPopoverAlignment\n): SkyAffixHorizontalAlignment {\n switch (alignment) {\n case 'center':\n return 'center';\n case 'left':\n return 'left';\n case 'right':\n return 'right';\n /* istanbul ignore next */\n default:\n throw `SkyAffixHorizontalAlignment does not have a matching value for '${alignment}'!`;\n }\n}\n","import {\n AnimationEvent\n} from '@angular/animations';\n\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixConfig,\n SkyAffixer,\n SkyAffixService,\n SkyCoreAdapterService\n} from '@skyux/core';\n\nimport {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n fromEvent as observableFromEvent,\n Observable,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nimport {\n SkyPopoverAdapterService\n} from './popover-adapter.service';\n\nimport {\n skyPopoverAnimation\n} from './popover-animation';\n\nimport {\n SkyPopoverAnimationState\n} from './popover-animation-state';\n\nimport {\n SkyPopoverContext\n} from './popover-context';\n\nimport {\n parseAffixHorizontalAlignment,\n parseAffixPlacement\n} from './popover-extensions';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-popover-content',\n templateUrl: './popover-content.component.html',\n styleUrls: ['./popover-content.component.scss'],\n animations: [skyPopoverAnimation]\n})\nexport class SkyPopoverContentComponent implements OnInit, OnDestroy {\n\n public get animationState(): SkyPopoverAnimationState {\n return this.isOpen ? 'open' : 'closed';\n }\n\n public get closed(): Observable<void> {\n return this._closed.asObservable();\n }\n\n public get opened(): Observable<void> {\n return this._opened.asObservable();\n }\n\n public get isMouseEnter(): Observable<boolean> {\n return this._isMouseEnter.asObservable();\n }\n\n public affixer: SkyAffixer;\n\n public arrowLeft: number;\n\n public arrowTop: number;\n\n public dismissOnBlur: boolean = true;\n\n public enableAnimations: boolean = true;\n\n public horizontalAlignment: SkyPopoverAlignment;\n\n public isOpen: boolean = false;\n\n public placement: SkyPopoverPlacement;\n\n public popoverTitle: string;\n\n public popoverType: 'danger' | 'info' = 'info';\n\n public themeName: string;\n\n @ViewChild('arrowRef', {\n read: ElementRef,\n static: true\n })\n private arrowRef: ElementRef;\n\n @ViewChild('popoverRef', {\n read: ElementRef,\n static: true\n })\n private popoverRef: ElementRef;\n\n @ViewChild('contentTarget', {\n read: ViewContainerRef,\n static: true\n })\n private contentTarget: ViewContainerRef;\n\n private caller: ElementRef;\n\n private ngUnsubscribe = new Subject<void>();\n\n private _closed = new Subject<void>();\n\n private _isMouseEnter = new Subject<boolean>();\n\n private _opened = new Subject<void>();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private affixService: SkyAffixService,\n private coreAdapterService: SkyCoreAdapterService,\n private adapterService: SkyPopoverAdapterService,\n private themeSvc: SkyThemeService,\n @Optional() private context: SkyPopoverContext\n ) { }\n\n public ngOnInit(): void {\n this.contentTarget.createEmbeddedView(this.context.contentTemplateRef);\n this.addEventListeners();\n\n /*istanbul ignore else*/\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((themeSettings) => {\n this.themeName = themeSettings.currentSettings?.theme?.name;\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n this._closed.complete();\n this._isMouseEnter.complete();\n this._opened.complete();\n\n /* istanbul ignore else */\n if (this.affixer) {\n this.affixer.destroy();\n }\n\n this._closed =\n this._isMouseEnter =\n this._opened =\n this.affixer =\n this.ngUnsubscribe = undefined;\n }\n\n public onAnimationEvent(event: AnimationEvent): void {\n if (event.fromState === 'void') {\n return;\n }\n\n if (event.phaseName === 'done') {\n if (event.toState === 'open') {\n this._opened?.next();\n } else {\n this._closed?.next();\n }\n }\n }\n\n public open(\n caller: ElementRef,\n config: {\n dismissOnBlur: boolean;\n enableAnimations: boolean;\n horizontalAlignment: SkyPopoverAlignment;\n isStatic: boolean;\n placement: SkyPopoverPlacement;\n popoverTitle: string;\n popoverType?: 'danger' | 'info';\n }\n ): void {\n this.caller = caller;\n this.dismissOnBlur = config.dismissOnBlur;\n this.enableAnimations = config.enableAnimations;\n this.horizontalAlignment = config.horizontalAlignment;\n this.placement = config.placement;\n this.popoverTitle = config.popoverTitle;\n if (config.popoverType) {\n this.popoverType = config.popoverType;\n }\n\n this.changeDetector.markForCheck();\n\n // Indicates if the popover should be displayed statically.\n // Please note: This feature is internal-only and used by the visual tests to capture multiple\n // states simultaneously without the overhead of event listeners.\n /* istanbul ignore if */\n if (config.isStatic) {\n this.isOpen = true;\n this.changeDetector.markForCheck();\n return;\n }\n\n // Let the styles render before gauging the affix dimensions.\n setTimeout(() => {\n /*istanbul ignore next*/\n if (!this.popoverRef?.nativeElement || !this.ngUnsubscribe || this.ngUnsubscribe.isStopped) {\n return;\n }\n\n if (!this.affixer) {\n this.setupAffixer();\n }\n\n const affixOptions: SkyAffixConfig = {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: parseAffixHorizontalAlignment(this.horizontalAlignment),\n isSticky: true,\n placement: parseAffixPlacement(this.placement)\n };\n\n // Ensure that we are positioning the vertical alginment correctly. These\n // are the default alignments for all popovers but ensure that we are future proof here.\n if (affixOptions.placement === 'left' || affixOptions.placement === 'right') {\n affixOptions.verticalAlignment = 'middle';\n } else if (affixOptions.placement === 'above') {\n affixOptions.verticalAlignment = 'bottom';\n } else {\n affixOptions.verticalAlignment = 'top';\n }\n\n this.affixer.affixTo(this.caller.nativeElement, affixOptions);\n\n this.updateArrowOffset();\n\n this.isOpen = true;\n this.changeDetector.markForCheck();\n });\n }\n\n public close(): void {\n this.isOpen = false;\n this.changeDetector.markForCheck();\n }\n\n public applyFocus(): void {\n if (this.isOpen) {\n this.coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.popoverRef,\n '.sky-popover',\n true\n );\n }\n }\n\n private setupAffixer(): void {\n const affixer = this.affixService.createAffixer(this.popoverRef);\n\n affixer.offsetChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.updateArrowOffset();\n this.changeDetector.markForCheck();\n });\n\n affixer.overflowScroll\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.updateArrowOffset();\n this.changeDetector.markForCheck();\n });\n\n affixer.placementChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change) => {\n this.placement = change.placement;\n this.changeDetector.markForCheck();\n });\n\n this.affixer = affixer;\n }\n\n private updateArrowOffset(): void {\n const { top, left } = this.adapterService.getArrowCoordinates(\n {\n caller: this.caller,\n popover: this.popoverRef,\n popoverArrow: this.arrowRef\n },\n this.placement,\n this.themeName\n );\n\n this.arrowTop = top;\n this.arrowLeft = left;\n }\n\n private addEventListeners(): void {\n const hostElement = this.elementRef.nativeElement;\n\n observableFromEvent(hostElement, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => this._isMouseEnter.next(true));\n\n observableFromEvent(hostElement, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => this._isMouseEnter.next(false));\n\n observableFromEvent(hostElement, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n /* tslint:disable-next-line:switch-default */\n switch (key) {\n\n case 'escape':\n this.close();\n this.caller.nativeElement.focus();\n event.preventDefault();\n event.stopPropagation();\n break;\n\n // Since the popover now lives in an overlay at the bottom of the document body, we need\n // to handle the tab key ourselves. Otherwise, focus would be moved to the browser's\n // search bar.\n case 'tab':\n if (!this.dismissOnBlur) {\n return;\n }\n\n const focusableItems = this.coreAdapterService.getFocusableChildren(hostElement);\n\n const isFirstItem = (\n focusableItems[0] === event.target &&\n event.shiftKey\n );\n\n const isLastItem = (\n focusableItems[focusableItems.length - 1] === event.target &&\n !event.shiftKey\n );\n\n /*istanbul ignore else*/\n if (focusableItems.length === 0 || isFirstItem || isLastItem) {\n this.close();\n this.caller.nativeElement.focus();\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n }\n });\n }\n\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n SkyOverlayInstance,\n SkyOverlayService\n} from '@skyux/core';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nimport {\n SkyPopoverContentComponent\n} from './popover-content.component';\n\nimport {\n SkyPopoverContext\n} from './popover-context';\n\n@Component({\n selector: 'sky-popover',\n templateUrl: './popover.component.html'\n})\nexport class SkyPopoverComponent implements OnDestroy {\n\n /**\n * Specifies the horizontal alignment of the popover in relation to the trigger element.\n * The `skyPopoverAlignment` property on the popover directive overwrites this property.\n * @default \"center\"\n */\n @Input()\n public set alignment(value: SkyPopoverAlignment) {\n this._alignment = value;\n }\n\n public get alignment(): SkyPopoverAlignment {\n return this._alignment || 'center';\n }\n\n /**\n * Indicates whether to close the popover when it loses focus.\n * To require users to click a trigger button to close the popover, set this input to false.\n * @default true\n */\n @Input()\n public set dismissOnBlur(value: boolean) {\n this._dismissOnBlur = value;\n }\n\n public get dismissOnBlur(): boolean {\n if (this._dismissOnBlur === undefined) {\n return true;\n }\n\n return this._dismissOnBlur;\n }\n\n /**\n * Specifies the placement of the popover in relation to the trigger element.\n * The `skyPopoverPlacement` property on the popover directive overwrites this property.\n * @default \"above\"\n */\n @Input()\n public set placement(value: SkyPopoverPlacement) {\n this._placement = value;\n }\n\n public get placement(): SkyPopoverPlacement {\n return this._placement || 'above';\n }\n\n /**\n * Specifies a title for the popover.\n */\n @Input()\n public popoverTitle: string;\n\n /**\n * Specifies the type of popover.\n * @default 'info'\n */\n @Input()\n public popoverType: 'danger' | 'info';\n\n /**\n * Fires when users close the popover.\n */\n @Output()\n public popoverClosed = new EventEmitter<SkyPopoverComponent>();\n\n /**\n * Fires when users open the popover.\n */\n @Output()\n public popoverOpened = new EventEmitter<SkyPopoverComponent>();\n\n /**\n * Indicates that the popover is in the process of being opened or closed.\n * @internal\n */\n public isActive: boolean = false;\n\n /**\n * Used by unit tests to disable animations since the component is injected at the bottom of the\n * document body.\n * @internal\n */\n public enableAnimations: boolean = true;\n\n public isMouseEnter: boolean = false;\n\n @ViewChild('templateRef', {\n read: TemplateRef,\n static: true\n })\n private templateRef: TemplateRef<any>;\n\n private contentRef: SkyPopoverContentComponent;\n\n private isMarkedForCloseOnMouseLeave: boolean = false;\n\n private ngUnsubscribe = new Subject<void>();\n\n private overlay: SkyOverlayInstance;\n\n private _alignment: SkyPopoverAlignment;\n\n private _dismissOnBlur: boolean;\n\n private _placement: SkyPopoverPlacement;\n\n constructor(\n private overlayService: SkyOverlayService\n ) { }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n\n if (this.overlay) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n }\n }\n\n /**\n * Positions the popover next to a given caller element.\n * @param caller The element that opened the popover.\n * @param placement The placement of the popover.\n * @param alignment The horizontal alignment of the popover.\n * @internal\n */\n public positionNextTo(\n caller: ElementRef,\n placement?: SkyPopoverPlacement,\n alignment?: SkyPopoverAlignment\n ): void {\n if (!this.overlay) {\n this.setupOverlay();\n }\n\n this.placement = placement;\n this.alignment = alignment;\n this.isActive = true;\n\n this.contentRef.open(\n caller,\n {\n dismissOnBlur: this.dismissOnBlur,\n enableAnimations: this.enableAnimations,\n horizontalAlignment: this.alignment,\n isStatic: false,\n placement: this.placement,\n popoverTitle: this.popoverTitle,\n popoverType: this.popoverType\n }\n );\n }\n\n /**\n * Closes the popover.\n * @internal\n */\n public close(): void {\n this.contentRef?.close();\n }\n\n /**\n * Brings focus to the popover element if its open.\n * @internal\n */\n public applyFocus(): void {\n this.contentRef?.applyFocus();\n }\n\n /**\n * Adds a flag to the popover to close when the mouse leaves the popover's bounds.\n * @internal\n */\n public markForCloseOnMouseLeave(): void {\n this.isMarkedForCloseOnMouseLeave = true;\n }\n\n private setupOverlay(): void {\n const overlay = this.overlayService.create({\n enableScroll: true,\n enablePointerEvents: true\n });\n\n overlay.backdropClick\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.dismissOnBlur) {\n this.close();\n }\n });\n\n const contentRef = overlay.attachComponent(SkyPopoverContentComponent, [{\n provide: SkyPopoverContext,\n useValue: new SkyPopoverContext({\n contentTemplateRef: this.templateRef\n })\n }]);\n\n contentRef.opened\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.popoverOpened.emit(this);\n });\n\n contentRef.closed\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.isActive) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n this.isActive = false;\n this.popoverClosed.emit(this);\n }\n });\n\n contentRef.isMouseEnter\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((isMouseEnter) => {\n this.isMouseEnter = isMouseEnter;\n if (this.isMarkedForCloseOnMouseLeave) {\n this.isMarkedForCloseOnMouseLeave = false;\n this.close();\n }\n });\n\n this.overlay = overlay;\n this.contentRef = contentRef;\n }\n\n}\n","/**\n * Specifies the type of message to send to the popover component.\n */\nexport enum SkyPopoverMessageType {\n\n /**\n * Opens the popover.\n */\n Open = 0,\n\n /**\n * Closes the popover.\n */\n Close = 1,\n\n /**\n * Repositions the popover to the appropriate position.\n * This is useful for when the popover's width and height change while it is open.\n */\n Reposition = 2,\n\n /**\n * Brings focus to the popover element.\n */\n Focus = 3\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit\n} from '@angular/core';\n\nimport {\n fromEvent as observableFromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nimport {\n SkyPopoverTrigger\n} from './types/popover-trigger';\n\nimport {\n SkyPopoverComponent\n} from './popover.component';\n\nimport {\n SkyPopoverMessage\n} from './types/popover-message';\n\nimport {\n SkyPopoverMessageType\n} from './types/popover-message-type';\n\n@Directive({\n selector: '[skyPopover]'\n})\nexport class SkyPopoverDirective implements OnInit, OnDestroy {\n\n /**\n * References the popover component to display. Add this directive to the trigger element that opens the popover.\n * @required\n */\n @Input()\n public skyPopover: SkyPopoverComponent;\n\n /**\n * Specifies the horizontal alignment of the popover in relation to the trigger element.\n * @default \"center\"\n */\n @Input()\n public skyPopoverAlignment: SkyPopoverAlignment;\n\n /**\n * Provides an observable to send commands to the popover that respect the `SkyPopoverMessage` type.\n */\n @Input()\n public skyPopoverMessageStream = new Subject<SkyPopoverMessage>();\n\n /**\n * Specifies the placement of the popover in relation to the trigger element.\n * @default \"above\"\n */\n @Input()\n public skyPopoverPlacement: SkyPopoverPlacement;\n\n /**\n * Specifies the user action that displays the popover.\n */\n @Input()\n public set skyPopoverTrigger(value: SkyPopoverTrigger) {\n this._trigger = value;\n }\n\n public get skyPopoverTrigger(): SkyPopoverTrigger {\n return this._trigger || 'click';\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _trigger: SkyPopoverTrigger;\n\n constructor(\n private elementRef: ElementRef\n ) { }\n\n public ngOnInit(): void {\n this.addEventListeners();\n }\n\n public ngOnDestroy(): void {\n this.removeEventListeners();\n }\n\n public togglePopover(): void {\n if (this.skyPopover.isActive) {\n this.sendMessage(SkyPopoverMessageType.Close);\n return;\n }\n\n this.sendMessage(SkyPopoverMessageType.Open);\n }\n\n private positionPopover(): void {\n this.skyPopover.positionNextTo(\n this.elementRef,\n this.skyPopoverPlacement,\n this.skyPopoverAlignment\n );\n }\n\n private closePopover(): void {\n this.skyPopover.close();\n }\n\n private closePopoverOrMarkForClose(): void {\n if (this.skyPopover.isMouseEnter) {\n this.skyPopover.markForCloseOnMouseLeave();\n } else {\n this.sendMessage(SkyPopoverMessageType.Close);\n }\n }\n\n private addEventListeners(): void {\n const element = this.elementRef.nativeElement;\n\n this.skyPopoverMessageStream\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(message => {\n this.handleIncomingMessages(message);\n });\n\n observableFromEvent(element, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n if (!this.skyPopover.isActive) {\n return;\n }\n\n const key = event.key.toLowerCase();\n\n /* tslint:disable-next-line:switch-default */\n switch (key) {\n case 'escape':\n this.sendMessage(SkyPopoverMessageType.Close);\n event.preventDefault();\n event.stopPropagation();\n break;\n\n case 'tab':\n if (this.skyPopover.dismissOnBlur) {\n this.sendMessage(SkyPopoverMessageType.Close);\n }\n break;\n\n case 'arrowdown':\n case 'arrowleft':\n case 'arrowright':\n case 'arrowup':\n case 'down':\n case 'left':\n case 'right':\n case 'up':\n this.sendMessage(SkyPopoverMessageType.Focus);\n event.stopPropagation();\n event.preventDefault();\n break;\n }\n });\n\n observableFromEvent(element, 'click')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.skyPopover) {\n this.togglePopover();\n }\n });\n\n observableFromEvent(element, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.skyPopover) {\n this.skyPopover.isMouseEnter = true;\n if (\n !this.skyPopover.isActive &&\n this.skyPopoverTrigger === 'mouseenter'\n ) {\n this.sendMessage(SkyPopoverMessageType.Open);\n }\n }\n });\n\n observableFromEvent(element, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.skyPopover) {\n this.skyPopover.isMouseEnter = false;\n if (\n this.skyPopover.isActive &&\n this.skyPopoverTrigger === 'mouseenter'\n ) {\n // Give the popover a chance to set its isMouseEnter flag before checking to see\n // if it should be closed.\n setTimeout(() => {\n this.closePopoverOrMarkForClose();\n });\n }\n }\n });\n }\n\n private removeEventListeners(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n }\n\n private handleIncomingMessages(message: SkyPopoverMessage): void {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyPopoverMessageType.Open:\n this.positionPopover();\n break;\n\n case SkyPopoverMessageType.Close:\n if (this.skyPopover.isActive) {\n this.closePopover();\n }\n break;\n\n case SkyPopoverMessageType.Reposition:\n // Only reposition the popover if it is already open.\n if (this.skyPopover.isActive) {\n this.positionPopover();\n }\n break;\n\n case SkyPopoverMessageType.Focus:\n this.skyPopover.applyFocus();\n break;\n }\n }\n\n private sendMessage(messageType: SkyPopoverMessageType): void {\n this.skyPopoverMessageStream.next({ type: messageType });\n }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n BrowserAnimationsModule\n} from '@angular/platform-browser/animations';\n\nimport {\n SkyAffixModule,\n SkyCoreAdapterModule,\n SkyOverlayModule\n} from '@skyux/core';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyThemeModule,\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n SkyPopoversResourcesModule\n} from '../shared/popovers-resources.module';\n\nimport {\n SkyPopoverAdapterService\n} from './popover-adapter.service';\n\nimport {\n SkyPopoverContentComponent\n} from './popover-content.component';\n\nimport {\n SkyPopoverComponent\n} from './popover.component';\n\nimport {\n SkyPopoverDirective\n} from './popover.directive';\n\n@NgModule({\n declarations: [\n SkyPopoverComponent,\n SkyPopoverContentComponent,\n SkyPopoverDirective\n ],\n imports: [\n BrowserAnimationsModule,\n CommonModule,\n SkyAffixModule,\n SkyCoreAdapterModule,\n SkyIconModule,\n SkyOverlayModule,\n SkyPopoversResourcesModule,\n SkyThemeModule\n ],\n exports: [\n SkyPopoverComponent,\n SkyPopoverContentComponent,\n SkyPopoverDirective\n ],\n entryComponents: [\n SkyPopoverContentComponent\n ],\n providers: [\n SkyPopoverAdapterService,\n SkyThemeService\n ]\n})\nexport class SkyPopoverModule { }\n"],"names":["SkyDropdownMessageType","getStringForLocale","Injectable","NgModule","SKY_LIB_RESOURCES_PROVIDERS","SkyI18nModule","Component","ElementRef","ChangeDetectorRef","Renderer2","Input","ChangeDetectionStrategy","ViewEncapsulation","Subject","takeUntil","observableFromEvent","SkyAffixAutoFitContext","SkyAffixService","SkyOverlayService","SkyThemeService","Optional","ViewChild","TemplateRef","EventEmitter","Output","ContentChildren","CommonModule","SkyAffixModule","SkyIconModule","SkyOverlayModule","SkyThemeModule","trigger","state","style","transition","animate","parseAffixHorizontalAlignment","SkyCoreAdapterService","ViewContainerRef","SkyPopoverMessageType","Directive","BrowserAnimationsModule","SkyCoreAdapterModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-popovers.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@skyux/popovers/modules/dropdown/types/dropdown-message-type.ts","ng://@skyux/popovers/plugin-resources/popovers-resources-provider.ts","ng://@skyux/popovers/modules/shared/popovers-resources.module.ts","ng://@skyux/popovers/modules/dropdown/dropdown-button.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown-item.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown-extensions.ts","ng://@skyux/popovers/modules/dropdown/dropdown.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown-menu.component.ts","ng://@skyux/popovers/modules/dropdown/dropdown.module.ts","ng://@skyux/popovers/modules/popover/popover-adapter.service.ts","ng://@skyux/popovers/modules/popover/popover-animation.ts","ng://@skyux/popovers/modules/popover/popover-context.ts","ng://@skyux/popovers/modules/popover/popover-extensions.ts","ng://@skyux/popovers/modules/popover/popover-content.component.ts","ng://@skyux/popovers/modules/popover/popover.component.ts","ng://@skyux/popovers/modules/popover/types/popover-message-type.ts","ng://@skyux/popovers/modules/popover/popover.directive.ts","ng://@skyux/popovers/modules/popover/popover.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export enum SkyDropdownMessageType {\n /**\n * Opens the dropdown menu.\n */\n Open = 0,\n\n /**\n * Closes the dropdown menu.\n */\n Close = 1,\n\n /**\n * Puts focus on the dropdown button.\n */\n FocusTriggerButton = 2,\n\n /**\n * Puts focus on the next item in the dropdown menu.\n */\n FocusNextItem = 3,\n\n /**\n * Puts focus on the previous item in the dropdown menu.\n */\n FocusPreviousItem = 4,\n\n /**\n * Repositions the dropdown menu next to the dropdown button. This is useful for when the\n * dropdown menu's width and height change while it is open.\n */\n Reposition = 5,\n\n /**\n * Puts focus on the first item in the dropdown menu.\n */\n FocusFirstItem = 6,\n\n /**\n * Puts focus on the last item in the dropdown menu.\n */\n FocusLastItem = 7\n}\n","\nimport {\n Injectable\n} from '@angular/core';\n\nimport {\n getStringForLocale,\n SkyAppLocaleInfo,\n SkyLibResourcesProvider\n} from '@skyux/i18n';\n\n@Injectable()\nexport class SkyPopoversResourcesProvider implements SkyLibResourcesProvider {\n private resources: any = {\"EN-US\":{\"skyux_dropdown_context_menu_default_label\":\"Context menu\"}};\n\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getStringForLocale(this.resources, localeInfo.locale, name);\n }\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyI18nModule\n} from '@skyux/i18n';\n\nimport {\n SkyPopoversResourcesProvider\n} from '../../plugin-resources/popovers-resources-provider';\n\n@NgModule({\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyPopoversResourcesProvider,\n multi: true\n }],\n exports: [\n SkyI18nModule\n ]\n})\nexport class SkyPopoversResourcesModule { }\n","import {\n Component\n} from '@angular/core';\n\n@Component({\n selector: 'sky-dropdown-button',\n templateUrl: './dropdown-button.component.html'\n})\nexport class SkyDropdownButtonComponent { }\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: 'sky-dropdown-item',\n templateUrl: './dropdown-item.component.html',\n styleUrls: ['./dropdown-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyDropdownItemComponent implements AfterViewInit {\n\n /**\n * Specifies an ARIA role for the dropdown menu item\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n * by indicating how the item functions and what it controls. For information about\n * how an ARIA role indicates what an item represents on a web page, see the\n * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).\n * @default \"menuitem\"\n */\n @Input()\n public set ariaRole(value: string) {\n this._ariaRole = value;\n }\n\n public get ariaRole(): string {\n return this._ariaRole || 'menuitem';\n }\n\n public get buttonElement(): HTMLButtonElement {\n return this.elementRef.nativeElement.querySelector('button,a');\n }\n\n public isActive = false;\n\n public isDisabled = false;\n\n private _ariaRole: string;\n\n public constructor(\n public elementRef: ElementRef,\n private changeDetector: ChangeDetectorRef,\n private renderer: Renderer2\n ) { }\n\n public ngAfterViewInit(): void {\n this.isDisabled = !this.isFocusable();\n\n // Make sure anchor elements are tab-able.\n const buttonElement = this.buttonElement;\n /* istanbul ignore else */\n if (buttonElement) {\n this.renderer.setAttribute(buttonElement, 'tabIndex', '0');\n }\n\n this.changeDetector.detectChanges();\n }\n\n public focusElement(enableNativeFocus: boolean): void {\n this.isActive = true;\n\n if (enableNativeFocus) {\n this.buttonElement.focus();\n }\n\n this.changeDetector.detectChanges();\n }\n\n public isFocusable(): boolean {\n /*tslint:disable no-null-keyword */\n const isFocusable = (\n this.buttonElement &&\n this.buttonElement.getAttribute('disabled') === null\n );\n /*tslint:enable */\n return isFocusable;\n }\n\n public resetState(): void {\n this.isActive = false;\n this.changeDetector.markForCheck();\n }\n}\n","import {\n SkyAffixHorizontalAlignment\n} from '@skyux/core';\n\nimport {\n SkyDropdownHorizontalAlignment\n} from './types/dropdown-horizontal-alignment';\n\nexport function parseAffixHorizontalAlignment(\n alignment: SkyDropdownHorizontalAlignment\n): SkyAffixHorizontalAlignment {\n switch (alignment) {\n case 'center':\n return 'center';\n case 'left':\n return 'left';\n case 'right':\n return 'right';\n /* istanbul ignore next */\n default:\n throw `SkyAffixHorizontalAlignment does not have a matching value for '${alignment}'!`;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixer,\n SkyAffixService,\n SkyOverlayInstance,\n SkyOverlayService\n} from '@skyux/core';\n\nimport {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n fromEvent as observableFromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyDropdownHorizontalAlignment\n} from './types/dropdown-horizontal-alignment';\n\nimport {\n SkyDropdownMessage\n} from './types/dropdown-message';\n\nimport {\n SkyDropdownMessageType\n} from './types/dropdown-message-type';\n\nimport {\n SkyDropdownTriggerType\n} from './types/dropdown-trigger-type';\n\nimport {\n parseAffixHorizontalAlignment\n} from './dropdown-extensions';\n\n@Component({\n selector: 'sky-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDropdownComponent implements OnInit, OnDestroy {\n\n /**\n * Specifies a background color for the dropdown button. Available values are `default` and\n * `primary`. These values set the background color from the\n * [secondary and primary button classes](https://developer.blackbaud.com/skyux/components/button) respectively.\n * @default \"default\"\n */\n @Input()\n public set buttonStyle(value: string) {\n this._buttonStyle = value;\n }\n\n public get buttonStyle(): string {\n return this._buttonStyle || 'default';\n }\n\n /**\n * Specifies the type of button to render as the dropdown's trigger element. To display a button\n * with text and a caret, specify `select` and then enter the button text in a\n * `sky-dropdown-button` element. To display a round button with an ellipsis, specify\n * `context-menu`. And to display a button with a [Font Awesome icon](http://fontawesome.io/icons/), specify the icon's class name.\n * For example, to display the `fa-filter` icon, specify `filter`.\n * @default \"select\"\n */\n @Input()\n public set buttonType(value: string) {\n this._buttonType = value;\n }\n\n public get buttonType(): string {\n return this._buttonType || 'select';\n }\n\n /**\n * Indicates whether to disable the dropdown button.\n * @default false\n */\n @Input()\n public set disabled(value: boolean) {\n this._disabled = value;\n }\n\n public get disabled(): boolean {\n return this._disabled || false;\n }\n\n /**\n * Indicates whether to close the dropdown when users click away from the menu.\n * @default true\n */\n @Input()\n public set dismissOnBlur(value: boolean) {\n this._dismissOnBlur = value;\n }\n\n public get dismissOnBlur(): boolean {\n if (this._dismissOnBlur === undefined) {\n return true;\n }\n\n return this._dismissOnBlur;\n }\n\n /**\n * Specifies an ARIA label for the dropdown. This sets the dropdown's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public label: string;\n\n /**\n * Specifies the horizontal alignment of the dropdown menu in relation to the dropdown button.\n * @default \"left\"\n */\n @Input()\n public set horizontalAlignment(value: SkyDropdownHorizontalAlignment) {\n this._horizontalAlignment = value;\n }\n\n public get horizontalAlignment(): SkyDropdownHorizontalAlignment {\n return this._horizontalAlignment || 'left';\n }\n\n /**\n * Provides an observable to send commands to the dropdown. The commands should respect\n * the [[SkyDropdownMessage]] type.\n */\n\n @Input()\n public messageStream = new Subject<SkyDropdownMessage>();\n\n /**\n * Specifies a title to display in a tooltip when users hover the mouse over the dropdown button.\n */\n @Input()\n public title: string;\n\n /**\n * Specifies how users interact with the dropdown button to expose the dropdown menu.\n * We recommend the default `click` value because the `hover` value can pose\n * [accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) issues\n * for users on touch devices such as phones and tablets.\n * @deprecated We recommend against using this property. If you choose to use the deprecated\n * `hover` value anyway, we recommend that you not use it in combination with the `title`\n * property. (This property will be removed in the next major version release.)\n * @default \"click\"\n */\n @Input()\n public set trigger(value: SkyDropdownTriggerType) {\n this._trigger = value;\n }\n\n public get trigger(): SkyDropdownTriggerType {\n return this._trigger || 'click';\n }\n\n public set isOpen(value: boolean) {\n this._isOpen = value;\n this.changeDetector.markForCheck();\n }\n\n public get isOpen(): boolean {\n return this._isOpen || false;\n }\n\n @ViewChild('menuContainerElementRef', {\n read: ElementRef\n })\n public set menuContainerElementRef(value: ElementRef) {\n if (value) {\n this._menuContainerElementRef = value;\n this.destroyAffixer();\n this.createAffixer();\n this.changeDetector.markForCheck();\n }\n }\n\n public get menuContainerElementRef(): ElementRef {\n return this._menuContainerElementRef;\n }\n\n public isMouseEnter: boolean = false;\n\n public isVisible: boolean = false;\n\n public menuId: string;\n\n public menuAriaRole: string;\n\n @ViewChild('menuContainerTemplateRef', {\n read: TemplateRef,\n static: true\n })\n private menuContainerTemplateRef: TemplateRef<any>;\n\n @ViewChild('triggerButton', {\n read: ElementRef,\n static: true\n })\n private triggerButton: ElementRef;\n\n private affixer: SkyAffixer;\n\n private ngUnsubscribe = new Subject();\n\n private overlay: SkyOverlayInstance;\n\n private _buttonStyle: string;\n\n private _buttonType: string;\n\n private _disabled: boolean;\n\n private _dismissOnBlur: boolean;\n\n private _horizontalAlignment: SkyDropdownHorizontalAlignment;\n\n private _isOpen = false;\n\n private _menuContainerElementRef: ElementRef;\n\n private _trigger: SkyDropdownTriggerType;\n\n private _positionTimeout: number;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private affixService: SkyAffixService,\n private overlayService: SkyOverlayService,\n @Optional() private themeSvc?: SkyThemeService\n ) { }\n\n public ngOnInit(): void {\n this.addEventListeners();\n\n this.messageStream\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((message: SkyDropdownMessage) => {\n this.handleIncomingMessages(message);\n });\n\n // Load proper icons on theme change.\n this.themeSvc?.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.changeDetector.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.destroyAffixer();\n this.destroyOverlay();\n clearTimeout(this._positionTimeout);\n\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n }\n\n private addEventListeners(): void {\n const buttonElement = this.triggerButton.nativeElement;\n\n observableFromEvent(buttonElement, 'click')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Close);\n } else {\n this.sendMessage(SkyDropdownMessageType.Open);\n // Wait for dropdown to open, then set focus on first item.\n setTimeout(() => {\n this.sendMessage(SkyDropdownMessageType.FocusFirstItem);\n });\n }\n });\n\n observableFromEvent(buttonElement, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n /* tslint:disable-next-line:switch-default */\n switch (key) {\n case 'escape':\n /*istanbul ignore else*/\n if (this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Close);\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n event.stopPropagation();\n }\n break;\n\n case 'tab':\n if (this.isOpen && this.dismissOnBlur) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n break;\n\n case 'arrowup':\n case 'up':\n if (!this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Open);\n this.sendMessage(SkyDropdownMessageType.FocusLastItem);\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n\n case 'enter':\n case 'arrowdown':\n case 'down':\n case ' ': // Spacebar.\n /*istanbul ignore else*/\n if (!this.isOpen) {\n this.sendMessage(SkyDropdownMessageType.Open);\n this.sendMessage(SkyDropdownMessageType.FocusFirstItem);\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n }\n });\n\n observableFromEvent(buttonElement, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.isMouseEnter = true;\n if (this.trigger === 'hover') {\n this.sendMessage(SkyDropdownMessageType.Open);\n }\n });\n\n observableFromEvent(buttonElement, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.isMouseEnter = false;\n if (this.trigger === 'hover') {\n // Allow the dropdown menu to set isMouseEnter before checking if the close action\n // should be taken.\n setTimeout(() => {\n if (!this.isMouseEnter) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n });\n }\n });\n }\n\n private createOverlay(): void {\n if (this.overlay) {\n return;\n }\n\n const overlay = this.overlayService.create({\n enableScroll: true,\n enablePointerEvents: true\n });\n\n overlay.attachTemplate(this.menuContainerTemplateRef);\n\n overlay.backdropClick\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.dismissOnBlur) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n });\n\n this.overlay = overlay;\n }\n\n private destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.affixer) {\n this.affixer.destroy();\n this.affixer = undefined;\n }\n }\n\n private destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.overlay) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n }\n }\n\n private createAffixer(): void {\n const affixer = this.affixService.createAffixer(this.menuContainerElementRef);\n\n affixer.placementChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change) => {\n this.isVisible = (change.placement !== null);\n this.changeDetector.markForCheck();\n });\n\n this.affixer = affixer;\n }\n\n private handleIncomingMessages(message: SkyDropdownMessage): void {\n if (!this.disabled) {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyDropdownMessageType.Open:\n this.isOpen = true;\n this.positionDropdownMenu();\n break;\n\n case SkyDropdownMessageType.Close:\n this.isOpen = false;\n this.destroyOverlay();\n break;\n\n case SkyDropdownMessageType.Reposition:\n // Only reposition the dropdown if it is already open.\n /* istanbul ignore else */\n if (this.isOpen && this.affixer) {\n this.affixer.reaffix();\n }\n break;\n\n case SkyDropdownMessageType.FocusTriggerButton:\n this.triggerButton.nativeElement.focus();\n break;\n }\n }\n }\n\n private sendMessage(type: SkyDropdownMessageType): void {\n this.messageStream.next({ type });\n }\n\n private positionDropdownMenu(): void {\n this.isVisible = false;\n this.createOverlay();\n this.changeDetector.markForCheck();\n\n this._positionTimeout = setTimeout(() => {\n this.affixer.affixTo(this.triggerButton.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: parseAffixHorizontalAlignment(this.horizontalAlignment),\n isSticky: true,\n placement: 'below'\n });\n\n this.isVisible = true;\n this.changeDetector.markForCheck();\n });\n }\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {\n fromEvent as observableFromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyDropdownComponent\n} from './dropdown.component';\n\nimport {\n SkyDropdownItemComponent\n} from './dropdown-item.component';\n\nimport {\n SkyDropdownMenuChange\n} from './types/dropdown-menu-change';\n\nimport {\n SkyDropdownMessage\n} from './types/dropdown-message';\n\nimport {\n SkyDropdownMessageType\n} from './types/dropdown-message-type';\n\nlet nextId = 0;\n\n@Component({\n selector: 'sky-dropdown-menu',\n templateUrl: './dropdown-menu.component.html',\n styleUrls: ['./dropdown-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyDropdownMenuComponent implements AfterContentInit, OnDestroy {\n\n /**\n * Specifies the HTML element ID (without the leading `#`) of the element that labels\n * the dropdown menu. This sets the dropdown menu's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public ariaLabelledBy: string;\n\n /**\n * Specifies an ARIA role for the dropdown menu\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n * by indicating how the dropdown menu functions and what it controls. The dropdown button\n * inherits this value to set its `aria-haspopup` property. For information\n * about how an ARIA role indicates what an item represents on a web page, see the\n * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).\n * @default \"menu\"\n */\n @Input()\n public set ariaRole(value: string) {\n this._ariaRole = value;\n }\n\n public get ariaRole(): string {\n return this._ariaRole || 'menu';\n }\n\n /**\n * Indicates whether to use the browser's native focus function when users navigate through menu\n * items with the keyboard. To disable the native focus function, set this property to `false`.\n * For example, to let users interact with the dropdown menu but keep the keyboard focus on a\n * different element, set this property to `false`.\n * @default true\n */\n @Input()\n public set useNativeFocus(value: boolean) {\n this._useNativeFocus = value;\n }\n\n public get useNativeFocus(): boolean {\n if (this._useNativeFocus === undefined) {\n return true;\n }\n\n return this._useNativeFocus;\n }\n\n /**\n * Fires when the dropdown menu's active index or selected item changes. This event provides an\n * observable to emit changes, and the response is of\n * the SkyDropdownMenuChange type.\n */\n @Output()\n public menuChanges = new EventEmitter<SkyDropdownMenuChange>();\n\n public dropdownMenuId: string = `sky-dropdown-menu-${++nextId}`;\n\n private get hasFocusableItems(): boolean {\n const found = this.menuItems.find(item => item.isFocusable());\n return (found !== undefined);\n }\n\n public set menuIndex(value: number) {\n if (value < 0) {\n value = this.menuItems.length - 1;\n }\n\n if (value >= this.menuItems.length) {\n value = 0;\n }\n\n this._menuIndex = value;\n }\n\n public get menuIndex(): number {\n return this._menuIndex;\n }\n\n @ContentChildren(SkyDropdownItemComponent, {descendants: true})\n public menuItems: QueryList<SkyDropdownItemComponent>;\n\n private ngUnsubscribe = new Subject();\n\n private _ariaRole: string;\n\n private _menuIndex = 0;\n\n private _useNativeFocus: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n @Optional() private dropdownComponent: SkyDropdownComponent\n ) { }\n\n public ngAfterContentInit(): void {\n /* istanbul ignore else */\n if (this.dropdownComponent) {\n this.dropdownComponent.menuId = this.dropdownMenuId;\n this.dropdownComponent.menuAriaRole = this.ariaRole;\n\n this.dropdownComponent.messageStream\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((message: SkyDropdownMessage) => {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyDropdownMessageType.Open:\n case SkyDropdownMessageType.Close:\n this.reset();\n break;\n\n case SkyDropdownMessageType.FocusFirstItem:\n this.focusFirstItem();\n break;\n\n case SkyDropdownMessageType.FocusNextItem:\n this.focusNextItem();\n break;\n\n case SkyDropdownMessageType.FocusPreviousItem:\n this.focusPreviousItem();\n break;\n\n case SkyDropdownMessageType.FocusLastItem:\n this.focusLastItem();\n break;\n }\n });\n\n this.menuChanges\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change: SkyDropdownMenuChange) => {\n // Close the dropdown when a menu item is selected.\n if (change.selectedItem) {\n this.sendMessage(SkyDropdownMessageType.Close);\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n }\n\n if (change.items) {\n // Update the popover style and position whenever the number of items changes.\n this.sendMessage(SkyDropdownMessageType.Reposition);\n }\n });\n }\n\n // Reset dropdown whenever the menu items change.\n this.menuItems.changes\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((items: QueryList<SkyDropdownItemComponent>) => {\n this.reset();\n this.menuChanges.emit({\n items: items.toArray()\n });\n });\n\n this.addEventListeners();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n }\n\n public focusFirstItem(): void {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex = 0;\n\n const firstItem = this.getItemByIndex(this.menuIndex);\n if (firstItem && firstItem.isFocusable()) {\n this.focusItem(firstItem);\n } else {\n this.focusNextItem();\n }\n }\n\n public focusLastItem(): void {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex = this.menuItems.length - 1;\n\n const lastItem = this.getItemByIndex(this.menuIndex);\n if (lastItem && lastItem.isFocusable()) {\n this.focusItem(lastItem);\n } else {\n this.focusPreviousItem();\n }\n }\n\n public focusPreviousItem(): void {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex--;\n\n const previousItem = this.getItemByIndex(this.menuIndex);\n if (previousItem && previousItem.isFocusable()) {\n this.focusItem(previousItem);\n } else {\n this.focusPreviousItem();\n }\n }\n\n public focusNextItem() {\n if (!this.hasFocusableItems) {\n return;\n }\n\n this.menuIndex++;\n\n const nextItem = this.getItemByIndex(this.menuIndex);\n if (nextItem && nextItem.isFocusable()) {\n this.focusItem(nextItem);\n } else {\n this.focusNextItem();\n }\n }\n\n public reset(): void {\n this._menuIndex = -1;\n this.resetItemsActiveState();\n this.changeDetector.markForCheck();\n }\n\n private resetItemsActiveState() {\n this.menuItems.forEach((item: SkyDropdownItemComponent) => {\n item.resetState();\n });\n }\n\n private focusItem(item: SkyDropdownItemComponent): void {\n this.resetItemsActiveState();\n item.focusElement(this.useNativeFocus);\n this.menuChanges.emit({\n activeIndex: this.menuIndex\n });\n }\n\n private getItemByIndex(index: number): SkyDropdownItemComponent {\n return this.menuItems.find((item: any, i: number) => {\n return (i === index);\n });\n }\n\n private selectItemByEventTarget(target: EventTarget): void {\n const selectedItem = this.menuItems.find((item: SkyDropdownItemComponent, i: number) => {\n const found = (item.elementRef.nativeElement.contains(target));\n\n if (found) {\n this.menuIndex = i;\n this.menuChanges.next({\n activeIndex: this.menuIndex\n });\n }\n\n return found;\n });\n\n /* istanbul ignore else */\n if (selectedItem) {\n this.menuChanges.next({\n selectedItem\n });\n }\n }\n\n private sendMessage(type: SkyDropdownMessageType): void {\n this.dropdownComponent.messageStream.next({ type });\n }\n\n private addEventListeners(): void {\n const dropdownMenuElement = this.elementRef.nativeElement;\n\n observableFromEvent(dropdownMenuElement, 'click')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: MouseEvent) => {\n this.selectItemByEventTarget(event.target);\n });\n\n observableFromEvent(dropdownMenuElement, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n /*tslint:disable-next-line:switch-default*/\n switch (key) {\n case 'escape':\n this.sendMessage(SkyDropdownMessageType.Close);\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n event.stopPropagation();\n event.preventDefault();\n break;\n\n case 'arrowdown':\n case 'down':\n this.focusNextItem();\n event.preventDefault();\n break;\n\n case 'arrowup':\n case 'up':\n this.focusPreviousItem();\n event.preventDefault();\n break;\n\n case 'tab':\n if (this.dropdownComponent.dismissOnBlur) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n this.sendMessage(SkyDropdownMessageType.FocusTriggerButton);\n break;\n }\n });\n\n observableFromEvent(dropdownMenuElement, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.dropdownComponent.isMouseEnter = true;\n });\n\n observableFromEvent(dropdownMenuElement, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.dropdownComponent.isMouseEnter = false;\n // Allow the dropdown component to set isMouseEnter before checking if the close action\n // should be taken.\n setTimeout(() => {\n if (\n this.dropdownComponent.trigger === 'hover' &&\n this.dropdownComponent.isMouseEnter === false\n ) {\n this.sendMessage(SkyDropdownMessageType.Close);\n }\n });\n });\n }\n\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyAffixModule,\n SkyOverlayModule\n} from '@skyux/core';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyThemeModule\n} from '@skyux/theme';\n\nimport {\n SkyPopoversResourcesModule\n} from '../shared/popovers-resources.module';\n\nimport {\n SkyDropdownButtonComponent\n} from './dropdown-button.component';\n\nimport {\n SkyDropdownItemComponent\n} from './dropdown-item.component';\n\nimport {\n SkyDropdownMenuComponent\n} from './dropdown-menu.component';\n\nimport {\n SkyDropdownComponent\n} from './dropdown.component';\n\n@NgModule({\n declarations: [\n SkyDropdownButtonComponent,\n SkyDropdownComponent,\n SkyDropdownItemComponent,\n SkyDropdownMenuComponent\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyIconModule,\n SkyOverlayModule,\n SkyPopoversResourcesModule,\n SkyThemeModule\n ],\n exports: [\n SkyDropdownButtonComponent,\n SkyDropdownComponent,\n SkyDropdownItemComponent,\n SkyDropdownMenuComponent\n ]\n})\nexport class SkyDropdownModule { }\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyPopoverAdapterArrowCoordinates\n} from './types/popover-adapter-arrow-coordinates';\n\nimport {\n SkyPopoverAdapterElements\n} from './types/popover-adapter-elements';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPopoverAdapterService {\n\n public getArrowCoordinates(\n elements: SkyPopoverAdapterElements,\n placement: SkyPopoverPlacement,\n themeName?: string\n ): SkyPopoverAdapterArrowCoordinates {\n const callerRect = elements.caller.nativeElement.getBoundingClientRect();\n const popoverRect = elements.popover.nativeElement.getBoundingClientRect();\n const arrowRect = elements.popoverArrow.nativeElement.getBoundingClientRect();\n\n const pixelTolerance = 20;\n\n let top: number;\n let left: number;\n\n if (placement === 'above' || placement === 'below') {\n left = callerRect.left + (callerRect.width / 2);\n\n // Make sure the arrow never detaches from the popover.\n if (left - pixelTolerance < popoverRect.left) {\n left = popoverRect.left + pixelTolerance;\n } else if (left + pixelTolerance > popoverRect.right) {\n left = popoverRect.right - pixelTolerance;\n }\n\n if (placement === 'above') {\n if (themeName !== 'modern') {\n top = callerRect.top - arrowRect.height;\n } else {\n top = callerRect.top - arrowRect.height + 5;\n }\n } else {\n if (themeName !== 'modern') {\n top = callerRect.bottom;\n } else {\n top = callerRect.bottom + 4;\n }\n }\n } else {\n top = callerRect.top + (callerRect.height / 2);\n\n // Make sure the arrow never detaches from the popover.\n if (top - pixelTolerance < popoverRect.top) {\n top = popoverRect.top + pixelTolerance;\n } else if (top + pixelTolerance > popoverRect.bottom) {\n top = popoverRect.bottom - pixelTolerance;\n }\n\n if (placement === 'left') {\n if (themeName !== 'modern') {\n left = callerRect.left - arrowRect.width;\n } else {\n left = callerRect.left - arrowRect.width + 5;\n }\n } else {\n if (themeName !== 'modern') {\n left = callerRect.right;\n } else {\n left = callerRect.right + 4;\n }\n }\n }\n\n return { top, left };\n }\n\n}\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n/**\n * @internal\n */\nexport const skyPopoverAnimation: AnimationTriggerMetadata = trigger('skyPopoverAnimation', [\n state('void', style({\n opacity: 0\n })),\n state('open', style({\n opacity: 1\n })),\n state('closed', style({\n opacity: 0\n })),\n transition('void => *', [\n animate('250ms')\n ]),\n transition('open => closed', [\n animate('150ms')\n ]),\n transition('closed => open', [\n animate('150ms')\n ])\n]);\n","import {\n TemplateRef\n} from '@angular/core';\n\n/**\n * @dynamic\n * @internal\n */\nexport class SkyPopoverContext {\n\n public readonly contentTemplateRef: TemplateRef<any>;\n\n constructor(\n args: {\n contentTemplateRef: TemplateRef<any>\n }\n ) {\n this.contentTemplateRef = args.contentTemplateRef;\n }\n\n}\n","import {\n SkyAffixHorizontalAlignment,\n SkyAffixPlacement\n} from '@skyux/core';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nexport function parseAffixPlacement(\n placement: SkyPopoverPlacement\n): SkyAffixPlacement {\n switch (placement) {\n case 'above':\n return 'above';\n case 'below':\n return 'below';\n case 'right':\n return 'right';\n case 'left':\n return 'left';\n /* istanbul ignore next */\n default:\n throw `SkyAffixPlacement does not have a matching value for '${placement}'!`;\n }\n}\n\nexport function parseAffixHorizontalAlignment(\n alignment: SkyPopoverAlignment\n): SkyAffixHorizontalAlignment {\n switch (alignment) {\n case 'center':\n return 'center';\n case 'left':\n return 'left';\n case 'right':\n return 'right';\n /* istanbul ignore next */\n default:\n throw `SkyAffixHorizontalAlignment does not have a matching value for '${alignment}'!`;\n }\n}\n","import {\n AnimationEvent\n} from '@angular/animations';\n\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixConfig,\n SkyAffixer,\n SkyAffixService,\n SkyCoreAdapterService\n} from '@skyux/core';\n\nimport {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n fromEvent as observableFromEvent,\n Observable,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nimport {\n SkyPopoverAdapterService\n} from './popover-adapter.service';\n\nimport {\n skyPopoverAnimation\n} from './popover-animation';\n\nimport {\n SkyPopoverAnimationState\n} from './popover-animation-state';\n\nimport {\n SkyPopoverContext\n} from './popover-context';\n\nimport {\n parseAffixHorizontalAlignment,\n parseAffixPlacement\n} from './popover-extensions';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-popover-content',\n templateUrl: './popover-content.component.html',\n styleUrls: ['./popover-content.component.scss'],\n animations: [skyPopoverAnimation]\n})\nexport class SkyPopoverContentComponent implements OnInit, OnDestroy {\n\n public get animationState(): SkyPopoverAnimationState {\n return this.isOpen ? 'open' : 'closed';\n }\n\n public get closed(): Observable<void> {\n return this._closed.asObservable();\n }\n\n public get opened(): Observable<void> {\n return this._opened.asObservable();\n }\n\n public get isMouseEnter(): Observable<boolean> {\n return this._isMouseEnter.asObservable();\n }\n\n public affixer: SkyAffixer;\n\n public arrowLeft: number;\n\n public arrowTop: number;\n\n public dismissOnBlur: boolean = true;\n\n public enableAnimations: boolean = true;\n\n public horizontalAlignment: SkyPopoverAlignment;\n\n public isOpen: boolean = false;\n\n public placement: SkyPopoverPlacement;\n\n public popoverTitle: string;\n\n public popoverType: 'danger' | 'info' = 'info';\n\n public themeName: string;\n\n @ViewChild('arrowRef', {\n read: ElementRef,\n static: true\n })\n private arrowRef: ElementRef;\n\n @ViewChild('popoverRef', {\n read: ElementRef,\n static: true\n })\n private popoverRef: ElementRef;\n\n @ViewChild('contentTarget', {\n read: ViewContainerRef,\n static: true\n })\n private contentTarget: ViewContainerRef;\n\n private caller: ElementRef;\n\n private ngUnsubscribe = new Subject<void>();\n\n private _closed = new Subject<void>();\n\n private _isMouseEnter = new Subject<boolean>();\n\n private _opened = new Subject<void>();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private affixService: SkyAffixService,\n private coreAdapterService: SkyCoreAdapterService,\n private adapterService: SkyPopoverAdapterService,\n private themeSvc: SkyThemeService,\n @Optional() private context: SkyPopoverContext\n ) { }\n\n public ngOnInit(): void {\n this.contentTarget.createEmbeddedView(this.context.contentTemplateRef);\n this.addEventListeners();\n\n /*istanbul ignore else*/\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((themeSettings) => {\n this.themeName = themeSettings.currentSettings?.theme?.name;\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n this._closed.complete();\n this._isMouseEnter.complete();\n this._opened.complete();\n\n /* istanbul ignore else */\n if (this.affixer) {\n this.affixer.destroy();\n }\n\n this._closed =\n this._isMouseEnter =\n this._opened =\n this.affixer =\n this.ngUnsubscribe = undefined;\n }\n\n public onAnimationEvent(event: AnimationEvent): void {\n if (event.fromState === 'void') {\n return;\n }\n\n if (event.phaseName === 'done') {\n if (event.toState === 'open') {\n this._opened?.next();\n } else {\n this._closed?.next();\n }\n }\n }\n\n public open(\n caller: ElementRef,\n config: {\n dismissOnBlur: boolean;\n enableAnimations: boolean;\n horizontalAlignment: SkyPopoverAlignment;\n isStatic: boolean;\n placement: SkyPopoverPlacement;\n popoverTitle: string;\n popoverType?: 'danger' | 'info';\n }\n ): void {\n this.caller = caller;\n this.dismissOnBlur = config.dismissOnBlur;\n this.enableAnimations = config.enableAnimations;\n this.horizontalAlignment = config.horizontalAlignment;\n this.placement = config.placement;\n this.popoverTitle = config.popoverTitle;\n if (config.popoverType) {\n this.popoverType = config.popoverType;\n }\n\n this.changeDetector.markForCheck();\n\n // Indicates if the popover should be displayed statically.\n // Please note: This feature is internal-only and used by the visual tests to capture multiple\n // states simultaneously without the overhead of event listeners.\n /* istanbul ignore if */\n if (config.isStatic) {\n this.isOpen = true;\n this.changeDetector.markForCheck();\n return;\n }\n\n // Let the styles render before gauging the affix dimensions.\n setTimeout(() => {\n /*istanbul ignore next*/\n if (!this.popoverRef?.nativeElement || !this.ngUnsubscribe || this.ngUnsubscribe.isStopped) {\n return;\n }\n\n if (!this.affixer) {\n this.setupAffixer();\n }\n\n const affixOptions: SkyAffixConfig = {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: parseAffixHorizontalAlignment(this.horizontalAlignment),\n isSticky: true,\n placement: parseAffixPlacement(this.placement)\n };\n\n // Ensure that we are positioning the vertical alginment correctly. These\n // are the default alignments for all popovers but ensure that we are future proof here.\n if (affixOptions.placement === 'left' || affixOptions.placement === 'right') {\n affixOptions.verticalAlignment = 'middle';\n } else if (affixOptions.placement === 'above') {\n affixOptions.verticalAlignment = 'bottom';\n } else {\n affixOptions.verticalAlignment = 'top';\n }\n\n this.affixer.affixTo(this.caller.nativeElement, affixOptions);\n\n this.updateArrowOffset();\n\n this.isOpen = true;\n this.changeDetector.markForCheck();\n });\n }\n\n public close(): void {\n this.isOpen = false;\n this.changeDetector.markForCheck();\n }\n\n public applyFocus(): void {\n if (this.isOpen) {\n this.coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.popoverRef,\n '.sky-popover',\n true\n );\n }\n }\n\n private setupAffixer(): void {\n const affixer = this.affixService.createAffixer(this.popoverRef);\n\n affixer.offsetChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.updateArrowOffset();\n this.changeDetector.markForCheck();\n });\n\n affixer.overflowScroll\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.updateArrowOffset();\n this.changeDetector.markForCheck();\n });\n\n affixer.placementChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change) => {\n this.placement = change.placement;\n this.changeDetector.markForCheck();\n });\n\n this.affixer = affixer;\n }\n\n private updateArrowOffset(): void {\n const { top, left } = this.adapterService.getArrowCoordinates(\n {\n caller: this.caller,\n popover: this.popoverRef,\n popoverArrow: this.arrowRef\n },\n this.placement,\n this.themeName\n );\n\n this.arrowTop = top;\n this.arrowLeft = left;\n }\n\n private addEventListeners(): void {\n const hostElement = this.elementRef.nativeElement;\n\n observableFromEvent(hostElement, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => this._isMouseEnter.next(true));\n\n observableFromEvent(hostElement, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => this._isMouseEnter.next(false));\n\n observableFromEvent(hostElement, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n /* tslint:disable-next-line:switch-default */\n switch (key) {\n\n case 'escape':\n this.close();\n this.caller.nativeElement.focus();\n event.preventDefault();\n event.stopPropagation();\n break;\n\n // Since the popover now lives in an overlay at the bottom of the document body, we need\n // to handle the tab key ourselves. Otherwise, focus would be moved to the browser's\n // search bar.\n case 'tab':\n if (!this.dismissOnBlur) {\n return;\n }\n\n const focusableItems = this.coreAdapterService.getFocusableChildren(hostElement);\n\n const isFirstItem = (\n focusableItems[0] === event.target &&\n event.shiftKey\n );\n\n const isLastItem = (\n focusableItems[focusableItems.length - 1] === event.target &&\n !event.shiftKey\n );\n\n /*istanbul ignore else*/\n if (focusableItems.length === 0 || isFirstItem || isLastItem) {\n this.close();\n this.caller.nativeElement.focus();\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n }\n });\n }\n\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n SkyOverlayInstance,\n SkyOverlayService\n} from '@skyux/core';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nimport {\n SkyPopoverContentComponent\n} from './popover-content.component';\n\nimport {\n SkyPopoverContext\n} from './popover-context';\n\n@Component({\n selector: 'sky-popover',\n templateUrl: './popover.component.html'\n})\nexport class SkyPopoverComponent implements OnDestroy {\n\n /**\n * Specifies the horizontal alignment of the popover in relation to the trigger element.\n * The `skyPopoverAlignment` property on the popover directive overwrites this property.\n * @default \"center\"\n */\n @Input()\n public set alignment(value: SkyPopoverAlignment) {\n this._alignment = value;\n }\n\n public get alignment(): SkyPopoverAlignment {\n return this._alignment || 'center';\n }\n\n /**\n * Indicates whether to close the popover when it loses focus.\n * To require users to click a trigger button to close the popover, set this input to false.\n * @default true\n */\n @Input()\n public set dismissOnBlur(value: boolean) {\n this._dismissOnBlur = value;\n }\n\n public get dismissOnBlur(): boolean {\n if (this._dismissOnBlur === undefined) {\n return true;\n }\n\n return this._dismissOnBlur;\n }\n\n /**\n * Specifies the placement of the popover in relation to the trigger element.\n * The `skyPopoverPlacement` property on the popover directive overwrites this property.\n * @default \"above\"\n */\n @Input()\n public set placement(value: SkyPopoverPlacement) {\n this._placement = value;\n }\n\n public get placement(): SkyPopoverPlacement {\n return this._placement || 'above';\n }\n\n /**\n * Specifies a title for the popover.\n */\n @Input()\n public popoverTitle: string;\n\n /**\n * Specifies the type of popover.\n * @default 'info'\n */\n @Input()\n public popoverType: 'danger' | 'info';\n\n /**\n * Fires when users close the popover.\n */\n @Output()\n public popoverClosed = new EventEmitter<SkyPopoverComponent>();\n\n /**\n * Fires when users open the popover.\n */\n @Output()\n public popoverOpened = new EventEmitter<SkyPopoverComponent>();\n\n /**\n * Indicates that the popover is in the process of being opened or closed.\n * @internal\n */\n public isActive: boolean = false;\n\n /**\n * Used by unit tests to disable animations since the component is injected at the bottom of the\n * document body.\n * @internal\n */\n public enableAnimations: boolean = true;\n\n public isMouseEnter: boolean = false;\n\n @ViewChild('templateRef', {\n read: TemplateRef,\n static: true\n })\n private templateRef: TemplateRef<any>;\n\n private contentRef: SkyPopoverContentComponent;\n\n private isMarkedForCloseOnMouseLeave: boolean = false;\n\n private ngUnsubscribe = new Subject<void>();\n\n private overlay: SkyOverlayInstance;\n\n private _alignment: SkyPopoverAlignment;\n\n private _dismissOnBlur: boolean;\n\n private _placement: SkyPopoverPlacement;\n\n constructor(\n private overlayService: SkyOverlayService\n ) { }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n\n if (this.overlay) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n }\n }\n\n /**\n * Positions the popover next to a given caller element.\n * @param caller The element that opened the popover.\n * @param placement The placement of the popover.\n * @param alignment The horizontal alignment of the popover.\n * @internal\n */\n public positionNextTo(\n caller: ElementRef,\n placement?: SkyPopoverPlacement,\n alignment?: SkyPopoverAlignment\n ): void {\n if (!this.overlay) {\n this.setupOverlay();\n }\n\n this.placement = placement;\n this.alignment = alignment;\n this.isActive = true;\n\n this.contentRef.open(\n caller,\n {\n dismissOnBlur: this.dismissOnBlur,\n enableAnimations: this.enableAnimations,\n horizontalAlignment: this.alignment,\n isStatic: false,\n placement: this.placement,\n popoverTitle: this.popoverTitle,\n popoverType: this.popoverType\n }\n );\n }\n\n /**\n * Closes the popover.\n * @internal\n */\n public close(): void {\n this.contentRef?.close();\n }\n\n /**\n * Brings focus to the popover element if its open.\n * @internal\n */\n public applyFocus(): void {\n this.contentRef?.applyFocus();\n }\n\n /**\n * Adds a flag to the popover to close when the mouse leaves the popover's bounds.\n * @internal\n */\n public markForCloseOnMouseLeave(): void {\n this.isMarkedForCloseOnMouseLeave = true;\n }\n\n private setupOverlay(): void {\n const overlay = this.overlayService.create({\n enableScroll: true,\n enablePointerEvents: true\n });\n\n overlay.backdropClick\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.dismissOnBlur) {\n this.close();\n }\n });\n\n const contentRef = overlay.attachComponent(SkyPopoverContentComponent, [{\n provide: SkyPopoverContext,\n useValue: new SkyPopoverContext({\n contentTemplateRef: this.templateRef\n })\n }]);\n\n contentRef.opened\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n this.popoverOpened.emit(this);\n });\n\n contentRef.closed\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.isActive) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n this.isActive = false;\n this.popoverClosed.emit(this);\n }\n });\n\n contentRef.isMouseEnter\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((isMouseEnter) => {\n this.isMouseEnter = isMouseEnter;\n if (this.isMarkedForCloseOnMouseLeave) {\n this.isMarkedForCloseOnMouseLeave = false;\n this.close();\n }\n });\n\n this.overlay = overlay;\n this.contentRef = contentRef;\n }\n\n}\n","/**\n * Specifies the type of message to send to the popover component.\n */\nexport enum SkyPopoverMessageType {\n\n /**\n * Opens the popover.\n */\n Open = 0,\n\n /**\n * Closes the popover.\n */\n Close = 1,\n\n /**\n * Repositions the popover to the appropriate position.\n * This is useful for when the popover's width and height change while it is open.\n */\n Reposition = 2,\n\n /**\n * Brings focus to the popover element.\n */\n Focus = 3\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit\n} from '@angular/core';\n\nimport {\n fromEvent as observableFromEvent,\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyPopoverAlignment\n} from './types/popover-alignment';\n\nimport {\n SkyPopoverPlacement\n} from './types/popover-placement';\n\nimport {\n SkyPopoverTrigger\n} from './types/popover-trigger';\n\nimport {\n SkyPopoverComponent\n} from './popover.component';\n\nimport {\n SkyPopoverMessage\n} from './types/popover-message';\n\nimport {\n SkyPopoverMessageType\n} from './types/popover-message-type';\n\n@Directive({\n selector: '[skyPopover]'\n})\nexport class SkyPopoverDirective implements OnInit, OnDestroy {\n\n /**\n * References the popover component to display. Add this directive to the trigger element that opens the popover.\n * @required\n */\n @Input()\n public skyPopover: SkyPopoverComponent;\n\n /**\n * Specifies the horizontal alignment of the popover in relation to the trigger element.\n * @default \"center\"\n */\n @Input()\n public skyPopoverAlignment: SkyPopoverAlignment;\n\n /**\n * Provides an observable to send commands to the popover that respect the `SkyPopoverMessage` type.\n */\n @Input()\n public skyPopoverMessageStream = new Subject<SkyPopoverMessage>();\n\n /**\n * Specifies the placement of the popover in relation to the trigger element.\n * @default \"above\"\n */\n @Input()\n public skyPopoverPlacement: SkyPopoverPlacement;\n\n /**\n * Specifies the user action that displays the popover.\n */\n @Input()\n public set skyPopoverTrigger(value: SkyPopoverTrigger) {\n this._trigger = value;\n }\n\n public get skyPopoverTrigger(): SkyPopoverTrigger {\n return this._trigger || 'click';\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _trigger: SkyPopoverTrigger;\n\n constructor(\n private elementRef: ElementRef\n ) { }\n\n public ngOnInit(): void {\n this.addEventListeners();\n }\n\n public ngOnDestroy(): void {\n this.removeEventListeners();\n }\n\n public togglePopover(): void {\n if (this.skyPopover.isActive) {\n this.sendMessage(SkyPopoverMessageType.Close);\n return;\n }\n\n this.sendMessage(SkyPopoverMessageType.Open);\n }\n\n private positionPopover(): void {\n this.skyPopover.positionNextTo(\n this.elementRef,\n this.skyPopoverPlacement,\n this.skyPopoverAlignment\n );\n }\n\n private closePopover(): void {\n this.skyPopover.close();\n }\n\n private closePopoverOrMarkForClose(): void {\n if (this.skyPopover.isMouseEnter) {\n this.skyPopover.markForCloseOnMouseLeave();\n } else {\n this.sendMessage(SkyPopoverMessageType.Close);\n }\n }\n\n private addEventListeners(): void {\n const element = this.elementRef.nativeElement;\n\n this.skyPopoverMessageStream\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(message => {\n this.handleIncomingMessages(message);\n });\n\n observableFromEvent(element, 'keydown')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((event: KeyboardEvent) => {\n if (!this.skyPopover.isActive) {\n return;\n }\n\n const key = event.key.toLowerCase();\n\n /* tslint:disable-next-line:switch-default */\n switch (key) {\n case 'escape':\n this.sendMessage(SkyPopoverMessageType.Close);\n event.preventDefault();\n event.stopPropagation();\n break;\n\n case 'tab':\n if (this.skyPopover.dismissOnBlur) {\n this.sendMessage(SkyPopoverMessageType.Close);\n }\n break;\n\n case 'arrowdown':\n case 'arrowleft':\n case 'arrowright':\n case 'arrowup':\n case 'down':\n case 'left':\n case 'right':\n case 'up':\n this.sendMessage(SkyPopoverMessageType.Focus);\n event.stopPropagation();\n event.preventDefault();\n break;\n }\n });\n\n observableFromEvent(element, 'click')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.skyPopover) {\n this.togglePopover();\n }\n });\n\n observableFromEvent(element, 'mouseenter')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.skyPopover) {\n this.skyPopover.isMouseEnter = true;\n if (\n !this.skyPopover.isActive &&\n this.skyPopoverTrigger === 'mouseenter'\n ) {\n this.sendMessage(SkyPopoverMessageType.Open);\n }\n }\n });\n\n observableFromEvent(element, 'mouseleave')\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(() => {\n if (this.skyPopover) {\n this.skyPopover.isMouseEnter = false;\n if (\n this.skyPopover.isActive &&\n this.skyPopoverTrigger === 'mouseenter'\n ) {\n // Give the popover a chance to set its isMouseEnter flag before checking to see\n // if it should be closed.\n setTimeout(() => {\n this.closePopoverOrMarkForClose();\n });\n }\n }\n });\n }\n\n private removeEventListeners(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.ngUnsubscribe = undefined;\n }\n\n private handleIncomingMessages(message: SkyPopoverMessage): void {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyPopoverMessageType.Open:\n this.positionPopover();\n break;\n\n case SkyPopoverMessageType.Close:\n if (this.skyPopover.isActive) {\n this.closePopover();\n }\n break;\n\n case SkyPopoverMessageType.Reposition:\n // Only reposition the popover if it is already open.\n if (this.skyPopover.isActive) {\n this.positionPopover();\n }\n break;\n\n case SkyPopoverMessageType.Focus:\n this.skyPopover.applyFocus();\n break;\n }\n }\n\n private sendMessage(messageType: SkyPopoverMessageType): void {\n this.skyPopoverMessageStream.next({ type: messageType });\n }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n BrowserAnimationsModule\n} from '@angular/platform-browser/animations';\n\nimport {\n SkyAffixModule,\n SkyCoreAdapterModule,\n SkyOverlayModule\n} from '@skyux/core';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyThemeModule,\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n SkyPopoversResourcesModule\n} from '../shared/popovers-resources.module';\n\nimport {\n SkyPopoverAdapterService\n} from './popover-adapter.service';\n\nimport {\n SkyPopoverContentComponent\n} from './popover-content.component';\n\nimport {\n SkyPopoverComponent\n} from './popover.component';\n\nimport {\n SkyPopoverDirective\n} from './popover.directive';\n\n@NgModule({\n declarations: [\n SkyPopoverComponent,\n SkyPopoverContentComponent,\n SkyPopoverDirective\n ],\n imports: [\n BrowserAnimationsModule,\n CommonModule,\n SkyAffixModule,\n SkyCoreAdapterModule,\n SkyIconModule,\n SkyOverlayModule,\n SkyPopoversResourcesModule,\n SkyThemeModule\n ],\n exports: [\n SkyPopoverComponent,\n SkyPopoverContentComponent,\n SkyPopoverDirective\n ],\n entryComponents: [\n SkyPopoverContentComponent\n ],\n providers: [\n SkyPopoverAdapterService,\n SkyThemeService\n ]\n})\nexport class SkyPopoverModule { }\n"],"names":["SkyDropdownMessageType","getStringForLocale","Injectable","NgModule","SKY_LIB_RESOURCES_PROVIDERS","SkyI18nModule","Component","ElementRef","ChangeDetectorRef","Renderer2","Input","ChangeDetectionStrategy","ViewEncapsulation","Subject","takeUntil","observableFromEvent","SkyAffixAutoFitContext","SkyAffixService","SkyOverlayService","SkyThemeService","Optional","ViewChild","TemplateRef","EventEmitter","Output","ContentChildren","CommonModule","SkyAffixModule","SkyIconModule","SkyOverlayModule","SkyThemeModule","trigger","state","style","transition","animate","parseAffixHorizontalAlignment","SkyCoreAdapterService","ViewContainerRef","SkyPopoverMessageType","Directive","BrowserAnimationsModule","SkyCoreAdapterModule"],"mappings":"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"}
|