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>

86 lines (81 loc) 5.54 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(); } })); } /** * Activates handset layout * @return {?} */ activateHandsetLayout() { this.mobile = true; } /** * Activates desktop layout * @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL2ZyYW1lL2ZyYW1lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUE4QnRFLE1BQU0sT0FBTyxLQUFLOzs7O0lBSWhCLFlBQVksa0JBQXNDO1FBSHRCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDVCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR2pELGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRTtZQUNsRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUtELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDOzs7OztJQUtELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOzs7WUF0REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDthQUNGOzs7O1lBN0JxQixrQkFBa0I7Ozt3QkErQnJDLFdBQVcsU0FBQyxhQUFhO3FCQUN6QixXQUFXLFNBQUMscUJBQXFCOzs7O0lBRGxDLDBCQUE2Qzs7SUFDN0MsdUJBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludHMsIEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWthLWZyYW1lJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZnJhbWVfX2hlYWRlclwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3VrYS10b3BiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI25hdmlnYXRpb25UZW1wbGF0ZT5cbiAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzdWthLW5hdmlnYXRpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJmcmFtZV9fbmF2XCIgKm5nSWY9XCIhbW9iaWxlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibmF2aWdhdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnJhbWVfX21haW5cIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInN1a2EtcGFnZVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmcmFtZV9fbW9iaWxlLW5hdlwiICpuZ0lmPVwibW9iaWxlXCI+XG4gICAgICA8c3VrYS1tb2JpbGUtbmF2aWdhdGlvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hdmlnYXRpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zdWthLW1vYmlsZS1uYXZpZ2F0aW9uPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEZyYW1lIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mcmFtZScpIGJhc2VDbGFzcyA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnJhbWUtLW1vYmlsZScpIG1vYmlsZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XG4gICAgYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoJyhtYXgtd2lkdGg6IDc2OHB4KScpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdC5tYXRjaGVzKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVIYW5kc2V0TGF5b3V0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFjdGl2YXRlRGVza3RvcExheW91dCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyBoYW5kc2V0IGxheW91dFxuICAgKi9cbiAgYWN0aXZhdGVIYW5kc2V0TGF5b3V0KCkge1xuICAgIHRoaXMubW9iaWxlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgZGVza3RvcCBsYXlvdXRcbiAgICovXG4gIGFjdGl2YXRlRGVza3RvcExheW91dCgpIHtcbiAgICB0aGlzLm1vYmlsZSA9IGZhbHNlO1xuICB9XG59XG4iXX0=