@skyux/popovers 5.9.3 → 5.9.4
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/bundles/skyux-popovers-testing.umd.js +12 -6
- package/bundles/skyux-popovers.umd.js +1531 -1536
- package/documentation.json +317 -284
- package/esm2015/lib/modules/dropdown/dropdown-item.component.js.map +1 -1
- package/esm2015/lib/modules/dropdown/dropdown-menu.component.js +1 -4
- package/esm2015/lib/modules/dropdown/dropdown-menu.component.js.map +1 -1
- package/esm2015/lib/modules/dropdown/dropdown.component.js +10 -7
- package/esm2015/lib/modules/dropdown/dropdown.component.js.map +1 -1
- package/esm2015/lib/modules/popover/popover-content.component.js +18 -34
- package/esm2015/lib/modules/popover/popover-content.component.js.map +1 -1
- package/esm2015/lib/modules/popover/popover.component.js +11 -2
- package/esm2015/lib/modules/popover/popover.component.js.map +1 -1
- package/esm2015/lib/modules/popover/popover.directive.js +0 -1
- package/esm2015/lib/modules/popover/popover.directive.js.map +1 -1
- package/esm2015/testing/dropdown/dropdown-fixture.js +7 -1
- package/esm2015/testing/dropdown/dropdown-fixture.js.map +1 -1
- package/esm2015/testing/dropdown/popovers-fixture-dropdown.js.map +1 -1
- package/esm2015/testing/popover/popover-fixture.js +8 -8
- package/esm2015/testing/popover/popover-fixture.js.map +1 -1
- package/fesm2015/skyux-popovers-testing.js +15 -9
- package/fesm2015/skyux-popovers-testing.js.map +1 -1
- package/fesm2015/skyux-popovers.js +40 -49
- package/fesm2015/skyux-popovers.js.map +1 -1
- package/lib/modules/dropdown/dropdown-item.component.d.ts +1 -1
- package/lib/modules/dropdown/dropdown-menu.component.d.ts +3 -3
- package/lib/modules/dropdown/dropdown.component.d.ts +12 -12
- package/lib/modules/popover/popover-content.component.d.ts +13 -12
- package/lib/modules/popover/popover.component.d.ts +6 -4
- package/lib/modules/popover/popover.directive.d.ts +3 -5
- package/package.json +6 -6
- package/testing/dropdown/dropdown-fixture.d.ts +7 -7
- package/testing/dropdown/popovers-fixture-dropdown.d.ts +2 -2
- package/testing/popover/popover-fixture.d.ts +6 -6
|
@@ -12,8 +12,8 @@ import * as i5 from '@skyux/i18n';
|
|
|
12
12
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
13
13
|
import { Subject, fromEvent } from 'rxjs';
|
|
14
14
|
import { takeUntil } from 'rxjs/operators';
|
|
15
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
15
16
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
16
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Specifies the type of message to send.
|
|
@@ -200,6 +200,7 @@ function parseAffixHorizontalAlignment$1(alignment) {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
+
var _SkyDropdownComponent_positionTimeout;
|
|
203
204
|
/**
|
|
204
205
|
* Creates a dropdown menu that displays menu items that users may select.
|
|
205
206
|
*/
|
|
@@ -218,6 +219,7 @@ class SkyDropdownComponent {
|
|
|
218
219
|
this.isVisible = false;
|
|
219
220
|
this.ngUnsubscribe = new Subject();
|
|
220
221
|
this._isOpen = false;
|
|
222
|
+
_SkyDropdownComponent_positionTimeout.set(this, void 0);
|
|
221
223
|
}
|
|
222
224
|
/**
|
|
223
225
|
* Specifies a background color for the dropdown button. Available values are `default` and
|
|
@@ -305,7 +307,7 @@ class SkyDropdownComponent {
|
|
|
305
307
|
if (value) {
|
|
306
308
|
this._menuContainerElementRef = value;
|
|
307
309
|
this.destroyAffixer();
|
|
308
|
-
this.createAffixer();
|
|
310
|
+
this.createAffixer(value);
|
|
309
311
|
this.changeDetector.markForCheck();
|
|
310
312
|
}
|
|
311
313
|
}
|
|
@@ -328,10 +330,9 @@ class SkyDropdownComponent {
|
|
|
328
330
|
ngOnDestroy() {
|
|
329
331
|
this.destroyAffixer();
|
|
330
332
|
this.destroyOverlay();
|
|
331
|
-
clearTimeout(this
|
|
333
|
+
clearTimeout(__classPrivateFieldGet(this, _SkyDropdownComponent_positionTimeout, "f"));
|
|
332
334
|
this.ngUnsubscribe.next();
|
|
333
335
|
this.ngUnsubscribe.complete();
|
|
334
|
-
this.ngUnsubscribe = undefined;
|
|
335
336
|
}
|
|
336
337
|
addEventListeners() {
|
|
337
338
|
const buttonElement = this.triggerButton.nativeElement;
|
|
@@ -444,8 +445,8 @@ class SkyDropdownComponent {
|
|
|
444
445
|
this.overlay = undefined;
|
|
445
446
|
}
|
|
446
447
|
}
|
|
447
|
-
createAffixer() {
|
|
448
|
-
const affixer = this.affixService.createAffixer(
|
|
448
|
+
createAffixer(menuContainerElementRef) {
|
|
449
|
+
const affixer = this.affixService.createAffixer(menuContainerElementRef);
|
|
449
450
|
affixer.placementChange
|
|
450
451
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
451
452
|
.subscribe((change) => {
|
|
@@ -488,7 +489,7 @@ class SkyDropdownComponent {
|
|
|
488
489
|
this.changeDetector.markForCheck();
|
|
489
490
|
// Explicitly declare the `setTimeout` from the `window` object in order to use the DOM typings
|
|
490
491
|
// during a unit test (instead of confusing this with Node's `setTimeout`).
|
|
491
|
-
this
|
|
492
|
+
__classPrivateFieldSet(this, _SkyDropdownComponent_positionTimeout, window.setTimeout(() => {
|
|
492
493
|
this.affixer.affixTo(this.triggerButton.nativeElement, {
|
|
493
494
|
autoFitContext: SkyAffixAutoFitContext.Viewport,
|
|
494
495
|
enableAutoFit: true,
|
|
@@ -498,9 +499,10 @@ class SkyDropdownComponent {
|
|
|
498
499
|
});
|
|
499
500
|
this.isVisible = true;
|
|
500
501
|
this.changeDetector.markForCheck();
|
|
501
|
-
});
|
|
502
|
+
}), "f");
|
|
502
503
|
}
|
|
503
504
|
}
|
|
505
|
+
_SkyDropdownComponent_positionTimeout = new WeakMap();
|
|
504
506
|
SkyDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyAffixService }, { token: i1.SkyOverlayService }, { token: i2.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
505
507
|
SkyDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyDropdownComponent, selector: "sky-dropdown", inputs: { buttonStyle: "buttonStyle", buttonType: "buttonType", disabled: "disabled", dismissOnBlur: "dismissOnBlur", label: "label", horizontalAlignment: "horizontalAlignment", messageStream: "messageStream", title: "title", trigger: "trigger" }, viewQueries: [{ propertyName: "menuContainerElementRef", first: true, predicate: ["menuContainerElementRef"], descendants: true, read: ElementRef }, { propertyName: "menuContainerTemplateRef", first: true, predicate: ["menuContainerTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButton", first: true, predicate: ["triggerButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"sky-dropdown\">\n <button\n class=\"sky-btn sky-dropdown-button\"\n type=\"button\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"isOpen ? menuId : null\"\n [attr.aria-haspopup]=\"menuAriaRole\"\n [attr.aria-label]=\"\n label || ('skyux_dropdown_context_menu_default_label' | skyLibResources)\n \"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [ngClass]=\"[\n 'sky-dropdown-button-type-' + buttonType,\n 'sky-btn-' + buttonStyle\n ]\"\n #triggerButton\n >\n <ng-container [ngSwitch]=\"buttonType\">\n <ng-template ngSwitchCase=\"context-menu\">\n <sky-icon *skyThemeIf=\"'default'\" icon=\"ellipsis-h\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"ellipsis\"\n iconType=\"skyux\"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div\n *ngIf=\"buttonType === 'select' || buttonType === 'tab' || !buttonType\"\n class=\"sky-dropdown-button-container\"\n >\n <div class=\"sky-dropdown-button-content-container\">\n <ng-content select=\"sky-dropdown-button\"> </ng-content>\n </div>\n <div class=\"sky-dropdown-button-icon-container\">\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-dropdown-caret\"\n icon=\"caret-down\"\n >\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-dropdown-caret\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </div>\n </div>\n <div\n *ngIf=\"buttonType !== 'select' && buttonType !== 'tab' && buttonType\"\n >\n <sky-icon [icon]=\"buttonType\" size=\"lg\"></sky-icon>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template #menuContainerTemplateRef>\n <div\n class=\"sky-dropdown-menu-container\"\n [class.hidden]=\"!isVisible\"\n #menuContainerElementRef\n >\n <ng-content select=\"sky-dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sky-dropdown-button-type-tab{background-color:transparent;border:none;border-radius:4px 4px 0 0;color:#686c73;cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:#0974a1;color:#fff;max-width:100%;text-align:left}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:#eeeeef;color:#212327;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:#cdcfd2;cursor:default;outline:none;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:#686c73;cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:#0974a1;color:#fff}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:#212327}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:solid 1px #00b4f1;padding-bottom:9px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus:not(:active){outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{border-bottom:solid 3px #00b4f1;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}.sky-theme-modern .sky-dropdown-button-type-tab{border:none;border-radius:0;font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus){background-color:transparent;border-bottom:solid 1px #00b4f1;padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus{background-color:transparent;outline:none}.sky-theme-modern .sky-dropdown-button-type-tab:focus:not(:active){outline:solid 2px #1870B8;outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-dropdown-button-type-tab:active{border-bottom:solid 3px #00b4f1;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:#212327}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count{color:#686c73}.sky-theme-modern .sky-dropdown-caret{margin-left:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}\n"], components: [{ type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
506
508
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyDropdownComponent, decorators: [{
|
|
@@ -673,7 +675,6 @@ class SkyDropdownMenuComponent {
|
|
|
673
675
|
ngOnDestroy() {
|
|
674
676
|
this.ngUnsubscribe.next();
|
|
675
677
|
this.ngUnsubscribe.complete();
|
|
676
|
-
this.ngUnsubscribe = undefined;
|
|
677
678
|
}
|
|
678
679
|
focusFirstItem() {
|
|
679
680
|
if (!this.hasFocusableItems) {
|
|
@@ -745,9 +746,7 @@ class SkyDropdownMenuComponent {
|
|
|
745
746
|
});
|
|
746
747
|
}
|
|
747
748
|
getItemByIndex(index) {
|
|
748
|
-
return this.menuItems.find((
|
|
749
|
-
return i === index;
|
|
750
|
-
});
|
|
749
|
+
return this.menuItems.find((_, i) => i === index);
|
|
751
750
|
}
|
|
752
751
|
selectItemByEventTarget(target) {
|
|
753
752
|
const selectedItem = this.menuItems.find((item, i) => {
|
|
@@ -1046,7 +1045,7 @@ class SkyPopoverContentComponent {
|
|
|
1046
1045
|
this.dismissOnBlur = true;
|
|
1047
1046
|
this.enableAnimations = true;
|
|
1048
1047
|
this.isOpen = false;
|
|
1049
|
-
this.
|
|
1048
|
+
this.placement = null;
|
|
1050
1049
|
this.ngUnsubscribe = new Subject();
|
|
1051
1050
|
this._closed = new Subject();
|
|
1052
1051
|
this._isMouseEnter = new Subject();
|
|
@@ -1065,9 +1064,7 @@ class SkyPopoverContentComponent {
|
|
|
1065
1064
|
return this._isMouseEnter.asObservable();
|
|
1066
1065
|
}
|
|
1067
1066
|
ngOnInit() {
|
|
1068
|
-
|
|
1069
|
-
/*istanbul ignore next*/
|
|
1070
|
-
this.contentTarget.createEmbeddedView((_a = this.context) === null || _a === void 0 ? void 0 : _a.contentTemplateRef);
|
|
1067
|
+
this.contentTarget.createEmbeddedView(this.context.contentTemplateRef);
|
|
1071
1068
|
this.addEventListeners();
|
|
1072
1069
|
/*istanbul ignore else*/
|
|
1073
1070
|
if (this.themeSvc) {
|
|
@@ -1089,27 +1086,19 @@ class SkyPopoverContentComponent {
|
|
|
1089
1086
|
/* istanbul ignore else */
|
|
1090
1087
|
if (this.affixer) {
|
|
1091
1088
|
this.affixer.destroy();
|
|
1089
|
+
this.affixer = undefined;
|
|
1092
1090
|
}
|
|
1093
|
-
this._closed =
|
|
1094
|
-
this._isMouseEnter =
|
|
1095
|
-
this._opened =
|
|
1096
|
-
this.affixer =
|
|
1097
|
-
this.ngUnsubscribe =
|
|
1098
|
-
undefined;
|
|
1099
1091
|
}
|
|
1100
1092
|
onAnimationEvent(event) {
|
|
1101
|
-
var _a, _b;
|
|
1102
1093
|
if (event.fromState === 'void') {
|
|
1103
1094
|
return;
|
|
1104
1095
|
}
|
|
1105
1096
|
if (event.phaseName === 'done') {
|
|
1106
1097
|
if (event.toState === 'open') {
|
|
1107
|
-
|
|
1108
|
-
(_a = this._opened) === null || _a === void 0 ? void 0 : _a.next();
|
|
1098
|
+
this._opened.next();
|
|
1109
1099
|
}
|
|
1110
1100
|
else {
|
|
1111
|
-
|
|
1112
|
-
(_b = this._closed) === null || _b === void 0 ? void 0 : _b.next();
|
|
1101
|
+
this._closed.next();
|
|
1113
1102
|
}
|
|
1114
1103
|
}
|
|
1115
1104
|
}
|
|
@@ -1120,9 +1109,7 @@ class SkyPopoverContentComponent {
|
|
|
1120
1109
|
this.horizontalAlignment = config.horizontalAlignment;
|
|
1121
1110
|
this.placement = config.placement;
|
|
1122
1111
|
this.popoverTitle = config.popoverTitle;
|
|
1123
|
-
|
|
1124
|
-
this.popoverType = config.popoverType;
|
|
1125
|
-
}
|
|
1112
|
+
this.popoverType = config.popoverType;
|
|
1126
1113
|
this.changeDetector.markForCheck();
|
|
1127
1114
|
// Indicates if the popover should be displayed statically.
|
|
1128
1115
|
// Please note: This feature is internal-only and used by the visual tests to capture multiple
|
|
@@ -1135,11 +1122,7 @@ class SkyPopoverContentComponent {
|
|
|
1135
1122
|
}
|
|
1136
1123
|
// Let the styles render before gauging the affix dimensions.
|
|
1137
1124
|
setTimeout(() => {
|
|
1138
|
-
|
|
1139
|
-
/*istanbul ignore next*/
|
|
1140
|
-
if (!((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.nativeElement) ||
|
|
1141
|
-
!this.ngUnsubscribe ||
|
|
1142
|
-
this.ngUnsubscribe.isStopped) {
|
|
1125
|
+
if (!this.popoverRef.nativeElement || this.ngUnsubscribe.isStopped) {
|
|
1143
1126
|
return;
|
|
1144
1127
|
}
|
|
1145
1128
|
if (!this.affixer) {
|
|
@@ -1191,13 +1174,15 @@ class SkyPopoverContentComponent {
|
|
|
1191
1174
|
this.affixer = affixer;
|
|
1192
1175
|
}
|
|
1193
1176
|
updateArrowOffset() {
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1177
|
+
if (this.placement) {
|
|
1178
|
+
const { top, left } = this.adapterService.getArrowCoordinates({
|
|
1179
|
+
caller: this.caller,
|
|
1180
|
+
popover: this.popoverRef,
|
|
1181
|
+
popoverArrow: this.arrowRef,
|
|
1182
|
+
}, this.placement, this.themeName);
|
|
1183
|
+
this.arrowTop = top;
|
|
1184
|
+
this.arrowLeft = left;
|
|
1185
|
+
}
|
|
1201
1186
|
}
|
|
1202
1187
|
isFocusLeavingElement(event) {
|
|
1203
1188
|
const focusableItems = this.coreAdapterService.getFocusableChildren(this.elementRef.nativeElement);
|
|
@@ -1245,7 +1230,7 @@ class SkyPopoverContentComponent {
|
|
|
1245
1230
|
});
|
|
1246
1231
|
}
|
|
1247
1232
|
}
|
|
1248
|
-
SkyPopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPopoverContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: i1.SkyCoreAdapterService }, { token: SkyPopoverAdapterService }, { token: SkyPopoverContext
|
|
1233
|
+
SkyPopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPopoverContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: i1.SkyCoreAdapterService }, { token: SkyPopoverAdapterService }, { token: SkyPopoverContext }, { token: i2.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1249
1234
|
SkyPopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyPopoverContentComponent, selector: "sky-popover-content", providers: [SkyPopoverAdapterService], viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-emphasized': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [skyPopoverAnimation] });
|
|
1250
1235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPopoverContentComponent, decorators: [{
|
|
1251
1236
|
type: Component,
|
|
@@ -1256,9 +1241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1256
1241
|
animations: [skyPopoverAnimation],
|
|
1257
1242
|
providers: [SkyPopoverAdapterService],
|
|
1258
1243
|
}]
|
|
1259
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: i1.SkyCoreAdapterService }, { type: SkyPopoverAdapterService }, { type: SkyPopoverContext, decorators: [{
|
|
1260
|
-
type: Optional
|
|
1261
|
-
}] }, { type: i2.SkyThemeService, decorators: [{
|
|
1244
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: i1.SkyCoreAdapterService }, { type: SkyPopoverAdapterService }, { type: SkyPopoverContext }, { type: i2.SkyThemeService, decorators: [{
|
|
1262
1245
|
type: Optional
|
|
1263
1246
|
}] }]; }, propDecorators: { arrowRef: [{
|
|
1264
1247
|
type: ViewChild,
|
|
@@ -1342,10 +1325,19 @@ class SkyPopoverComponent {
|
|
|
1342
1325
|
get placement() {
|
|
1343
1326
|
return this._placement || 'above';
|
|
1344
1327
|
}
|
|
1328
|
+
/**
|
|
1329
|
+
* Specifies the type of popover.
|
|
1330
|
+
* @default "info"
|
|
1331
|
+
*/
|
|
1332
|
+
set popoverType(value) {
|
|
1333
|
+
this._popoverType = value;
|
|
1334
|
+
}
|
|
1335
|
+
get popoverType() {
|
|
1336
|
+
return this._popoverType || 'info';
|
|
1337
|
+
}
|
|
1345
1338
|
ngOnDestroy() {
|
|
1346
1339
|
this.ngUnsubscribe.next();
|
|
1347
1340
|
this.ngUnsubscribe.complete();
|
|
1348
|
-
this.ngUnsubscribe = undefined;
|
|
1349
1341
|
if (this.overlay) {
|
|
1350
1342
|
this.overlayService.close(this.overlay);
|
|
1351
1343
|
this.overlay = undefined;
|
|
@@ -1423,7 +1415,7 @@ class SkyPopoverComponent {
|
|
|
1423
1415
|
});
|
|
1424
1416
|
contentRef.closed.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {
|
|
1425
1417
|
/*istanbul ignore else*/
|
|
1426
|
-
if (this.isActive) {
|
|
1418
|
+
if (this.isActive && this.overlay) {
|
|
1427
1419
|
this.overlayService.close(this.overlay);
|
|
1428
1420
|
this.overlay = undefined;
|
|
1429
1421
|
this.isActive = false;
|
|
@@ -1625,7 +1617,6 @@ class SkyPopoverDirective {
|
|
|
1625
1617
|
removeEventListeners() {
|
|
1626
1618
|
this.ngUnsubscribe.next();
|
|
1627
1619
|
this.ngUnsubscribe.complete();
|
|
1628
|
-
this.ngUnsubscribe = undefined;
|
|
1629
1620
|
}
|
|
1630
1621
|
handleIncomingMessages(message) {
|
|
1631
1622
|
/* tslint:disable-next-line:switch-default */
|