@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>
99 lines • 7.82 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ContentChildren, Input, QueryList, ElementRef } from '@angular/core';
import { NavigationItem } from './navigation-item.component';
/**
* `SideNavMenu` provides a method to group `SideNavItem`s under a common heading.
*/
var NavigationMenu = /** @class */ (function () {
function NavigationMenu() {
/**
* Controls the visibility of the child `SideNavItem`s
*/
this.expanded = false;
this.childrenHeight = 0;
}
/**
* @return {?}
*/
NavigationMenu.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
var _this = this;
setTimeout((/**
* @return {?}
*/
function () {
_this.navigationItems.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
item.isSubMenu = true;
}));
}));
setTimeout((/**
* @return {?}
*/
function () {
_this.navigationNativeItems.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
item.nativeElement.children.forEach((/**
* @param {?} children
* @return {?}
*/
function (children) {
_this.childrenHeight += children.offsetHeight;
}));
}));
}));
};
/**
* @return {?}
*/
NavigationMenu.prototype.toggle = /**
* @return {?}
*/
function () {
this.expanded = !this.expanded;
};
NavigationMenu.decorators = [
{ type: Component, args: [{
selector: 'suka-navigation-menu',
template: "\n <li class=\"navigation__item navigation__item--icon\">\n <button\n (click)=\"toggle()\"\n class=\"navigation__submenu\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"expanded\"\n type=\"button\">\n <div class=\"navigation__icon\">\n <ng-content select=\"suka-icon\"></ng-content>\n </div>\n <span class=\"navigation__submenu-title\">{{title}}</span>\n <suka-icon icon=\"chevron-down\" class=\"navigation__submenu-icon\"></suka-icon>\n </button>\n <ul class=\"navigation__menu\" role=\"menu\" [ngStyle]=\"{'max-height': expanded ? childrenHeight + 'px' : '0px'}\">\n <ng-content></ng-content>\n </ul>\n </li>\n "
}] }
];
NavigationMenu.propDecorators = {
title: [{ type: Input }],
expanded: [{ type: Input }],
navigationItems: [{ type: ContentChildren, args: [NavigationItem,] }],
navigationNativeItems: [{ type: ContentChildren, args: [NavigationItem, { read: ElementRef },] }]
};
return NavigationMenu;
}());
export { NavigationMenu };
if (false) {
/**
* Heading for the gorup
* @type {?}
*/
NavigationMenu.prototype.title;
/**
* Controls the visibility of the child `SideNavItem`s
* @type {?}
*/
NavigationMenu.prototype.expanded;
/** @type {?} */
NavigationMenu.prototype.navigationItems;
/** @type {?} */
NavigationMenu.prototype.navigationNativeItems;
/** @type {?} */
NavigationMenu.prototype.childrenHeight;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUs3RDtJQUFBOzs7O1FBOEJXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLMUIsbUJBQWMsR0FBRyxDQUFDLENBQUM7SUFxQnJCLENBQUM7Ozs7SUFuQkMsMkNBQWtCOzs7SUFBbEI7UUFBQSxpQkFjQztRQWJDLFVBQVU7OztRQUFDO1lBQ1QsS0FBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQSxJQUFJO2dCQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO1FBRUgsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsSUFBSTtnQkFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTzs7OztnQkFBQyxVQUFBLFFBQVE7b0JBQ3pDLEtBQUksQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQztnQkFDaEQsQ0FBQyxFQUFDLENBQUM7WUFDTCxDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELCtCQUFNOzs7SUFBTjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7O2dCQXZERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLHF0QkFrQlQ7aUJBQ0Y7Ozt3QkFLRSxLQUFLOzJCQUlMLEtBQUs7a0NBRUwsZUFBZSxTQUFDLGNBQWM7d0NBQzlCLGVBQWUsU0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztJQXVCdkQscUJBQUM7Q0FBQSxBQXhERCxJQXdEQztTQWxDWSxjQUFjOzs7Ozs7SUFJekIsK0JBQXVCOzs7OztJQUl2QixrQ0FBMEI7O0lBRTFCLHlDQUE0RTs7SUFDNUUsK0NBQW9HOztJQUVwRyx3Q0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25JdGVtIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBgU2lkZU5hdk1lbnVgIHByb3ZpZGVzIGEgbWV0aG9kIHRvIGdyb3VwIGBTaWRlTmF2SXRlbWBzIHVuZGVyIGEgY29tbW9uIGhlYWRpbmcuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1a2EtbmF2aWdhdGlvbi1tZW51JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGkgY2xhc3M9XCJuYXZpZ2F0aW9uX19pdGVtIG5hdmlnYXRpb25fX2l0ZW0tLWljb25cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uX19zdWJtZW51XCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2aWdhdGlvbl9faWNvblwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInN1a2EtaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmF2aWdhdGlvbl9fc3VibWVudS10aXRsZVwiPnt7dGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgPHN1a2EtaWNvbiBpY29uPVwiY2hldnJvbi1kb3duXCIgY2xhc3M9XCJuYXZpZ2F0aW9uX19zdWJtZW51LWljb25cIj48L3N1a2EtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPHVsIGNsYXNzPVwibmF2aWdhdGlvbl9fbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwieydtYXgtaGVpZ2h0JzogZXhwYW5kZWQgPyBjaGlsZHJlbkhlaWdodCArICdweCcgOiAnMHB4J31cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC91bD5cbiAgICA8L2xpPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25NZW51IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKlxuICAgKiBIZWFkaW5nIGZvciB0aGUgZ29ydXBcbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb250cm9scyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY2hpbGQgYFNpZGVOYXZJdGVtYHNcbiAgICovXG4gIEBJbnB1dCgpIGV4cGFuZGVkID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOYXZpZ2F0aW9uSXRlbSkgbmF2aWdhdGlvbkl0ZW1zOiBRdWVyeUxpc3Q8TmF2aWdhdGlvbkl0ZW0+O1xuICBAQ29udGVudENoaWxkcmVuKE5hdmlnYXRpb25JdGVtLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbmF2aWdhdGlvbk5hdGl2ZUl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgY2hpbGRyZW5IZWlnaHQgPSAwO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uaXNTdWJNZW51ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5hdmlnYXRpb25OYXRpdmVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpdGVtLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZHJlbiA9PiB7XG4gICAgICAgICAgIHRoaXMuY2hpbGRyZW5IZWlnaHQgKz0gY2hpbGRyZW4ub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxufVxuIl19