@morozeckiy/dd-lib 0.4.26 → 0.5.1

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.
@@ -89,7 +89,7 @@ export class LibPeriodComponent {
89
89
  useExisting: forwardRef(() => LibPeriodComponent),
90
90
  multi: true,
91
91
  },
92
- ], ngImport: i0, template: "<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"period__wrapper\">\r\n <dd-lib-card class=\"period__block\" type=\"small\">\r\n <div>\r\n <div class=\"period__header\">\r\n <div class=\"period__back\" (click)=\"periodIsShown = false\">\r\n <dd-lib-svg-icon icon=\"toggle_arrow_left\"></dd-lib-svg-icon>\r\n <div class=\"g-h5-title\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </div>\r\n <div class=\"g-h5-title hide-tablet\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n <div (click)=\"clearPeriod()\" class=\"g-text font-medium green cup\">\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C</div>\r\n </div>\r\n <div class=\"period__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"g-text font-medium green cup mt-8\">\r\n {{ calendarIsShown ? '\u0417\u0430\u043A\u0440\u044B\u0442\u044C' : '\u041E\u0442\u043A\u0440\u044B\u0442\u044C' }} \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"period__calendar\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["dd-lib-filter-button{position:relative}.period__wrapper{position:absolute;left:0;z-index:400;display:block;width:352px;height:348px;margin-top:8px;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__wrapper{position:fixed;top:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}@media screen and (max-width: 840px){.period__block{height:100%}}.period__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media screen and (max-width: 840px){.period__header{padding-bottom:24px;border-bottom:1px solid var(--gray-color-200)}}@media screen and (max-width: 480px){.period__header{padding-top:8px}}.period__back{display:none}@media screen and (max-width: 840px){.period__back{display:flex;align-items:center}}.period__back ::ng-deep svg{margin-right:16px}.period__back ::ng-deep svg path{stroke:var(--menu-arr-color)}.period__list{max-height:400px;overflow:auto}@media screen and (max-width: 840px){.period__list{max-height:none}}.period__list ::ng-deep dd-lib-radio{display:block;margin-bottom:16px}@media screen and (max-width: 840px){.period__list ::ng-deep dd-lib-radio:not(:last-child){padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}}.period__calendar{margin-top:8px;display:block;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__calendar{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "component", type: LibFilterButtonComponent, selector: "dd-lib-filter-button", inputs: ["btnTitle", "hintContent"], outputs: ["clearEvent", "hintEvent"] }, { kind: "component", type: LibRadioComponent, selector: "dd-lib-radio", inputs: ["radioId", "disabled", "required", "name", "value", "checked"], outputs: ["changed"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ ], ngImport: i0, template: "<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"period__wrapper\">\r\n <dd-lib-card class=\"period__block\" type=\"small\">\r\n <div>\r\n <div class=\"period__header\">\r\n <div class=\"period__back\" (click)=\"periodIsShown = false\">\r\n <dd-lib-svg-icon icon=\"toggle_arrow_left\"></dd-lib-svg-icon>\r\n <div class=\"g-h5-title\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </div>\r\n <div class=\"g-h5-title hide-tablet\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n <div (click)=\"clearPeriod()\" class=\"g-text font-medium green cup\">\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C</div>\r\n </div>\r\n <div class=\"period__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"g-text font-medium green cup mt-8\">\r\n {{ calendarIsShown ? '\u0417\u0430\u043A\u0440\u044B\u0442\u044C' : '\u041E\u0442\u043A\u0440\u044B\u0442\u044C' }} \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"period__calendar\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["dd-lib-filter-button{position:relative}.period__wrapper{position:absolute;left:0;z-index:400;display:block;width:352px;height:348px;margin-top:8px;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__wrapper{position:fixed;top:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}@media screen and (max-width: 840px){.period__block{height:100%}}.period__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media screen and (max-width: 840px){.period__header{padding-bottom:24px;border-bottom:1px solid var(--gray-color-200)}}@media screen and (max-width: 480px){.period__header{padding-top:8px}}.period__back{display:none}@media screen and (max-width: 840px){.period__back{display:flex;align-items:center}}.period__back ::ng-deep svg{margin-right:16px}.period__back ::ng-deep svg path{stroke:var(--menu-arr-color)}.period__list{max-height:400px;overflow:auto}@media screen and (max-width: 840px){.period__list{max-height:none}}.period__list ::ng-deep dd-lib-radio{display:block;margin-bottom:16px}@media screen and (max-width: 840px){.period__list ::ng-deep dd-lib-radio:not(:last-child){padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}}.period__calendar{margin-top:8px;display:block;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__calendar{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "component", type: LibFilterButtonComponent, selector: "dd-lib-filter-button", inputs: ["btnTitle", "hintContent"], outputs: ["clearEvent", "hintEvent"] }, { kind: "component", type: LibRadioComponent, selector: "dd-lib-radio", inputs: ["radioId", "disabled", "required", "name", "value", "checked"], outputs: ["changed"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "maxHours", "maxMinutes", "needTime", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibPeriodComponent, decorators: [{
95
95
  type: Component,
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
113
113
  }], setPeriodDate: [{
114
114
  type: Output
115
115
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXBlcmlvZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItcGVyaW9kL2xpYi1wZXJpb2QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXBlcmlvZC9saWItcGVyaW9kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFDLHFCQUFxQixFQUFlLGNBQWMsRUFBd0MsTUFBTSxTQUFTLENBQUM7QUFDbEgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUEwQjNFLE1BQU0sT0FBTyxrQkFBa0I7YUFDZixjQUFTLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFlNUIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFiM0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUcxRixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixvQkFBZSxH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VyxhQUFhO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYkZpbHRlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1maWx0ZXItYnV0dG9uL2xpYi1maWx0ZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYlJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTGliQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9saWItY2FsZW5kYXIvbGliLWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBEYXRlU2VydmljZSwgREVGQVVMVF9GT1JNQVQsIEdldERhdGVCeSwgUGVyaW9kTWVudURhdGUsIFBlcmlvZE5hbWV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1wZXJpb2QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGliQ2FyZENvbXBvbmVudCxcclxuICAgIExpYkZpbHRlckJ1dHRvbkNvbXBvbmVudCxcclxuICAgIExpYlJhZGlvQ29tcG9uZW50LFxyXG4gICAgTGliQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIExpYlN2Z0ljb25Db21wb25lbnQsXHJcbiAgXSxcclxuXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1wZXJpb2QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItcGVyaW9kLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlBlcmlvZENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliUGVyaW9kQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHVibGljIHN0YXRpYyBpZENvdW50ZXIgPSAxO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2V0UGVyaW9kRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBba2V5IGluIGtleW9mIEdldERhdGVCeV06IHN0cmluZyB9IHwgbnVsbD4oKTtcclxuXHJcbiAgcHVibGljIHBlcmlvZE1lbnU6IFBlcmlvZE1lbnVEYXRlW10gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHBlcmlvZElzU2hvd24gPSBmYWxzZTtcclxuICBwdWJsaWMgY2FsZW5kYXJJc1Nob3duID0gZmFsc2U7XHJcbiAgcHVibGljIHBlcmlvZElzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgY2FsZW5kYXJJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkUGVyaW9kOiBQZXJpb2ROYW1lIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGlkUGVyaW9kITogc3RyaW5nO1xyXG4gIHB1YmxpYyBpZENhbGVuZGFyITogc3RyaW5nO1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlU2VydmljZTogRGF0ZVNlcnZpY2UpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaWRQZXJpb2QgPSAncGVyaW9kLXdyYXBwZXItJyArIExpYlBlcmlvZENvbXBvbmVudC5pZENvdW50ZXIrKztcclxuICAgIHRoaXMuaWRDYWxlbmRhciA9ICdjYWxlbmRhci13cmFwcGVyLScgKyBMaWJQZXJpb2RDb21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB0aGlzLnBlcmlvZE1lbnUgPSB0aGlzLmRhdGVTZXJ2aWNlLmdldFBlcmlvZE1lbnUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQZXJpb2QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcmlvZElzU2hvd24gPSAhdGhpcy5wZXJpb2RJc1Nob3duO1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSAhIXRoaXMuc2VsZWN0ZWREYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyUGVyaW9kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQobnVsbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0UGVyaW9kKHR5cGU6IGtleW9mIEdldERhdGVCeSk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICBjb25zdCBkYXRlID0gdGhpcy5kYXRlU2VydmljZS5nZXRGb3JtYXR0ZWREYXRlKHR5cGUpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodHlwZSk7XHJcbiAgICB0aGlzLnNldFBlcmlvZERhdGUuZW1pdCh7IFt0eXBlXTogZGF0ZSB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXRlKCRldmVudDogRGF0ZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSBmYWxzZTtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9ICdjYWxlbmRhcic7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWRQZXJpb2QpO1xyXG4gICAgICB0aGlzLnBlcmlvZElzU2hvd24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJJc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQoeyBjYWxlbmRhcjogZm9ybWF0KCRldmVudCwgREVGQVVMVF9GT1JNQVQpIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kRGF0ZS5lbWl0KG51bGwpO1xyXG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRQZXJpb2QpIHtcclxuICAgICAgICB0aGlzLnBlcmlvZElzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsaWNrT3V0c2lkZSgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMucGVyaW9kSXNTaG93biA9ICRldmVudDtcclxuICAgIGlmICh0aGlzLnBlcmlvZElzU2hvd24gJiYgISRldmVudCkge1xyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9ICRldmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlKHZhbHVlOiBQZXJpb2ROYW1lKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3MtcmVsYXRpdmVcIj5cclxuICA8ZGQtbGliLWZpbHRlci1idXR0b25cclxuICAgIChjbGVhckV2ZW50KT1cImNsZWFyUGVyaW9kKClcIlxyXG4gICAgKGNsaWNrRXZlbnQpPVwic2hvd1BlcmlvZCgpXCJcclxuICAgIFthY3RpdmVdPVwicGVyaW9kSXNTZWxlY3RlZCB8fCBjYWxlbmRhcklzU2VsZWN0ZWRcIlxyXG4gICAgW2lkXT1cImlkUGVyaW9kXCJcclxuICAgIGJ0bkNvbG9yPVwidHJhbnNwYXJlbnRcIj5cclxuICAgIDxkaXY+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgPC9kZC1saWItZmlsdGVyLWJ1dHRvbj5cclxuICBAaWYgKHBlcmlvZElzU2hvd24pIHtcclxuICA8ZGl2IChkZENsaWNrT3V0c2lkZSk9XCJjbGlja091dHNpZGUoJGV2ZW50KVwiIFtlbGVtZW50c109XCJbaWRQZXJpb2QsIGlkQ2FsZW5kYXJdXCIgY2xhc3M9XCJwZXJpb2RfX3dyYXBwZXJcIj5cclxuICAgIDxkZC1saWItY2FyZCBjbGFzcz1cInBlcmlvZF9fYmxvY2tcIiB0eXBlPVwic21hbGxcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyaW9kX19oZWFkZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJpb2RfX2JhY2tcIiAoY2xpY2spPVwicGVyaW9kSXNTaG93biA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cInRvZ2dsZV9hcnJvd19sZWZ0XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnLWg1LXRpdGxlXCI+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnLWg1LXRpdGxlIGhpZGUtdGFibGV0XCI+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJjbGVhclBlcmlvZCgpXCIgY2xhc3M9XCJnLXRleHQgZm9udC1tZWRpdW0gZ3JlZW4gY3VwXCI+0KHQsdGA0L7RgdC40YLRjDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJpb2RfX2xpc3RcIj5cclxuICAgICAgICAgIEBmb3IgKHBlcmlvZCBvZiBwZXJpb2RNZW51OyB0cmFjayBwZXJpb2QpIHtcclxuICAgICAgICAgIDxkZC1saWItcmFkaW8gKGNoYW5nZWQpPVwic2VsZWN0UGVyaW9kKCRldmVudClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUGVyaW9kXCIgW3ZhbHVlXT1cInBlcmlvZC5uYW1lXCI+e3tcclxuICAgICAgICAgICAgcGVyaW9kLnRpdGxlXHJcbiAgICAgICAgICB9fTwvZGQtbGliLXJhZGlvPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImNhbGVuZGFySXNTaG93biA9ICFjYWxlbmRhcklzU2hvd25cIiBjbGFzcz1cImctdGV4dCBmb250LW1lZGl1bSBncmVlbiBjdXAgbXQtOFwiPlxyXG4gICAgICAgICAge3sgY2FsZW5kYXJJc1Nob3duID8gJ9CX0LDQutGA0YvRgtGMJyA6ICfQntGC0LrRgNGL0YLRjCcgfX0g0LrQsNC70LXQvdC00LDRgNGMXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kZC1saWItY2FyZD5cclxuICAgIEBpZiAoY2FsZW5kYXJJc1Nob3duKSB7XHJcbiAgICA8ZGQtbGliLWNhbGVuZGFyXHJcbiAgICAgIChlbWl0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVwiXHJcbiAgICAgIFtpZF09XCJpZENhbGVuZGFyXCJcclxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgIGNsYXNzPVwicGVyaW9kX19jYWxlbmRhclwiPlxyXG4gICAgPC9kZC1saWItY2FsZW5kYXI+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXBlcmlvZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItcGVyaW9kL2xpYi1wZXJpb2QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXBlcmlvZC9saWItcGVyaW9kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFDLHFCQUFxQixFQUFlLGNBQWMsRUFBd0MsTUFBTSxTQUFTLENBQUM7QUFDbEgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUEwQjNFLE1BQU0sT0FBTyxrQkFBa0I7YUFDZixjQUFTLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFlNUIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFiM0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUcxRixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0lBT2EsQ0FBQztJQUV6QyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBTztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBTztRQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFxQjtRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQXdCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWU7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsS0FBaUIsSUFBRyxDQUFDOzhHQXZGbEMsa0JBQWtCO2tHQUFsQixrQkFBa0IseUlBUmxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQzFDSCw0Z0VBNkNBLGdnRERyQkksZ0JBQWdCLDBMQUNoQix3QkFBd0IsNElBQ3hCLGlCQUFpQix3SkFDakIsb0JBQW9CLCtOQUNwQixXQUFXLCtWQUNYLHFCQUFxQixnSEFDckIsbUJBQW1COzsyRkFjVixrQkFBa0I7a0JBeEI5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUNwQixtQkFJZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7Z0ZBSWUsT0FBTztzQkFBdEIsS0FBSztnQkFDVyxhQUFhO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYkZpbHRlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1maWx0ZXItYnV0dG9uL2xpYi1maWx0ZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYlJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTGliQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9saWItY2FsZW5kYXIvbGliLWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBEYXRlU2VydmljZSwgREVGQVVMVF9GT1JNQVQsIEdldERhdGVCeSwgUGVyaW9kTWVudURhdGUsIFBlcmlvZE5hbWV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1wZXJpb2QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGliQ2FyZENvbXBvbmVudCxcclxuICAgIExpYkZpbHRlckJ1dHRvbkNvbXBvbmVudCxcclxuICAgIExpYlJhZGlvQ29tcG9uZW50LFxyXG4gICAgTGliQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIExpYlN2Z0ljb25Db21wb25lbnQsXHJcbiAgXSxcclxuXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1wZXJpb2QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItcGVyaW9kLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlBlcmlvZENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliUGVyaW9kQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHVibGljIHN0YXRpYyBpZENvdW50ZXIgPSAxO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2V0UGVyaW9kRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBba2V5IGluIGtleW9mIEdldERhdGVCeV06IHN0cmluZyB9IHwgbnVsbD4oKTtcclxuXHJcbiAgcHVibGljIHBlcmlvZE1lbnU6IFBlcmlvZE1lbnVEYXRlW10gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHBlcmlvZElzU2hvd24gPSBmYWxzZTtcclxuICBwdWJsaWMgY2FsZW5kYXJJc1Nob3duID0gZmFsc2U7XHJcbiAgcHVibGljIHBlcmlvZElzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgY2FsZW5kYXJJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkUGVyaW9kOiBQZXJpb2ROYW1lIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGlkUGVyaW9kITogc3RyaW5nO1xyXG4gIHB1YmxpYyBpZENhbGVuZGFyITogc3RyaW5nO1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlU2VydmljZTogRGF0ZVNlcnZpY2UpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaWRQZXJpb2QgPSAncGVyaW9kLXdyYXBwZXItJyArIExpYlBlcmlvZENvbXBvbmVudC5pZENvdW50ZXIrKztcclxuICAgIHRoaXMuaWRDYWxlbmRhciA9ICdjYWxlbmRhci13cmFwcGVyLScgKyBMaWJQZXJpb2RDb21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB0aGlzLnBlcmlvZE1lbnUgPSB0aGlzLmRhdGVTZXJ2aWNlLmdldFBlcmlvZE1lbnUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQZXJpb2QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcmlvZElzU2hvd24gPSAhdGhpcy5wZXJpb2RJc1Nob3duO1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSAhIXRoaXMuc2VsZWN0ZWREYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyUGVyaW9kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQobnVsbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0UGVyaW9kKHR5cGU6IGtleW9mIEdldERhdGVCeSk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICBjb25zdCBkYXRlID0gdGhpcy5kYXRlU2VydmljZS5nZXRGb3JtYXR0ZWREYXRlKHR5cGUpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodHlwZSk7XHJcbiAgICB0aGlzLnNldFBlcmlvZERhdGUuZW1pdCh7IFt0eXBlXTogZGF0ZSB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXRlKCRldmVudDogRGF0ZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSBmYWxzZTtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9ICdjYWxlbmRhcic7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWRQZXJpb2QpO1xyXG4gICAgICB0aGlzLnBlcmlvZElzU2hvd24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJJc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQoeyBjYWxlbmRhcjogZm9ybWF0KCRldmVudCwgREVGQVVMVF9GT1JNQVQpIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kRGF0ZS5lbWl0KG51bGwpO1xyXG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRQZXJpb2QpIHtcclxuICAgICAgICB0aGlzLnBlcmlvZElzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsaWNrT3V0c2lkZSgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMucGVyaW9kSXNTaG93biA9ICRldmVudDtcclxuICAgIGlmICh0aGlzLnBlcmlvZElzU2hvd24gJiYgISRldmVudCkge1xyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9ICRldmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlKHZhbHVlOiBQZXJpb2ROYW1lKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3MtcmVsYXRpdmVcIj5cclxuICA8ZGQtbGliLWZpbHRlci1idXR0b25cclxuICAgIChjbGVhckV2ZW50KT1cImNsZWFyUGVyaW9kKClcIlxyXG4gICAgKGNsaWNrRXZlbnQpPVwic2hvd1BlcmlvZCgpXCJcclxuICAgIFthY3RpdmVdPVwicGVyaW9kSXNTZWxlY3RlZCB8fCBjYWxlbmRhcklzU2VsZWN0ZWRcIlxyXG4gICAgW2lkXT1cImlkUGVyaW9kXCJcclxuICAgIGJ0bkNvbG9yPVwidHJhbnNwYXJlbnRcIj5cclxuICAgIDxkaXY+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgPC9kZC1saWItZmlsdGVyLWJ1dHRvbj5cclxuICBAaWYgKHBlcmlvZElzU2hvd24pIHtcclxuICA8ZGl2IChkZENsaWNrT3V0c2lkZSk9XCJjbGlja091dHNpZGUoJGV2ZW50KVwiIFtlbGVtZW50c109XCJbaWRQZXJpb2QsIGlkQ2FsZW5kYXJdXCIgY2xhc3M9XCJwZXJpb2RfX3dyYXBwZXJcIj5cclxuICAgIDxkZC1saWItY2FyZCBjbGFzcz1cInBlcmlvZF9fYmxvY2tcIiB0eXBlPVwic21hbGxcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyaW9kX19oZWFkZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJpb2RfX2JhY2tcIiAoY2xpY2spPVwicGVyaW9kSXNTaG93biA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cInRvZ2dsZV9hcnJvd19sZWZ0XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnLWg1LXRpdGxlXCI+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnLWg1LXRpdGxlIGhpZGUtdGFibGV0XCI+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJjbGVhclBlcmlvZCgpXCIgY2xhc3M9XCJnLXRleHQgZm9udC1tZWRpdW0gZ3JlZW4gY3VwXCI+0KHQsdGA0L7RgdC40YLRjDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJpb2RfX2xpc3RcIj5cclxuICAgICAgICAgIEBmb3IgKHBlcmlvZCBvZiBwZXJpb2RNZW51OyB0cmFjayBwZXJpb2QpIHtcclxuICAgICAgICAgIDxkZC1saWItcmFkaW8gKGNoYW5nZWQpPVwic2VsZWN0UGVyaW9kKCRldmVudClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUGVyaW9kXCIgW3ZhbHVlXT1cInBlcmlvZC5uYW1lXCI+e3tcclxuICAgICAgICAgICAgcGVyaW9kLnRpdGxlXHJcbiAgICAgICAgICB9fTwvZGQtbGliLXJhZGlvPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImNhbGVuZGFySXNTaG93biA9ICFjYWxlbmRhcklzU2hvd25cIiBjbGFzcz1cImctdGV4dCBmb250LW1lZGl1bSBncmVlbiBjdXAgbXQtOFwiPlxyXG4gICAgICAgICAge3sgY2FsZW5kYXJJc1Nob3duID8gJ9CX0LDQutGA0YvRgtGMJyA6ICfQntGC0LrRgNGL0YLRjCcgfX0g0LrQsNC70LXQvdC00LDRgNGMXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kZC1saWItY2FyZD5cclxuICAgIEBpZiAoY2FsZW5kYXJJc1Nob3duKSB7XHJcbiAgICA8ZGQtbGliLWNhbGVuZGFyXHJcbiAgICAgIChlbWl0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVwiXHJcbiAgICAgIFtpZF09XCJpZENhbGVuZGFyXCJcclxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgIGNsYXNzPVwicGVyaW9kX19jYWxlbmRhclwiPlxyXG4gICAgPC9kZC1saWItY2FsZW5kYXI+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
@@ -2005,6 +2005,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
2005
2005
  type: Output
2006
2006
  }] } });
2007
2007
 
2008
+ class BanSymbolDirective {
2009
+ constructor() {
2010
+ this.ddBanSymbol = '';
2011
+ this.regExp = false;
2012
+ }
2013
+ onKeyPress(e) {
2014
+ if (this.regExp) {
2015
+ const regExp = new RegExp(this.ddBanSymbol);
2016
+ if (!regExp.test(e.key)) {
2017
+ e.preventDefault();
2018
+ }
2019
+ }
2020
+ if (e.key === this.ddBanSymbol) {
2021
+ e.preventDefault();
2022
+ }
2023
+ }
2024
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BanSymbolDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2025
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: BanSymbolDirective, isStandalone: true, selector: "[ddBanSymbol]", inputs: { ddBanSymbol: "ddBanSymbol", regExp: "regExp" }, host: { listeners: { "keypress": "onKeyPress($event)" } }, ngImport: i0 }); }
2026
+ }
2027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BanSymbolDirective, decorators: [{
2028
+ type: Directive,
2029
+ args: [{
2030
+ standalone: true,
2031
+ selector: '[ddBanSymbol]'
2032
+ }]
2033
+ }], ctorParameters: () => [], propDecorators: { ddBanSymbol: [{
2034
+ type: Input
2035
+ }], regExp: [{
2036
+ type: Input
2037
+ }], onKeyPress: [{
2038
+ type: HostListener,
2039
+ args: ['keypress', ['$event']]
2040
+ }] } });
2041
+
2042
+ class MaxNumDirective {
2043
+ constructor(model) {
2044
+ this.model = model;
2045
+ }
2046
+ keydown(e) {
2047
+ const fullZero = '00' === e.target.value;
2048
+ const firstZero = this.curVal && '0' === this.curVal.toString()[0] && this.curVal.toString().length > 1;
2049
+ if (fullZero && e.code.includes('Digit')) {
2050
+ e.target.value = 0;
2051
+ }
2052
+ if (firstZero && e.code.includes('Digit')) {
2053
+ e.target.value = +e.target.value;
2054
+ }
2055
+ setTimeout(() => {
2056
+ if (+e.target.value > this.ddMaxNum) {
2057
+ e.preventDefault();
2058
+ this.model.viewToModelUpdate(this.ddMaxNum);
2059
+ this.model.valueAccessor?.writeValue(this.ddMaxNum);
2060
+ }
2061
+ }, 1);
2062
+ }
2063
+ keyup(e) {
2064
+ const firstZero = '0' === e.target.value[0] && e.target.value?.length > 2;
2065
+ if (firstZero && e.code.includes('Digit')) {
2066
+ e.target.value = +e.target.value;
2067
+ }
2068
+ if (+e.target > this.ddMaxNum) {
2069
+ e.preventDefault();
2070
+ this.model.viewToModelUpdate(this.ddMaxNum);
2071
+ this.model.valueAccessor?.writeValue(this.ddMaxNum);
2072
+ }
2073
+ }
2074
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: MaxNumDirective, deps: [{ token: i2$1.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
2075
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: MaxNumDirective, isStandalone: true, selector: "[ddMaxNum]", inputs: { ddMaxNum: "ddMaxNum", curVal: "curVal" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" } }, ngImport: i0 }); }
2076
+ }
2077
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: MaxNumDirective, decorators: [{
2078
+ type: Directive,
2079
+ args: [{
2080
+ standalone: true,
2081
+ selector: '[ddMaxNum]'
2082
+ }]
2083
+ }], ctorParameters: () => [{ type: i2$1.NgModel }], propDecorators: { ddMaxNum: [{
2084
+ type: Input
2085
+ }], curVal: [{
2086
+ type: Input
2087
+ }], keydown: [{
2088
+ type: HostListener,
2089
+ args: ['keydown', ['$event']]
2090
+ }], keyup: [{
2091
+ type: HostListener,
2092
+ args: ['keyup', ['$event']]
2093
+ }] } });
2094
+
2008
2095
  const Months = [
2009
2096
  'Январь',
2010
2097
  'Февраль',
@@ -2087,6 +2174,9 @@ class LibCalendarComponent {
2087
2174
  this.type = 'string';
2088
2175
  this.formatDate = 'dd.MM.yyyy';
2089
2176
  this.rangeMode = false;
2177
+ this.maxHours = 23;
2178
+ this.maxMinutes = 59;
2179
+ this.needTime = false;
2090
2180
  this.mode = 'full';
2091
2181
  this.emitDate = new EventEmitter();
2092
2182
  this.emitPeriod = new EventEmitter();
@@ -2098,6 +2188,8 @@ class LibCalendarComponent {
2098
2188
  // minDate = setMinDate();
2099
2189
  this.currentDate = new Date();
2100
2190
  this.dateNow = new Date();
2191
+ this.hours = '00';
2192
+ this.minutes = '00';
2101
2193
  }
2102
2194
  propagateChange(_value) {
2103
2195
  }
@@ -2175,6 +2267,9 @@ class LibCalendarComponent {
2175
2267
  this.emitPeriod.emit({ start: this.dateStart, end: this.dateEnd });
2176
2268
  }
2177
2269
  else {
2270
+ if (this.needTime) {
2271
+ this.dateValue?.setHours(+this.hours, +this.minutes);
2272
+ }
2178
2273
  this.propagateChange(this.dateValue);
2179
2274
  this.emitDate.emit(this.dateValue);
2180
2275
  }
@@ -2244,13 +2339,13 @@ class LibCalendarComponent {
2244
2339
  }
2245
2340
  }
2246
2341
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibCalendarComponent, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
2247
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibCalendarComponent, isStandalone: true, selector: "dd-lib-calendar", inputs: { type: "type", formatDate: "formatDate", formatTime: "formatTime", rangeMode: "rangeMode", mode: "mode", maxDate: "maxDate", minDate: "minDate" }, outputs: { emitDate: "emitDate", emitPeriod: "emitPeriod" }, providers: [
2342
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibCalendarComponent, isStandalone: true, selector: "dd-lib-calendar", inputs: { type: "type", formatDate: "formatDate", formatTime: "formatTime", rangeMode: "rangeMode", maxHours: "maxHours", maxMinutes: "maxMinutes", needTime: "needTime", mode: "mode", maxDate: "maxDate", minDate: "minDate" }, outputs: { emitDate: "emitDate", emitPeriod: "emitPeriod" }, providers: [
2248
2343
  {
2249
2344
  provide: NG_VALUE_ACCESSOR,
2250
2345
  useExisting: forwardRef(() => LibCalendarComponent),
2251
2346
  multi: true,
2252
2347
  },
2253
- ], ngImport: i0, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px;color:var(--light-black-color)}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "component", type: LibButtonComponent, selector: "dd-lib-button", inputs: ["noPadding", "loaderColor"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2348
+ ], ngImport: i0, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n @if(needTime) {\r\n <div class=\"calendar-block__time\">\r\n <div class=\"d-flex justify-between\">\r\n <div class=\"text-plain\">\u0412\u0440\u0435\u043C\u044F</div>\r\n <div class=\"d-flex\">\r\n <input [(ngModel)]=\"hours\" class=\"calendar-block__time-input\"\r\n type=\"text\"\r\n [ddMaxNum]=\"maxHours\"\r\n [curVal]=\"hours\"\r\n [disabled]=\"!dateValue\"\r\n [regExp]=\"true\"\r\n ddBanSymbol=\"^\\d+$\"\r\n max=\"23\"\r\n maxlength=\"2\"\r\n pattern=\"^\\d+$\">\r\n <span class=\"second-dot\">:</span>\r\n <input [(ngModel)]=\"minutes\" class=\"calendar-block__time-input\"\r\n [ddMaxNum]=\"maxMinutes\"\r\n [curVal]=\"minutes\"\r\n [disabled]=\"!dateValue\"\r\n [regExp]=\"true\"\r\n ddBanSymbol=\"^\\d+$\"\r\n max=\"59\"\r\n maxlength=\"2\"\r\n pattern=\"^\\d+$\"\r\n type=\"text\">\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__time{padding:22px 0;margin:22px 0;border-top:1px solid var(--gray-color-200);border-bottom:1px solid var(--gray-color-200)}.calendar-block__time-input{width:56px;height:36px;border-radius:12px;border:1px solid var(--primary-gray-color);text-align:center}.calendar-block__time .second-dot{margin:auto 8px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px;color:var(--light-black-color)}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "component", type: LibButtonComponent, selector: "dd-lib-button", inputs: ["noPadding", "loaderColor"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: BanSymbolDirective, selector: "[ddBanSymbol]", inputs: ["ddBanSymbol", "regExp"] }, { kind: "directive", type: MaxNumDirective, selector: "[ddMaxNum]", inputs: ["ddMaxNum", "curVal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2254
2349
  }
2255
2350
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibCalendarComponent, decorators: [{
2256
2351
  type: Component,
@@ -2262,13 +2357,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
2262
2357
  LibButtonComponent,
2263
2358
  NgOptimizedImage,
2264
2359
  LibSvgIconComponent,
2360
+ FormsModule,
2361
+ BanSymbolDirective,
2362
+ MaxNumDirective
2265
2363
  ], providers: [
2266
2364
  {
2267
2365
  provide: NG_VALUE_ACCESSOR,
2268
2366
  useExisting: forwardRef(() => LibCalendarComponent),
2269
2367
  multi: true,
2270
2368
  },
2271
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px;color:var(--light-black-color)}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}\n"] }]
2369
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"checkActiveDay(day)\"\r\n\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n @if(needTime) {\r\n <div class=\"calendar-block__time\">\r\n <div class=\"d-flex justify-between\">\r\n <div class=\"text-plain\">\u0412\u0440\u0435\u043C\u044F</div>\r\n <div class=\"d-flex\">\r\n <input [(ngModel)]=\"hours\" class=\"calendar-block__time-input\"\r\n type=\"text\"\r\n [ddMaxNum]=\"maxHours\"\r\n [curVal]=\"hours\"\r\n [disabled]=\"!dateValue\"\r\n [regExp]=\"true\"\r\n ddBanSymbol=\"^\\d+$\"\r\n max=\"23\"\r\n maxlength=\"2\"\r\n pattern=\"^\\d+$\">\r\n <span class=\"second-dot\">:</span>\r\n <input [(ngModel)]=\"minutes\" class=\"calendar-block__time-input\"\r\n [ddMaxNum]=\"maxMinutes\"\r\n [curVal]=\"minutes\"\r\n [disabled]=\"!dateValue\"\r\n [regExp]=\"true\"\r\n ddBanSymbol=\"^\\d+$\"\r\n max=\"59\"\r\n maxlength=\"2\"\r\n pattern=\"^\\d+$\"\r\n type=\"text\">\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\"\r\n [disabled]=\"(!dateValue && !rangeMode) || (rangeMode && (!dateStart || !dateEnd))\"\r\n class=\"calendar-block__footer_btn\"\r\n >\u0412\u044B\u0431\u0440\u0430\u0442\u044C\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}.calendar-block{z-index:1100;display:block}@media screen and (max-width: 840px){.calendar-block{height:100%}}.calendar-block__time{padding:22px 0;margin:22px 0;border-top:1px solid var(--gray-color-200);border-bottom:1px solid var(--gray-color-200)}.calendar-block__time-input{width:56px;height:36px;border-radius:12px;border:1px solid var(--primary-gray-color);text-align:center}.calendar-block__time .second-dot{margin:auto 8px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.calendar-block__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--calendar-gray-color);font-size:14px;font-weight:400;line-height:24px}.calendar-block__header_arrow{cursor:pointer}.calendar-block__week{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;color:var(--primary-green-color);font-size:10px;font-weight:400;line-height:12px;letter-spacing:1.5px;margin-bottom:22px}.calendar-block__week_day{display:flex;align-items:center;justify-content:space-around}.calendar-block__days{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;justify-items:center;margin-bottom:22px}.calendar-block__days_day{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:29px;color:var(--light-black-color)}.calendar-block__days_day.current{border:1px solid var(--primary-green-color)}.calendar-block__days_day.active,.calendar-block__days_day.normal:hover{background-color:var(--primary-green-color);color:var(--white-color)}.calendar-block__days_day.hide{pointer-events:none;cursor:default;color:var(--calendar-gray-hide-color)}.calendar-block__footer{display:flex;align-items:center;justify-content:space-between}.calendar-abs-wrapper{position:absolute;box-shadow:var(--main-card-shadow);top:0;right:0;z-index:1111}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
2272
2370
  }], ctorParameters: () => [{ type: DateService }], propDecorators: { type: [{
2273
2371
  type: Input
2274
2372
  }], formatDate: [{
@@ -2277,6 +2375,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
2277
2375
  type: Input
2278
2376
  }], rangeMode: [{
2279
2377
  type: Input
2378
+ }], maxHours: [{
2379
+ type: Input
2380
+ }], maxMinutes: [{
2381
+ type: Input
2382
+ }], needTime: [{
2383
+ type: Input
2280
2384
  }], mode: [{
2281
2385
  type: Input
2282
2386
  }], emitDate: [{
@@ -2383,11 +2487,11 @@ class LibFileUploadComponent {
2383
2487
  }
2384
2488
  }
2385
2489
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2386
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibFileUploadComponent, isStandalone: true, selector: "dd-lib-file-upload", inputs: { background: "background", width: "width", name: "name", file: "file" }, outputs: { deleteFile: "deleteFile" }, ngImport: i0, template: "<div class=\"file\" [ngStyle]=\"{background}\">\r\n <div class=\"d-flex align-center gap-12\">\r\n <dd-lib-svg-icon icon=\"file\"></dd-lib-svg-icon>\r\n <div class=\"d-flex align-start\" [title]=\"name || file?.name\">\r\n <div [ngStyle]=\"{'max-width': width}\" class=\"file-name\">{{fileName}}</div>\r\n @if (this.fileExtension){\r\n <div>.{{fileExtension}}</div>\r\n }\r\n </div>\r\n </div>\r\n <dd-lib-svg-icon (click)=\"deleteFile.emit(file)\" class=\"gray-trash\" icon=\"trash\"></dd-lib-svg-icon>\r\n</div>\r\n", styles: [".file{padding:16px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background-color:var(--low-bgc-color);gap:12px}.file-name{max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gray-trash{cursor:pointer}.gray-trash ::ng-deep svg path{stroke:var(--second-gray-color)}\n"], dependencies: [{ kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2490
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibFileUploadComponent, isStandalone: true, selector: "dd-lib-file-upload", inputs: { background: "background", width: "width", name: "name", file: "file" }, outputs: { deleteFile: "deleteFile" }, ngImport: i0, template: "<div class=\"file\" [ngStyle]=\"{background}\">\r\n <div class=\"d-flex align-center gap-12\">\r\n <dd-lib-svg-icon icon=\"file\"></dd-lib-svg-icon>\r\n <div class=\"d-flex align-start\" [title]=\"name || file?.name\">\r\n <div [ngStyle]=\"{'max-width': width}\" class=\"file-name\">{{fileName}}</div>\r\n @if (this.fileExtension){\r\n <div>.{{fileExtension}}</div>\r\n }\r\n </div>\r\n </div>\r\n <dd-lib-svg-icon (click)=\"deleteFile.emit(file)\" class=\"gray-trash\" icon=\"trash\"></dd-lib-svg-icon>\r\n</div>\r\n", styles: [".file{padding:16px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background-color:var(--low-bgc-color);gap:12px;box-shadow:0 14px 64px -4px #18274b0f,0 8px 22px -6px #18274b0f}.file-name{max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gray-trash{cursor:pointer}.gray-trash ::ng-deep svg path{stroke:var(--second-gray-color)}\n"], dependencies: [{ kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2387
2491
  }
2388
2492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibFileUploadComponent, decorators: [{
2389
2493
  type: Component,
2390
- args: [{ selector: 'dd-lib-file-upload', standalone: true, imports: [NgTemplateOutlet, LibSvgIconComponent, JsonPipe, NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"file\" [ngStyle]=\"{background}\">\r\n <div class=\"d-flex align-center gap-12\">\r\n <dd-lib-svg-icon icon=\"file\"></dd-lib-svg-icon>\r\n <div class=\"d-flex align-start\" [title]=\"name || file?.name\">\r\n <div [ngStyle]=\"{'max-width': width}\" class=\"file-name\">{{fileName}}</div>\r\n @if (this.fileExtension){\r\n <div>.{{fileExtension}}</div>\r\n }\r\n </div>\r\n </div>\r\n <dd-lib-svg-icon (click)=\"deleteFile.emit(file)\" class=\"gray-trash\" icon=\"trash\"></dd-lib-svg-icon>\r\n</div>\r\n", styles: [".file{padding:16px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background-color:var(--low-bgc-color);gap:12px}.file-name{max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gray-trash{cursor:pointer}.gray-trash ::ng-deep svg path{stroke:var(--second-gray-color)}\n"] }]
2494
+ args: [{ selector: 'dd-lib-file-upload', standalone: true, imports: [NgTemplateOutlet, LibSvgIconComponent, JsonPipe, NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"file\" [ngStyle]=\"{background}\">\r\n <div class=\"d-flex align-center gap-12\">\r\n <dd-lib-svg-icon icon=\"file\"></dd-lib-svg-icon>\r\n <div class=\"d-flex align-start\" [title]=\"name || file?.name\">\r\n <div [ngStyle]=\"{'max-width': width}\" class=\"file-name\">{{fileName}}</div>\r\n @if (this.fileExtension){\r\n <div>.{{fileExtension}}</div>\r\n }\r\n </div>\r\n </div>\r\n <dd-lib-svg-icon (click)=\"deleteFile.emit(file)\" class=\"gray-trash\" icon=\"trash\"></dd-lib-svg-icon>\r\n</div>\r\n", styles: [".file{padding:16px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background-color:var(--low-bgc-color);gap:12px;box-shadow:0 14px 64px -4px #18274b0f,0 8px 22px -6px #18274b0f}.file-name{max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gray-trash{cursor:pointer}.gray-trash ::ng-deep svg path{stroke:var(--second-gray-color)}\n"] }]
2391
2495
  }], propDecorators: { background: [{
2392
2496
  type: Input
2393
2497
  }], width: [{
@@ -2575,7 +2679,7 @@ class LibPeriodComponent {
2575
2679
  useExisting: forwardRef(() => LibPeriodComponent),
2576
2680
  multi: true,
2577
2681
  },
2578
- ], ngImport: i0, template: "<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"period__wrapper\">\r\n <dd-lib-card class=\"period__block\" type=\"small\">\r\n <div>\r\n <div class=\"period__header\">\r\n <div class=\"period__back\" (click)=\"periodIsShown = false\">\r\n <dd-lib-svg-icon icon=\"toggle_arrow_left\"></dd-lib-svg-icon>\r\n <div class=\"g-h5-title\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </div>\r\n <div class=\"g-h5-title hide-tablet\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n <div (click)=\"clearPeriod()\" class=\"g-text font-medium green cup\">\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C</div>\r\n </div>\r\n <div class=\"period__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"g-text font-medium green cup mt-8\">\r\n {{ calendarIsShown ? '\u0417\u0430\u043A\u0440\u044B\u0442\u044C' : '\u041E\u0442\u043A\u0440\u044B\u0442\u044C' }} \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"period__calendar\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["dd-lib-filter-button{position:relative}.period__wrapper{position:absolute;left:0;z-index:400;display:block;width:352px;height:348px;margin-top:8px;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__wrapper{position:fixed;top:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}@media screen and (max-width: 840px){.period__block{height:100%}}.period__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media screen and (max-width: 840px){.period__header{padding-bottom:24px;border-bottom:1px solid var(--gray-color-200)}}@media screen and (max-width: 480px){.period__header{padding-top:8px}}.period__back{display:none}@media screen and (max-width: 840px){.period__back{display:flex;align-items:center}}.period__back ::ng-deep svg{margin-right:16px}.period__back ::ng-deep svg path{stroke:var(--menu-arr-color)}.period__list{max-height:400px;overflow:auto}@media screen and (max-width: 840px){.period__list{max-height:none}}.period__list ::ng-deep dd-lib-radio{display:block;margin-bottom:16px}@media screen and (max-width: 840px){.period__list ::ng-deep dd-lib-radio:not(:last-child){padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}}.period__calendar{margin-top:8px;display:block;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__calendar{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "component", type: LibFilterButtonComponent, selector: "dd-lib-filter-button", inputs: ["btnTitle", "hintContent"], outputs: ["clearEvent", "hintEvent"] }, { kind: "component", type: LibRadioComponent, selector: "dd-lib-radio", inputs: ["radioId", "disabled", "required", "name", "value", "checked"], outputs: ["changed"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2682
+ ], ngImport: i0, template: "<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"period__wrapper\">\r\n <dd-lib-card class=\"period__block\" type=\"small\">\r\n <div>\r\n <div class=\"period__header\">\r\n <div class=\"period__back\" (click)=\"periodIsShown = false\">\r\n <dd-lib-svg-icon icon=\"toggle_arrow_left\"></dd-lib-svg-icon>\r\n <div class=\"g-h5-title\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </div>\r\n <div class=\"g-h5-title hide-tablet\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n <div (click)=\"clearPeriod()\" class=\"g-text font-medium green cup\">\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C</div>\r\n </div>\r\n <div class=\"period__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"g-text font-medium green cup mt-8\">\r\n {{ calendarIsShown ? '\u0417\u0430\u043A\u0440\u044B\u0442\u044C' : '\u041E\u0442\u043A\u0440\u044B\u0442\u044C' }} \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"period__calendar\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["dd-lib-filter-button{position:relative}.period__wrapper{position:absolute;left:0;z-index:400;display:block;width:352px;height:348px;margin-top:8px;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__wrapper{position:fixed;top:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}@media screen and (max-width: 840px){.period__block{height:100%}}.period__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media screen and (max-width: 840px){.period__header{padding-bottom:24px;border-bottom:1px solid var(--gray-color-200)}}@media screen and (max-width: 480px){.period__header{padding-top:8px}}.period__back{display:none}@media screen and (max-width: 840px){.period__back{display:flex;align-items:center}}.period__back ::ng-deep svg{margin-right:16px}.period__back ::ng-deep svg path{stroke:var(--menu-arr-color)}.period__list{max-height:400px;overflow:auto}@media screen and (max-width: 840px){.period__list{max-height:none}}.period__list ::ng-deep dd-lib-radio{display:block;margin-bottom:16px}@media screen and (max-width: 840px){.period__list ::ng-deep dd-lib-radio:not(:last-child){padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}}.period__calendar{margin-top:8px;display:block;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__calendar{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}\n"], dependencies: [{ kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "component", type: LibFilterButtonComponent, selector: "dd-lib-filter-button", inputs: ["btnTitle", "hintContent"], outputs: ["clearEvent", "hintEvent"] }, { kind: "component", type: LibRadioComponent, selector: "dd-lib-radio", inputs: ["radioId", "disabled", "required", "name", "value", "checked"], outputs: ["changed"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "maxHours", "maxMinutes", "needTime", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2579
2683
  }
2580
2684
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibPeriodComponent, decorators: [{
2581
2685
  type: Component,
@@ -3484,7 +3588,7 @@ class LibDateRangeComponent {
3484
3588
  useExisting: forwardRef(() => LibDateRangeComponent),
3485
3589
  multi: true,
3486
3590
  },
3487
- ], ngImport: i0, template: "<div class=\"lib-range\" id=\"lib-range-{{ rangeId }}\">\r\n @if (label) {\r\n <label [for]=\"rangeId\" class=\"lib-range__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n <div class=\"pos-relative\">\r\n <input\r\n [attr.id]=\"rangeId\"\r\n [attr.placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n [(ngModel)]=\"selectedPeriodStr\"\r\n [mask]=\"'d0.M0.0000 - d0.M0.0000'\"\r\n (ngModelChange)=\"changeStrDate($event)\"\r\n [leadZeroDateTime]=\"true\"\r\n class=\"text-select\"/>\r\n @if (!selectedPeriodStr) {\r\n <dd-lib-svg-icon [class.gray-svg]=\"!isShownPeriod\"\r\n (click)=\"openCalendar()\"\r\n id=\"calendar-{{ rangeId }}\"\r\n class=\"calendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n\r\n\r\n } @else {\r\n <dd-lib-svg-icon\r\n (click)=\"setPeriod(undefined)\"\r\n class=\"clear\"\r\n icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n }\r\n </div>\r\n @if (isShownPeriod) {\r\n <div\r\n (ddClickOutside)=\"closeCalendar()\"\r\n [elements]=\"['lib-range-' + rangeId, 'calendar' + rangeId]\"\r\n class=\"calendar-wrapper\">\r\n <dd-lib-calendar [(ngModel)]=\"selectedPeriod\" [rangeMode]=\"true\" (emitPeriod)=\"setPeriod($event)\"></dd-lib-calendar>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".lib-range{min-width:340px;position:relative}.lib-range input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-range input:hover{border-color:var(--input-active-border-colort)}.lib-range input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-range input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-range input:disabled::placeholder{color:var(--input-placeholder)}.lib-range input.invalid,.lib-range input.invalid:hover{border-color:var(--input-error-border-color)}.lib-range input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-range .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-range .calendar{cursor:pointer;position:absolute;right:16px;top:10px}.lib-range .calendar.up{transform:rotate(180deg)}.lib-range__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-range__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-range .calendar-wrapper{position:absolute;display:block;z-index:100;width:100%;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3591
+ ], ngImport: i0, template: "<div class=\"lib-range\" id=\"lib-range-{{ rangeId }}\">\r\n @if (label) {\r\n <label [for]=\"rangeId\" class=\"lib-range__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n <div class=\"pos-relative\">\r\n <input\r\n [attr.id]=\"rangeId\"\r\n [attr.placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n [(ngModel)]=\"selectedPeriodStr\"\r\n [mask]=\"'d0.M0.0000 - d0.M0.0000'\"\r\n (ngModelChange)=\"changeStrDate($event)\"\r\n [leadZeroDateTime]=\"true\"\r\n class=\"text-select\"/>\r\n @if (!selectedPeriodStr) {\r\n <dd-lib-svg-icon [class.gray-svg]=\"!isShownPeriod\"\r\n (click)=\"openCalendar()\"\r\n id=\"calendar-{{ rangeId }}\"\r\n class=\"calendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n\r\n\r\n } @else {\r\n <dd-lib-svg-icon\r\n (click)=\"setPeriod(undefined)\"\r\n class=\"clear\"\r\n icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n }\r\n </div>\r\n @if (isShownPeriod) {\r\n <div\r\n (ddClickOutside)=\"closeCalendar()\"\r\n [elements]=\"['lib-range-' + rangeId, 'calendar' + rangeId]\"\r\n class=\"calendar-wrapper\">\r\n <dd-lib-calendar [(ngModel)]=\"selectedPeriod\" [rangeMode]=\"true\" (emitPeriod)=\"setPeriod($event)\"></dd-lib-calendar>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".lib-range{min-width:340px;position:relative}.lib-range input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-range input:hover{border-color:var(--input-active-border-colort)}.lib-range input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-range input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-range input:disabled::placeholder{color:var(--input-placeholder)}.lib-range input.invalid,.lib-range input.invalid:hover{border-color:var(--input-error-border-color)}.lib-range input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-range .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-range .calendar{cursor:pointer;position:absolute;right:16px;top:10px}.lib-range .calendar.up{transform:rotate(180deg)}.lib-range__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-range__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-range .calendar-wrapper{position:absolute;display:block;z-index:100;width:100%;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "maxHours", "maxMinutes", "needTime", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3488
3592
  }
3489
3593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibDateRangeComponent, decorators: [{
3490
3594
  type: Component,