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 "../year/calendar-year.component"; import * as i2 from "@angular/common"; const SbCalendarYearsCore = mixinDisable(mixinFocus(mixinClassName(class { constructor(_elementRef) { this._elementRef = _elementRef; } }, 'sb-calendar-years'))); export class SbCalendarYearsComponent extends SbCalendarYearsCore { constructor(elementRef) { super(elementRef); this.color = Color.PRIMARY; this.yearFormat = 'yyyy'; this.select = new EventEmitter(); this._showingVicennialStart = fns.startOfYear(new Date()); this.markedDates = new MarkedDates(); this.updateCalendarYears(); } handleSelect(date) { this.select.emit(date); } set showingVicennialStart(date) { this._showingVicennialStart = fns.startOfYear(date); this.updateCalendarYears(); } get showingVicennialStart() { return this._showingVicennialStart; } updateCalendarYears() { this.calendarYears = new Array(); for (let year = -10; year < 10; year++) { this.calendarYears.push(fns.addYears(this.showingVicennialStart, year)); } } } SbCalendarYearsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbCalendarYearsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); SbCalendarYearsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SbCalendarYearsComponent, selector: "sb-calendar-years", inputs: { disabled: "disabled", color: "color", yearFormat: "yearFormat", showingVicennialStart: "showingVicennialStart", markedDates: "markedDates" }, outputs: { focus: "focus", blur: "blur", select: "select" }, usesInheritance: true, ngImport: i0, template: "<sb-calendar-year\n *ngFor=\"let year of calendarYears\"\n [color]=\"color\"\n [year]=\"year\"\n [yearFormat]=\"yearFormat\"\n [markedDates]=\"markedDates\"\n (select)=\"handleSelect($event)\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n</sb-calendar-year>\n", components: [{ type: i1.SbCalendarYearComponent, selector: "sb-calendar-year", inputs: ["color", "disabled", "yearFormat", "year", "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: SbCalendarYearsComponent, decorators: [{ type: Component, args: [{ selector: 'sb-calendar-years', encapsulation: ViewEncapsulation.None, inputs: [ 'disabled' ], outputs: [ 'focus', 'blur' ], template: "<sb-calendar-year\n *ngFor=\"let year of calendarYears\"\n [color]=\"color\"\n [year]=\"year\"\n [yearFormat]=\"yearFormat\"\n [markedDates]=\"markedDates\"\n (select)=\"handleSelect($event)\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n</sb-calendar-year>\n" }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { color: [{ type: Input }], yearFormat: [{ type: Input }], select: [{ type: Output }], showingVicennialStart: [{ type: Input }], markedDates: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc2ItZWxlbWVudC9zcmMvbGliL2NhbGVuZGFyL3llYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9jYWxlbmRhci95ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0UsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUN0QyxVQUFVLENBQ1IsY0FBYyxDQUNaO0lBQ0UsWUFDUyxXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFHLENBQUM7Q0FDckMsRUFBRSxtQkFBbUIsQ0FDdkIsQ0FDRixDQUNGLENBQUM7QUFjRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsbUJBQW1CO0lBNkIvRCxZQUNFLFVBQXNCO1FBRXRCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQTdCYixVQUFLLEdBQXVCLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFHMUMsZUFBVSxHQUFXLE1BQU0sQ0FBQztRQUc1QixXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFLckQsMkJBQXNCLEdBQVMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUE7UUFhM0QsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQU1sRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBeEJNLFlBQVksQ0FBQyxJQUFVO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLHFCQUFxQixDQUFDLElBQVU7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFjTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBUSxDQUFDO1FBQ3ZDLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRyxJQUFJLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQzs7cUhBekNVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHFTQzVCckMscVVBV0E7MkZEaUJhLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxVQUM3Qjt3QkFDTixVQUFVO3FCQUNYLFdBQ1E7d0JBQ1AsT0FBTzt3QkFDUCxNQUFNO3FCQUNQO2lHQUtNLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTTtnQkFRSCxxQkFBcUI7c0JBRHhCLEtBQUs7Z0JBWUMsV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWl4aW5Gb2N1cywgbWl4aW5DbGFzc05hbWUsIENvbG9yLCBtaXhpbkRpc2FibGUgfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0ICogYXMgZm5zIGZyb20gXCJkYXRlLWZuc1wiO1xuaW1wb3J0IHsgTWFya2VkRGF0ZXMgfSBmcm9tIFwiLi4vbWFya2VkLWRhdGVzXCI7XG5cbmNvbnN0IFNiQ2FsZW5kYXJZZWFyc0NvcmUgPSBtaXhpbkRpc2FibGUoXG4gIG1peGluRm9jdXMoXG4gICAgbWl4aW5DbGFzc05hbWUoXG4gICAgICBjbGFzcyB7XG4gICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbiAgICAgIH0sICdzYi1jYWxlbmRhci15ZWFycydcbiAgICApXG4gIClcbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLWNhbGVuZGFyLXllYXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW5wdXRzOiBbXG4gICAgJ2Rpc2FibGVkJ1xuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ2ZvY3VzJyxcbiAgICAnYmx1cidcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2JDYWxlbmRhclllYXJzQ29tcG9uZW50IGV4dGVuZHMgU2JDYWxlbmRhclllYXJzQ29yZSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBDb2xvci5QUklNQVJZO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB5ZWFyRm9ybWF0OiBzdHJpbmcgPSAneXl5eSc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Q6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgcHVibGljIGhhbmRsZVNlbGVjdChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3QuZW1pdChkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dpbmdWaWNlbm5pYWxTdGFydDogRGF0ZSA9IGZucy5zdGFydE9mWWVhcihuZXcgRGF0ZSgpKVxuICBASW5wdXQoKVxuICBzZXQgc2hvd2luZ1ZpY2VubmlhbFN0YXJ0KGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLl9zaG93aW5nVmljZW5uaWFsU3RhcnQgPSBmbnMuc3RhcnRPZlllYXIoZGF0ZSk7XG4gICAgdGhpcy51cGRhdGVDYWxlbmRhclllYXJzKClcbiAgfVxuICBnZXQgc2hvd2luZ1ZpY2VubmlhbFN0YXJ0KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9zaG93aW5nVmljZW5uaWFsU3RhcnQ7XG4gIH1cblxuICBwdWJsaWMgY2FsZW5kYXJZZWFycyE6IEFycmF5PERhdGU+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXJrZWREYXRlczogTWFya2VkRGF0ZXMgPSBuZXcgTWFya2VkRGF0ZXMoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICAgIHRoaXMudXBkYXRlQ2FsZW5kYXJZZWFycygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDYWxlbmRhclllYXJzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJZZWFycyA9IG5ldyBBcnJheTxEYXRlPigpO1xuICAgIGZvciAobGV0IHllYXIgPSAtMTAgOyB5ZWFyIDwgMTAgOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJZZWFycy5wdXNoKGZucy5hZGRZZWFycyh0aGlzLnNob3dpbmdWaWNlbm5pYWxTdGFydCwgeWVhcikpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNiLWNhbGVuZGFyLXllYXJcbiAgKm5nRm9yPVwibGV0IHllYXIgb2YgY2FsZW5kYXJZZWFyc1wiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFt5ZWFyXT1cInllYXJcIlxuICBbeWVhckZvcm1hdF09XCJ5ZWFyRm9ybWF0XCJcbiAgW21hcmtlZERhdGVzXT1cIm1hcmtlZERhdGVzXCJcbiAgKHNlbGVjdCk9XCJoYW5kbGVTZWxlY3QoJGV2ZW50KVwiXG4gIChmb2N1cyk9XCJzZXRGb2N1c2VkU3RhdGUodHJ1ZSlcIlxuICAoYmx1cik9XCJzZXRGb2N1c2VkU3RhdGUoZmFsc2UpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG48L3NiLWNhbGVuZGFyLXllYXI+XG4iXX0=