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>

83 lines 5.35 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, HostBinding, Input, Output, EventEmitter } from '@angular/core'; export class CalendarDayOverlay { constructor() { this.baseClass = true; this.days = []; this.daysChange = new EventEmitter(); this.numberOfDays = 31; } /** * @param {?} size * @param {?=} startAt * @return {?} */ range(size, startAt = 0) { return [...Array(size).keys()].map((/** * @param {?} i * @return {?} */ i => i + startAt)); } /** * @param {?} day * @return {?} */ toggleDay(day) { /** @type {?} */ const indexOfDay = this.days.indexOf(day); if (indexOfDay < 0) { this.days.push(day); } else { this.days.splice(indexOfDay, 1); } this.days.sort((/** * @param {?} a * @param {?} b * @return {?} */ (a, b) => { return a - b; })); this.daysChange.emit(this.days); } } CalendarDayOverlay.decorators = [ { type: Component, args: [{ selector: 'suka-calendar-day-overlay', template: ` <div *ngFor="let day of range(numberOfDays,1)" class="calendar-day" (click)="toggleDay(day)" [ngClass]="{ 'calendar-day--selected': days.indexOf(day) >= 0 }" > <span class="calendar-day__number"> {{day}} </span> </div> ` }] } ]; CalendarDayOverlay.propDecorators = { baseClass: [{ type: HostBinding, args: ['class.calendar-day-picker__overlay',] }], days: [{ type: Input }], daysChange: [{ type: Output }] }; if (false) { /** @type {?} */ CalendarDayOverlay.prototype.baseClass; /** @type {?} */ CalendarDayOverlay.prototype.days; /** @type {?} */ CalendarDayOverlay.prototype.daysChange; /** @type {?} */ CalendarDayOverlay.prototype.numberOfDays; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL2NhbGVuZGFyLWRheS1waWNrZXIvY2FsZW5kYXItZGF5LW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQW1CNUYsTUFBTSxPQUFPLGtCQUFrQjtJQWpCL0I7UUFrQnFELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDM0QsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUNwRCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztJQXFCcEIsQ0FBQzs7Ozs7O0lBbkJDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7O0lBRUQsU0FBUyxDQUFDLEdBQVc7O2NBQ2IsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUV6QyxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTs7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZixDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUF6Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO2FBQ0Y7Ozt3QkFFRSxXQUFXLFNBQUMsb0NBQW9DO21CQUNoRCxLQUFLO3lCQUNMLE1BQU07Ozs7SUFGUCx1Q0FBb0U7O0lBQ3BFLGtDQUE2Qjs7SUFDN0Isd0NBQW9EOztJQUNwRCwwQ0FBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWthLWNhbGVuZGFyLWRheS1vdmVybGF5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHJhbmdlKG51bWJlck9mRGF5cywxKVwiXG4gICAgICBjbGFzcz1cImNhbGVuZGFyLWRheVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRGF5KGRheSlcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnY2FsZW5kYXItZGF5LS1zZWxlY3RlZCc6IGRheXMuaW5kZXhPZihkYXkpID49IDBcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2FsZW5kYXItZGF5X19udW1iZXJcIj5cbiAgICAgICAge3tkYXl9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRGF5T3ZlcmxheSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2FsZW5kYXItZGF5LXBpY2tlcl9fb3ZlcmxheScpIGJhc2VDbGFzcyA9IHRydWU7XG4gIEBJbnB1dCgpIGRheXM6IG51bWJlcltdID0gW107XG4gIEBPdXRwdXQoKSBkYXlzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXJbXT4oKTtcbiAgbnVtYmVyT2ZEYXlzID0gMzE7XG5cbiAgcmFuZ2Uoc2l6ZSwgc3RhcnRBdCA9IDApIHtcbiAgICByZXR1cm4gWy4uLkFycmF5KHNpemUpLmtleXMoKV0ubWFwKGkgPT4gaSArIHN0YXJ0QXQpO1xuICB9XG5cbiAgdG9nZ2xlRGF5KGRheTogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5kZXhPZkRheSA9IHRoaXMuZGF5cy5pbmRleE9mKGRheSk7XG5cbiAgICBpZiAoaW5kZXhPZkRheSA8IDApIHtcbiAgICAgIHRoaXMuZGF5cy5wdXNoKGRheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF5cy5zcGxpY2UoaW5kZXhPZkRheSwgMSk7XG4gICAgfVxuXG4gICAgdGhpcy5kYXlzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiBhIC0gYjtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF5c0NoYW5nZS5lbWl0KHRoaXMuZGF5cyk7XG4gIH1cbn1cbiJdfQ==