UNPKG

@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
/** * @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