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>

121 lines 8.23 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, HostListener, ElementRef } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; var TopbarMenu = /** @class */ (function () { function TopbarMenu(domSanitizer, elementRef) { this.domSanitizer = domSanitizer; this.elementRef = elementRef; this.trigger = 'click'; this.expanded = false; this._href = 'javascript:void(0)'; } Object.defineProperty(TopbarMenu.prototype, "href", { get: /** * @return {?} */ function () { return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href))); }, set: /** * @param {?} v * @return {?} */ function (v) { this._href = v; }, enumerable: true, configurable: true }); /** * @return {?} */ TopbarMenu.prototype.onClick = /** * @return {?} */ function () { if (this.trigger === 'click') { this.expanded = !this.expanded; } }; /** * @return {?} */ TopbarMenu.prototype.onMouseOver = /** * @return {?} */ function () { if (this.trigger === 'mouseover') { this.expanded = true; } }; /** * @return {?} */ TopbarMenu.prototype.onMouseOut = /** * @return {?} */ function () { if (this.trigger === 'mouseover') { this.expanded = false; } }; /** * @param {?} event * @return {?} */ TopbarMenu.prototype.onFocusOut = /** * @param {?} event * @return {?} */ function (event) { if (!this.elementRef.nativeElement.contains(event.relatedTarget)) { this.expanded = false; } }; TopbarMenu.decorators = [ { type: Component, args: [{ selector: 'suka-topbar-menu', template: "\n <li\n class=\"topbar__submenu\"\n style=\"height: 100%\"\n >\n <a\n class=\"topbar__menu-item topbar__menu-title\"\n [href]=\"href\"\n role=\"menuitem\"\n tabindex=\"0\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"expanded\">\n <ng-content></ng-content>\n <suka-icon icon=\"chevron-down\" class=\"topbar__menu-arrow\" aria-hidden=\"true\"></suka-icon>\n </a>\n <ul class=\"topbar__menu\" role=\"menu\">\n <ng-content select=\"suka-topbar-item\"></ng-content>\n </ul>\n </li>\n " }] } ]; /** @nocollapse */ TopbarMenu.ctorParameters = function () { return [ { type: DomSanitizer }, { type: ElementRef } ]; }; TopbarMenu.propDecorators = { href: [{ type: Input }], trigger: [{ type: Input }], onClick: [{ type: HostListener, args: ['click',] }], onMouseOver: [{ type: HostListener, args: ['mouseover',] }], onMouseOut: [{ type: HostListener, args: ['mouseout',] }], onFocusOut: [{ type: HostListener, args: ['focusout', ['$event'],] }] }; return TopbarMenu; }()); export { TopbarMenu }; if (false) { /** @type {?} */ TopbarMenu.prototype.trigger; /** @type {?} */ TopbarMenu.prototype.expanded; /** * @type {?} * @protected */ TopbarMenu.prototype._href; /** * @type {?} * @protected */ TopbarMenu.prototype.domSanitizer; /** * @type {?} * @protected */ TopbarMenu.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL3RvcGJhci90b3BiYXItbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pEO0lBc0NFLG9CQUFzQixZQUEwQixFQUFZLFVBQXNCO1FBQTVELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVksZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQU56RSxZQUFPLEdBQTBCLE9BQU8sQ0FBQztRQUUzQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWQsVUFBSyxHQUFHLG9CQUFvQixDQUFDO0lBRStDLENBQUM7SUFkdkYsc0JBQWEsNEJBQUk7Ozs7UUFJakI7WUFDRSxPQUFPLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFVLENBQUM7UUFDeEUsQ0FBQzs7Ozs7UUFORCxVQUFrQixDQUFTO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7OztPQUFBOzs7O0lBZUQsNEJBQU87OztJQURQO1FBRUUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztJQUNILENBQUM7Ozs7SUFHRCxnQ0FBVzs7O0lBRFg7UUFFRSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7OztJQUdELCtCQUFVOzs7SUFEVjtRQUVFLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDOzs7OztJQUdELCtCQUFVOzs7O0lBRFYsVUFDVyxLQUFLO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDaEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDOztnQkFsRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSwra0JBbUJUO2lCQUNGOzs7O2dCQXpCUSxZQUFZO2dCQUZuQixVQUFVOzs7dUJBNkJULEtBQUs7MEJBUUwsS0FBSzswQkFRTCxZQUFZLFNBQUMsT0FBTzs4QkFPcEIsWUFBWSxTQUFDLFdBQVc7NkJBT3hCLFlBQVksU0FBQyxVQUFVOzZCQU92QixZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOztJQU10QyxpQkFBQztDQUFBLEFBbkVELElBbUVDO1NBNUNZLFVBQVU7OztJQVNyQiw2QkFBa0Q7O0lBRWxELDhCQUF3Qjs7Ozs7SUFFeEIsMkJBQXVDOzs7OztJQUUzQixrQ0FBb0M7Ozs7O0lBQUUsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgSG9zdExpc3RlbmVyLFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VrYS10b3BiYXItbWVudScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGxpXG4gICAgICBjbGFzcz1cInRvcGJhcl9fc3VibWVudVwiXG4gICAgICBzdHlsZT1cImhlaWdodDogMTAwJVwiXG4gICAgPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJ0b3BiYXJfX21lbnUtaXRlbSB0b3BiYXJfX21lbnUtdGl0bGVcIlxuICAgICAgICBbaHJlZl09XCJocmVmXCJcbiAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPHN1a2EtaWNvbiBpY29uPVwiY2hldnJvbi1kb3duXCIgY2xhc3M9XCJ0b3BiYXJfX21lbnUtYXJyb3dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3N1a2EtaWNvbj5cbiAgICAgIDwvYT5cbiAgICAgIDx1bCBjbGFzcz1cInRvcGJhcl9fbWVudVwiIHJvbGU9XCJtZW51XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInN1a2EtdG9wYmFyLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3VsPlxuICAgIDwvbGk+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgVG9wYmFyTWVudSB7XG4gIEBJbnB1dCgpIHNldCBocmVmKHY6IHN0cmluZykge1xuICAgIHRoaXMuX2hyZWYgPSB2O1xuICB9XG5cbiAgZ2V0IGhyZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodGhpcy5faHJlZikgYXMgc3RyaW5nO1xuICB9XG5cbiAgQElucHV0KCkgdHJpZ2dlcjogJ2NsaWNrJyB8ICdtb3VzZW92ZXInID0gJ2NsaWNrJztcblxuICBwdWJsaWMgZXhwYW5kZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgX2hyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2NsaWNrJykge1xuICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXG4gIG9uTW91c2VPdmVyKCkge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdtb3VzZW92ZXInKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcpXG4gIG9uTW91c2VPdXQoKSB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ21vdXNlb3ZlcicpIHtcbiAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIG9uRm9jdXNPdXQoZXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=