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>

84 lines (79 loc) 5.35 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, HostBinding } from '@angular/core'; import { BreakpointObserver } from '@angular/cdk/layout'; export class Frame { /** * @param {?} breakpointObserver */ constructor(breakpointObserver) { this.baseClass = true; this.mobile = false; breakpointObserver.observe('(max-width: 768px)').subscribe((/** * @param {?} result * @return {?} */ result => { if (result.matches) { this.activateHandsetLayout(); } else { this.activateDesktopLayout(); } })); } /** * @return {?} */ activateHandsetLayout() { this.mobile = true; } /** * @return {?} */ activateDesktopLayout() { this.mobile = false; } } Frame.decorators = [ { type: Component, args: [{ selector: 'suka-frame', template: ` <div class="frame__header"> <ng-content select="suka-topbar"></ng-content> </div> <ng-template #navigationTemplate> <ng-content select="suka-navigation"></ng-content> </ng-template> <div class="frame__nav" *ngIf="!mobile"> <ng-container *ngTemplateOutlet="navigationTemplate"></ng-container> </div> <div class="frame__main"> <ng-content select="suka-page"></ng-content> </div> <div class="frame__mobile-nav" *ngIf="mobile"> <suka-mobile-navigation> <ng-container *ngTemplateOutlet="navigationTemplate"></ng-container> </suka-mobile-navigation> </div> <ng-content></ng-content> ` }] } ]; /** @nocollapse */ Frame.ctorParameters = () => [ { type: BreakpointObserver } ]; Frame.propDecorators = { baseClass: [{ type: HostBinding, args: ['class.frame',] }], mobile: [{ type: HostBinding, args: ['class.frame--mobile',] }] }; if (false) { /** @type {?} */ Frame.prototype.baseClass; /** @type {?} */ Frame.prototype.mobile; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL2ZyYW1lL2ZyYW1lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUE4QnRFLE1BQU0sT0FBTyxLQUFLOzs7O0lBSWhCLFlBQVksa0JBQXNDO1FBSHRCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDVCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR2pELGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRTtZQUNsRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7YUFDRjs7OztZQTdCcUIsa0JBQWtCOzs7d0JBK0JyQyxXQUFXLFNBQUMsYUFBYTtxQkFDekIsV0FBVyxTQUFDLHFCQUFxQjs7OztJQURsQywwQkFBNkM7O0lBQzdDLHVCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzLCBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VrYS1mcmFtZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZyYW1lX19oZWFkZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInN1a2EtdG9wYmFyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNuYXZpZ2F0aW9uVGVtcGxhdGU+XG4gICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3VrYS1uYXZpZ2F0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnJhbWVfX25hdlwiICpuZ0lmPVwiIW1vYmlsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hdmlnYXRpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZyYW1lX19tYWluXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzdWthLXBhZ2VcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnJhbWVfX21vYmlsZS1uYXZcIiAqbmdJZj1cIm1vYmlsZVwiPlxuICAgICAgPHN1a2EtbW9iaWxlLW5hdmlnYXRpb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuYXZpZ2F0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3VrYS1tb2JpbGUtbmF2aWdhdGlvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBGcmFtZSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnJhbWUnKSBiYXNlQ2xhc3MgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZyYW1lLS1tb2JpbGUnKSBtb2JpbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcikge1xuICAgIGJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKCcobWF4LXdpZHRoOiA3NjhweCknKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xuICAgICAgICB0aGlzLmFjdGl2YXRlSGFuZHNldExheW91dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZURlc2t0b3BMYXlvdXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFjdGl2YXRlSGFuZHNldExheW91dCgpIHtcbiAgICB0aGlzLm1vYmlsZSA9IHRydWU7XG4gIH1cblxuICBhY3RpdmF0ZURlc2t0b3BMYXlvdXQoKSB7XG4gICAgdGhpcy5tb2JpbGUgPSBmYWxzZTtcbiAgfVxufVxuIl19