UNPKG

sb-element

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.1. It is a component library constructed around the SCSS library [Sb-Theming](https://github.com/SeverinBuchser/SbTheming) and supports [Angular Schematics]

61 lines 9.25 kB
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { mixinFocus, mixinClassName, Color, mixinDisable } from "../../core"; import * as fns from "date-fns"; import { MarkedDates } from "../marked-dates"; import * as i0 from "@angular/core"; import * as i1 from "../month/calendar-month.component"; import * as i2 from "@angular/common"; const SbCalendarMonthsCore = mixinDisable(mixinFocus(mixinClassName(class { constructor(_elementRef) { this._elementRef = _elementRef; } }, 'sb-calendar-months'))); export class SbCalendarMonthsComponent extends SbCalendarMonthsCore { constructor(elementRef) { super(elementRef); this.color = Color.PRIMARY; this.monthFormat = 'MMMM'; this.select = new EventEmitter(); this._showingYearStart = fns.startOfYear(new Date()); this.markedDates = new MarkedDates(); this.updateCalendarMonths(); } handleSelect(date) { this.select.emit(date); } set showingYearStart(date) { this._showingYearStart = fns.startOfYear(date); this.updateCalendarMonths(); } get showingYearStart() { return this._showingYearStart; } updateCalendarMonths() { this.calendarMonths = new Array(); for (let month = 0; month < 12; month++) { this.calendarMonths.push(fns.addMonths(this.showingYearStart, month)); } } } SbCalendarMonthsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbCalendarMonthsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); SbCalendarMonthsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SbCalendarMonthsComponent, selector: "sb-calendar-months", inputs: { disabled: "disabled", color: "color", monthFormat: "monthFormat", showingYearStart: "showingYearStart", markedDates: "markedDates" }, outputs: { focus: "focus", blur: "blur", select: "select" }, usesInheritance: true, ngImport: i0, template: "<sb-calendar-month\n *ngFor=\"let month of calendarMonths\"\n [color]=\"color\"\n [month]=\"month\"\n [monthFormat]=\"monthFormat\"\n [markedDates]=\"markedDates\"\n (select)=\"handleSelect($event)\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n</sb-calendar-month>\n", components: [{ type: i1.SbCalendarMonthComponent, selector: "sb-calendar-month", inputs: ["color", "disabled", "monthFormat", "month", "markedDates"], outputs: ["select"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbCalendarMonthsComponent, decorators: [{ type: Component, args: [{ selector: 'sb-calendar-months', encapsulation: ViewEncapsulation.None, inputs: [ 'disabled' ], outputs: [ 'focus', 'blur' ], template: "<sb-calendar-month\n *ngFor=\"let month of calendarMonths\"\n [color]=\"color\"\n [month]=\"month\"\n [monthFormat]=\"monthFormat\"\n [markedDates]=\"markedDates\"\n (select)=\"handleSelect($event)\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n</sb-calendar-month>\n" }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { color: [{ type: Input }], monthFormat: [{ type: Input }], select: [{ type: Output }], showingYearStart: [{ type: Input }], markedDates: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGhzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9jYWxlbmRhci9tb250aHMvY2FsZW5kYXItbW9udGhzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9jYWxlbmRhci9tb250aHMvY2FsZW5kYXItbW9udGhzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3RSxPQUFPLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHOUMsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQ3ZDLFVBQVUsQ0FDUixjQUFjLENBQ1o7SUFDRSxZQUNTLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBQUcsQ0FBQztDQUNyQyxFQUFFLG9CQUFvQixDQUN4QixDQUNGLENBQ0YsQ0FBQztBQWNGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxvQkFBb0I7SUE2QmpFLFlBQ0UsVUFBc0I7UUFFdEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBN0JiLFVBQUssR0FBdUIsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUcxQyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUc3QixXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFLckQsc0JBQWlCLEdBQVMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUE7UUFhdEQsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQU1sRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBeEJNLFlBQVksQ0FBQyxJQUFVO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLGdCQUFnQixDQUFDLElBQVU7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUNELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFjTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEtBQUssRUFBUSxDQUFDO1FBQ3hDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFHLEtBQUssR0FBRyxFQUFFLEVBQUcsS0FBSyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7O3NIQXpDVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw4UkM3QnRDLDZVQVdBOzJGRGtCYSx5QkFBeUI7a0JBWnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUVmLGlCQUFpQixDQUFDLElBQUksVUFDN0I7d0JBQ04sVUFBVTtxQkFDWCxXQUNRO3dCQUNQLE9BQU87d0JBQ1AsTUFBTTtxQkFDUDtpR0FLTSxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxNQUFNO3NCQURaLE1BQU07Z0JBUUgsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVlDLFdBQVc7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1peGluRm9jdXMsIG1peGluQ2xhc3NOYW1lLCBDb2xvciwgbWl4aW5EaXNhYmxlIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCAqIGFzIGZucyBmcm9tIFwiZGF0ZS1mbnNcIjtcbmltcG9ydCB7IE1hcmtlZERhdGVzIH0gZnJvbSBcIi4uL21hcmtlZC1kYXRlc1wiO1xuXG5cbmNvbnN0IFNiQ2FsZW5kYXJNb250aHNDb3JlID0gbWl4aW5EaXNhYmxlKFxuICBtaXhpbkZvY3VzKFxuICAgIG1peGluQ2xhc3NOYW1lKFxuICAgICAgY2xhc3Mge1xuICAgICAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgICBwdWJsaWMgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG4gICAgICB9LCAnc2ItY2FsZW5kYXItbW9udGhzJ1xuICAgIClcbiAgKVxuKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItY2FsZW5kYXItbW9udGhzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRocy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCdcbiAgXSxcbiAgb3V0cHV0czogW1xuICAgICdmb2N1cycsXG4gICAgJ2JsdXInXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNiQ2FsZW5kYXJNb250aHNDb21wb25lbnQgZXh0ZW5kcyBTYkNhbGVuZGFyTW9udGhzQ29yZSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBDb2xvci5QUklNQVJZO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtb250aEZvcm1hdDogc3RyaW5nID0gJ01NTU0nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0OiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIHB1YmxpYyBoYW5kbGVTZWxlY3QoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0LmVtaXQoZGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zaG93aW5nWWVhclN0YXJ0OiBEYXRlID0gZm5zLnN0YXJ0T2ZZZWFyKG5ldyBEYXRlKCkpXG4gIEBJbnB1dCgpXG4gIHNldCBzaG93aW5nWWVhclN0YXJ0KGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLl9zaG93aW5nWWVhclN0YXJ0ID0gZm5zLnN0YXJ0T2ZZZWFyKGRhdGUpO1xuICAgIHRoaXMudXBkYXRlQ2FsZW5kYXJNb250aHMoKVxuICB9XG4gIGdldCBzaG93aW5nWWVhclN0YXJ0KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9zaG93aW5nWWVhclN0YXJ0O1xuICB9XG5cbiAgcHVibGljIGNhbGVuZGFyTW9udGhzITogQXJyYXk8RGF0ZT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1hcmtlZERhdGVzOiBNYXJrZWREYXRlcyA9IG5ldyBNYXJrZWREYXRlcygpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZik7XG4gICAgdGhpcy51cGRhdGVDYWxlbmRhck1vbnRocygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDYWxlbmRhck1vbnRocygpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyTW9udGhzID0gbmV3IEFycmF5PERhdGU+KCk7XG4gICAgZm9yIChsZXQgbW9udGggPSAwIDsgbW9udGggPCAxMiA7IG1vbnRoKyspIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJNb250aHMucHVzaChmbnMuYWRkTW9udGhzKHRoaXMuc2hvd2luZ1llYXJTdGFydCwgbW9udGgpKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPHNiLWNhbGVuZGFyLW1vbnRoXG4gICpuZ0Zvcj1cImxldCBtb250aCBvZiBjYWxlbmRhck1vbnRoc1wiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFttb250aF09XCJtb250aFwiXG4gIFttb250aEZvcm1hdF09XCJtb250aEZvcm1hdFwiXG4gIFttYXJrZWREYXRlc109XCJtYXJrZWREYXRlc1wiXG4gIChzZWxlY3QpPVwiaGFuZGxlU2VsZWN0KCRldmVudClcIlxuICAoZm9jdXMpPVwic2V0Rm9jdXNlZFN0YXRlKHRydWUpXCJcbiAgKGJsdXIpPVwic2V0Rm9jdXNlZFN0YXRlKGZhbHNlKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuPC9zYi1jYWxlbmRhci1tb250aD5cbiJdfQ==