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>

117 lines 7.15 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Optional, EventEmitter, Output } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { Router } from '@angular/router'; export class TopbarItem { /** * @param {?} domSanitizer * @param {?} router */ constructor(domSanitizer, router) { this.domSanitizer = domSanitizer; this.router = router; /** * Emits the navigation status promise when the link is activated */ this.navigation = new EventEmitter(); this._href = 'javascript:void(0)'; } /** * @param {?} v * @return {?} */ set href(v) { this._href = v; } /** * @return {?} */ get href() { return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href))); } /** * @param {?} event * @return {?} */ navigate(event) { if (this.router && this.route) { event.preventDefault(); /** @type {?} */ const status = this.router.navigate(this.route, this.routeExtras); this.navigation.emit(status); } } } TopbarItem.decorators = [ { type: Component, args: [{ selector: 'suka-topbar-item', template: ` <li style="height: 100%"> <a class="topbar__menu-item" role="menuitem" tabindex="0" [href]="href" (click)="navigate($event)"> <suka-icon *ngIf="icon" [icon]="icon" class="topbar__menu-item__icon"></suka-icon> <ng-content></ng-content> </a> </li> ` }] } ]; /** @nocollapse */ TopbarItem.ctorParameters = () => [ { type: DomSanitizer }, { type: Router, decorators: [{ type: Optional }] } ]; TopbarItem.propDecorators = { href: [{ type: Input }], route: [{ type: Input }], routeExtras: [{ type: Input }], navigation: [{ type: Output }], icon: [{ type: Input }] }; if (false) { /** * Array of commands to send to the router when the link is activated * See: https://angular.io/api/router/Router#navigate * @type {?} */ TopbarItem.prototype.route; /** * Router options. Used in conjunction with `route` * See: https://angular.io/api/router/Router#navigate * @type {?} */ TopbarItem.prototype.routeExtras; /** * Emits the navigation status promise when the link is activated * @type {?} */ TopbarItem.prototype.navigation; /** * Icon for topbar item. * @type {?} */ TopbarItem.prototype.icon; /** * @type {?} * @protected */ TopbarItem.prototype._href; /** * @type {?} * @protected */ TopbarItem.prototype.domSanitizer; /** * @type {?} * @protected */ TopbarItem.prototype.router; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL3RvcGJhci90b3BiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFtQnpDLE1BQU0sT0FBTyxVQUFVOzs7OztJQWlDckIsWUFBc0IsWUFBMEIsRUFBd0IsTUFBYztRQUFoRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUF3QixXQUFNLEdBQU4sTUFBTSxDQUFROzs7O1FBVDVFLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQU9sRCxVQUFLLEdBQUcsb0JBQW9CLENBQUM7SUFFbUQsQ0FBQzs7Ozs7SUFoQzNGLElBQWEsSUFBSSxDQUFDLENBQVM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakIsQ0FBQzs7OztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sbUJBQUEsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQVUsQ0FBQztJQUN4RSxDQUFDOzs7OztJQTRCRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7a0JBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7WUF6REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0dBWVQ7YUFDRjs7OztZQW5CUSxZQUFZO1lBQ1osTUFBTSx1QkFvRHNDLFFBQVE7OzttQkFoQzFELEtBQUs7b0JBWUwsS0FBSzswQkFNTCxLQUFLO3lCQUtMLE1BQU07bUJBS04sS0FBSzs7Ozs7Ozs7SUFoQk4sMkJBQXNCOzs7Ozs7SUFNdEIsaUNBQTBCOzs7OztJQUsxQixnQ0FBNEQ7Ozs7O0lBSzVELDBCQUF3Qjs7Ozs7SUFFeEIsMkJBQXVDOzs7OztJQUUzQixrQ0FBb0M7Ozs7O0lBQUUsNEJBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi9pY29uL2ljb24tdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWthLXRvcGJhci1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGkgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwidG9wYmFyX19tZW51LWl0ZW1cIlxuICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbaHJlZl09XCJocmVmXCJcbiAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKCRldmVudClcIj5cbiAgICAgICAgPHN1a2EtaWNvbiAqbmdJZj1cImljb25cIiBbaWNvbl09XCJpY29uXCIgY2xhc3M9XCJ0b3BiYXJfX21lbnUtaXRlbV9faWNvblwiPjwvc3VrYS1pY29uPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBUb3BiYXJJdGVtIHtcbiAgQElucHV0KCkgc2V0IGhyZWYodjogc3RyaW5nKSB7XG4gICAgdGhpcy5faHJlZiA9IHY7XG4gIH1cblxuICBnZXQgaHJlZigpIHtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh0aGlzLl9ocmVmKSBhcyBzdHJpbmc7XG4gIH1cblxuICAvKipcbiAgICogQXJyYXkgb2YgY29tbWFuZHMgdG8gc2VuZCB0byB0aGUgcm91dGVyIHdoZW4gdGhlIGxpbmsgaXMgYWN0aXZhdGVkXG4gICAqIFNlZTogaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9yb3V0ZXIvUm91dGVyI25hdmlnYXRlXG4gICAqL1xuICBASW5wdXQoKSByb3V0ZTogYW55W107XG5cbiAgLyoqXG4gICAqIFJvdXRlciBvcHRpb25zLiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYHJvdXRlYFxuICAgKiBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvcm91dGVyL1JvdXRlciNuYXZpZ2F0ZVxuICAgKi9cbiAgQElucHV0KCkgcm91dGVFeHRyYXM6IGFueTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIG5hdmlnYXRpb24gc3RhdHVzIHByb21pc2Ugd2hlbiB0aGUgbGluayBpcyBhY3RpdmF0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBuYXZpZ2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9taXNlPGJvb2xlYW4+PigpO1xuXG4gIC8qKlxuICAgKiBJY29uIGZvciB0b3BiYXIgaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpIGljb246IEljb25UeXBlO1xuXG4gIHByb3RlY3RlZCBfaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplciwgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7IH1cblxuICBuYXZpZ2F0ZShldmVudCkge1xuICAgIGlmICh0aGlzLnJvdXRlciAmJiB0aGlzLnJvdXRlKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3Qgc3RhdHVzID0gdGhpcy5yb3V0ZXIubmF2aWdhdGUodGhpcy5yb3V0ZSwgdGhpcy5yb3V0ZUV4dHJhcyk7XG4gICAgICB0aGlzLm5hdmlnYXRpb24uZW1pdChzdGF0dXMpO1xuICAgIH1cbiAgfVxufVxuIl19