@lucca-front/ng 10.0.4 → 10.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, LOCALE_I
3
3
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { ELuDateGranularity } from '@lucca-front/ng/core';
5
5
  import { ALuInput } from '@lucca-front/ng/input';
6
+ import { LuCalendarItemFactory } from './calendar-item.factory';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./calendar-item.factory";
8
9
  import * as i2 from "@lucca-front/ng/core";
@@ -299,6 +300,7 @@ LuCalendarInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
299
300
  useExisting: LuCalendarInputComponent,
300
301
  multi: true,
301
302
  },
303
+ LuCalendarItemFactory,
302
304
  ], usesInheritance: true, ngImport: i0, template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
303
305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputComponent, decorators: [{
304
306
  type: Component,
@@ -313,6 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
313
315
  useExisting: LuCalendarInputComponent,
314
316
  multi: true,
315
317
  },
318
+ LuCalendarItemFactory,
316
319
  ], template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"] }]
317
320
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
318
321
  type: Inject,
@@ -326,4 +329,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
326
329
  }], startOn: [{
327
330
  type: Input
328
331
  }] } });
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQXlDLGFBQWEsRUFBRSxpQkFBaUIsRUFBK0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SSxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQXNCakQsTUFBTSxPQUFPLHdCQUE0QixTQUFRLFFBQVc7SUF1QjNELFlBQ0Msa0JBQXFDLEVBQ3JDLFdBQW9DLEVBQ3BDLFNBQW9CLEVBQ08sT0FBZSxFQUNsQyxRQUFrQyxFQUNsQyxRQUEyQjtRQUVuQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSnZCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUExQjNCLGdCQUFXLEdBQXVCLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztRQUN6RCxZQUFPLEdBQU0sSUFBSSxDQUFD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QUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxTQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxD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U0FBUzt5R0EzQk4sd0JBQXdCLDBIQWJ6QjtRQUNWO1lBQ0MsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1g7UUFDRDtZQUNDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUNELGlEQ3hCRixrdUNBNEJBOzJGREZhLHdCQUF3QjtrQkFsQnBDLFNBQVM7K0JBQ0MsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRDs0QkFDQyxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVywwQkFBMEI7NEJBQ3JDLEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzswQkE2QkMsTUFBTTsyQkFBQyxTQUFTOzZHQTFCVCxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVN0eWxlLCBnZXRMb2NhbGVEYXlOYW1lcywgZ2V0TG9jYWxlRmlyc3REYXlPZldlZWssIFRyYW5zbGF0aW9uV2lkdGggfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTE9DQUxFX0lELCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBTHVEYXRlQWRhcHRlciwgRUx1RGF0ZUdyYW51bGFyaXR5IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xyXG5pbXBvcnQgeyBBTHVJbnB1dCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9pbnB1dCc7XHJcbmltcG9ydCB7IEx1Q2FsZW5kYXJJdGVtRmFjdG9yeSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5mYWN0b3J5JztcclxuaW1wb3J0IHsgSUNhbGVuZGFySXRlbSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS1jYWxlbmRhcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTHVDYWxlbmRhcklucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogTHVDYWxlbmRhcklucHV0Q29tcG9uZW50LFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudDxEPiBleHRlbmRzIEFMdUlucHV0PEQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcclxuXHRASW5wdXQoKSBtaW4/OiBEO1xyXG5cdEBJbnB1dCgpIG1heD86IEQ7XHJcblx0QElucHV0KCkgZ3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eSA9IEVMdURhdGVHcmFudWxhcml0eS5kYXk7XHJcblx0QElucHV0KCkgc3RhcnRPbjogRCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cclxuXHR2aWV3R3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eTtcclxuXHRoZWFkZXI6IElDYWxlbmRhckl0ZW08RD47XHJcblx0aXRlbXM6IElDYWxlbmRhckl0ZW08RD5bXSA9IFtdO1xyXG5cdGdldCBtb2QoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0cmV0dXJuICdtb2QteWVhcmx5Vmlldyc7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoOlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLW1vbnRobHlWaWV3JztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5OlxyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLWRhaWx5Vmlldyc7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBkYWlseSB2aWV3XHJcblx0bGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0X2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuXHRcdF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG5cdFx0QEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nLFxyXG5cdFx0cHJpdmF0ZSBfZmFjdG9yeTogTHVDYWxlbmRhckl0ZW1GYWN0b3J5PEQ+LFxyXG5cdFx0cHJpdmF0ZSBfYWRhcHRlcjogQUx1RGF0ZUFkYXB0ZXI8RD4sXHJcblx0KSB7XHJcblx0XHRzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYsIF9lbGVtZW50UmVmLCBfcmVuZGVyZXIpO1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gdGhpcy5ncmFudWxhcml0eTtcclxuXHRcdHRoaXMuaW5pdERheUxhYmVscygpO1xyXG5cdH1cclxuXHRvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlPzogRCkge1xyXG5cdFx0Y29uc3QgZGF0ZSA9IHZhbHVlICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh2YWx1ZSkgPyB0aGlzLl9hZGFwdGVyLmNsb25lKHZhbHVlKSA6IHRoaXMuc3RhcnRPbjtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZU1vbnRoKGRhdGUpO1xyXG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0fVxyXG5cdGluaXREYXlMYWJlbHMoKSB7XHJcblx0XHR0aGlzLmxhYmVscyA9IFsuLi5nZXRMb2NhbGVEYXlOYW1lcyh0aGlzLl9sb2NhbGUsIEZvcm1TdHlsZS5TdGFuZGFsb25lLCBUcmFuc2xhdGlvbldpZHRoLk5hcnJvdyldO1xyXG5cdFx0aWYgKGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSkgPT09IDEpIHtcclxuXHRcdFx0dGhpcy5sYWJlbHMucHVzaCh0aGlzLmxhYmVscy5zaGlmdCgpKTtcclxuXHRcdH1cclxuXHR9XHJcblx0cHJvdGVjdGVkIHJlbmRlcigpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLnJlbmRlclllYXJseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJNb250aGx5VmlldygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJEYWlseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCByZW5kZXJEYWlseVZpZXcobW9udGg6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLml0ZW1zID0gW107XHJcblx0XHRjb25zdCBzdGFydCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKG1vbnRoKSwgdGhpcy5fYWRhcHRlci5nZXRNb250aChtb250aCksIDEpO1xyXG5cdFx0bGV0IGluZGV4ID0gMDtcclxuXHRcdGNvbnN0IGlzRmlyc3REYXlPZldlZWsgPSB0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChtb250aCwgJ01NTU0geScpO1xyXG5cdFx0aWYgKCFpc0ZpcnN0RGF5T2ZXZWVrKSB7XHJcblx0XHRcdGNvbnN0IG9mZnNldCA9ICh0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgLSBnZXRMb2NhbGVGaXJzdERheU9mV2Vlayh0aGlzLl9sb2NhbGUpICsgNykgJSA3O1xyXG5cdFx0XHRpbmRleCA9IC0xICogb2Zmc2V0O1xyXG5cdFx0fVxyXG5cdFx0Ly8gVE9ET1xyXG5cdFx0bGV0IGlzRkRPVyA9IGZhbHNlO1xyXG5cdFx0bGV0IGlzTmV4dE1vbnRoID0gZmFsc2U7XHJcblx0XHRkbyB7XHJcblx0XHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZChzdGFydCwgaW5kZXgrKywgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSk7XHJcblx0XHRcdGNvbnN0IGRheSA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VEYXkoZCk7XHJcblx0XHRcdGlzTmV4dE1vbnRoID0gdGhpcy5fYWRhcHRlci5jb21wYXJlKGQsIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMDtcclxuXHRcdFx0aXNGRE9XID0gdGhpcy5fYWRhcHRlci5nZXREYXkoZCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHRcdHRoaXMuaXRlbXMucHVzaChkYXkpO1xyXG5cdFx0fSB3aGlsZSAoIWlzRkRPVyB8fCAhaXNOZXh0TW9udGgpO1xyXG5cdFx0dGhpcy5hcHBseURhaWx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlck1vbnRobHlWaWV3KHllYXI6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VZZWFyKHllYXIpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMikua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKHllYXIpLCBpICsgMSwgMSk7XHJcblx0XHRcdHJldHVybiB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlNb250aGx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlclllYXJseVZpZXcoZGVjYWRlOiBEID0gdGhpcy5oZWFkZXIuZGF0ZSkge1xyXG5cdFx0Y29uc3QgeWVhciA9IE1hdGguZmxvb3IodGhpcy5fYWRhcHRlci5nZXRZZWFyKGRlY2FkZSkgLyAxMCkgKiAxMDtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKHllYXIsIDEsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMCkua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgeSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciArIGksIDEsIDEpO1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoeSk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlZZWFybHlNb2RzKCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgYXBwbHlEYWlseU1vZHMoKSB7XHJcblx0XHRjb25zdCBtb250aCA9IHRoaXMuaGVhZGVyLmRhdGU7XHJcblx0XHRjb25zdCB0b2RheSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cdFx0Y29uc3QgbWluID0gdGhpcy5taW4gJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWluKSA/IHRoaXMubWluIDogdW5kZWZpbmVkO1xyXG5cdFx0Y29uc3QgbWF4ID0gdGhpcy5tYXggJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWF4KSA/IHRoaXMubWF4IDogdW5kZWZpbmVkO1xyXG5cdFx0dGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcblx0XHRcdGNvbnN0IGRheSA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpIDwgMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1wcmV2aW91c01vbnRoJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1uZXh0TW9udGgnKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIHRoaXMudmFsdWUsIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA8IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtYXggJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBhcHBseU1vbnRobHlNb2RzKCkge1xyXG5cdFx0Y29uc3QgdG9kYXkgPSB0aGlzLl9hZGFwdGVyLmZvcmdlVG9kYXkoKTtcclxuXHRcdGNvbnN0IG1pbiA9IHRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgPyB0aGlzLm1pbiA6IHVuZGVmaW5lZDtcclxuXHRcdGNvbnN0IG1heCA9IHRoaXMubWF4ICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgPyB0aGlzLm1heCA6IHVuZGVmaW5lZDtcclxuXHRcdHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRjb25zdCBtb250aCA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtdG9kYXknKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy52YWx1ZSAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZSkgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCBtaW4sIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0uaXNEaXNhYmxlZCA9IHRydWU7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFwcGx5WWVhcmx5TW9kcygpIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5fYWRhcHRlci5mb3JnZVRvZGF5KCk7XHJcblx0XHRjb25zdCBtaW4gPSB0aGlzLm1pbiAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pID8gdGhpcy5taW4gOiB1bmRlZmluZWQ7XHJcblx0XHRjb25zdCBtYXggPSB0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpID8gdGhpcy5tYXggOiB1bmRlZmluZWQ7XHJcblx0XHR0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0Y29uc3QgeWVhciA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0b2RheSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtYWN0aXZlJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKG1pbiAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUoeWVhciwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCBtYXgsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdChpdGVtOiBJQ2FsZW5kYXJJdGVtPEQ+KSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RZZWFyKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnNlbGVjdE1vbnRoKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3REYXkoaXRlbSk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0RGF5KGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGNvbnN0IHllYXIgPSB0aGlzLl9hZGFwdGVyLmdldFllYXIoaXRlbS5kYXRlKTtcclxuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5fYWRhcHRlci5nZXRNb250aChpdGVtLmRhdGUpO1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciwgbW9udGgsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0TW9udGgoaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xyXG5cdFx0aWYgKHRoaXMuZ3JhbnVsYXJpdHkgPT09IEVMdURhdGVHcmFudWxhcml0eS5tb250aCkge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LmRheTtcclxuXHRcdFx0dGhpcy5yZW5kZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBzZWxlY3RZZWFyKGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGlmICh0aGlzLmdyYW51bGFyaXR5ID09PSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoO1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJldmlvdXMoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c0RlY2FkZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnByZXZpb3VzWWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c01vbnRoKCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdH1cclxuXHJcblx0bmV4dCgpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLm5leHREZWNhZGUoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5uZXh0WWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5uZXh0TW9udGgoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyKCk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5KF9pZHgsIGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdHJldHVybiBpdGVtLmlkO1xyXG5cdH1cclxuXHJcblx0aW5jcmVhc2VHcmFudWxhcml0eSgpIHtcclxuXHRcdGlmICh0aGlzLmhlYWRlci5ncmFudWxhcml0eSAhPT0gRUx1RGF0ZUdyYW51bGFyaXR5LmRlY2FkZSkge1xyXG5cdFx0XHR0aGlzLnZpZXdHcmFudWxhcml0eSA9IHRoaXMuaGVhZGVyLmdyYW51bGFyaXR5O1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIG5leHRNb250aCgpIHtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZCh0aGlzLmhlYWRlci5kYXRlLCAxLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgbmV4dFllYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgMSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlWWVhcihkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBuZXh0RGVjYWRlKCkge1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHByZXZpb3VzTW9udGgoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBwcmV2aW91c1llYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKTtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgcHJldmlvdXNEZWNhZGUoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG5cdFx0Y29uc3QgZCA9IGNvbnRyb2wudmFsdWUgYXMgRDtcclxuXHRcdGlmICghZCkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGlmICghdGhpcy5fYWRhcHRlci5pc1ZhbGlkKGQpKSB7XHJcblx0XHRcdHJldHVybiB7IGRhdGU6IHRydWUgfTtcclxuXHRcdH1cclxuXHRcdGlmICghIXRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHRoaXMubWluLCBkLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0cmV0dXJuIHsgbWluOiB0cnVlIH07XHJcblx0XHR9XHJcblx0XHRpZiAoISF0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh0aGlzLm1heCwgZCwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPCAwKSB7XHJcblx0XHRcdHJldHVybiB7IG1heDogdHJ1ZSB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXJcIj5cclxuXHQ8aGVhZGVyIGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1uYXZcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd193ZXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPlByZXZpb3VzPC9zcGFuPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1kYXRlXCIgKGNsaWNrKT1cImluY3JlYXNlR3JhbnVsYXJpdHkoKVwiPnt7IGhlYWRlci5sYWJlbCB9fTwvYnV0dG9uPlxyXG5cdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXItbmF2XCIgKGNsaWNrKT1cIm5leHQoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd19lYXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPk5leHQ8L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L2hlYWRlcj5cclxuXHQ8c2VjdGlvbiBjbGFzcz1cImNhbGVuZGFyLWxhYmVsc1wiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWxhYmVscy1pdGVtXCIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsc1wiPnt7IGxhYmVsIH19PC9kaXY+XHJcblx0PC9zZWN0aW9uPlxyXG5cdDxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXItZ3JpZFwiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlcIlxyXG5cdFx0XHRjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbVwiXHJcblx0XHRcdFtuZ0NsYXNzXT1cIml0ZW0ubW9kc1wiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIlxyXG5cdFx0XHQoY2xpY2spPVwic2VsZWN0KGl0ZW0pXCJcclxuXHRcdD5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbS1jb250ZW50XCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9zZWN0aW9uPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQXlDLGFBQWEsRUFBRSxpQkFBaUIsRUFBK0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SSxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQXNCaEUsTUFBTSxPQUFPLHdCQUE0QixTQUFRLFFBQVc7SUF1QjNELFlBQ0Msa0JBQXFDLEVBQ3JDLFdBQW9DLEVBQ3BDLFNBQW9CLEVBQ08sT0FBZSxFQUNsQyxRQUFrQyxFQUNsQyxRQUEyQjtRQUVuQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSnZCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUExQjNCLGdCQUFXLEdBQXVCLGtC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QzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxTQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsT0FBTyxJQUFJLENB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TyxJQUFJLENBQUM7SUFDYixDQUFDOztxSEFuVFcsd0JBQXdCLHNHQTJCM0IsU0FBUzt5R0EzQk4sd0JBQXdCLDBIQWR6QjtRQUNWO1lBQ0MsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1g7UUFDRDtZQUNDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsS0FBSyxFQUFFLElBQUk7U0FDWDtRQUNELHFCQUFxQjtLQUNyQixpREN6QkYsa3VDQTRCQTsyRkREYSx3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNDLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsMEJBQTBCOzRCQUNyQyxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRCxxQkFBcUI7cUJBQ3JCOzswQkE2QkMsTUFBTTsyQkFBQyxTQUFTOzZHQTFCVCxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVN0eWxlLCBnZXRMb2NhbGVEYXlOYW1lcywgZ2V0TG9jYWxlRmlyc3REYXlPZldlZWssIFRyYW5zbGF0aW9uV2lkdGggfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTE9DQUxFX0lELCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBTHVEYXRlQWRhcHRlciwgRUx1RGF0ZUdyYW51bGFyaXR5IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xyXG5pbXBvcnQgeyBBTHVJbnB1dCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9pbnB1dCc7XHJcbmltcG9ydCB7IEx1Q2FsZW5kYXJJdGVtRmFjdG9yeSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5mYWN0b3J5JztcclxuaW1wb3J0IHsgSUNhbGVuZGFySXRlbSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS1jYWxlbmRhcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTHVDYWxlbmRhcklucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogTHVDYWxlbmRhcklucHV0Q29tcG9uZW50LFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XHRMdUNhbGVuZGFySXRlbUZhY3RvcnksXHJcblx0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudDxEPiBleHRlbmRzIEFMdUlucHV0PEQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcclxuXHRASW5wdXQoKSBtaW4/OiBEO1xyXG5cdEBJbnB1dCgpIG1heD86IEQ7XHJcblx0QElucHV0KCkgZ3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eSA9IEVMdURhdGVHcmFudWxhcml0eS5kYXk7XHJcblx0QElucHV0KCkgc3RhcnRPbjogRCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cclxuXHR2aWV3R3JhbnVsYXJpdHk6IEVMdURhdGVHcmFudWxhcml0eTtcclxuXHRoZWFkZXI6IElDYWxlbmRhckl0ZW08RD47XHJcblx0aXRlbXM6IElDYWxlbmRhckl0ZW08RD5bXSA9IFtdO1xyXG5cdGdldCBtb2QoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0cmV0dXJuICdtb2QteWVhcmx5Vmlldyc7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoOlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLW1vbnRobHlWaWV3JztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5OlxyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiAnbW9kLWRhaWx5Vmlldyc7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBkYWlseSB2aWV3XHJcblx0bGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0X2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuXHRcdF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG5cdFx0QEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nLFxyXG5cdFx0cHJpdmF0ZSBfZmFjdG9yeTogTHVDYWxlbmRhckl0ZW1GYWN0b3J5PEQ+LFxyXG5cdFx0cHJpdmF0ZSBfYWRhcHRlcjogQUx1RGF0ZUFkYXB0ZXI8RD4sXHJcblx0KSB7XHJcblx0XHRzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYsIF9lbGVtZW50UmVmLCBfcmVuZGVyZXIpO1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gdGhpcy5ncmFudWxhcml0eTtcclxuXHRcdHRoaXMuaW5pdERheUxhYmVscygpO1xyXG5cdH1cclxuXHRvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlPzogRCkge1xyXG5cdFx0Y29uc3QgZGF0ZSA9IHZhbHVlICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh2YWx1ZSkgPyB0aGlzLl9hZGFwdGVyLmNsb25lKHZhbHVlKSA6IHRoaXMuc3RhcnRPbjtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZU1vbnRoKGRhdGUpO1xyXG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0fVxyXG5cdGluaXREYXlMYWJlbHMoKSB7XHJcblx0XHR0aGlzLmxhYmVscyA9IFsuLi5nZXRMb2NhbGVEYXlOYW1lcyh0aGlzLl9sb2NhbGUsIEZvcm1TdHlsZS5TdGFuZGFsb25lLCBUcmFuc2xhdGlvbldpZHRoLk5hcnJvdyldO1xyXG5cdFx0aWYgKGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSkgPT09IDEpIHtcclxuXHRcdFx0dGhpcy5sYWJlbHMucHVzaCh0aGlzLmxhYmVscy5zaGlmdCgpKTtcclxuXHRcdH1cclxuXHR9XHJcblx0cHJvdGVjdGVkIHJlbmRlcigpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLnJlbmRlclllYXJseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJNb250aGx5VmlldygpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJEYWlseVZpZXcoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCByZW5kZXJEYWlseVZpZXcobW9udGg6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLml0ZW1zID0gW107XHJcblx0XHRjb25zdCBzdGFydCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKG1vbnRoKSwgdGhpcy5fYWRhcHRlci5nZXRNb250aChtb250aCksIDEpO1xyXG5cdFx0bGV0IGluZGV4ID0gMDtcclxuXHRcdGNvbnN0IGlzRmlyc3REYXlPZldlZWsgPSB0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChtb250aCwgJ01NTU0geScpO1xyXG5cdFx0aWYgKCFpc0ZpcnN0RGF5T2ZXZWVrKSB7XHJcblx0XHRcdGNvbnN0IG9mZnNldCA9ICh0aGlzLl9hZGFwdGVyLmdldERheShzdGFydCkgLSBnZXRMb2NhbGVGaXJzdERheU9mV2Vlayh0aGlzLl9sb2NhbGUpICsgNykgJSA3O1xyXG5cdFx0XHRpbmRleCA9IC0xICogb2Zmc2V0O1xyXG5cdFx0fVxyXG5cdFx0Ly8gVE9ET1xyXG5cdFx0bGV0IGlzRkRPVyA9IGZhbHNlO1xyXG5cdFx0bGV0IGlzTmV4dE1vbnRoID0gZmFsc2U7XHJcblx0XHRkbyB7XHJcblx0XHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZChzdGFydCwgaW5kZXgrKywgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSk7XHJcblx0XHRcdGNvbnN0IGRheSA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VEYXkoZCk7XHJcblx0XHRcdGlzTmV4dE1vbnRoID0gdGhpcy5fYWRhcHRlci5jb21wYXJlKGQsIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMDtcclxuXHRcdFx0aXNGRE9XID0gdGhpcy5fYWRhcHRlci5nZXREYXkoZCkgPT09IGdldExvY2FsZUZpcnN0RGF5T2ZXZWVrKHRoaXMuX2xvY2FsZSk7XHJcblx0XHRcdHRoaXMuaXRlbXMucHVzaChkYXkpO1xyXG5cdFx0fSB3aGlsZSAoIWlzRkRPVyB8fCAhaXNOZXh0TW9udGgpO1xyXG5cdFx0dGhpcy5hcHBseURhaWx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlck1vbnRobHlWaWV3KHllYXI6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VZZWFyKHllYXIpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMikua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UodGhpcy5fYWRhcHRlci5nZXRZZWFyKHllYXIpLCBpICsgMSwgMSk7XHJcblx0XHRcdHJldHVybiB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlNb250aGx5TW9kcygpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHJlbmRlclllYXJseVZpZXcoZGVjYWRlOiBEID0gdGhpcy5oZWFkZXIuZGF0ZSkge1xyXG5cdFx0Y29uc3QgeWVhciA9IE1hdGguZmxvb3IodGhpcy5fYWRhcHRlci5nZXRZZWFyKGRlY2FkZSkgLyAxMCkgKiAxMDtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKHllYXIsIDEsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMCkua2V5cygpXS5tYXAoKGkpID0+IHtcclxuXHRcdFx0Y29uc3QgeSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciArIGksIDEsIDEpO1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoeSk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuYXBwbHlZZWFybHlNb2RzKCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgYXBwbHlEYWlseU1vZHMoKSB7XHJcblx0XHRjb25zdCBtb250aCA9IHRoaXMuaGVhZGVyLmRhdGU7XHJcblx0XHRjb25zdCB0b2RheSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xyXG5cdFx0Y29uc3QgbWluID0gdGhpcy5taW4gJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWluKSA/IHRoaXMubWluIDogdW5kZWZpbmVkO1xyXG5cdFx0Y29uc3QgbWF4ID0gdGhpcy5tYXggJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWF4KSA/IHRoaXMubWF4IDogdW5kZWZpbmVkO1xyXG5cdFx0dGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcblx0XHRcdGNvbnN0IGRheSA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpIDwgMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1wcmV2aW91c01vbnRoJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIG1vbnRoLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1uZXh0TW9udGgnKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkYXksIHRoaXMudmFsdWUsIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA8IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtYXggJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBhcHBseU1vbnRobHlNb2RzKCkge1xyXG5cdFx0Y29uc3QgdG9kYXkgPSB0aGlzLl9hZGFwdGVyLmZvcmdlVG9kYXkoKTtcclxuXHRcdGNvbnN0IG1pbiA9IHRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgPyB0aGlzLm1pbiA6IHVuZGVmaW5lZDtcclxuXHRcdGNvbnN0IG1heCA9IHRoaXMubWF4ICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgPyB0aGlzLm1heCA6IHVuZGVmaW5lZDtcclxuXHRcdHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRjb25zdCBtb250aCA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgdG9kYXksIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtdG9kYXknKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy52YWx1ZSAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZSkgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChtaW4gJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCBtaW4sIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZShtb250aCwgbWF4LCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpID4gMCkge1xyXG5cdFx0XHRcdGl0ZW0uaXNEaXNhYmxlZCA9IHRydWU7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFwcGx5WWVhcmx5TW9kcygpIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5fYWRhcHRlci5mb3JnZVRvZGF5KCk7XHJcblx0XHRjb25zdCBtaW4gPSB0aGlzLm1pbiAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pID8gdGhpcy5taW4gOiB1bmRlZmluZWQ7XHJcblx0XHRjb25zdCBtYXggPSB0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpID8gdGhpcy5tYXggOiB1bmRlZmluZWQ7XHJcblx0XHR0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0Y29uc3QgeWVhciA9IGl0ZW0uZGF0ZTtcclxuXHRcdFx0aWYgKHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0b2RheSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpID09PSAwKSB7XHJcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMudmFsdWUpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCB0aGlzLnZhbHVlLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPT09IDApIHtcclxuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtYWN0aXZlJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKG1pbiAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUoeWVhciwgbWluLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPCAwKSB7XHJcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobWF4ICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCBtYXgsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKSA+IDApIHtcclxuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdChpdGVtOiBJQ2FsZW5kYXJJdGVtPEQ+KSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RZZWFyKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnNlbGVjdE1vbnRoKGl0ZW0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5zZWxlY3REYXkoaXRlbSk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0RGF5KGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGNvbnN0IHllYXIgPSB0aGlzLl9hZGFwdGVyLmdldFllYXIoaXRlbS5kYXRlKTtcclxuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5fYWRhcHRlci5nZXRNb250aChpdGVtLmRhdGUpO1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciwgbW9udGgsIDEpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgc2VsZWN0TW9udGgoaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xyXG5cdFx0aWYgKHRoaXMuZ3JhbnVsYXJpdHkgPT09IEVMdURhdGVHcmFudWxhcml0eS5tb250aCkge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LmRheTtcclxuXHRcdFx0dGhpcy5yZW5kZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBzZWxlY3RZZWFyKGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdGlmICh0aGlzLmdyYW51bGFyaXR5ID09PSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikge1xyXG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XHJcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoO1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJldmlvdXMoKSB7XHJcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XHJcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c0RlY2FkZSgpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcclxuXHRcdFx0XHR0aGlzLnByZXZpb3VzWWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c01vbnRoKCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHR9XHJcblx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdH1cclxuXHJcblx0bmV4dCgpIHtcclxuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcclxuXHRcdFx0XHR0aGlzLm5leHREZWNhZGUoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XHJcblx0XHRcdFx0dGhpcy5uZXh0WWVhcigpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0dGhpcy5uZXh0TW9udGgoKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyKCk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5KF9pZHgsIGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcclxuXHRcdHJldHVybiBpdGVtLmlkO1xyXG5cdH1cclxuXHJcblx0aW5jcmVhc2VHcmFudWxhcml0eSgpIHtcclxuXHRcdGlmICh0aGlzLmhlYWRlci5ncmFudWxhcml0eSAhPT0gRUx1RGF0ZUdyYW51bGFyaXR5LmRlY2FkZSkge1xyXG5cdFx0XHR0aGlzLnZpZXdHcmFudWxhcml0eSA9IHRoaXMuaGVhZGVyLmdyYW51bGFyaXR5O1xyXG5cdFx0XHR0aGlzLnJlbmRlcigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIG5leHRNb250aCgpIHtcclxuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZCh0aGlzLmhlYWRlci5kYXRlLCAxLCBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGgpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgbmV4dFllYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgMSwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlWWVhcihkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBuZXh0RGVjYWRlKCkge1xyXG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIHByZXZpb3VzTW9udGgoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCk7XHJcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChkKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBwcmV2aW91c1llYXIoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKTtcclxuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZVllYXIoZCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgcHJldmlvdXNEZWNhZGUoKSB7XHJcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xyXG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlRGVjYWRlKGQpO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG5cdFx0Y29uc3QgZCA9IGNvbnRyb2wudmFsdWUgYXMgRDtcclxuXHRcdGlmICghZCkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGlmICghdGhpcy5fYWRhcHRlci5pc1ZhbGlkKGQpKSB7XHJcblx0XHRcdHJldHVybiB7IGRhdGU6IHRydWUgfTtcclxuXHRcdH1cclxuXHRcdGlmICghIXRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHRoaXMubWluLCBkLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcclxuXHRcdFx0cmV0dXJuIHsgbWluOiB0cnVlIH07XHJcblx0XHR9XHJcblx0XHRpZiAoISF0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh0aGlzLm1heCwgZCwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPCAwKSB7XHJcblx0XHRcdHJldHVybiB7IG1heDogdHJ1ZSB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXJcIj5cclxuXHQ8aGVhZGVyIGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1uYXZcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd193ZXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPlByZXZpb3VzPC9zcGFuPlxyXG5cdFx0PC9idXR0b24+XHJcblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1kYXRlXCIgKGNsaWNrKT1cImluY3JlYXNlR3JhbnVsYXJpdHkoKVwiPnt7IGhlYWRlci5sYWJlbCB9fTwvYnV0dG9uPlxyXG5cdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXItbmF2XCIgKGNsaWNrKT1cIm5leHQoKVwiPlxyXG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb25cIj5hcnJvd19lYXN0PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInUtbWFza1wiPk5leHQ8L3NwYW4+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L2hlYWRlcj5cclxuXHQ8c2VjdGlvbiBjbGFzcz1cImNhbGVuZGFyLWxhYmVsc1wiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWxhYmVscy1pdGVtXCIgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsc1wiPnt7IGxhYmVsIH19PC9kaXY+XHJcblx0PC9zZWN0aW9uPlxyXG5cdDxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXItZ3JpZFwiIFtuZ0NsYXNzXT1cIm1vZFwiPlxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlcIlxyXG5cdFx0XHRjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbVwiXHJcblx0XHRcdFtuZ0NsYXNzXT1cIml0ZW0ubW9kc1wiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIlxyXG5cdFx0XHQoY2xpY2spPVwic2VsZWN0KGl0ZW0pXCJcclxuXHRcdD5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNhbGVuZGFyLWdyaWQtaXRlbS1jb250ZW50XCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9zZWN0aW9uPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
@@ -1,21 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { NgModule } from '@angular/core';
2
- import { LuCalendarInputComponent } from './calendar-input.component';
3
3
  import { FormsModule } from '@angular/forms';
4
- import { CommonModule } from '@angular/common';
5
- import { LuCalendarItemFactory } from './calendar-item.factory';
4
+ import { LuCalendarInputComponent } from './calendar-input.component';
6
5
  import * as i0 from "@angular/core";
7
6
  export class LuCalendarInputModule {
8
7
  }
9
8
  LuCalendarInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
9
  LuCalendarInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, declarations: [LuCalendarInputComponent], imports: [FormsModule, CommonModule], exports: [LuCalendarInputComponent] });
11
- LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, providers: [LuCalendarItemFactory], imports: [FormsModule, CommonModule] });
10
+ LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, imports: [FormsModule, CommonModule] });
12
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, decorators: [{
13
12
  type: NgModule,
14
13
  args: [{
15
14
  imports: [FormsModule, CommonModule],
16
15
  exports: [LuCalendarInputComponent],
17
16
  declarations: [LuCalendarInputComponent],
18
- providers: [LuCalendarItemFactory],
19
17
  }]
20
18
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBUWhFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFIbEIsd0JBQXdCLGFBRjdCLFdBQVcsRUFBRSxZQUFZLGFBQ3pCLHdCQUF3QjttSEFJdEIscUJBQXFCLGFBRnRCLENBQUMscUJBQXFCLENBQUMsWUFIeEIsV0FBVyxFQUFFLFlBQVk7MkZBS3ZCLHFCQUFxQjtrQkFOakMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDbkMsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXItaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEx1Q2FsZW5kYXJJdGVtRmFjdG9yeSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5mYWN0b3J5JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtMdUNhbGVuZGFySW5wdXRDb21wb25lbnRdLFxyXG5cdGRlY2xhcmF0aW9uczogW0x1Q2FsZW5kYXJJbnB1dENvbXBvbmVudF0sXHJcblx0cHJvdmlkZXJzOiBbTHVDYWxlbmRhckl0ZW1GYWN0b3J5XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJbnB1dE1vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT3RFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFGbEIsd0JBQXdCLGFBRjdCLFdBQVcsRUFBRSxZQUFZLGFBQ3pCLHdCQUF3QjttSEFHdEIscUJBQXFCLFlBSnZCLFdBQVcsRUFBRSxZQUFZOzJGQUl2QixxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMdUNhbGVuZGFySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcclxuXHRleHBvcnRzOiBbTHVDYWxlbmRhcklucHV0Q29tcG9uZW50XSxcclxuXHRkZWNsYXJhdGlvbnM6IFtMdUNhbGVuZGFySW5wdXRDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHVDYWxlbmRhcklucHV0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -383,6 +383,7 @@ LuCalendarInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
383
383
  useExisting: LuCalendarInputComponent,
384
384
  multi: true,
385
385
  },
386
+ LuCalendarItemFactory,
386
387
  ], usesInheritance: true, ngImport: i0, template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
387
388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputComponent, decorators: [{
388
389
  type: Component,
@@ -397,6 +398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
397
398
  useExisting: LuCalendarInputComponent,
398
399
  multi: true,
399
400
  },
401
+ LuCalendarItemFactory,
400
402
  ], template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"] }]
401
403
  }], ctorParameters: function () {
402
404
  return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
@@ -417,14 +419,13 @@ class LuCalendarInputModule {
417
419
  }
418
420
  LuCalendarInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
419
421
  LuCalendarInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, declarations: [LuCalendarInputComponent], imports: [FormsModule, CommonModule], exports: [LuCalendarInputComponent] });
420
- LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, providers: [LuCalendarItemFactory], imports: [FormsModule, CommonModule] });
422
+ LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, imports: [FormsModule, CommonModule] });
421
423
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, decorators: [{
422
424
  type: NgModule,
423
425
  args: [{
424
426
  imports: [FormsModule, CommonModule],
425
427
  exports: [LuCalendarInputComponent],
426
428
  declarations: [LuCalendarInputComponent],
427
- providers: [LuCalendarItemFactory],
428
429
  }]
429
430
  }] });
430
431
 
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-date.mjs","sources":["../../../packages/ng/date/src/lib/calendar/calendar-item.class.ts","../../../packages/ng/date/src/lib/calendar/calendar-item.factory.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.html","../../../packages/ng/date/src/lib/calendar/calendar-input.module.ts","../../../packages/ng/date/src/lib/input/date-input.token.ts","../../../packages/ng/date/src/lib/input/date-input.intl.ts","../../../packages/ng/date/src/lib/input/date-input.directive.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.html","../../../packages/ng/date/src/lib/input/date-input.translate.ts","../../../packages/ng/date/src/lib/input/date-input.module.ts","../../../packages/ng/date/src/lib/picker/date-picker.module.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.pipe.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.module.ts","../../../packages/ng/date/src/lib/select/date-select-input.token.ts","../../../packages/ng/date/src/lib/select/date-select-input.intl.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.html","../../../packages/ng/date/src/lib/select/date-select-input.translate.ts","../../../packages/ng/date/src/lib/select/date-select-input.module.ts","../../../packages/ng/date/src/lib/date.module.ts","../../../packages/ng/date/src/public-api.ts","../../../packages/ng/date/src/lucca-front-ng-date.ts"],"sourcesContent":["import { ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\nexport abstract class ACalendarItem<D> implements ICalendarItem<D> {\r\n\tget id() {\r\n\t\treturn `${this.granularity}-${this.date.toString()}`;\r\n\t}\r\n\tdate: D;\r\n\tmods: string[] = [];\r\n\tisDisabled = false;\r\n\tlabel: string;\r\n\treadonly granularity: ELuDateGranularity;\r\n}\r\nexport class DayItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.day;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class MonthItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.month;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class YearItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.year;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class DecadeItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.decade;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\nimport { DayItem, DecadeItem, MonthItem, YearItem } from './calendar-item.class';\r\n\r\n@Injectable()\r\nexport class LuCalendarItemFactory<D> {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\tforgeDay(d: D, format = 'd'): DayItem<D> {\r\n\t\tconst date = this._adapter.clone(d);\r\n\t\treturn new DayItem(date, this._adapter.format(date, format));\r\n\t}\r\n\tforgeMonth(d: D, format = 'MMM'): MonthItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst month = this._adapter.getMonth(d);\r\n\t\tconst monthStart = this._adapter.forge(year, month, 1);\r\n\t\treturn new MonthItem(monthStart, this._adapter.format(monthStart, format));\r\n\t}\r\n\tforgeYear(d: D, format = 'y'): YearItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst yearStart = this._adapter.forge(year, 1, 1);\r\n\t\treturn new YearItem(yearStart, this._adapter.format(yearStart, format));\r\n\t}\r\n\tforgeDecade(d: D, format = 'y'): DecadeItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst decadeStart = this._adapter.forge(10 * Math.floor(year / 10), 1, 1);\r\n\t\tconst decadeEnd = this._adapter.forge(10 * Math.floor(year / 10) + 9, 1, 1);\r\n\t\tconst label = `${this._adapter.format(decadeStart, format)} - ${this._adapter.format(decadeEnd, format)}`;\r\n\t\treturn new DecadeItem(decadeStart, label);\r\n\t}\r\n}\r\n","import { FormStyle, getLocaleDayNames, getLocaleFirstDayOfWeek, TranslationWidth } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, LOCALE_ID, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuCalendarItemFactory } from './calendar-item.factory';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\n@Component({\r\n\tselector: 'lu-calendar',\r\n\ttemplateUrl: './calendar-input.component.html',\r\n\tstyleUrls: ['./calendar-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuCalendarInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuCalendarInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuCalendarInputComponent<D> extends ALuInput<D> implements ControlValueAccessor, OnInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tviewGranularity: ELuDateGranularity;\r\n\theader: ICalendarItem<D>;\r\n\titems: ICalendarItem<D>[] = [];\r\n\tget mod() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn 'mod-yearlyView';\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn 'mod-monthlyView';\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'mod-dailyView';\r\n\t\t}\r\n\t}\r\n\r\n\t// daily view\r\n\tlabels: string[] = [];\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\t@Inject(LOCALE_ID) private _locale: string,\r\n\t\tprivate _factory: LuCalendarItemFactory<D>,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.viewGranularity = this.granularity;\r\n\t\tthis.initDayLabels();\r\n\t}\r\n\toverride writeValue(value?: D) {\r\n\t\tconst date = value && this._adapter.isValid(value) ? this._adapter.clone(value) : this.startOn;\r\n\t\tthis.header = this._factory.forgeMonth(date);\r\n\t\tsuper.writeValue(value);\r\n\t}\r\n\tinitDayLabels() {\r\n\t\tthis.labels = [...getLocaleDayNames(this._locale, FormStyle.Standalone, TranslationWidth.Narrow)];\r\n\t\tif (getLocaleFirstDayOfWeek(this._locale) === 1) {\r\n\t\t\tthis.labels.push(this.labels.shift());\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.renderYearlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.renderMonthlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.renderDailyView();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected renderDailyView(month: D = this.header.date) {\r\n\t\tthis.items = [];\r\n\t\tconst start = this._adapter.forge(this._adapter.getYear(month), this._adapter.getMonth(month), 1);\r\n\t\tlet index = 0;\r\n\t\tconst isFirstDayOfWeek = this._adapter.getDay(start) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\tthis.header = this._factory.forgeMonth(month, 'MMMM y');\r\n\t\tif (!isFirstDayOfWeek) {\r\n\t\t\tconst offset = (this._adapter.getDay(start) - getLocaleFirstDayOfWeek(this._locale) + 7) % 7;\r\n\t\t\tindex = -1 * offset;\r\n\t\t}\r\n\t\t// TODO\r\n\t\tlet isFDOW = false;\r\n\t\tlet isNextMonth = false;\r\n\t\tdo {\r\n\t\t\tconst d = this._adapter.add(start, index++, ELuDateGranularity.day);\r\n\t\t\tconst day = this._factory.forgeDay(d);\r\n\t\t\tisNextMonth = this._adapter.compare(d, month, ELuDateGranularity.month) > 0;\r\n\t\t\tisFDOW = this._adapter.getDay(d) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\t\tthis.items.push(day);\r\n\t\t} while (!isFDOW || !isNextMonth);\r\n\t\tthis.applyDailyMods();\r\n\t}\r\n\r\n\tprotected renderMonthlyView(year: D = this.header.date) {\r\n\t\tthis.header = this._factory.forgeYear(year);\r\n\t\tthis.items = [...Array(12).keys()].map((i) => {\r\n\t\t\tconst d = this._adapter.forge(this._adapter.getYear(year), i + 1, 1);\r\n\t\t\treturn this._factory.forgeMonth(d);\r\n\t\t});\r\n\t\tthis.applyMonthlyMods();\r\n\t}\r\n\r\n\tprotected renderYearlyView(decade: D = this.header.date) {\r\n\t\tconst year = Math.floor(this._adapter.getYear(decade) / 10) * 10;\r\n\t\tconst d = this._adapter.forge(year, 1, 1);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t\tthis.items = [...Array(10).keys()].map((i) => {\r\n\t\t\tconst y = this._adapter.forge(year + i, 1, 1);\r\n\t\t\treturn this._factory.forgeYear(y);\r\n\t\t});\r\n\t\tthis.applyYearlyMods();\r\n\t}\r\n\r\n\tprotected applyDailyMods() {\r\n\t\tconst month = this.header.date;\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst day = item.date;\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.mods.push('is-previousMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.mods.push('is-nextMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, today, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(day, this.value, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(day, min, ELuDateGranularity.day) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(day, max, ELuDateGranularity.day) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyMonthlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst month = item.date;\r\n\t\t\tif (this._adapter.compare(month, today, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(month, this.value, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(month, min, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(month, max, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyYearlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst year = item.date;\r\n\t\t\tif (this._adapter.compare(year, today, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(year, this.value, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(year, min, ELuDateGranularity.year) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(year, max, ELuDateGranularity.year) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tselect(item: ICalendarItem<D>) {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.selectYear(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.selectMonth(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.selectDay(item);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectDay(item: ICalendarItem<D>) {\r\n\t\tconst year = this._adapter.getYear(item.date);\r\n\t\tconst month = this._adapter.getMonth(item.date);\r\n\t\tconst d = this._adapter.forge(year, month, 1);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t\tthis.setValue(item.date);\r\n\t}\r\n\r\n\tprotected selectMonth(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.month) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.day;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectYear(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.year) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.month;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprevious() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.previousDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.previousYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.previousMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\tnext() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.nextDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.nextYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.nextMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\ttrackBy(_idx, item: ICalendarItem<D>) {\r\n\t\treturn item.id;\r\n\t}\r\n\r\n\tincreaseGranularity() {\r\n\t\tif (this.header.granularity !== ELuDateGranularity.decade) {\r\n\t\t\tthis.viewGranularity = this.header.granularity;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected nextMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected nextYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected nextDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tprotected previousMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected previousYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected previousDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuCalendarInputComponent } from './calendar-input.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuCalendarItemFactory } from './calendar-item.factory';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule],\r\n\texports: [LuCalendarInputComponent],\r\n\tdeclarations: [LuCalendarInputComponent],\r\n\tproviders: [LuCalendarItemFactory],\r\n})\r\nexport class LuCalendarInputModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_INPUT_TRANSLATIONS = new InjectionToken('LuDateInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateInputIntl extends ALuIntl<ILuDateInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { ChangeDetectorRef, Directive, ElementRef, forwardRef, HostListener, Inject, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Directive({\r\n\tselector: 'input[luDateInput]',\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateInputDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateInputDirective,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateInputDirective<D> extends ALuInput<D, HTMLInputElement> implements Validator, OnInit {\r\n\tprivate _focused = false;\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\r\n\t@Input() override set placeholder(p: string) {\r\n\t\tthis._elementRef.nativeElement.placeholder = p;\r\n\t}\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLInputElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateInputIntl) private _intl: ILuDateInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tif (this._focused) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet format: string;\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tformat = this._intl.formatYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tformat = this._intl.formatMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tformat = this._intl.formatDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tconst text = this.value && this._adapter.isValid(this.value) ? this._adapter.format(this.value, format) : '';\r\n\t\tthis._elementRef.nativeElement.value = text;\r\n\t}\r\n\t@HostListener('input', ['$event'])\r\n\tonInput(event) {\r\n\t\t// FIXME\r\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n\t\tconst text = event.target.value as string;\r\n\t\tconst value = this.parse(text);\r\n\t\tthis.setValue(value);\r\n\t}\r\n\tprivate parse(text: string): D {\r\n\t\tconst date = this._adapter.parse(text, this.granularity);\r\n\t\treturn date;\r\n\t}\r\n\t@HostListener('focus')\r\n\tonFocus() {\r\n\t\tthis._focused = true;\r\n\t}\r\n\t@HostListener('blur')\r\n\tonBlur() {\r\n\t\tthis._focused = false;\r\n\t\tthis.render();\r\n\t}\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","//FIXME\r\n/* eslint-disable @angular-eslint/no-output-on-prefix */\r\n/* eslint-disable @angular-eslint/no-output-native */\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\n\r\n@Component({\r\n\tselector: 'lu-date-picker',\r\n\ttemplateUrl: './date-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\texportAs: 'LuDatePicker',\r\n\tanimations: [luTransformPopover],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuDatePickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDatePickerComponent<D = Date> extends ALuPickerPanel<D> {\r\n\t_value: D;\r\n\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t@Output() override onSelectValue = new EventEmitter<D>();\r\n\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {\r\n\t\tsuper();\r\n\t}\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\t_emitHoveredEvent(h: boolean): void {\r\n\t\tthis.hovered.emit(h);\r\n\t}\r\n\t_emitSelectValue(val: D) {\r\n\t\tthis.onSelectValue.emit(val);\r\n\t}\r\n\tsetValue(value: D) {\r\n\t\tthis._value = value;\r\n\t}\r\n\t_onCalendar(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t\t// if (!this.multiple) {\r\n\t\tthis._emitCloseEvent();\r\n\t\t// }\r\n\t}\r\n\t_onInput(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t}\r\n\t_onEnter() {\r\n\t\tthis._emitCloseEvent();\r\n\t}\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Tab':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\t// ngAfterViewInit() {\r\n\t// \tthis._dateInput.nativeElement.focus();\r\n\t// }\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-date-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" cdkTrapFocus=\"false\" cdkTrapFocusAutoCapture=\"true\">\r\n\t\t\t<label class=\"textfield lu-picker-textfield\">\r\n\t\t\t\t<input\r\n\t\t\t\t\tluDateInput\r\n\t\t\t\t\tclass=\"textfield-input\"\r\n\t\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t\t(ngModelChange)=\"_onInput($event)\"\r\n\t\t\t\t\t(keydown.enter)=\"_onEnter()\"\r\n\t\t\t\t\t[min]=\"min\"\r\n\t\t\t\t\t[max]=\"max\"\r\n\t\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t/>\r\n\t\t\t</label>\r\n\t\t\t<lu-calendar\r\n\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t(ngModelChange)=\"_onCalendar($event)\"\r\n\t\t\t\t[min]=\"min\"\r\n\t\t\t\t[max]=\"max\"\r\n\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t[startOn]=\"startOn\"\r\n\t\t\t></lu-calendar>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateInputTranslations: ILuTranslation<ILuDateInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-GB': {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateInputDirective } from './date-input.directive';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { luDateInputTranslations } from './date-input.translate';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\n\r\n@NgModule({\r\n\timports: [],\r\n\texports: [LuDateInputDirective],\r\n\tdeclarations: [LuDateInputDirective],\r\n\tproviders: [LuDateInputIntl, { provide: LU_DATE_INPUT_TRANSLATIONS, useValue: luDateInputTranslations }],\r\n})\r\nexport class LuDateInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuCalendarInputModule } from '../calendar/index';\r\nimport { LuDatePickerComponent } from './date-picker.component';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { LuDateInputModule } from '../input/index';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule, LuCalendarInputModule, LuDateInputModule, OverlayModule, A11yModule],\r\n\texports: [LuDatePickerComponent],\r\n\tdeclarations: [LuDatePickerComponent],\r\n})\r\nexport class LuDatePickerModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\n\r\n@Pipe({\r\n\tname: 'luDate',\r\n\tpure: true,\r\n})\r\nexport class LuDateAdapterPipe<D> implements PipeTransform {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\ttransform(d: D, format = 'mediumDate'): string {\r\n\t\tif (d && this._adapter.isValid(d)) {\r\n\t\t\treturn this._adapter.format(d, format);\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateAdapterPipe } from './date-adapter.pipe';\r\n\r\n@NgModule({\r\n\tdeclarations: [LuDateAdapterPipe],\r\n\texports: [LuDateAdapterPipe],\r\n})\r\nexport class LuDateAdapterModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuDateSelectInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateSelectInputIntl extends ALuIntl<ILuDateSelectInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_SELECT_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateSelectInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\r\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-date-select',\r\n\ttemplateUrl: './date-select-input.component.html',\r\n\tstyleUrls: ['./date-select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateSelectInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputComponent<D> extends ALuSelectInputComponent<D> implements ControlValueAccessor, ILuInputWithPicker<D>, AfterViewInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input('placeholder') override set inputPlaceholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t@Input() hideClearer = false;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tget format(): string {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn this._intl.formatYear;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn this._intl.formatMonth;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._intl.formatDay;\r\n\t\t}\r\n\t}\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateSelectInputIntl) private _intl: ILuDateSelectInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t\tthis.overlapInput = true;\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<lu-input-clearer [class.u-displayNone]=\"hideClearer\" [attr.aria-hidden]=\"hideClearer\"></lu-input-clearer>\r\n</div>\r\n<ng-template luDisplayer let-value> {{ value | luDate: format }} </ng-template>\r\n<lu-date-picker [min]=\"min\" [max]=\"max\" [granularity]=\"granularity\" [startOn]=\"startOn\"></lu-date-picker>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateSelectInputTranslations: ILuTranslation<ILuDateSelectInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateSelectInputComponent } from './date-select-input.component';\r\nimport { LuDateAdapterModule } from '../adapter/index';\r\nimport { LuDatePickerModule } from '../picker/index';\r\nimport { LuInputModule, LuInputClearerModule, LuInputDisplayerModule } from '@lucca-front/ng/input';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { luDateSelectInputTranslations } from './date-select-input.translate';\r\n\r\n@NgModule({\r\n\timports: [LuDateAdapterModule, LuDatePickerModule, LuInputModule, OverlayModule, LuInputClearerModule, LuInputDisplayerModule],\r\n\texports: [LuDateSelectInputComponent],\r\n\tdeclarations: [LuDateSelectInputComponent],\r\n\tproviders: [\r\n\t\tLuDateSelectInputIntl,\r\n\t\t{\r\n\t\t\tprovide: LU_DATE_SELECT_INPUT_TRANSLATIONS,\r\n\t\t\tuseValue: luDateSelectInputTranslations,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuCalendarInputModule } from './calendar/index';\r\nimport { LuDatePickerModule } from './picker/index';\r\nimport { LuDateInputModule } from './input/index';\r\nimport { LuDateAdapterModule } from './adapter/index';\r\nimport { LuDateSelectInputModule } from './select/index';\r\n\r\n@NgModule({\r\n\timports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n\texports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n})\r\nexport class LuDateModule {}\r\n","/*\r\n * Public API Surface of safe-content\r\n */\r\n\r\nexport * from './lib/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuCalendarItemFactory","i2","i4.LuCalendarInputComponent","i5.LuDateInputDirective","i3.LuDatePickerComponent","i5.LuDateAdapterPipe"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-date.mjs","sources":["../../../packages/ng/date/src/lib/calendar/calendar-item.class.ts","../../../packages/ng/date/src/lib/calendar/calendar-item.factory.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.html","../../../packages/ng/date/src/lib/calendar/calendar-input.module.ts","../../../packages/ng/date/src/lib/input/date-input.token.ts","../../../packages/ng/date/src/lib/input/date-input.intl.ts","../../../packages/ng/date/src/lib/input/date-input.directive.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.html","../../../packages/ng/date/src/lib/input/date-input.translate.ts","../../../packages/ng/date/src/lib/input/date-input.module.ts","../../../packages/ng/date/src/lib/picker/date-picker.module.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.pipe.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.module.ts","../../../packages/ng/date/src/lib/select/date-select-input.token.ts","../../../packages/ng/date/src/lib/select/date-select-input.intl.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.html","../../../packages/ng/date/src/lib/select/date-select-input.translate.ts","../../../packages/ng/date/src/lib/select/date-select-input.module.ts","../../../packages/ng/date/src/lib/date.module.ts","../../../packages/ng/date/src/public-api.ts","../../../packages/ng/date/src/lucca-front-ng-date.ts"],"sourcesContent":["import { ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\nexport abstract class ACalendarItem<D> implements ICalendarItem<D> {\r\n\tget id() {\r\n\t\treturn `${this.granularity}-${this.date.toString()}`;\r\n\t}\r\n\tdate: D;\r\n\tmods: string[] = [];\r\n\tisDisabled = false;\r\n\tlabel: string;\r\n\treadonly granularity: ELuDateGranularity;\r\n}\r\nexport class DayItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.day;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class MonthItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.month;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class YearItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.year;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class DecadeItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.decade;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\nimport { DayItem, DecadeItem, MonthItem, YearItem } from './calendar-item.class';\r\n\r\n@Injectable()\r\nexport class LuCalendarItemFactory<D> {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\tforgeDay(d: D, format = 'd'): DayItem<D> {\r\n\t\tconst date = this._adapter.clone(d);\r\n\t\treturn new DayItem(date, this._adapter.format(date, format));\r\n\t}\r\n\tforgeMonth(d: D, format = 'MMM'): MonthItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst month = this._adapter.getMonth(d);\r\n\t\tconst monthStart = this._adapter.forge(year, month, 1);\r\n\t\treturn new MonthItem(monthStart, this._adapter.format(monthStart, format));\r\n\t}\r\n\tforgeYear(d: D, format = 'y'): YearItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst yearStart = this._adapter.forge(year, 1, 1);\r\n\t\treturn new YearItem(yearStart, this._adapter.format(yearStart, format));\r\n\t}\r\n\tforgeDecade(d: D, format = 'y'): DecadeItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst decadeStart = this._adapter.forge(10 * Math.floor(year / 10), 1, 1);\r\n\t\tconst decadeEnd = this._adapter.forge(10 * Math.floor(year / 10) + 9, 1, 1);\r\n\t\tconst label = `${this._adapter.format(decadeStart, format)} - ${this._adapter.format(decadeEnd, format)}`;\r\n\t\treturn new DecadeItem(decadeStart, label);\r\n\t}\r\n}\r\n","import { FormStyle, getLocaleDayNames, getLocaleFirstDayOfWeek, TranslationWidth } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, LOCALE_ID, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuCalendarItemFactory } from './calendar-item.factory';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\n@Component({\r\n\tselector: 'lu-calendar',\r\n\ttemplateUrl: './calendar-input.component.html',\r\n\tstyleUrls: ['./calendar-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuCalendarInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuCalendarInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\tLuCalendarItemFactory,\r\n\t],\r\n})\r\nexport class LuCalendarInputComponent<D> extends ALuInput<D> implements ControlValueAccessor, OnInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tviewGranularity: ELuDateGranularity;\r\n\theader: ICalendarItem<D>;\r\n\titems: ICalendarItem<D>[] = [];\r\n\tget mod() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn 'mod-yearlyView';\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn 'mod-monthlyView';\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'mod-dailyView';\r\n\t\t}\r\n\t}\r\n\r\n\t// daily view\r\n\tlabels: string[] = [];\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\t@Inject(LOCALE_ID) private _locale: string,\r\n\t\tprivate _factory: LuCalendarItemFactory<D>,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.viewGranularity = this.granularity;\r\n\t\tthis.initDayLabels();\r\n\t}\r\n\toverride writeValue(value?: D) {\r\n\t\tconst date = value && this._adapter.isValid(value) ? this._adapter.clone(value) : this.startOn;\r\n\t\tthis.header = this._factory.forgeMonth(date);\r\n\t\tsuper.writeValue(value);\r\n\t}\r\n\tinitDayLabels() {\r\n\t\tthis.labels = [...getLocaleDayNames(this._locale, FormStyle.Standalone, TranslationWidth.Narrow)];\r\n\t\tif (getLocaleFirstDayOfWeek(this._locale) === 1) {\r\n\t\t\tthis.labels.push(this.labels.shift());\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.renderYearlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.renderMonthlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.renderDailyView();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected renderDailyView(month: D = this.header.date) {\r\n\t\tthis.items = [];\r\n\t\tconst start = this._adapter.forge(this._adapter.getYear(month), this._adapter.getMonth(month), 1);\r\n\t\tlet index = 0;\r\n\t\tconst isFirstDayOfWeek = this._adapter.getDay(start) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\tthis.header = this._factory.forgeMonth(month, 'MMMM y');\r\n\t\tif (!isFirstDayOfWeek) {\r\n\t\t\tconst offset = (this._adapter.getDay(start) - getLocaleFirstDayOfWeek(this._locale) + 7) % 7;\r\n\t\t\tindex = -1 * offset;\r\n\t\t}\r\n\t\t// TODO\r\n\t\tlet isFDOW = false;\r\n\t\tlet isNextMonth = false;\r\n\t\tdo {\r\n\t\t\tconst d = this._adapter.add(start, index++, ELuDateGranularity.day);\r\n\t\t\tconst day = this._factory.forgeDay(d);\r\n\t\t\tisNextMonth = this._adapter.compare(d, month, ELuDateGranularity.month) > 0;\r\n\t\t\tisFDOW = this._adapter.getDay(d) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\t\tthis.items.push(day);\r\n\t\t} while (!isFDOW || !isNextMonth);\r\n\t\tthis.applyDailyMods();\r\n\t}\r\n\r\n\tprotected renderMonthlyView(year: D = this.header.date) {\r\n\t\tthis.header = this._factory.forgeYear(year);\r\n\t\tthis.items = [...Array(12).keys()].map((i) => {\r\n\t\t\tconst d = this._adapter.forge(this._adapter.getYear(year), i + 1, 1);\r\n\t\t\treturn this._factory.forgeMonth(d);\r\n\t\t});\r\n\t\tthis.applyMonthlyMods();\r\n\t}\r\n\r\n\tprotected renderYearlyView(decade: D = this.header.date) {\r\n\t\tconst year = Math.floor(this._adapter.getYear(decade) / 10) * 10;\r\n\t\tconst d = this._adapter.forge(year, 1, 1);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t\tthis.items = [...Array(10).keys()].map((i) => {\r\n\t\t\tconst y = this._adapter.forge(year + i, 1, 1);\r\n\t\t\treturn this._factory.forgeYear(y);\r\n\t\t});\r\n\t\tthis.applyYearlyMods();\r\n\t}\r\n\r\n\tprotected applyDailyMods() {\r\n\t\tconst month = this.header.date;\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst day = item.date;\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.mods.push('is-previousMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.mods.push('is-nextMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, today, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(day, this.value, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(day, min, ELuDateGranularity.day) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(day, max, ELuDateGranularity.day) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyMonthlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst month = item.date;\r\n\t\t\tif (this._adapter.compare(month, today, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(month, this.value, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(month, min, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(month, max, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyYearlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst year = item.date;\r\n\t\t\tif (this._adapter.compare(year, today, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(year, this.value, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(year, min, ELuDateGranularity.year) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(year, max, ELuDateGranularity.year) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tselect(item: ICalendarItem<D>) {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.selectYear(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.selectMonth(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.selectDay(item);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectDay(item: ICalendarItem<D>) {\r\n\t\tconst year = this._adapter.getYear(item.date);\r\n\t\tconst month = this._adapter.getMonth(item.date);\r\n\t\tconst d = this._adapter.forge(year, month, 1);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t\tthis.setValue(item.date);\r\n\t}\r\n\r\n\tprotected selectMonth(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.month) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.day;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectYear(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.year) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.month;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprevious() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.previousDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.previousYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.previousMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\tnext() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.nextDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.nextYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.nextMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\ttrackBy(_idx, item: ICalendarItem<D>) {\r\n\t\treturn item.id;\r\n\t}\r\n\r\n\tincreaseGranularity() {\r\n\t\tif (this.header.granularity !== ELuDateGranularity.decade) {\r\n\t\t\tthis.viewGranularity = this.header.granularity;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected nextMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected nextYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected nextDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tprotected previousMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected previousYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected previousDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LuCalendarInputComponent } from './calendar-input.component';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule],\r\n\texports: [LuCalendarInputComponent],\r\n\tdeclarations: [LuCalendarInputComponent],\r\n})\r\nexport class LuCalendarInputModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_INPUT_TRANSLATIONS = new InjectionToken('LuDateInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateInputIntl extends ALuIntl<ILuDateInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { ChangeDetectorRef, Directive, ElementRef, forwardRef, HostListener, Inject, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Directive({\r\n\tselector: 'input[luDateInput]',\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateInputDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateInputDirective,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateInputDirective<D> extends ALuInput<D, HTMLInputElement> implements Validator, OnInit {\r\n\tprivate _focused = false;\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\r\n\t@Input() override set placeholder(p: string) {\r\n\t\tthis._elementRef.nativeElement.placeholder = p;\r\n\t}\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLInputElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateInputIntl) private _intl: ILuDateInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tif (this._focused) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet format: string;\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tformat = this._intl.formatYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tformat = this._intl.formatMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tformat = this._intl.formatDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tconst text = this.value && this._adapter.isValid(this.value) ? this._adapter.format(this.value, format) : '';\r\n\t\tthis._elementRef.nativeElement.value = text;\r\n\t}\r\n\t@HostListener('input', ['$event'])\r\n\tonInput(event) {\r\n\t\t// FIXME\r\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n\t\tconst text = event.target.value as string;\r\n\t\tconst value = this.parse(text);\r\n\t\tthis.setValue(value);\r\n\t}\r\n\tprivate parse(text: string): D {\r\n\t\tconst date = this._adapter.parse(text, this.granularity);\r\n\t\treturn date;\r\n\t}\r\n\t@HostListener('focus')\r\n\tonFocus() {\r\n\t\tthis._focused = true;\r\n\t}\r\n\t@HostListener('blur')\r\n\tonBlur() {\r\n\t\tthis._focused = false;\r\n\t\tthis.render();\r\n\t}\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","//FIXME\r\n/* eslint-disable @angular-eslint/no-output-on-prefix */\r\n/* eslint-disable @angular-eslint/no-output-native */\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\n\r\n@Component({\r\n\tselector: 'lu-date-picker',\r\n\ttemplateUrl: './date-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\texportAs: 'LuDatePicker',\r\n\tanimations: [luTransformPopover],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuDatePickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDatePickerComponent<D = Date> extends ALuPickerPanel<D> {\r\n\t_value: D;\r\n\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t@Output() override onSelectValue = new EventEmitter<D>();\r\n\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {\r\n\t\tsuper();\r\n\t}\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\t_emitHoveredEvent(h: boolean): void {\r\n\t\tthis.hovered.emit(h);\r\n\t}\r\n\t_emitSelectValue(val: D) {\r\n\t\tthis.onSelectValue.emit(val);\r\n\t}\r\n\tsetValue(value: D) {\r\n\t\tthis._value = value;\r\n\t}\r\n\t_onCalendar(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t\t// if (!this.multiple) {\r\n\t\tthis._emitCloseEvent();\r\n\t\t// }\r\n\t}\r\n\t_onInput(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t}\r\n\t_onEnter() {\r\n\t\tthis._emitCloseEvent();\r\n\t}\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Tab':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\t// ngAfterViewInit() {\r\n\t// \tthis._dateInput.nativeElement.focus();\r\n\t// }\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-date-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" cdkTrapFocus=\"false\" cdkTrapFocusAutoCapture=\"true\">\r\n\t\t\t<label class=\"textfield lu-picker-textfield\">\r\n\t\t\t\t<input\r\n\t\t\t\t\tluDateInput\r\n\t\t\t\t\tclass=\"textfield-input\"\r\n\t\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t\t(ngModelChange)=\"_onInput($event)\"\r\n\t\t\t\t\t(keydown.enter)=\"_onEnter()\"\r\n\t\t\t\t\t[min]=\"min\"\r\n\t\t\t\t\t[max]=\"max\"\r\n\t\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t/>\r\n\t\t\t</label>\r\n\t\t\t<lu-calendar\r\n\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t(ngModelChange)=\"_onCalendar($event)\"\r\n\t\t\t\t[min]=\"min\"\r\n\t\t\t\t[max]=\"max\"\r\n\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t[startOn]=\"startOn\"\r\n\t\t\t></lu-calendar>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateInputTranslations: ILuTranslation<ILuDateInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-GB': {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateInputDirective } from './date-input.directive';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { luDateInputTranslations } from './date-input.translate';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\n\r\n@NgModule({\r\n\timports: [],\r\n\texports: [LuDateInputDirective],\r\n\tdeclarations: [LuDateInputDirective],\r\n\tproviders: [LuDateInputIntl, { provide: LU_DATE_INPUT_TRANSLATIONS, useValue: luDateInputTranslations }],\r\n})\r\nexport class LuDateInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuCalendarInputModule } from '../calendar/index';\r\nimport { LuDatePickerComponent } from './date-picker.component';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { LuDateInputModule } from '../input/index';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule, LuCalendarInputModule, LuDateInputModule, OverlayModule, A11yModule],\r\n\texports: [LuDatePickerComponent],\r\n\tdeclarations: [LuDatePickerComponent],\r\n})\r\nexport class LuDatePickerModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\n\r\n@Pipe({\r\n\tname: 'luDate',\r\n\tpure: true,\r\n})\r\nexport class LuDateAdapterPipe<D> implements PipeTransform {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\ttransform(d: D, format = 'mediumDate'): string {\r\n\t\tif (d && this._adapter.isValid(d)) {\r\n\t\t\treturn this._adapter.format(d, format);\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateAdapterPipe } from './date-adapter.pipe';\r\n\r\n@NgModule({\r\n\tdeclarations: [LuDateAdapterPipe],\r\n\texports: [LuDateAdapterPipe],\r\n})\r\nexport class LuDateAdapterModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuDateSelectInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateSelectInputIntl extends ALuIntl<ILuDateSelectInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_SELECT_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateSelectInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\r\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-date-select',\r\n\ttemplateUrl: './date-select-input.component.html',\r\n\tstyleUrls: ['./date-select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateSelectInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputComponent<D> extends ALuSelectInputComponent<D> implements ControlValueAccessor, ILuInputWithPicker<D>, AfterViewInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input('placeholder') override set inputPlaceholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t@Input() hideClearer = false;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tget format(): string {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn this._intl.formatYear;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn this._intl.formatMonth;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._intl.formatDay;\r\n\t\t}\r\n\t}\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateSelectInputIntl) private _intl: ILuDateSelectInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t\tthis.overlapInput = true;\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<lu-input-clearer [class.u-displayNone]=\"hideClearer\" [attr.aria-hidden]=\"hideClearer\"></lu-input-clearer>\r\n</div>\r\n<ng-template luDisplayer let-value> {{ value | luDate: format }} </ng-template>\r\n<lu-date-picker [min]=\"min\" [max]=\"max\" [granularity]=\"granularity\" [startOn]=\"startOn\"></lu-date-picker>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateSelectInputTranslations: ILuTranslation<ILuDateSelectInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateSelectInputComponent } from './date-select-input.component';\r\nimport { LuDateAdapterModule } from '../adapter/index';\r\nimport { LuDatePickerModule } from '../picker/index';\r\nimport { LuInputModule, LuInputClearerModule, LuInputDisplayerModule } from '@lucca-front/ng/input';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { luDateSelectInputTranslations } from './date-select-input.translate';\r\n\r\n@NgModule({\r\n\timports: [LuDateAdapterModule, LuDatePickerModule, LuInputModule, OverlayModule, LuInputClearerModule, LuInputDisplayerModule],\r\n\texports: [LuDateSelectInputComponent],\r\n\tdeclarations: [LuDateSelectInputComponent],\r\n\tproviders: [\r\n\t\tLuDateSelectInputIntl,\r\n\t\t{\r\n\t\t\tprovide: LU_DATE_SELECT_INPUT_TRANSLATIONS,\r\n\t\t\tuseValue: luDateSelectInputTranslations,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuCalendarInputModule } from './calendar/index';\r\nimport { LuDatePickerModule } from './picker/index';\r\nimport { LuDateInputModule } from './input/index';\r\nimport { LuDateAdapterModule } from './adapter/index';\r\nimport { LuDateSelectInputModule } from './select/index';\r\n\r\n@NgModule({\r\n\timports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n\texports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n})\r\nexport class LuDateModule {}\r\n","/*\r\n * Public API Surface of safe-content\r\n */\r\n\r\nexport * from './lib/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuCalendarItemFactory","i2","i4.LuCalendarInputComponent","i5.LuDateInputDirective","i3.LuDatePickerComponent","i5.LuDateAdapterPipe"],"mappings":"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"}
@@ -383,6 +383,7 @@ LuCalendarInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
383
383
  useExisting: LuCalendarInputComponent,
384
384
  multi: true,
385
385
  },
386
+ LuCalendarItemFactory,
386
387
  ], usesInheritance: true, ngImport: i0, template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
387
388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputComponent, decorators: [{
388
389
  type: Component,
@@ -397,6 +398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
397
398
  useExisting: LuCalendarInputComponent,
398
399
  multi: true,
399
400
  },
401
+ LuCalendarItemFactory,
400
402
  ], template: "<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n", styles: [":root{--components-user-picture-sizes-smallest-font-size: .5em;--components-user-picture-sizes-smallest-image-size: 2.5em;--components-user-picture-sizes-smaller-font-size: .65em;--components-user-picture-sizes-smaller-image-size: 2.5em;--components-user-picture-sizes-small-font-size: .8em;--components-user-picture-sizes-small-image-size: 2.5em;--components-user-picture-sizes-standard-font-size: 1em;--components-user-picture-sizes-standard-image-size: 2.5em;--components-user-picture-sizes-large-font-size: 1.35em;--components-user-picture-sizes-large-image-size: 2.5em;--components-user-picture-sizes-larger-font-size: 1.8em;--components-user-picture-sizes-larger-image-size: 2.5em;--components-user-picture-sizes-largest-font-size: 3em;--components-user-picture-sizes-largest-image-size: 2.5em}:root{--components-options-item-padding-vertical: .5rem;--components-options-item-padding-horizontal: .5rem;--components-options-item-multiple-padding: 2rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.calendar{background-color:var(--colors-white-color);width:var(--components-calendar-width);padding:var(--spacings-smaller)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav{background:transparent;border:none;cursor:pointer}.calendar-header-nav .lucca-icon{font-size:.9rem;color:var(--palettes-grey-900)}.calendar-header-date{font-weight:600;color:var(--palettes-grey-900);font-size:var(--sizes-big-font-size);padding:0;background:transparent;border:none;cursor:pointer}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:stretch;flex-wrap:wrap;text-align:center;font-size:var(--sizes-small-font-size);color:var(--palettes-primary-700);margin-bottom:var(--spacings-smaller)}.calendar-labels.mod-dailyView .calendar-labels-item{width:14.1428571429%}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap}.calendar-grid.mod-dailyView .calendar-grid-item{width:14.1428571429%}.calendar-grid.mod-monthlyView .calendar-grid-item,.calendar-grid.mod-yearlyView .calendar-grid-item{width:33%}.calendar-grid-item{height:2.4rem;border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth,.calendar-grid-item.is-disabled{color:var(--palettes-grey-500)}.calendar-grid-item.is-today{color:var(--palettes-grey-800)}.calendar-grid-item.is-today:before{content:\"\";z-index:2;box-shadow:inset 0 0 0 2px var(--palettes-primary-300);position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-grey-100)}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-primary-700);color:var(--palettes-primary-text)}.calendar-grid-item.is-active.is-today .calendar-grid-item-content:after{content:\"\";z-index:1;color:var(--palettes-primary-700);box-shadow:inset 0 0 0 4px #fff;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:2rem}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content{pointer-events:none;background-color:#fff}.calendar-grid-item-content{position:relative;height:2.4rem;width:100%;line-height:2.4rem;border-radius:2rem}\n"] }]
401
403
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
402
404
  type: Inject,
@@ -415,14 +417,13 @@ class LuCalendarInputModule {
415
417
  }
416
418
  LuCalendarInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
417
419
  LuCalendarInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, declarations: [LuCalendarInputComponent], imports: [FormsModule, CommonModule], exports: [LuCalendarInputComponent] });
418
- LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, providers: [LuCalendarItemFactory], imports: [FormsModule, CommonModule] });
420
+ LuCalendarInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, imports: [FormsModule, CommonModule] });
419
421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LuCalendarInputModule, decorators: [{
420
422
  type: NgModule,
421
423
  args: [{
422
424
  imports: [FormsModule, CommonModule],
423
425
  exports: [LuCalendarInputComponent],
424
426
  declarations: [LuCalendarInputComponent],
425
- providers: [LuCalendarItemFactory],
426
427
  }]
427
428
  }] });
428
429
 
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-date.mjs","sources":["../../../packages/ng/date/src/lib/calendar/calendar-item.class.ts","../../../packages/ng/date/src/lib/calendar/calendar-item.factory.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.html","../../../packages/ng/date/src/lib/calendar/calendar-input.module.ts","../../../packages/ng/date/src/lib/input/date-input.token.ts","../../../packages/ng/date/src/lib/input/date-input.intl.ts","../../../packages/ng/date/src/lib/input/date-input.directive.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.html","../../../packages/ng/date/src/lib/input/date-input.translate.ts","../../../packages/ng/date/src/lib/input/date-input.module.ts","../../../packages/ng/date/src/lib/picker/date-picker.module.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.pipe.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.module.ts","../../../packages/ng/date/src/lib/select/date-select-input.token.ts","../../../packages/ng/date/src/lib/select/date-select-input.intl.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.html","../../../packages/ng/date/src/lib/select/date-select-input.translate.ts","../../../packages/ng/date/src/lib/select/date-select-input.module.ts","../../../packages/ng/date/src/lib/date.module.ts","../../../packages/ng/date/src/public-api.ts","../../../packages/ng/date/src/lucca-front-ng-date.ts"],"sourcesContent":["import { ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\nexport abstract class ACalendarItem<D> implements ICalendarItem<D> {\r\n\tget id() {\r\n\t\treturn `${this.granularity}-${this.date.toString()}`;\r\n\t}\r\n\tdate: D;\r\n\tmods: string[] = [];\r\n\tisDisabled = false;\r\n\tlabel: string;\r\n\treadonly granularity: ELuDateGranularity;\r\n}\r\nexport class DayItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.day;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class MonthItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.month;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class YearItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.year;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class DecadeItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.decade;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\nimport { DayItem, DecadeItem, MonthItem, YearItem } from './calendar-item.class';\r\n\r\n@Injectable()\r\nexport class LuCalendarItemFactory<D> {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\tforgeDay(d: D, format = 'd'): DayItem<D> {\r\n\t\tconst date = this._adapter.clone(d);\r\n\t\treturn new DayItem(date, this._adapter.format(date, format));\r\n\t}\r\n\tforgeMonth(d: D, format = 'MMM'): MonthItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst month = this._adapter.getMonth(d);\r\n\t\tconst monthStart = this._adapter.forge(year, month, 1);\r\n\t\treturn new MonthItem(monthStart, this._adapter.format(monthStart, format));\r\n\t}\r\n\tforgeYear(d: D, format = 'y'): YearItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst yearStart = this._adapter.forge(year, 1, 1);\r\n\t\treturn new YearItem(yearStart, this._adapter.format(yearStart, format));\r\n\t}\r\n\tforgeDecade(d: D, format = 'y'): DecadeItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst decadeStart = this._adapter.forge(10 * Math.floor(year / 10), 1, 1);\r\n\t\tconst decadeEnd = this._adapter.forge(10 * Math.floor(year / 10) + 9, 1, 1);\r\n\t\tconst label = `${this._adapter.format(decadeStart, format)} - ${this._adapter.format(decadeEnd, format)}`;\r\n\t\treturn new DecadeItem(decadeStart, label);\r\n\t}\r\n}\r\n","import { FormStyle, getLocaleDayNames, getLocaleFirstDayOfWeek, TranslationWidth } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, LOCALE_ID, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuCalendarItemFactory } from './calendar-item.factory';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\n@Component({\r\n\tselector: 'lu-calendar',\r\n\ttemplateUrl: './calendar-input.component.html',\r\n\tstyleUrls: ['./calendar-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuCalendarInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuCalendarInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuCalendarInputComponent<D> extends ALuInput<D> implements ControlValueAccessor, OnInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tviewGranularity: ELuDateGranularity;\r\n\theader: ICalendarItem<D>;\r\n\titems: ICalendarItem<D>[] = [];\r\n\tget mod() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn 'mod-yearlyView';\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn 'mod-monthlyView';\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'mod-dailyView';\r\n\t\t}\r\n\t}\r\n\r\n\t// daily view\r\n\tlabels: string[] = [];\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\t@Inject(LOCALE_ID) private _locale: string,\r\n\t\tprivate _factory: LuCalendarItemFactory<D>,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.viewGranularity = this.granularity;\r\n\t\tthis.initDayLabels();\r\n\t}\r\n\toverride writeValue(value?: D) {\r\n\t\tconst date = value && this._adapter.isValid(value) ? this._adapter.clone(value) : this.startOn;\r\n\t\tthis.header = this._factory.forgeMonth(date);\r\n\t\tsuper.writeValue(value);\r\n\t}\r\n\tinitDayLabels() {\r\n\t\tthis.labels = [...getLocaleDayNames(this._locale, FormStyle.Standalone, TranslationWidth.Narrow)];\r\n\t\tif (getLocaleFirstDayOfWeek(this._locale) === 1) {\r\n\t\t\tthis.labels.push(this.labels.shift());\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.renderYearlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.renderMonthlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.renderDailyView();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected renderDailyView(month: D = this.header.date) {\r\n\t\tthis.items = [];\r\n\t\tconst start = this._adapter.forge(this._adapter.getYear(month), this._adapter.getMonth(month), 1);\r\n\t\tlet index = 0;\r\n\t\tconst isFirstDayOfWeek = this._adapter.getDay(start) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\tthis.header = this._factory.forgeMonth(month, 'MMMM y');\r\n\t\tif (!isFirstDayOfWeek) {\r\n\t\t\tconst offset = (this._adapter.getDay(start) - getLocaleFirstDayOfWeek(this._locale) + 7) % 7;\r\n\t\t\tindex = -1 * offset;\r\n\t\t}\r\n\t\t// TODO\r\n\t\tlet isFDOW = false;\r\n\t\tlet isNextMonth = false;\r\n\t\tdo {\r\n\t\t\tconst d = this._adapter.add(start, index++, ELuDateGranularity.day);\r\n\t\t\tconst day = this._factory.forgeDay(d);\r\n\t\t\tisNextMonth = this._adapter.compare(d, month, ELuDateGranularity.month) > 0;\r\n\t\t\tisFDOW = this._adapter.getDay(d) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\t\tthis.items.push(day);\r\n\t\t} while (!isFDOW || !isNextMonth);\r\n\t\tthis.applyDailyMods();\r\n\t}\r\n\r\n\tprotected renderMonthlyView(year: D = this.header.date) {\r\n\t\tthis.header = this._factory.forgeYear(year);\r\n\t\tthis.items = [...Array(12).keys()].map((i) => {\r\n\t\t\tconst d = this._adapter.forge(this._adapter.getYear(year), i + 1, 1);\r\n\t\t\treturn this._factory.forgeMonth(d);\r\n\t\t});\r\n\t\tthis.applyMonthlyMods();\r\n\t}\r\n\r\n\tprotected renderYearlyView(decade: D = this.header.date) {\r\n\t\tconst year = Math.floor(this._adapter.getYear(decade) / 10) * 10;\r\n\t\tconst d = this._adapter.forge(year, 1, 1);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t\tthis.items = [...Array(10).keys()].map((i) => {\r\n\t\t\tconst y = this._adapter.forge(year + i, 1, 1);\r\n\t\t\treturn this._factory.forgeYear(y);\r\n\t\t});\r\n\t\tthis.applyYearlyMods();\r\n\t}\r\n\r\n\tprotected applyDailyMods() {\r\n\t\tconst month = this.header.date;\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst day = item.date;\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.mods.push('is-previousMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.mods.push('is-nextMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, today, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(day, this.value, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(day, min, ELuDateGranularity.day) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(day, max, ELuDateGranularity.day) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyMonthlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst month = item.date;\r\n\t\t\tif (this._adapter.compare(month, today, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(month, this.value, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(month, min, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(month, max, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyYearlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst year = item.date;\r\n\t\t\tif (this._adapter.compare(year, today, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(year, this.value, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(year, min, ELuDateGranularity.year) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(year, max, ELuDateGranularity.year) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tselect(item: ICalendarItem<D>) {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.selectYear(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.selectMonth(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.selectDay(item);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectDay(item: ICalendarItem<D>) {\r\n\t\tconst year = this._adapter.getYear(item.date);\r\n\t\tconst month = this._adapter.getMonth(item.date);\r\n\t\tconst d = this._adapter.forge(year, month, 1);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t\tthis.setValue(item.date);\r\n\t}\r\n\r\n\tprotected selectMonth(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.month) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.day;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectYear(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.year) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.month;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprevious() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.previousDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.previousYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.previousMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\tnext() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.nextDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.nextYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.nextMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\ttrackBy(_idx, item: ICalendarItem<D>) {\r\n\t\treturn item.id;\r\n\t}\r\n\r\n\tincreaseGranularity() {\r\n\t\tif (this.header.granularity !== ELuDateGranularity.decade) {\r\n\t\t\tthis.viewGranularity = this.header.granularity;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected nextMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected nextYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected nextDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tprotected previousMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected previousYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected previousDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuCalendarInputComponent } from './calendar-input.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuCalendarItemFactory } from './calendar-item.factory';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule],\r\n\texports: [LuCalendarInputComponent],\r\n\tdeclarations: [LuCalendarInputComponent],\r\n\tproviders: [LuCalendarItemFactory],\r\n})\r\nexport class LuCalendarInputModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_INPUT_TRANSLATIONS = new InjectionToken('LuDateInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateInputIntl extends ALuIntl<ILuDateInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { ChangeDetectorRef, Directive, ElementRef, forwardRef, HostListener, Inject, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Directive({\r\n\tselector: 'input[luDateInput]',\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateInputDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateInputDirective,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateInputDirective<D> extends ALuInput<D, HTMLInputElement> implements Validator, OnInit {\r\n\tprivate _focused = false;\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\r\n\t@Input() override set placeholder(p: string) {\r\n\t\tthis._elementRef.nativeElement.placeholder = p;\r\n\t}\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLInputElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateInputIntl) private _intl: ILuDateInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tif (this._focused) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet format: string;\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tformat = this._intl.formatYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tformat = this._intl.formatMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tformat = this._intl.formatDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tconst text = this.value && this._adapter.isValid(this.value) ? this._adapter.format(this.value, format) : '';\r\n\t\tthis._elementRef.nativeElement.value = text;\r\n\t}\r\n\t@HostListener('input', ['$event'])\r\n\tonInput(event) {\r\n\t\t// FIXME\r\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n\t\tconst text = event.target.value as string;\r\n\t\tconst value = this.parse(text);\r\n\t\tthis.setValue(value);\r\n\t}\r\n\tprivate parse(text: string): D {\r\n\t\tconst date = this._adapter.parse(text, this.granularity);\r\n\t\treturn date;\r\n\t}\r\n\t@HostListener('focus')\r\n\tonFocus() {\r\n\t\tthis._focused = true;\r\n\t}\r\n\t@HostListener('blur')\r\n\tonBlur() {\r\n\t\tthis._focused = false;\r\n\t\tthis.render();\r\n\t}\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","//FIXME\r\n/* eslint-disable @angular-eslint/no-output-on-prefix */\r\n/* eslint-disable @angular-eslint/no-output-native */\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\n\r\n@Component({\r\n\tselector: 'lu-date-picker',\r\n\ttemplateUrl: './date-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\texportAs: 'LuDatePicker',\r\n\tanimations: [luTransformPopover],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuDatePickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDatePickerComponent<D = Date> extends ALuPickerPanel<D> {\r\n\t_value: D;\r\n\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t@Output() override onSelectValue = new EventEmitter<D>();\r\n\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {\r\n\t\tsuper();\r\n\t}\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\t_emitHoveredEvent(h: boolean): void {\r\n\t\tthis.hovered.emit(h);\r\n\t}\r\n\t_emitSelectValue(val: D) {\r\n\t\tthis.onSelectValue.emit(val);\r\n\t}\r\n\tsetValue(value: D) {\r\n\t\tthis._value = value;\r\n\t}\r\n\t_onCalendar(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t\t// if (!this.multiple) {\r\n\t\tthis._emitCloseEvent();\r\n\t\t// }\r\n\t}\r\n\t_onInput(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t}\r\n\t_onEnter() {\r\n\t\tthis._emitCloseEvent();\r\n\t}\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Tab':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\t// ngAfterViewInit() {\r\n\t// \tthis._dateInput.nativeElement.focus();\r\n\t// }\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-date-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" cdkTrapFocus=\"false\" cdkTrapFocusAutoCapture=\"true\">\r\n\t\t\t<label class=\"textfield lu-picker-textfield\">\r\n\t\t\t\t<input\r\n\t\t\t\t\tluDateInput\r\n\t\t\t\t\tclass=\"textfield-input\"\r\n\t\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t\t(ngModelChange)=\"_onInput($event)\"\r\n\t\t\t\t\t(keydown.enter)=\"_onEnter()\"\r\n\t\t\t\t\t[min]=\"min\"\r\n\t\t\t\t\t[max]=\"max\"\r\n\t\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t/>\r\n\t\t\t</label>\r\n\t\t\t<lu-calendar\r\n\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t(ngModelChange)=\"_onCalendar($event)\"\r\n\t\t\t\t[min]=\"min\"\r\n\t\t\t\t[max]=\"max\"\r\n\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t[startOn]=\"startOn\"\r\n\t\t\t></lu-calendar>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateInputTranslations: ILuTranslation<ILuDateInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-GB': {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateInputDirective } from './date-input.directive';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { luDateInputTranslations } from './date-input.translate';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\n\r\n@NgModule({\r\n\timports: [],\r\n\texports: [LuDateInputDirective],\r\n\tdeclarations: [LuDateInputDirective],\r\n\tproviders: [LuDateInputIntl, { provide: LU_DATE_INPUT_TRANSLATIONS, useValue: luDateInputTranslations }],\r\n})\r\nexport class LuDateInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuCalendarInputModule } from '../calendar/index';\r\nimport { LuDatePickerComponent } from './date-picker.component';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { LuDateInputModule } from '../input/index';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule, LuCalendarInputModule, LuDateInputModule, OverlayModule, A11yModule],\r\n\texports: [LuDatePickerComponent],\r\n\tdeclarations: [LuDatePickerComponent],\r\n})\r\nexport class LuDatePickerModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\n\r\n@Pipe({\r\n\tname: 'luDate',\r\n\tpure: true,\r\n})\r\nexport class LuDateAdapterPipe<D> implements PipeTransform {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\ttransform(d: D, format = 'mediumDate'): string {\r\n\t\tif (d && this._adapter.isValid(d)) {\r\n\t\t\treturn this._adapter.format(d, format);\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateAdapterPipe } from './date-adapter.pipe';\r\n\r\n@NgModule({\r\n\tdeclarations: [LuDateAdapterPipe],\r\n\texports: [LuDateAdapterPipe],\r\n})\r\nexport class LuDateAdapterModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuDateSelectInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateSelectInputIntl extends ALuIntl<ILuDateSelectInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_SELECT_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateSelectInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\r\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-date-select',\r\n\ttemplateUrl: './date-select-input.component.html',\r\n\tstyleUrls: ['./date-select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateSelectInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputComponent<D> extends ALuSelectInputComponent<D> implements ControlValueAccessor, ILuInputWithPicker<D>, AfterViewInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input('placeholder') override set inputPlaceholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t@Input() hideClearer = false;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tget format(): string {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn this._intl.formatYear;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn this._intl.formatMonth;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._intl.formatDay;\r\n\t\t}\r\n\t}\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateSelectInputIntl) private _intl: ILuDateSelectInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t\tthis.overlapInput = true;\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<lu-input-clearer [class.u-displayNone]=\"hideClearer\" [attr.aria-hidden]=\"hideClearer\"></lu-input-clearer>\r\n</div>\r\n<ng-template luDisplayer let-value> {{ value | luDate: format }} </ng-template>\r\n<lu-date-picker [min]=\"min\" [max]=\"max\" [granularity]=\"granularity\" [startOn]=\"startOn\"></lu-date-picker>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateSelectInputTranslations: ILuTranslation<ILuDateSelectInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateSelectInputComponent } from './date-select-input.component';\r\nimport { LuDateAdapterModule } from '../adapter/index';\r\nimport { LuDatePickerModule } from '../picker/index';\r\nimport { LuInputModule, LuInputClearerModule, LuInputDisplayerModule } from '@lucca-front/ng/input';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { luDateSelectInputTranslations } from './date-select-input.translate';\r\n\r\n@NgModule({\r\n\timports: [LuDateAdapterModule, LuDatePickerModule, LuInputModule, OverlayModule, LuInputClearerModule, LuInputDisplayerModule],\r\n\texports: [LuDateSelectInputComponent],\r\n\tdeclarations: [LuDateSelectInputComponent],\r\n\tproviders: [\r\n\t\tLuDateSelectInputIntl,\r\n\t\t{\r\n\t\t\tprovide: LU_DATE_SELECT_INPUT_TRANSLATIONS,\r\n\t\t\tuseValue: luDateSelectInputTranslations,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuCalendarInputModule } from './calendar/index';\r\nimport { LuDatePickerModule } from './picker/index';\r\nimport { LuDateInputModule } from './input/index';\r\nimport { LuDateAdapterModule } from './adapter/index';\r\nimport { LuDateSelectInputModule } from './select/index';\r\n\r\n@NgModule({\r\n\timports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n\texports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n})\r\nexport class LuDateModule {}\r\n","/*\r\n * Public API Surface of safe-content\r\n */\r\n\r\nexport * from './lib/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuCalendarItemFactory","i2","i4.LuCalendarInputComponent","i5.LuDateInputDirective","i3.LuDatePickerComponent","i5.LuDateAdapterPipe"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-date.mjs","sources":["../../../packages/ng/date/src/lib/calendar/calendar-item.class.ts","../../../packages/ng/date/src/lib/calendar/calendar-item.factory.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.ts","../../../packages/ng/date/src/lib/calendar/calendar-input.component.html","../../../packages/ng/date/src/lib/calendar/calendar-input.module.ts","../../../packages/ng/date/src/lib/input/date-input.token.ts","../../../packages/ng/date/src/lib/input/date-input.intl.ts","../../../packages/ng/date/src/lib/input/date-input.directive.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.ts","../../../packages/ng/date/src/lib/picker/date-picker.component.html","../../../packages/ng/date/src/lib/input/date-input.translate.ts","../../../packages/ng/date/src/lib/input/date-input.module.ts","../../../packages/ng/date/src/lib/picker/date-picker.module.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.pipe.ts","../../../packages/ng/date/src/lib/adapter/date-adapter.module.ts","../../../packages/ng/date/src/lib/select/date-select-input.token.ts","../../../packages/ng/date/src/lib/select/date-select-input.intl.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.ts","../../../packages/ng/date/src/lib/select/date-select-input.component.html","../../../packages/ng/date/src/lib/select/date-select-input.translate.ts","../../../packages/ng/date/src/lib/select/date-select-input.module.ts","../../../packages/ng/date/src/lib/date.module.ts","../../../packages/ng/date/src/public-api.ts","../../../packages/ng/date/src/lucca-front-ng-date.ts"],"sourcesContent":["import { ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\nexport abstract class ACalendarItem<D> implements ICalendarItem<D> {\r\n\tget id() {\r\n\t\treturn `${this.granularity}-${this.date.toString()}`;\r\n\t}\r\n\tdate: D;\r\n\tmods: string[] = [];\r\n\tisDisabled = false;\r\n\tlabel: string;\r\n\treadonly granularity: ELuDateGranularity;\r\n}\r\nexport class DayItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.day;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class MonthItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.month;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class YearItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.year;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\nexport class DecadeItem<D> extends ACalendarItem<D> implements ICalendarItem<D> {\r\n\toverride readonly granularity = ELuDateGranularity.decade;\r\n\tconstructor(public override date: D, public override label: string) {\r\n\t\tsuper();\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\nimport { DayItem, DecadeItem, MonthItem, YearItem } from './calendar-item.class';\r\n\r\n@Injectable()\r\nexport class LuCalendarItemFactory<D> {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\tforgeDay(d: D, format = 'd'): DayItem<D> {\r\n\t\tconst date = this._adapter.clone(d);\r\n\t\treturn new DayItem(date, this._adapter.format(date, format));\r\n\t}\r\n\tforgeMonth(d: D, format = 'MMM'): MonthItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst month = this._adapter.getMonth(d);\r\n\t\tconst monthStart = this._adapter.forge(year, month, 1);\r\n\t\treturn new MonthItem(monthStart, this._adapter.format(monthStart, format));\r\n\t}\r\n\tforgeYear(d: D, format = 'y'): YearItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst yearStart = this._adapter.forge(year, 1, 1);\r\n\t\treturn new YearItem(yearStart, this._adapter.format(yearStart, format));\r\n\t}\r\n\tforgeDecade(d: D, format = 'y'): DecadeItem<D> {\r\n\t\tconst year = this._adapter.getYear(d);\r\n\t\tconst decadeStart = this._adapter.forge(10 * Math.floor(year / 10), 1, 1);\r\n\t\tconst decadeEnd = this._adapter.forge(10 * Math.floor(year / 10) + 9, 1, 1);\r\n\t\tconst label = `${this._adapter.format(decadeStart, format)} - ${this._adapter.format(decadeEnd, format)}`;\r\n\t\treturn new DecadeItem(decadeStart, label);\r\n\t}\r\n}\r\n","import { FormStyle, getLocaleDayNames, getLocaleFirstDayOfWeek, TranslationWidth } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, LOCALE_ID, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuCalendarItemFactory } from './calendar-item.factory';\r\nimport { ICalendarItem } from './calendar-item.interface';\r\n\r\n@Component({\r\n\tselector: 'lu-calendar',\r\n\ttemplateUrl: './calendar-input.component.html',\r\n\tstyleUrls: ['./calendar-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuCalendarInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuCalendarInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\tLuCalendarItemFactory,\r\n\t],\r\n})\r\nexport class LuCalendarInputComponent<D> extends ALuInput<D> implements ControlValueAccessor, OnInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tviewGranularity: ELuDateGranularity;\r\n\theader: ICalendarItem<D>;\r\n\titems: ICalendarItem<D>[] = [];\r\n\tget mod() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn 'mod-yearlyView';\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn 'mod-monthlyView';\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'mod-dailyView';\r\n\t\t}\r\n\t}\r\n\r\n\t// daily view\r\n\tlabels: string[] = [];\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\t@Inject(LOCALE_ID) private _locale: string,\r\n\t\tprivate _factory: LuCalendarItemFactory<D>,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.viewGranularity = this.granularity;\r\n\t\tthis.initDayLabels();\r\n\t}\r\n\toverride writeValue(value?: D) {\r\n\t\tconst date = value && this._adapter.isValid(value) ? this._adapter.clone(value) : this.startOn;\r\n\t\tthis.header = this._factory.forgeMonth(date);\r\n\t\tsuper.writeValue(value);\r\n\t}\r\n\tinitDayLabels() {\r\n\t\tthis.labels = [...getLocaleDayNames(this._locale, FormStyle.Standalone, TranslationWidth.Narrow)];\r\n\t\tif (getLocaleFirstDayOfWeek(this._locale) === 1) {\r\n\t\t\tthis.labels.push(this.labels.shift());\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.renderYearlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.renderMonthlyView();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.renderDailyView();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected renderDailyView(month: D = this.header.date) {\r\n\t\tthis.items = [];\r\n\t\tconst start = this._adapter.forge(this._adapter.getYear(month), this._adapter.getMonth(month), 1);\r\n\t\tlet index = 0;\r\n\t\tconst isFirstDayOfWeek = this._adapter.getDay(start) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\tthis.header = this._factory.forgeMonth(month, 'MMMM y');\r\n\t\tif (!isFirstDayOfWeek) {\r\n\t\t\tconst offset = (this._adapter.getDay(start) - getLocaleFirstDayOfWeek(this._locale) + 7) % 7;\r\n\t\t\tindex = -1 * offset;\r\n\t\t}\r\n\t\t// TODO\r\n\t\tlet isFDOW = false;\r\n\t\tlet isNextMonth = false;\r\n\t\tdo {\r\n\t\t\tconst d = this._adapter.add(start, index++, ELuDateGranularity.day);\r\n\t\t\tconst day = this._factory.forgeDay(d);\r\n\t\t\tisNextMonth = this._adapter.compare(d, month, ELuDateGranularity.month) > 0;\r\n\t\t\tisFDOW = this._adapter.getDay(d) === getLocaleFirstDayOfWeek(this._locale);\r\n\t\t\tthis.items.push(day);\r\n\t\t} while (!isFDOW || !isNextMonth);\r\n\t\tthis.applyDailyMods();\r\n\t}\r\n\r\n\tprotected renderMonthlyView(year: D = this.header.date) {\r\n\t\tthis.header = this._factory.forgeYear(year);\r\n\t\tthis.items = [...Array(12).keys()].map((i) => {\r\n\t\t\tconst d = this._adapter.forge(this._adapter.getYear(year), i + 1, 1);\r\n\t\t\treturn this._factory.forgeMonth(d);\r\n\t\t});\r\n\t\tthis.applyMonthlyMods();\r\n\t}\r\n\r\n\tprotected renderYearlyView(decade: D = this.header.date) {\r\n\t\tconst year = Math.floor(this._adapter.getYear(decade) / 10) * 10;\r\n\t\tconst d = this._adapter.forge(year, 1, 1);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t\tthis.items = [...Array(10).keys()].map((i) => {\r\n\t\t\tconst y = this._adapter.forge(year + i, 1, 1);\r\n\t\t\treturn this._factory.forgeYear(y);\r\n\t\t});\r\n\t\tthis.applyYearlyMods();\r\n\t}\r\n\r\n\tprotected applyDailyMods() {\r\n\t\tconst month = this.header.date;\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst day = item.date;\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.mods.push('is-previousMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, month, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.mods.push('is-nextMonth');\r\n\t\t\t}\r\n\t\t\tif (this._adapter.compare(day, today, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(day, this.value, ELuDateGranularity.day) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(day, min, ELuDateGranularity.day) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(day, max, ELuDateGranularity.day) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyMonthlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst month = item.date;\r\n\t\t\tif (this._adapter.compare(month, today, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(month, this.value, ELuDateGranularity.month) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(month, min, ELuDateGranularity.month) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(month, max, ELuDateGranularity.month) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected applyYearlyMods() {\r\n\t\tconst today = this._adapter.forgeToday();\r\n\t\tconst min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;\r\n\t\tconst max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;\r\n\t\tthis.items.forEach((item) => {\r\n\t\t\tconst year = item.date;\r\n\t\t\tif (this._adapter.compare(year, today, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-today');\r\n\t\t\t}\r\n\t\t\tif (this.value && this._adapter.isValid(this.value) && this._adapter.compare(year, this.value, ELuDateGranularity.year) === 0) {\r\n\t\t\t\titem.mods.push('is-active');\r\n\t\t\t}\r\n\t\t\tif (min && this._adapter.compare(year, min, ELuDateGranularity.year) < 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t\tif (max && this._adapter.compare(year, max, ELuDateGranularity.year) > 0) {\r\n\t\t\t\titem.isDisabled = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tselect(item: ICalendarItem<D>) {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.selectYear(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.selectMonth(item);\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.selectDay(item);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectDay(item: ICalendarItem<D>) {\r\n\t\tconst year = this._adapter.getYear(item.date);\r\n\t\tconst month = this._adapter.getMonth(item.date);\r\n\t\tconst d = this._adapter.forge(year, month, 1);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t\tthis.setValue(item.date);\r\n\t}\r\n\r\n\tprotected selectMonth(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.month) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.day;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected selectYear(item: ICalendarItem<D>) {\r\n\t\tif (this.granularity === ELuDateGranularity.year) {\r\n\t\t\tthis.setValue(item.date);\r\n\t\t} else {\r\n\t\t\tthis.header = item;\r\n\t\t\tthis.viewGranularity = ELuDateGranularity.month;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprevious() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.previousDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.previousYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.previousMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\tnext() {\r\n\t\tswitch (this.viewGranularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.nextDecade();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.nextYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.nextMonth();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.render();\r\n\t}\r\n\r\n\ttrackBy(_idx, item: ICalendarItem<D>) {\r\n\t\treturn item.id;\r\n\t}\r\n\r\n\tincreaseGranularity() {\r\n\t\tif (this.header.granularity !== ELuDateGranularity.decade) {\r\n\t\t\tthis.viewGranularity = this.header.granularity;\r\n\t\t\tthis.render();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected nextMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected nextYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected nextDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, 1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tprotected previousMonth() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.month);\r\n\t\tthis.header = this._factory.forgeMonth(d);\r\n\t}\r\n\r\n\tprotected previousYear() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.year);\r\n\t\tthis.header = this._factory.forgeYear(d);\r\n\t}\r\n\r\n\tprotected previousDecade() {\r\n\t\tconst d = this._adapter.add(this.header.date, -1, ELuDateGranularity.decade);\r\n\t\tthis.header = this._factory.forgeDecade(d);\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<section class=\"calendar\">\r\n\t<header class=\"calendar-header\">\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"previous()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_west</span>\r\n\t\t\t<span class=\"u-mask\">Previous</span>\r\n\t\t</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\r\n\t\t<button type=\"button\" class=\"calendar-header-nav\" (click)=\"next()\">\r\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">arrow_east</span>\r\n\t\t\t<span class=\"u-mask\">Next</span>\r\n\t\t</button>\r\n\t</header>\r\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\r\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\r\n\t</section>\r\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\r\n\t\t\tclass=\"calendar-grid-item\"\r\n\t\t\t[ngClass]=\"item.mods\"\r\n\t\t\t[disabled]=\"item.isDisabled\"\r\n\t\t\t(click)=\"select(item)\"\r\n\t\t>\r\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\r\n\t\t</button>\r\n\t</section>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LuCalendarInputComponent } from './calendar-input.component';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule],\r\n\texports: [LuCalendarInputComponent],\r\n\tdeclarations: [LuCalendarInputComponent],\r\n})\r\nexport class LuCalendarInputModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_INPUT_TRANSLATIONS = new InjectionToken('LuDateInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateInputIntl extends ALuIntl<ILuDateInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { ChangeDetectorRef, Directive, ElementRef, forwardRef, HostListener, Inject, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuInput } from '@lucca-front/ng/input';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { ILuDateInputLabel } from './date-input.translate';\r\n\r\n@Directive({\r\n\tselector: 'input[luDateInput]',\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateInputDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateInputDirective,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateInputDirective<D> extends ALuInput<D, HTMLInputElement> implements Validator, OnInit {\r\n\tprivate _focused = false;\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\r\n\t@Input() override set placeholder(p: string) {\r\n\t\tthis._elementRef.nativeElement.placeholder = p;\r\n\t}\r\n\tconstructor(\r\n\t\t_changeDetectorRef: ChangeDetectorRef,\r\n\t\t_elementRef: ElementRef<HTMLInputElement>,\r\n\t\t_renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateInputIntl) private _intl: ILuDateInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _elementRef, _renderer);\r\n\t}\r\n\tngOnInit() {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tthis.placeholder = this._intl.placeholderDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tprotected render() {\r\n\t\tif (this._focused) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet format: string;\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\tformat = this._intl.formatYear;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\tformat = this._intl.formatMonth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\tformat = this._intl.formatDay;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tconst text = this.value && this._adapter.isValid(this.value) ? this._adapter.format(this.value, format) : '';\r\n\t\tthis._elementRef.nativeElement.value = text;\r\n\t}\r\n\t@HostListener('input', ['$event'])\r\n\tonInput(event) {\r\n\t\t// FIXME\r\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n\t\tconst text = event.target.value as string;\r\n\t\tconst value = this.parse(text);\r\n\t\tthis.setValue(value);\r\n\t}\r\n\tprivate parse(text: string): D {\r\n\t\tconst date = this._adapter.parse(text, this.granularity);\r\n\t\treturn date;\r\n\t}\r\n\t@HostListener('focus')\r\n\tonFocus() {\r\n\t\tthis._focused = true;\r\n\t}\r\n\t@HostListener('blur')\r\n\tonBlur() {\r\n\t\tthis._focused = false;\r\n\t\tthis.render();\r\n\t}\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","//FIXME\r\n/* eslint-disable @angular-eslint/no-output-on-prefix */\r\n/* eslint-disable @angular-eslint/no-output-native */\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\n\r\n@Component({\r\n\tselector: 'lu-date-picker',\r\n\ttemplateUrl: './date-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\texportAs: 'LuDatePicker',\r\n\tanimations: [luTransformPopover],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuDatePickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDatePickerComponent<D = Date> extends ALuPickerPanel<D> {\r\n\t_value: D;\r\n\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t@Output() override onSelectValue = new EventEmitter<D>();\r\n\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {\r\n\t\tsuper();\r\n\t}\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\t_emitHoveredEvent(h: boolean): void {\r\n\t\tthis.hovered.emit(h);\r\n\t}\r\n\t_emitSelectValue(val: D) {\r\n\t\tthis.onSelectValue.emit(val);\r\n\t}\r\n\tsetValue(value: D) {\r\n\t\tthis._value = value;\r\n\t}\r\n\t_onCalendar(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t\t// if (!this.multiple) {\r\n\t\tthis._emitCloseEvent();\r\n\t\t// }\r\n\t}\r\n\t_onInput(val: D) {\r\n\t\tthis._value = val;\r\n\t\tthis._emitSelectValue(val);\r\n\t}\r\n\t_onEnter() {\r\n\t\tthis._emitCloseEvent();\r\n\t}\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Tab':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\t// ngAfterViewInit() {\r\n\t// \tthis._dateInput.nativeElement.focus();\r\n\t// }\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-date-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" cdkTrapFocus=\"false\" cdkTrapFocusAutoCapture=\"true\">\r\n\t\t\t<label class=\"textfield lu-picker-textfield\">\r\n\t\t\t\t<input\r\n\t\t\t\t\tluDateInput\r\n\t\t\t\t\tclass=\"textfield-input\"\r\n\t\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t\t(ngModelChange)=\"_onInput($event)\"\r\n\t\t\t\t\t(keydown.enter)=\"_onEnter()\"\r\n\t\t\t\t\t[min]=\"min\"\r\n\t\t\t\t\t[max]=\"max\"\r\n\t\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t/>\r\n\t\t\t</label>\r\n\t\t\t<lu-calendar\r\n\t\t\t\t[ngModel]=\"_value\"\r\n\t\t\t\t(ngModelChange)=\"_onCalendar($event)\"\r\n\t\t\t\t[min]=\"min\"\r\n\t\t\t\t[max]=\"max\"\r\n\t\t\t\t[granularity]=\"granularity\"\r\n\t\t\t\t[startOn]=\"startOn\"\r\n\t\t\t></lu-calendar>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateInputTranslations: ILuTranslation<ILuDateInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-GB': {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateInputDirective } from './date-input.directive';\r\nimport { LuDateInputIntl } from './date-input.intl';\r\nimport { luDateInputTranslations } from './date-input.translate';\r\nimport { LU_DATE_INPUT_TRANSLATIONS } from './date-input.token';\r\n\r\n@NgModule({\r\n\timports: [],\r\n\texports: [LuDateInputDirective],\r\n\tdeclarations: [LuDateInputDirective],\r\n\tproviders: [LuDateInputIntl, { provide: LU_DATE_INPUT_TRANSLATIONS, useValue: luDateInputTranslations }],\r\n})\r\nexport class LuDateInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuCalendarInputModule } from '../calendar/index';\r\nimport { LuDatePickerComponent } from './date-picker.component';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { LuDateInputModule } from '../input/index';\r\n\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule, LuCalendarInputModule, LuDateInputModule, OverlayModule, A11yModule],\r\n\texports: [LuDatePickerComponent],\r\n\tdeclarations: [LuDatePickerComponent],\r\n})\r\nexport class LuDatePickerModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ALuDateAdapter } from '@lucca-front/ng/core';\r\n\r\n@Pipe({\r\n\tname: 'luDate',\r\n\tpure: true,\r\n})\r\nexport class LuDateAdapterPipe<D> implements PipeTransform {\r\n\tconstructor(private _adapter: ALuDateAdapter<D>) {}\r\n\ttransform(d: D, format = 'mediumDate'): string {\r\n\t\tif (d && this._adapter.isValid(d)) {\r\n\t\t\treturn this._adapter.format(d, format);\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateAdapterPipe } from './date-adapter.pipe';\r\n\r\n@NgModule({\r\n\tdeclarations: [LuDateAdapterPipe],\r\n\texports: [LuDateAdapterPipe],\r\n})\r\nexport class LuDateAdapterModule {}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LU_DATE_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuDateSelectInputtranslations');\r\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { ALuIntl, ILuTranslation } from '@lucca-front/ng/core';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Injectable()\r\nexport class LuDateSelectInputIntl extends ALuIntl<ILuDateSelectInputLabel> {\r\n\tconstructor(@Inject(LU_DATE_SELECT_INPUT_TRANSLATIONS) translations: ILuTranslation<ILuDateSelectInputLabel>, @Inject(LOCALE_ID) locale: string) {\r\n\t\tsuper(translations, locale);\r\n\t}\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Inject, Input, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\nimport { ALuDateAdapter, ELuDateGranularity } from '@lucca-front/ng/core';\r\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\r\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { ILuDateSelectInputLabel } from './date-select-input.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-date-select',\r\n\ttemplateUrl: './date-select-input.component.html',\r\n\tstyleUrls: ['./date-select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuDateSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: NG_VALIDATORS,\r\n\t\t\tuseExisting: LuDateSelectInputComponent,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputComponent<D> extends ALuSelectInputComponent<D> implements ControlValueAccessor, ILuInputWithPicker<D>, AfterViewInit, Validator {\r\n\t@Input() min?: D;\r\n\t@Input() max?: D;\r\n\t@Input() granularity: ELuDateGranularity = ELuDateGranularity.day;\r\n\t@Input('placeholder') override set inputPlaceholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t@Input() hideClearer = false;\r\n\t@Input() startOn: D = this._adapter.forgeToday();\r\n\r\n\tget format(): string {\r\n\t\tswitch (this.granularity) {\r\n\t\t\tcase ELuDateGranularity.year:\r\n\t\t\t\treturn this._intl.formatYear;\r\n\t\t\tcase ELuDateGranularity.month:\r\n\t\t\t\treturn this._intl.formatMonth;\r\n\t\t\tcase ELuDateGranularity.day:\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._intl.formatDay;\r\n\t\t}\r\n\t}\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t\tprivate _adapter: ALuDateAdapter<D>,\r\n\t\t@Inject(LuDateSelectInputIntl) private _intl: ILuDateSelectInputLabel,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t\tthis.overlapInput = true;\r\n\t}\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null {\r\n\t\tconst d = control.value as D;\r\n\t\tif (!d) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif (!this._adapter.isValid(d)) {\r\n\t\t\treturn { date: true };\r\n\t\t}\r\n\t\tif (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {\r\n\t\t\treturn { min: true };\r\n\t\t}\r\n\t\tif (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {\r\n\t\t\treturn { max: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<lu-input-clearer [class.u-displayNone]=\"hideClearer\" [attr.aria-hidden]=\"hideClearer\"></lu-input-clearer>\r\n</div>\r\n<ng-template luDisplayer let-value> {{ value | luDate: format }} </ng-template>\r\n<lu-date-picker [min]=\"min\" [max]=\"max\" [granularity]=\"granularity\" [startOn]=\"startOn\"></lu-date-picker>\r\n","import { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport interface ILuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\nexport abstract class ALuDateSelectInputLabel {\r\n\tplaceholderDay: string;\r\n\tplaceholderMonth: string;\r\n\tplaceholderYear: string;\r\n\tformatDay: string;\r\n\tformatMonth: string;\r\n\tformatYear: string;\r\n}\r\n\r\nexport const luDateSelectInputTranslations: ILuTranslation<ILuDateSelectInputLabel> = {\r\n\ten: {\r\n\t\tplaceholderDay: 'dd/mm/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\t'en-US': {\r\n\t\tplaceholderDay: 'mm/dd/yyyy',\r\n\t\tplaceholderMonth: 'mm/yyyy',\r\n\t\tplaceholderYear: 'yyyy',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDay: 'jj/mm/aaaa',\r\n\t\tplaceholderMonth: 'mm/aaaa',\r\n\t\tplaceholderYear: 'aaaa',\r\n\t\tformatDay: 'shortDate',\r\n\t\tformatMonth: 'MM/y',\r\n\t\tformatYear: 'y',\r\n\t},\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { LuDateSelectInputComponent } from './date-select-input.component';\r\nimport { LuDateAdapterModule } from '../adapter/index';\r\nimport { LuDatePickerModule } from '../picker/index';\r\nimport { LuInputModule, LuInputClearerModule, LuInputDisplayerModule } from '@lucca-front/ng/input';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { LuDateSelectInputIntl } from './date-select-input.intl';\r\nimport { LU_DATE_SELECT_INPUT_TRANSLATIONS } from './date-select-input.token';\r\nimport { luDateSelectInputTranslations } from './date-select-input.translate';\r\n\r\n@NgModule({\r\n\timports: [LuDateAdapterModule, LuDatePickerModule, LuInputModule, OverlayModule, LuInputClearerModule, LuInputDisplayerModule],\r\n\texports: [LuDateSelectInputComponent],\r\n\tdeclarations: [LuDateSelectInputComponent],\r\n\tproviders: [\r\n\t\tLuDateSelectInputIntl,\r\n\t\t{\r\n\t\t\tprovide: LU_DATE_SELECT_INPUT_TRANSLATIONS,\r\n\t\t\tuseValue: luDateSelectInputTranslations,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuDateSelectInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuCalendarInputModule } from './calendar/index';\r\nimport { LuDatePickerModule } from './picker/index';\r\nimport { LuDateInputModule } from './input/index';\r\nimport { LuDateAdapterModule } from './adapter/index';\r\nimport { LuDateSelectInputModule } from './select/index';\r\n\r\n@NgModule({\r\n\timports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n\texports: [LuCalendarInputModule, LuDatePickerModule, LuDateInputModule, LuDateAdapterModule, LuDateSelectInputModule],\r\n})\r\nexport class LuDateModule {}\r\n","/*\r\n * Public API Surface of safe-content\r\n */\r\n\r\nexport * from './lib/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuCalendarItemFactory","i2","i4.LuCalendarInputComponent","i5.LuDateInputDirective","i3.LuDatePickerComponent","i5.LuDateAdapterPipe"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "10.0.4",
3
+ "version": "10.0.5",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,8 +29,8 @@
29
29
  "@angular/common": "^14.0.0",
30
30
  "@angular/core": "^14.0.0",
31
31
  "@angular/cdk": "^14.0.0",
32
- "@lucca-front/icons": "v10.0.4",
33
- "@lucca-front/scss": "v10.0.4",
32
+ "@lucca-front/icons": "v10.0.5",
33
+ "@lucca-front/scss": "v10.0.5",
34
34
  "@types/dompurify": "^2.3.0",
35
35
  "dompurify": "^2.3.0",
36
36
  "rxjs": "^6.0.0 || ^7.0.0"