@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
122 lines • 7.03 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// tslint:disable: no-input-rename
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
import { PopoverService } from './popover.service';
export class Popover {
/**
* @param {?} popoverService
* @param {?} elementRef
*/
constructor(popoverService, elementRef) {
this.popoverService = popoverService;
this.elementRef = elementRef;
this.open = false;
/**
* The `Popover` body
*/
this.body = '';
/**
* Sets the vertical position of the popover. Defaults to `bottom`.
*/
this.position = 'bottom';
/**
* Sets the horizontal `Popover' alignment. Defaults to `left`.
*/
this.alignment = 'left';
/**
* Set to `true` to auto-wrap content in section
*/
this.sectioned = false;
}
/**
* @private
* @return {?}
*/
show() {
this.popoverRef = this.popoverService.open({
content: {
body: this.body,
sectioned: this.sectioned,
},
position: this.position,
alignment: this.alignment,
}, this.elementRef);
this.open = true;
this.popoverRef.afterClosed().subscribe((/**
* @param {?} result
* @return {?}
*/
(result) => {
this.open = false;
}));
}
/**
* @return {?}
*/
onClick() {
if (!this.open) {
this.show();
}
}
}
Popover.decorators = [
{ type: Directive, args: [{ selector: '[sukaPopover]' },] }
];
/** @nocollapse */
Popover.ctorParameters = () => [
{ type: PopoverService },
{ type: ElementRef }
];
Popover.propDecorators = {
body: [{ type: Input, args: ['sukaPopover',] }],
position: [{ type: Input, args: ['popoverPosition',] }],
alignment: [{ type: Input, args: ['popoverAlignment',] }],
sectioned: [{ type: Input, args: ['popoverSectioned',] }],
onClick: [{ type: HostListener, args: ['click',] }]
};
if (false) {
/**
* @type {?}
* @private
*/
Popover.prototype.popoverRef;
/**
* @type {?}
* @private
*/
Popover.prototype.open;
/**
* The `Popover` body
* @type {?}
*/
Popover.prototype.body;
/**
* Sets the vertical position of the popover. Defaults to `bottom`.
* @type {?}
*/
Popover.prototype.position;
/**
* Sets the horizontal `Popover' alignment. Defaults to `left`.
* @type {?}
*/
Popover.prototype.alignment;
/**
* Set to `true` to auto-wrap content in section
* @type {?}
*/
Popover.prototype.sectioned;
/**
* @type {?}
* @protected
*/
Popover.prototype.popoverService;
/**
* @type {?}
* @private
*/
Popover.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSW5ELE1BQU0sT0FBTyxPQUFPOzs7OztJQXFCbEIsWUFBc0IsY0FBOEIsRUFBVSxVQUFzQjtRQUE5RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkI1RSxTQUFJLEdBQUcsS0FBSyxDQUFDOzs7O1FBS0MsU0FBSSxHQUFnQixFQUFFLENBQUM7Ozs7UUFJbkIsYUFBUSxHQUFxQixRQUFRLENBQUM7Ozs7UUFJckMsY0FBUyxHQUFnQyxNQUFNLENBQUM7Ozs7UUFJaEQsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUUyQyxDQUFDOzs7OztJQUVqRixJQUFJO1FBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDeEM7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzthQUMxQjtZQUNELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsRUFDRCxJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7OztZQWpERixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFOzs7O1lBSC9CLGNBQWM7WUFGSCxVQUFVOzs7bUJBYTNCLEtBQUssU0FBQyxhQUFhO3VCQUluQixLQUFLLFNBQUMsaUJBQWlCO3dCQUl2QixLQUFLLFNBQUMsa0JBQWtCO3dCQUl4QixLQUFLLFNBQUMsa0JBQWtCO3NCQXdCeEIsWUFBWSxTQUFDLE9BQU87Ozs7Ozs7SUExQ3JCLDZCQUErQjs7Ozs7SUFDL0IsdUJBQXFCOzs7OztJQUtyQix1QkFBNkM7Ozs7O0lBSTdDLDJCQUFnRTs7Ozs7SUFJaEUsNEJBQTJFOzs7OztJQUkzRSw0QkFBNkM7Ozs7O0lBRWpDLGlDQUF3Qzs7Ozs7SUFBRSw2QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTogbm8taW5wdXQtcmVuYW1lXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHkgfSBmcm9tICcuL3BvcG92ZXItYm9keS50eXBlJztcbmltcG9ydCB7IFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc3VrYVBvcG92ZXJdJyB9KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXIge1xuICBwcml2YXRlIHBvcG92ZXJSZWY6IFBvcG92ZXJSZWY7XG4gIHByaXZhdGUgb3BlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgYFBvcG92ZXJgIGJvZHlcbiAgICovXG4gIEBJbnB1dCgnc3VrYVBvcG92ZXInKSBib2R5OiBQb3BvdmVyQm9keSA9ICcnO1xuICAvKipcbiAgICogU2V0cyB0aGUgdmVydGljYWwgcG9zaXRpb24gb2YgdGhlIHBvcG92ZXIuIERlZmF1bHRzIHRvIGBib3R0b21gLlxuICAgKi9cbiAgQElucHV0KCdwb3BvdmVyUG9zaXRpb24nKSBwb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuICAvKipcbiAgICogU2V0cyB0aGUgaG9yaXpvbnRhbCBgUG9wb3ZlcicgYWxpZ25tZW50LiBEZWZhdWx0cyB0byBgbGVmdGAuXG4gICAqL1xuICBASW5wdXQoJ3BvcG92ZXJBbGlnbm1lbnQnKSBhbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyA9ICdsZWZ0JztcbiAgLyoqXG4gICAqIFNldCB0byBgdHJ1ZWAgdG8gYXV0by13cmFwIGNvbnRlbnQgaW4gc2VjdGlvblxuICAgKi9cbiAgQElucHV0KCdwb3BvdmVyU2VjdGlvbmVkJykgc2VjdGlvbmVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHBvcG92ZXJTZXJ2aWNlOiBQb3BvdmVyU2VydmljZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBwcml2YXRlIHNob3coKSB7XG4gICAgdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyU2VydmljZS5vcGVuKFxuICAgICAge1xuICAgICAgICBjb250ZW50OiB7XG4gICAgICAgICAgYm9keTogdGhpcy5ib2R5LFxuICAgICAgICAgIHNlY3Rpb25lZDogdGhpcy5zZWN0aW9uZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICBhbGlnbm1lbnQ6IHRoaXMuYWxpZ25tZW50LFxuICAgICAgfSxcbiAgICAgIHRoaXMuZWxlbWVudFJlZlxuICAgICk7XG5cbiAgICB0aGlzLm9wZW4gPSB0cnVlO1xuXG4gICAgdGhpcy5wb3BvdmVyUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH1cbiAgfVxufVxuIl19