myrta-ui 1.1.90 → 1.1.91

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.
@@ -16,9 +16,9 @@ import { OverlayModule, OverlayContainer, FullscreenOverlayContainer } from '@an
16
16
  import { createPopper } from '@popperjs/core';
17
17
  import * as i1$3 from '@ng-select/ng-select';
18
18
  import { NgSelectModule } from '@ng-select/ng-select';
19
- import { Subscription, Subject, timer, fromEvent, EMPTY } from 'rxjs';
19
+ import { Subscription, Subject, timer, EMPTY } from 'rxjs';
20
20
  import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
21
- import { first, switchMap, map, mergeMap, filter, startWith, distinctUntilChanged, pairwise, catchError } from 'rxjs/operators';
21
+ import { first, switchMap, map, mergeMap, startWith, distinctUntilChanged, pairwise, catchError } from 'rxjs/operators';
22
22
  import * as i2 from '@angular/cdk/layout';
23
23
  import { Fancybox } from 'mrx-gallery-lib';
24
24
  import * as i1$5 from '@angular/common/http';
@@ -1170,56 +1170,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
1170
1170
  }] }];
1171
1171
  } });
1172
1172
 
1173
- const topPosition$1 = {
1173
+ const topPosition = {
1174
1174
  originX: 'center',
1175
1175
  originY: 'top',
1176
1176
  overlayX: 'center',
1177
1177
  overlayY: 'bottom',
1178
1178
  panelClass: 'top',
1179
1179
  };
1180
- const bottomPosition$1 = {
1180
+ const bottomPosition = {
1181
1181
  originX: 'center',
1182
1182
  originY: 'bottom',
1183
1183
  overlayX: 'center',
1184
1184
  overlayY: 'top',
1185
1185
  panelClass: 'bottom',
1186
1186
  };
1187
- const leftPosition$1 = {
1187
+ const leftPosition = {
1188
1188
  originX: 'start',
1189
1189
  originY: 'center',
1190
1190
  overlayX: 'end',
1191
1191
  overlayY: 'center',
1192
1192
  panelClass: 'start',
1193
1193
  };
1194
- const rightPosition$1 = {
1194
+ const rightPosition = {
1195
1195
  originX: 'end',
1196
1196
  originY: 'center',
1197
1197
  overlayX: 'start',
1198
1198
  overlayY: 'center',
1199
1199
  panelClass: 'end',
1200
1200
  };
1201
- const topStartPosition$1 = {
1201
+ const topStartPosition = {
1202
1202
  originX: 'start',
1203
1203
  originY: 'top',
1204
1204
  overlayX: 'start',
1205
1205
  overlayY: 'bottom',
1206
1206
  panelClass: 'top-start',
1207
1207
  };
1208
- const topEndPosition$1 = {
1208
+ const topEndPosition = {
1209
1209
  originX: 'end',
1210
1210
  originY: 'top',
1211
1211
  overlayX: 'end',
1212
1212
  overlayY: 'bottom',
1213
1213
  panelClass: 'top-end',
1214
1214
  };
1215
- const bottomStartPosition$1 = {
1215
+ const bottomStartPosition = {
1216
1216
  originX: 'start',
1217
1217
  originY: 'bottom',
1218
1218
  overlayX: 'start',
1219
1219
  overlayY: 'top',
1220
1220
  panelClass: 'bottom-start',
1221
1221
  };
1222
- const bottomEndPosition$1 = {
1222
+ const bottomEndPosition = {
1223
1223
  originX: 'end',
1224
1224
  originY: 'bottom',
1225
1225
  overlayX: 'end',
@@ -1227,17 +1227,17 @@ const bottomEndPosition$1 = {
1227
1227
  panelClass: 'bottom-end',
1228
1228
  };
1229
1229
  const positions = [
1230
- topPosition$1, bottomPosition$1, leftPosition$1, rightPosition$1
1230
+ topPosition, bottomPosition, leftPosition, rightPosition
1231
1231
  ];
1232
1232
  const positionStrategy = {
1233
- top: [topPosition$1, topStartPosition$1, topEndPosition$1, bottomPosition$1, bottomStartPosition$1, bottomEndPosition$1, leftPosition$1, rightPosition$1],
1234
- bottom: [bottomPosition$1, bottomStartPosition$1, bottomEndPosition$1, topPosition$1, topStartPosition$1, topEndPosition$1, leftPosition$1, rightPosition$1],
1235
- left: [leftPosition$1, rightPosition$1, topPosition$1, bottomPosition$1],
1236
- right: [rightPosition$1, leftPosition$1, topPosition$1, bottomPosition$1],
1237
- 'top-start': [topStartPosition$1, topPosition$1, topEndPosition$1, bottomStartPosition$1, bottomPosition$1, bottomEndPosition$1],
1238
- 'top-end': [topEndPosition$1, topPosition$1, topStartPosition$1, bottomEndPosition$1, bottomPosition$1, bottomStartPosition$1],
1239
- 'bottom-start': [bottomStartPosition$1, bottomPosition$1, bottomEndPosition$1, topStartPosition$1, topPosition$1, topEndPosition$1],
1240
- 'bottom-end': [bottomEndPosition$1, bottomPosition$1, bottomStartPosition$1, topEndPosition$1, topPosition$1, topStartPosition$1],
1233
+ top: [topPosition, topStartPosition, topEndPosition, bottomPosition, bottomStartPosition, bottomEndPosition, leftPosition, rightPosition],
1234
+ bottom: [bottomPosition, bottomStartPosition, bottomEndPosition, topPosition, topStartPosition, topEndPosition, leftPosition, rightPosition],
1235
+ left: [leftPosition, rightPosition, topPosition, bottomPosition],
1236
+ right: [rightPosition, leftPosition, topPosition, bottomPosition],
1237
+ 'top-start': [topStartPosition, topPosition, topEndPosition, bottomStartPosition, bottomPosition, bottomEndPosition],
1238
+ 'top-end': [topEndPosition, topPosition, topStartPosition, bottomEndPosition, bottomPosition, bottomStartPosition],
1239
+ 'bottom-start': [bottomStartPosition, bottomPosition, bottomEndPosition, topStartPosition, topPosition, topEndPosition],
1240
+ 'bottom-end': [bottomEndPosition, bottomPosition, bottomStartPosition, topEndPosition, topPosition, topStartPosition],
1241
1241
  };
1242
1242
 
1243
1243
  class CdkTooltipDirective {
@@ -5657,7 +5657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
5657
5657
  }]
5658
5658
  }] });
5659
5659
 
5660
- const maskConfigFunction$8 = () => {
5660
+ const maskConfigFunction$7 = () => {
5661
5661
  return {
5662
5662
  validation: false,
5663
5663
  };
@@ -5676,7 +5676,7 @@ InputTextareaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
5676
5676
  CharsLeftModule,
5677
5677
  ErrorMessageModule,
5678
5678
  SaveStateModule,
5679
- NgxMaskModule.forRoot(maskConfigFunction$8),
5679
+ NgxMaskModule.forRoot(maskConfigFunction$7),
5680
5680
  AutosizeModule
5681
5681
  ]] });
5682
5682
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputTextareaModule, decorators: [{
@@ -5689,7 +5689,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
5689
5689
  CharsLeftModule,
5690
5690
  ErrorMessageModule,
5691
5691
  SaveStateModule,
5692
- NgxMaskModule.forRoot(maskConfigFunction$8),
5692
+ NgxMaskModule.forRoot(maskConfigFunction$7),
5693
5693
  AutosizeModule
5694
5694
  ],
5695
5695
  exports: [InputTextareaComponent],
@@ -6008,7 +6008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
6008
6008
  type: Output
6009
6009
  }] } });
6010
6010
 
6011
- const maskConfigFunction$7 = () => {
6011
+ const maskConfigFunction$6 = () => {
6012
6012
  return {
6013
6013
  validation: false,
6014
6014
  };
@@ -6029,7 +6029,7 @@ InputTextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
6029
6029
  ErrorMessageModule,
6030
6030
  SaveStateModule,
6031
6031
  CdkTooltipModule,
6032
- NgxMaskModule.forRoot(maskConfigFunction$7)
6032
+ NgxMaskModule.forRoot(maskConfigFunction$6)
6033
6033
  ]] });
6034
6034
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputTextModule, decorators: [{
6035
6035
  type: NgModule,
@@ -6042,7 +6042,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
6042
6042
  ErrorMessageModule,
6043
6043
  SaveStateModule,
6044
6044
  CdkTooltipModule,
6045
- NgxMaskModule.forRoot(maskConfigFunction$7)
6045
+ NgxMaskModule.forRoot(maskConfigFunction$6)
6046
6046
  ],
6047
6047
  exports: [InputTextComponent],
6048
6048
  }]
@@ -8525,7 +8525,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
8525
8525
  args: ['phoneInput']
8526
8526
  }] } });
8527
8527
 
8528
- const maskConfigFunction$6 = () => {
8528
+ const maskConfigFunction$5 = () => {
8529
8529
  return {
8530
8530
  validation: false,
8531
8531
  };
@@ -8546,7 +8546,7 @@ InputPhoneModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
8546
8546
  DropdownModule,
8547
8547
  SaveStateModule,
8548
8548
  ErrorMessageModule,
8549
- NgxMaskModule.forRoot(maskConfigFunction$6)
8549
+ NgxMaskModule.forRoot(maskConfigFunction$5)
8550
8550
  ]] });
8551
8551
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputPhoneModule, decorators: [{
8552
8552
  type: NgModule,
@@ -8560,7 +8560,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
8560
8560
  DropdownModule,
8561
8561
  SaveStateModule,
8562
8562
  ErrorMessageModule,
8563
- NgxMaskModule.forRoot(maskConfigFunction$6)
8563
+ NgxMaskModule.forRoot(maskConfigFunction$5)
8564
8564
  ],
8565
8565
  exports: [InputPhoneComponent]
8566
8566
  }]
@@ -8737,7 +8737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
8737
8737
  type: Output
8738
8738
  }] } });
8739
8739
 
8740
- const maskConfigFunction$5 = () => {
8740
+ const maskConfigFunction$4 = () => {
8741
8741
  return {
8742
8742
  validation: false,
8743
8743
  };
@@ -8754,7 +8754,7 @@ InputSearchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
8754
8754
  FormsModule,
8755
8755
  CharsLeftModule,
8756
8756
  ErrorMessageModule,
8757
- NgxMaskModule.forRoot(maskConfigFunction$5),
8757
+ NgxMaskModule.forRoot(maskConfigFunction$4),
8758
8758
  SaveStateModule
8759
8759
  ]] });
8760
8760
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputSearchModule, decorators: [{
@@ -8766,19 +8766,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
8766
8766
  FormsModule,
8767
8767
  CharsLeftModule,
8768
8768
  ErrorMessageModule,
8769
- NgxMaskModule.forRoot(maskConfigFunction$5),
8769
+ NgxMaskModule.forRoot(maskConfigFunction$4),
8770
8770
  SaveStateModule
8771
8771
  ],
8772
8772
  exports: [InputSearchComponent],
8773
8773
  }]
8774
8774
  }] });
8775
8775
 
8776
- var InputDateSizesEnum$2;
8776
+ var InputDateSizesEnum$1;
8777
8777
  (function (InputDateSizesEnum) {
8778
8778
  InputDateSizesEnum["small"] = "mrx-input-date-sm";
8779
8779
  InputDateSizesEnum["medium"] = "mrx-input-date-md";
8780
8780
  InputDateSizesEnum["large"] = "mrx-input-date-lg";
8781
- })(InputDateSizesEnum$2 || (InputDateSizesEnum$2 = {}));
8781
+ })(InputDateSizesEnum$1 || (InputDateSizesEnum$1 = {}));
8782
8782
 
8783
8783
  dayjs.extend(customParseFormat);
8784
8784
  const validateDateModel$1 = (value) => {
@@ -8936,7 +8936,7 @@ const markPosition$2 = (start, end, pattern = 'date') => {
8936
8936
  }
8937
8937
  };
8938
8938
 
8939
- const cleanDate$3 = (value, format) => {
8939
+ const cleanDate$2 = (value, format) => {
8940
8940
  return dayjs(value).format(format);
8941
8941
  };
8942
8942
 
@@ -9092,7 +9092,7 @@ class InputDatepickerComponent {
9092
9092
  return `${this.dateModel.view}${this.timepicker && this.timeModel.view ? ' ' + this.timeModel.view : ''}`;
9093
9093
  }
9094
9094
  get getClasses() {
9095
- return `${InputDateSizesEnum$2[this.size]} ${this.customClasses} ${this.checkValidClasses}`;
9095
+ return `${InputDateSizesEnum$1[this.size]} ${this.customClasses} ${this.checkValidClasses}`;
9096
9096
  }
9097
9097
  get isValidModels() {
9098
9098
  return !this.dateModel.invalid && (this.timepicker ? !this.timeModel.invalid : true);
@@ -9193,7 +9193,7 @@ class InputDatepickerComponent {
9193
9193
  }
9194
9194
  writeValue(outsideValue) {
9195
9195
  if (outsideValue) {
9196
- this.value = cleanDate$3(outsideValue, this.format);
9196
+ this.value = cleanDate$2(outsideValue, this.format);
9197
9197
  this.dateModel = dateModelValueParse$1(outsideValue, this.format);
9198
9198
  this.timeModel = timeModelValueParse$2(outsideValue, this.format);
9199
9199
  if (!this.disableValidation) {
@@ -9295,7 +9295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
9295
9295
  type: Output
9296
9296
  }] } });
9297
9297
 
9298
- const maskConfigFunction$4 = () => {
9298
+ const maskConfigFunction$3 = () => {
9299
9299
  return {
9300
9300
  validation: false,
9301
9301
  };
@@ -9314,7 +9314,7 @@ InputDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
9314
9314
  SaveStateModule,
9315
9315
  ErrorMessageModule,
9316
9316
  LabelModule,
9317
- NgxMaskModule.forRoot(maskConfigFunction$4),
9317
+ NgxMaskModule.forRoot(maskConfigFunction$3),
9318
9318
  ]] });
9319
9319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDatepickerModule, decorators: [{
9320
9320
  type: NgModule,
@@ -9326,732 +9326,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
9326
9326
  SaveStateModule,
9327
9327
  ErrorMessageModule,
9328
9328
  LabelModule,
9329
- NgxMaskModule.forRoot(maskConfigFunction$4),
9329
+ NgxMaskModule.forRoot(maskConfigFunction$3),
9330
9330
  ],
9331
9331
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
9332
9332
  exports: [InputDatepickerComponent],
9333
9333
  }]
9334
9334
  }] });
9335
9335
 
9336
- function formatDate(date, format) {
9337
- const pad = (n) => n.toString().padStart(2, '0');
9338
- const map = {
9339
- 'DD': pad(date.getDate()),
9340
- 'MM': pad(date.getMonth() + 1),
9341
- 'YYYY': date.getFullYear().toString()
9342
- };
9343
- return format.replace(/DD|MM|YYYY/g, match => map[match]);
9344
- }
9345
- function toOutputFormat(date) {
9346
- const pad = (n) => n.toString().padStart(2, '0');
9347
- return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
9348
- }
9349
- function isValidDate(date) {
9350
- return date instanceof Date && !isNaN(date.getTime());
9351
- }
9352
- function getDaysInMonth(year, month) {
9353
- return new Date(year, month + 1, 0).getDate();
9354
- }
9355
- function isDateInRange(date, minDate, maxDate) {
9356
- const min = minDate ? cleanDate$2(minDate) : null;
9357
- const max = maxDate ? cleanDate$2(maxDate) : null;
9358
- return (!min || date >= min) && (!max || date <= max);
9359
- }
9360
- function clampDate(date, minDate, maxDate) {
9361
- const min = minDate ? cleanDate$2(minDate) : null;
9362
- const max = maxDate ? cleanDate$2(maxDate) : null;
9363
- if (min && date < min)
9364
- return new Date(min);
9365
- if (max && date > max)
9366
- return new Date(max);
9367
- return date;
9368
- }
9369
- function getRangeErrorMessage(date, minDate, maxDate) {
9370
- const min = minDate ? cleanDate$2(minDate) : null;
9371
- const max = maxDate ? cleanDate$2(maxDate) : null;
9372
- if (min && date < min)
9373
- return 'Дата меньше минимальной';
9374
- if (max && date > max)
9375
- return 'Дата больше максимальной';
9376
- return '';
9377
- }
9378
- function parseInputDate(dateStr) {
9379
- if (dateStr) {
9380
- const [year, month, day] = dateStr.split('-').map(Number);
9381
- const date = new Date(year, month - 1, day);
9382
- return isValidDate(date) ? date : null;
9383
- }
9384
- else {
9385
- return null;
9386
- }
9387
- }
9388
- function adjustInvalidDate(year, month, day) {
9389
- const maxDays = getDaysInMonth(year, month);
9390
- if (day > maxDays) {
9391
- month += 1;
9392
- if (month > 11) {
9393
- month = 0;
9394
- year += 1;
9395
- }
9396
- day = 1;
9397
- }
9398
- year = Math.min(Math.max(year, 1900), 9999);
9399
- month = Math.min(Math.max(month, 0), 11);
9400
- return { year, month, day };
9401
- }
9402
- const cleanDate$2 = (date) => {
9403
- return new Date(new Date(date).setHours(0, 0, 0, 0));
9404
- };
9405
-
9406
- class DateCalendarComponent {
9407
- constructor(_detector) {
9408
- this._detector = _detector;
9409
- this.selectedDate = null;
9410
- this.dateSelected = new EventEmitter();
9411
- this.close = new EventEmitter();
9412
- this.currentMonth = new Date().getMonth();
9413
- this.currentYear = new Date().getFullYear();
9414
- this.view = 'days';
9415
- this.monthNames = [
9416
- 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',
9417
- 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'
9418
- ];
9419
- this.daysOfWeek = ['ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ', 'ВС'];
9420
- this.months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
9421
- this._minDate = null;
9422
- this._maxDate = null;
9423
- this._minDateStr = null;
9424
- this._maxDateStr = null;
9425
- this.calendarDaysCache = null;
9426
- }
9427
- ngOnInit() {
9428
- if (this.selectedDate) {
9429
- this.currentMonth = this.selectedDate.getMonth();
9430
- this.currentYear = this.selectedDate.getFullYear();
9431
- }
9432
- this.updateDateBounds();
9433
- }
9434
- set minDate(value) {
9435
- if (this._minDateStr !== value) {
9436
- this._minDateStr = value;
9437
- this.updateDateBounds();
9438
- this._detector.markForCheck();
9439
- }
9440
- }
9441
- get minDate() {
9442
- return this._minDateStr;
9443
- }
9444
- set maxDate(value) {
9445
- if (this._maxDateStr !== value) {
9446
- this._maxDateStr = value;
9447
- this.updateDateBounds();
9448
- this._detector.markForCheck();
9449
- }
9450
- }
9451
- get maxDate() {
9452
- return this._maxDateStr;
9453
- }
9454
- updateDateBounds() {
9455
- this._minDate = this._minDateStr ? cleanDate$2(this._minDateStr) : null;
9456
- this._maxDate = this._maxDateStr ? cleanDate$2(this._maxDateStr) : null;
9457
- }
9458
- get headerText() {
9459
- switch (this.view) {
9460
- case 'days':
9461
- return `${this.monthNames[this.currentMonth]} ${this.currentYear}`;
9462
- case 'months':
9463
- return `${this.currentYear}`;
9464
- default:
9465
- return 'Выберите год';
9466
- }
9467
- }
9468
- switchView() {
9469
- this.view = this.view === 'days' ? 'months' : this.view === 'months' ? 'years' : 'days';
9470
- this._detector.markForCheck();
9471
- }
9472
- getCalendarDays() {
9473
- var _a, _b;
9474
- if (((_a = this.calendarDaysCache) === null || _a === void 0 ? void 0 : _a.month) === this.currentMonth && ((_b = this.calendarDaysCache) === null || _b === void 0 ? void 0 : _b.year) === this.currentYear) {
9475
- return this.calendarDaysCache.days;
9476
- }
9477
- const daysInMonth = new Date(this.currentYear, this.currentMonth + 1, 0).getDate();
9478
- const prevMonthDays = new Date(this.currentYear, this.currentMonth, 0).getDate();
9479
- const days = [];
9480
- const prevDaysCount = 2;
9481
- const prevMonth = this.currentMonth === 0 ? 11 : this.currentMonth - 1;
9482
- const prevYear = this.currentMonth === 0 ? this.currentYear - 1 : this.currentYear;
9483
- const nextMonth = this.currentMonth === 11 ? 0 : this.currentMonth + 1;
9484
- const nextYear = this.currentMonth === 11 ? this.currentYear + 1 : this.currentYear;
9485
- for (let i = 0; i < prevDaysCount; i++) {
9486
- days.push({ day: prevMonthDays - prevDaysCount + 1 + i, month: prevMonth, year: prevYear });
9487
- }
9488
- for (let i = 1; i <= daysInMonth; i++) {
9489
- days.push({ day: i, month: this.currentMonth, year: this.currentYear });
9490
- }
9491
- const remainingDays = 35 - days.length;
9492
- for (let i = 1; i <= remainingDays; i++) {
9493
- days.push({ day: i, month: nextMonth, year: nextYear });
9494
- }
9495
- this.calendarDaysCache = { month: this.currentMonth, year: this.currentYear, days };
9496
- return days;
9497
- }
9498
- getYears() {
9499
- var _a, _b;
9500
- const centerYear = (_b = (_a = this.selectedDate) === null || _a === void 0 ? void 0 : _a.getFullYear()) !== null && _b !== void 0 ? _b : this.currentYear;
9501
- const startYear = centerYear - 5;
9502
- return Array.from({ length: 12 }, (_, i) => startYear + i);
9503
- }
9504
- isSelected(day) {
9505
- if (!this.selectedDate)
9506
- return false;
9507
- return (day.day === this.selectedDate.getDate() &&
9508
- day.month === this.selectedDate.getMonth() &&
9509
- day.year === this.selectedDate.getFullYear());
9510
- }
9511
- isMonthSelected(month) {
9512
- var _a, _b;
9513
- return ((_a = this.selectedDate) === null || _a === void 0 ? void 0 : _a.getMonth()) === month && ((_b = this.selectedDate) === null || _b === void 0 ? void 0 : _b.getFullYear()) === this.currentYear;
9514
- }
9515
- isYearSelected(year) {
9516
- var _a;
9517
- return ((_a = this.selectedDate) === null || _a === void 0 ? void 0 : _a.getFullYear()) === year;
9518
- }
9519
- isDateEnabled(day) {
9520
- const date = new Date(day.year, day.month, day.day);
9521
- return ((!this._minDate || date >= this._minDate) &&
9522
- (!this._maxDate || date <= this._maxDate));
9523
- }
9524
- isMonthDisabled(month) {
9525
- if (!this._minDate && !this._maxDate)
9526
- return false;
9527
- const startOfMonth = new Date(this.currentYear, month, 1);
9528
- const endOfMonth = new Date(this.currentYear, month + 1, 0);
9529
- return ((!!this._minDate && !isNaN(this._minDate.getTime()) && endOfMonth < this._minDate) ||
9530
- (!!this._maxDate && !isNaN(this._maxDate.getTime()) && startOfMonth > this._maxDate));
9531
- }
9532
- isYearDisabled(year) {
9533
- if (!this._minDate && !this._maxDate)
9534
- return false;
9535
- const minYear = this._minDate && !isNaN(this._minDate.getTime()) ? this._minDate.getFullYear() : null;
9536
- const maxYear = this._maxDate && !isNaN(this._maxDate.getTime()) ? this._maxDate.getFullYear() : null;
9537
- return (minYear !== null && year < minYear) || (maxYear !== null && year > maxYear);
9538
- }
9539
- selectDate(day) {
9540
- if (!this.isDateEnabled(day))
9541
- return;
9542
- const date = new Date(day.year, day.month, day.day);
9543
- this.dateSelected.emit(date);
9544
- const needsUpdate = day.month !== this.currentMonth || day.year !== this.currentYear;
9545
- if (needsUpdate) {
9546
- setTimeout(() => {
9547
- this.currentMonth = day.month;
9548
- this.currentYear = day.year;
9549
- this._detector.markForCheck();
9550
- });
9551
- }
9552
- }
9553
- selectMonth(month) {
9554
- if (this.isMonthDisabled(month))
9555
- return;
9556
- setTimeout(() => {
9557
- this.currentMonth = month;
9558
- this.view = 'days';
9559
- this._detector.markForCheck();
9560
- });
9561
- }
9562
- selectYear(year) {
9563
- if (this.isYearDisabled(year))
9564
- return;
9565
- setTimeout(() => {
9566
- this.currentYear = year;
9567
- this.view = 'months';
9568
- this._detector.markForCheck();
9569
- });
9570
- }
9571
- changeMonth(offset) {
9572
- let newMonth = this.currentMonth + offset;
9573
- let newYear = this.currentYear;
9574
- if (newMonth < 0) {
9575
- newMonth = 11;
9576
- newYear--;
9577
- }
9578
- else if (newMonth > 11) {
9579
- newMonth = 0;
9580
- newYear++;
9581
- }
9582
- this.currentMonth = newMonth;
9583
- this.currentYear = newYear;
9584
- this._detector.markForCheck();
9585
- }
9586
- changeYearRange(offset) {
9587
- this.currentYear += offset * 12;
9588
- this._detector.markForCheck();
9589
- }
9590
- isPreviousMonthDisabled() {
9591
- if (!this._minDate)
9592
- return false;
9593
- return new Date(this.currentYear, this.currentMonth, 0) < this._minDate;
9594
- }
9595
- isNextMonthDisabled() {
9596
- if (!this._maxDate)
9597
- return false;
9598
- return new Date(this.currentYear, this.currentMonth + 1, 1) > this._maxDate;
9599
- }
9600
- isPreviousYearRangeDisabled() {
9601
- if (!this._minDate)
9602
- return false;
9603
- return this.getYears()[0] <= this._minDate.getFullYear();
9604
- }
9605
- isNextYearRangeDisabled() {
9606
- if (!this._maxDate)
9607
- return false;
9608
- return this.getYears()[this.getYears().length - 1] >= this._maxDate.getFullYear();
9609
- }
9610
- }
9611
- DateCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DateCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9612
- DateCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DateCalendarComponent, selector: "mrx-date-calendar", inputs: { selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateSelected: "dateSelected", close: "close" }, ngImport: i0, template: "<div class=\"mrx-calendar\">\r\n <div class=\"mrx-calendar-header\">\r\n <button *ngIf=\"view === 'days'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(-1)\" [disabled]=\"isPreviousMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n\r\n <button *ngIf=\"view === 'years'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(-1)\" [disabled]=\"isPreviousYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n\r\n <button class=\"mrx-calendar-header__button\" (click)=\"switchView()\">\r\n {{ headerText }}\r\n </button>\r\n\r\n <button *ngIf=\"view === 'days'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(1)\" [disabled]=\"isNextMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n\r\n <button *ngIf=\"view === 'years'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(1)\" [disabled]=\"isNextYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"mrx-calendar-body\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--years\">\r\n <div\r\n *ngFor=\"let year of getYears()\"\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--year\"\r\n [class.selected]=\"isYearSelected(year)\"\r\n [class.disabled]=\"isYearDisabled(year)\"\r\n [class.hoverable]=\"!isYearDisabled(year)\"\r\n (click)=\"selectYear(year)\"\r\n >\r\n {{ year }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--months\">\r\n <div\r\n *ngFor=\"let month of months\"\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--month\"\r\n [class.selected]=\"isMonthSelected(month)\"\r\n [class.disabled]=\"isMonthDisabled(month)\"\r\n [class.hoverable]=\"!isMonthDisabled(month)\"\r\n (click)=\"selectMonth(month)\"\r\n >\r\n {{ monthNames[month] }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--days\">\r\n <div *ngFor=\"let day of daysOfWeek\" class=\"mrx-calendar-body__grid__label\">{{ day }}</div>\r\n\r\n <div\r\n *ngFor=\"let day of getCalendarDays()\"\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--day\"\r\n [class.selected]=\"isSelected(day)\"\r\n [class.other-month]=\"day.month !== currentMonth\"\r\n [class.disabled]=\"!isDateEnabled(day)\"\r\n [class.hoverable]=\"isDateEnabled(day)\"\r\n (click)=\"selectDate(day)\"\r\n >\r\n {{ day.day }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".mrx-calendar{width:272px;border-radius:4px;background-color:var(--brand-bg-tertiary-default, #FFF);box-shadow:0 1px 4px #3a3a3a4d}.mrx-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--neutral-bg-divider, #DBDFE5)}.mrx-calendar-header__button{border:none;border-radius:4px;background-color:transparent;padding:6px 12px;text-align:center;flex-grow:1;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);cursor:pointer;transition:background-color .3s}.mrx-calendar-header__button:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:background-color .3s}.mrx-calendar-header__chevron:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron:disabled{cursor:default}.mrx-calendar-header__chevron:disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body{padding:8px 12px}.mrx-calendar-body__grid--days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;text-align:center}.mrx-calendar-body__grid--months{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;text-align:center}.mrx-calendar-body__grid--years{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;text-align:center;max-height:190px;overflow-y:auto}.mrx-calendar-body__grid__label{display:flex;justify-content:center;align-items:center;width:32px;height:32px;font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--brand-text-accent, #003780)}.mrx-calendar-body__grid__item{display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);transition:background-color .3s}.mrx-calendar-body__grid__item--day{width:32px;height:32px}.mrx-calendar-body__grid__item--month,.mrx-calendar-body__grid__item--year{height:32px}.mrx-calendar-body__grid__item.hoverable{cursor:pointer}.mrx-calendar-body__grid__item.hoverable:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-body__grid__item.selected{background-color:var(--brand-bg-primary-default, #2A6AB8);color:var(--neutral-text-inverse, #FFF)}.mrx-calendar-body__grid__item.selected:hover{background-color:var(--brand-bg-primary-hover, #0F54AA)}.mrx-calendar-body__grid__item.other-month{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected{background-color:var(--brand-bg-secondary-default, #EDF5FF);color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected:hover{background-color:var(--brand-bg-secondary-hover, #BED6F1)}.mrx-calendar-body__grid__item.other-month:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body__grid__item.disabled{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9613
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DateCalendarComponent, decorators: [{
9614
- type: Component,
9615
- args: [{ selector: 'mrx-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-calendar\">\r\n <div class=\"mrx-calendar-header\">\r\n <button *ngIf=\"view === 'days'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(-1)\" [disabled]=\"isPreviousMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n\r\n <button *ngIf=\"view === 'years'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(-1)\" [disabled]=\"isPreviousYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n\r\n <button class=\"mrx-calendar-header__button\" (click)=\"switchView()\">\r\n {{ headerText }}\r\n </button>\r\n\r\n <button *ngIf=\"view === 'days'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(1)\" [disabled]=\"isNextMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n\r\n <button *ngIf=\"view === 'years'\" class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(1)\" [disabled]=\"isNextYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"mrx-calendar-body\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--years\">\r\n <div\r\n *ngFor=\"let year of getYears()\"\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--year\"\r\n [class.selected]=\"isYearSelected(year)\"\r\n [class.disabled]=\"isYearDisabled(year)\"\r\n [class.hoverable]=\"!isYearDisabled(year)\"\r\n (click)=\"selectYear(year)\"\r\n >\r\n {{ year }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--months\">\r\n <div\r\n *ngFor=\"let month of months\"\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--month\"\r\n [class.selected]=\"isMonthSelected(month)\"\r\n [class.disabled]=\"isMonthDisabled(month)\"\r\n [class.hoverable]=\"!isMonthDisabled(month)\"\r\n (click)=\"selectMonth(month)\"\r\n >\r\n {{ monthNames[month] }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--days\">\r\n <div *ngFor=\"let day of daysOfWeek\" class=\"mrx-calendar-body__grid__label\">{{ day }}</div>\r\n\r\n <div\r\n *ngFor=\"let day of getCalendarDays()\"\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--day\"\r\n [class.selected]=\"isSelected(day)\"\r\n [class.other-month]=\"day.month !== currentMonth\"\r\n [class.disabled]=\"!isDateEnabled(day)\"\r\n [class.hoverable]=\"isDateEnabled(day)\"\r\n (click)=\"selectDate(day)\"\r\n >\r\n {{ day.day }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".mrx-calendar{width:272px;border-radius:4px;background-color:var(--brand-bg-tertiary-default, #FFF);box-shadow:0 1px 4px #3a3a3a4d}.mrx-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--neutral-bg-divider, #DBDFE5)}.mrx-calendar-header__button{border:none;border-radius:4px;background-color:transparent;padding:6px 12px;text-align:center;flex-grow:1;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);cursor:pointer;transition:background-color .3s}.mrx-calendar-header__button:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:background-color .3s}.mrx-calendar-header__chevron:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron:disabled{cursor:default}.mrx-calendar-header__chevron:disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body{padding:8px 12px}.mrx-calendar-body__grid--days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;text-align:center}.mrx-calendar-body__grid--months{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;text-align:center}.mrx-calendar-body__grid--years{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;text-align:center;max-height:190px;overflow-y:auto}.mrx-calendar-body__grid__label{display:flex;justify-content:center;align-items:center;width:32px;height:32px;font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--brand-text-accent, #003780)}.mrx-calendar-body__grid__item{display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);transition:background-color .3s}.mrx-calendar-body__grid__item--day{width:32px;height:32px}.mrx-calendar-body__grid__item--month,.mrx-calendar-body__grid__item--year{height:32px}.mrx-calendar-body__grid__item.hoverable{cursor:pointer}.mrx-calendar-body__grid__item.hoverable:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-body__grid__item.selected{background-color:var(--brand-bg-primary-default, #2A6AB8);color:var(--neutral-text-inverse, #FFF)}.mrx-calendar-body__grid__item.selected:hover{background-color:var(--brand-bg-primary-hover, #0F54AA)}.mrx-calendar-body__grid__item.other-month{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected{background-color:var(--brand-bg-secondary-default, #EDF5FF);color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected:hover{background-color:var(--brand-bg-secondary-hover, #BED6F1)}.mrx-calendar-body__grid__item.other-month:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body__grid__item.disabled{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}\n"] }]
9616
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedDate: [{
9617
- type: Input
9618
- }], dateSelected: [{
9619
- type: Output
9620
- }], close: [{
9621
- type: Output
9622
- }], minDate: [{
9623
- type: Input
9624
- }], maxDate: [{
9625
- type: Input
9626
- }] } });
9627
-
9628
- var InputDateSizesEnum$1;
9629
- (function (InputDateSizesEnum) {
9630
- InputDateSizesEnum["small"] = "mrx-input-date-sm";
9631
- InputDateSizesEnum["medium"] = "mrx-input-date-md";
9632
- InputDateSizesEnum["large"] = "mrx-input-date-lg";
9633
- })(InputDateSizesEnum$1 || (InputDateSizesEnum$1 = {}));
9634
-
9635
- const topPosition = {
9636
- originX: 'center',
9637
- originY: 'top',
9638
- overlayX: 'center',
9639
- overlayY: 'bottom',
9640
- panelClass: 'top',
9641
- };
9642
- const bottomPosition = {
9643
- originX: 'center',
9644
- originY: 'bottom',
9645
- overlayX: 'center',
9646
- overlayY: 'top',
9647
- panelClass: 'bottom',
9648
- };
9649
- const leftPosition = {
9650
- originX: 'start',
9651
- originY: 'center',
9652
- overlayX: 'end',
9653
- overlayY: 'center',
9654
- panelClass: 'start',
9655
- };
9656
- const rightPosition = {
9657
- originX: 'end',
9658
- originY: 'center',
9659
- overlayX: 'start',
9660
- overlayY: 'center',
9661
- panelClass: 'end',
9662
- };
9663
- const topStartPosition = {
9664
- originX: 'start',
9665
- originY: 'top',
9666
- overlayX: 'start',
9667
- overlayY: 'bottom',
9668
- panelClass: 'top-start',
9669
- };
9670
- const topEndPosition = {
9671
- originX: 'end',
9672
- originY: 'top',
9673
- overlayX: 'end',
9674
- overlayY: 'bottom',
9675
- panelClass: 'top-end',
9676
- };
9677
- const bottomStartPosition = {
9678
- originX: 'start',
9679
- originY: 'bottom',
9680
- overlayX: 'start',
9681
- overlayY: 'top',
9682
- panelClass: 'bottom-start',
9683
- };
9684
- const bottomEndPosition = {
9685
- originX: 'end',
9686
- originY: 'bottom',
9687
- overlayX: 'end',
9688
- overlayY: 'top',
9689
- panelClass: 'bottom-end',
9690
- };
9691
- var PositionEnum;
9692
- (function (PositionEnum) {
9693
- PositionEnum["Top"] = "top";
9694
- PositionEnum["Bottom"] = "bottom";
9695
- PositionEnum["Left"] = "left";
9696
- PositionEnum["Right"] = "right";
9697
- PositionEnum["TopStart"] = "top-start";
9698
- PositionEnum["TopEnd"] = "top-end";
9699
- PositionEnum["BottomStart"] = "bottom-start";
9700
- PositionEnum["BottomEnd"] = "bottom-end";
9701
- })(PositionEnum || (PositionEnum = {}));
9702
- const PositionStrategyEnum = {
9703
- [PositionEnum.Top]: [topPosition, bottomPosition, leftPosition, rightPosition],
9704
- [PositionEnum.Bottom]: [bottomPosition, topPosition, leftPosition, rightPosition],
9705
- [PositionEnum.Left]: [leftPosition, rightPosition, topPosition, bottomPosition],
9706
- [PositionEnum.Right]: [rightPosition, leftPosition, topPosition, bottomPosition],
9707
- [PositionEnum.TopStart]: [topStartPosition, topPosition, bottomStartPosition, bottomPosition],
9708
- [PositionEnum.TopEnd]: [topEndPosition, topPosition, bottomEndPosition, bottomPosition],
9709
- [PositionEnum.BottomStart]: [bottomStartPosition, bottomPosition, topStartPosition, topPosition],
9710
- [PositionEnum.BottomEnd]: [bottomEndPosition, bottomPosition, topEndPosition, topPosition],
9711
- };
9712
-
9713
- class InputDateComponent {
9714
- constructor(_overlay, _detector, _elementRef) {
9715
- this._overlay = _overlay;
9716
- this._detector = _detector;
9717
- this._elementRef = _elementRef;
9718
- this._overlayRef = null;
9719
- this.displayValue = '';
9720
- this.selectedDate = null;
9721
- this.mask = '';
9722
- this.errorMessage = null;
9723
- // SAVE STATE
9724
- this.uuid = v4();
9725
- this.fields = [];
9726
- this.format = 'DD.MM.YYYY';
9727
- this.minDate = null;
9728
- this.maxDate = null;
9729
- this.isSilentValidation = true;
9730
- this.isManualInput = true;
9731
- this.closeAfterSelect = true;
9732
- this.required = false;
9733
- this.size = 'large';
9734
- this.customClasses = '';
9735
- this.disabled = false;
9736
- this.readonly = false;
9737
- this.placeholder = 'дд.мм.гггг';
9738
- this.popupPosition = 'bottom-start';
9739
- this.invalid = false;
9740
- this.invalidMessage = '';
9741
- this.checkInvalid = null;
9742
- this.changed = new EventEmitter();
9743
- this.modelChange = new EventEmitter();
9744
- this.blurred = new EventEmitter();
9745
- this.onChange = () => { };
9746
- this.onTouched = () => { };
9747
- }
9748
- ngOnInit() {
9749
- this.mask = this.format.replace(/[DMY]/g, '0');
9750
- }
9751
- ngOnDestroy() {
9752
- var _a;
9753
- (_a = this._clickSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
9754
- this.closeCalendar();
9755
- }
9756
- get checkValidClasses() {
9757
- if (!this.required) {
9758
- return '';
9759
- }
9760
- else {
9761
- return this.checkInvalid === false ? 'mrx-input-checked-success' : this.checkInvalid === true ? 'mrx-input-checked-error' : '';
9762
- }
9763
- }
9764
- get getClasses() {
9765
- return `${InputDateSizesEnum$1[this.size]} ${this.customClasses} ${this.checkValidClasses}`;
9766
- }
9767
- get isViewCleanIcon() {
9768
- var _a;
9769
- return !!((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.nativeElement.value);
9770
- }
9771
- writeValue(value) {
9772
- const date = parseInputDate(value);
9773
- if (date && isDateInRange(date, this.minDate, this.maxDate)) {
9774
- this.selectedDate = date;
9775
- this.displayValue = formatDate(date, this.format);
9776
- this.errorMessage = null;
9777
- }
9778
- else if (this.isSilentValidation && date) {
9779
- const clampedDate = clampDate(date, this.minDate, this.maxDate);
9780
- this.selectedDate = clampedDate;
9781
- this.displayValue = formatDate(clampedDate, this.format);
9782
- this.errorMessage = null;
9783
- }
9784
- else {
9785
- this.selectedDate = null;
9786
- this.displayValue = date ? formatDate(date, this.format) : '';
9787
- this.errorMessage = date ? getRangeErrorMessage(date, this.minDate, this.maxDate) : null;
9788
- }
9789
- this._detector.markForCheck();
9790
- }
9791
- registerOnChange(fn) {
9792
- this.onChange = fn;
9793
- }
9794
- registerOnTouched(fn) {
9795
- this.onTouched = fn;
9796
- }
9797
- setDisabledState(isDisabled) {
9798
- this.disabled = isDisabled;
9799
- this._detector.markForCheck();
9800
- }
9801
- set value(value) {
9802
- const date = parseInputDate(value);
9803
- if (date && isDateInRange(date, this.minDate, this.maxDate)) {
9804
- this.selectedDate = date;
9805
- this.displayValue = formatDate(date, this.format);
9806
- this.errorMessage = null;
9807
- this.updateValue(value);
9808
- }
9809
- else if (this.isSilentValidation && date) {
9810
- const clampedDate = clampDate(date, this.minDate, this.maxDate);
9811
- this.selectedDate = clampedDate;
9812
- this.displayValue = formatDate(clampedDate, this.format);
9813
- this.errorMessage = null;
9814
- const clampedValue = toOutputFormat(clampedDate);
9815
- this.updateValue(clampedValue);
9816
- }
9817
- else {
9818
- this.selectedDate = null;
9819
- this.displayValue = date ? formatDate(date, this.format) : '';
9820
- this.errorMessage = date ? getRangeErrorMessage(date, this.minDate, this.maxDate) : null;
9821
- }
9822
- this._detector.markForCheck();
9823
- }
9824
- onInput(event) {
9825
- const inputElement = event.target;
9826
- const inputValue = inputElement.value;
9827
- this.processInput(inputValue);
9828
- }
9829
- processInput(inputValue) {
9830
- var _a;
9831
- this.displayValue = inputValue;
9832
- this.errorMessage = null;
9833
- if (inputValue.length === this.format.length) {
9834
- const separator = ((_a = this.format.match(/[^DMY]/)) === null || _a === void 0 ? void 0 : _a[0]) || '.';
9835
- const regex = new RegExp(`^(\\d{2})${separator}(\\d{2})${separator}(\\d{4})$`);
9836
- const match = inputValue.match(regex);
9837
- if (!match)
9838
- return;
9839
- let day, month, year;
9840
- if (this.format.startsWith('DD')) {
9841
- [day, month, year] = [match[1], match[2], match[3]].map(Number);
9842
- }
9843
- else if (this.format.startsWith('MM')) {
9844
- [month, day, year] = [match[1], match[2], match[3]].map(Number);
9845
- }
9846
- else {
9847
- [year, month, day] = [match[1], match[2], match[3]].map(Number);
9848
- }
9849
- month -= 1;
9850
- let date = new Date(year, month, day);
9851
- if (isValidDate(date) && isDateInRange(date, this.minDate, this.maxDate)) {
9852
- this.selectedDate = date;
9853
- this.updateValue(toOutputFormat(date));
9854
- }
9855
- else {
9856
- const { year: adjYear, month: adjMonth, day: adjDay } = adjustInvalidDate(year, month, day);
9857
- date = new Date(adjYear, adjMonth, adjDay);
9858
- if (isDateInRange(date, this.minDate, this.maxDate)) {
9859
- this.selectedDate = date;
9860
- this.displayValue = formatDate(date, this.format);
9861
- this.updateValue(toOutputFormat(date));
9862
- }
9863
- else if (this.isSilentValidation) {
9864
- const clampedDate = clampDate(date, this.minDate, this.maxDate);
9865
- this.selectedDate = clampedDate;
9866
- this.displayValue = formatDate(clampedDate, this.format);
9867
- this.updateValue(toOutputFormat(clampedDate));
9868
- }
9869
- else {
9870
- this.selectedDate = null;
9871
- this.errorMessage = getRangeErrorMessage(date, this.minDate, this.maxDate);
9872
- }
9873
- }
9874
- }
9875
- this._detector.markForCheck();
9876
- }
9877
- onBlur() {
9878
- this.onTouched();
9879
- if (this.displayValue.length > 0 && this.displayValue.length < this.format.length) {
9880
- this.displayValue = '';
9881
- this.selectedDate = null;
9882
- this.updateValue('');
9883
- this.errorMessage = null;
9884
- }
9885
- this._detector.markForCheck();
9886
- }
9887
- openCalendar() {
9888
- if (this.disabled || this._overlayRef)
9889
- return;
9890
- const positionStrategy = this._overlay
9891
- .position()
9892
- .flexibleConnectedTo(this.dateInput)
9893
- .withPositions(PositionStrategyEnum[this.popupPosition]);
9894
- this._overlayRef = this._overlay.create({
9895
- positionStrategy,
9896
- hasBackdrop: false
9897
- });
9898
- const portal = new ComponentPortal(DateCalendarComponent);
9899
- const componentRef = this._overlayRef.attach(portal);
9900
- componentRef.instance.selectedDate = this.selectedDate;
9901
- componentRef.instance.minDate = this.minDate;
9902
- componentRef.instance.maxDate = this.maxDate;
9903
- componentRef.instance.dateSelected.subscribe((date) => this.onDateSelected(date));
9904
- componentRef.instance.close.subscribe(() => this.closeCalendar());
9905
- this._clickSubscription = fromEvent(document, 'click')
9906
- .pipe(filter((event) => {
9907
- const clickTarget = event.target;
9908
- return (!!this._overlayRef &&
9909
- !this._overlayRef.overlayElement.contains(clickTarget) &&
9910
- !this._elementRef.nativeElement.contains(clickTarget));
9911
- }))
9912
- .subscribe(() => this.closeCalendar());
9913
- }
9914
- onDateSelected(date) {
9915
- const clampedDate = clampDate(date, this.minDate, this.maxDate);
9916
- this.selectedDate = clampedDate;
9917
- this.displayValue = formatDate(clampedDate, this.format);
9918
- this.errorMessage = null;
9919
- this.updateValue(toOutputFormat(clampedDate));
9920
- if (this.closeAfterSelect) {
9921
- this.closeCalendar();
9922
- }
9923
- this._detector.markForCheck();
9924
- }
9925
- closeCalendar() {
9926
- if (this._overlayRef) {
9927
- this._overlayRef.dispose();
9928
- this._overlayRef = null;
9929
- }
9930
- this.errorMessage = null;
9931
- }
9932
- clickToIconCalendar() {
9933
- this.openCalendar();
9934
- }
9935
- clickToIconClear() {
9936
- this.displayValue = '';
9937
- this.selectedDate = null;
9938
- this.errorMessage = null;
9939
- this.updateValue('');
9940
- this.closeCalendar();
9941
- this._detector.markForCheck();
9942
- }
9943
- updateValue(insideValue) {
9944
- this.changed.emit(insideValue);
9945
- this.modelChange.emit({ value: insideValue, id: this.uuid });
9946
- this.onChange(insideValue);
9947
- this.onTouched();
9948
- }
9949
- }
9950
- InputDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDateComponent, deps: [{ token: i1$2.Overlay }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
9951
- InputDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InputDateComponent, selector: "mrx-input-date", inputs: { fields: "fields", format: "format", minDate: "minDate", maxDate: "maxDate", isSilentValidation: "isSilentValidation", isManualInput: "isManualInput", closeAfterSelect: "closeAfterSelect", required: "required", size: "size", customClasses: "customClasses", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", popupPosition: "popupPosition", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid" }, outputs: { changed: "changed", modelChange: "modelChange", blurred: "blurred" }, providers: [
9952
- {
9953
- provide: NG_VALUE_ACCESSOR,
9954
- useExisting: forwardRef(() => InputDateComponent),
9955
- multi: true
9956
- }
9957
- ], viewQueries: [{ propertyName: "dateInput", first: true, predicate: ["dateInput"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [ngModel]=\"displayValue\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"!isManualInput\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [dropSpecialCharacters]=\"false\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n (input)=\"onInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n\r\n <div class=\"mrx-input-date__icons\" *ngIf=\"!disabled\">\r\n <span\r\n *ngIf=\"isViewCleanIcon\"\r\n class=\"mrx-icon icon-close\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-error-message\r\n *ngIf=\"!invalid && errorMessage\"\r\n [invalidMessage]=\"errorMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [".mrx-input-date{width:100%;position:relative}.mrx-input-date .mrx-input-date__wrapper{position:relative}.mrx-input-date .mrx-input-date__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);color:var(--neutral-text-primary);width:100%;transition:outline-width .2s,border .2s}.mrx-input-date .mrx-input-date__input:focus,.mrx-input-date .mrx-input-date__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-date .mrx-input-date__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-date .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled);color:var(--neutral-text-tertiary)}.mrx-input-date.mrx-input-date-lg .mrx-input-date__input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-4) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-md .mrx-input-date__input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-3) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-sm .mrx-input-date__input{padding:calc(var(--spacing-2) - var(--border-width-default)) calc(var(--spacing-2) - var(--border-width-default));font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-date.mrx-input-date.mrx-input-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date .mrx-input-date__icons{position:absolute;top:0;right:0;display:flex;align-items:center}.mrx-input-date.mrx-input-date .mrx-input-date__icons-item,.mrx-input-date.mrx-input-date .mrx-input-date__icons .mrx-icon{cursor:pointer}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-icon{margin-top:calc(var(--spacing-3) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-2)}\n"], components: [{ type: ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { type: SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$7.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDateComponent, decorators: [{
9959
- type: Component,
9960
- args: [{ selector: 'mrx-input-date', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
9961
- {
9962
- provide: NG_VALUE_ACCESSOR,
9963
- useExisting: forwardRef(() => InputDateComponent),
9964
- multi: true
9965
- }
9966
- ], template: "<div\r\n class=\"mrx-input-date\"\r\n [class.mrx-input-error]=\"invalid\"\r\n [class.mrx-input-readonly]=\"readonly\"\r\n [class]=\"getClasses\"\r\n>\r\n <div class=\"mrx-input-date__wrapper\">\r\n <input\r\n #dateInput\r\n type=\"text\"\r\n autocomplete=\"nope\"\r\n class=\"mrx-input-date__input mrx-input-date__date\"\r\n [ngModel]=\"displayValue\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"!isManualInput\"\r\n [mask]=\"mask\"\r\n [leadZeroDateTime]=\"true\"\r\n [dropSpecialCharacters]=\"false\"\r\n [placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n (input)=\"onInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n\r\n <div class=\"mrx-input-date__icons\" *ngIf=\"!disabled\">\r\n <span\r\n *ngIf=\"isViewCleanIcon\"\r\n class=\"mrx-icon icon-close\"\r\n (click)=\"clickToIconClear()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n\r\n <span\r\n class=\"mrx-icon icon-calendar\"\r\n (click)=\"clickToIconCalendar()\"\r\n [class.icon-font-16]=\"size === 'small'\"\r\n [class.icon-font-24]=\"size === 'medium' || size === 'large'\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <mrx-error-message\r\n *ngIf=\"invalid\"\r\n [invalidMessage]=\"invalidMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-error-message\r\n *ngIf=\"!invalid && errorMessage\"\r\n [invalidMessage]=\"errorMessage\"\r\n ></mrx-error-message>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>\r\n</div>\r\n", styles: [".mrx-input-date{width:100%;position:relative}.mrx-input-date .mrx-input-date__wrapper{position:relative}.mrx-input-date .mrx-input-date__input{border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);color:var(--neutral-text-primary);width:100%;transition:outline-width .2s,border .2s}.mrx-input-date .mrx-input-date__input:focus,.mrx-input-date .mrx-input-date__input:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-input-date .mrx-input-date__input:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-input-date .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled);color:var(--neutral-text-tertiary)}.mrx-input-date.mrx-input-date-lg .mrx-input-date__input{padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-4) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-md .mrx-input-date__input{padding:calc(var(--spacing-2) + var(--spacing-half) - var(--border-width-default)) calc(var(--spacing-3) - var(--border-width-default));font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height)}.mrx-input-date.mrx-input-date-sm .mrx-input-date__input{padding:calc(var(--spacing-2) - var(--border-width-default)) calc(var(--spacing-2) - var(--border-width-default));font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height)}.mrx-input-date.mrx-input-date.mrx-input-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input{border-color:var(--system-bg-controls-negative-default);background-color:var(--system-bg-negative-secondary)}.mrx-input-date.mrx-input-date.mrx-input-checked-error .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input{background-color:var(--system-bg-positive-secondary);border-color:var(--system-bg-controls-positive-default)}.mrx-input-date.mrx-input-date.mrx-input-checked-success .mrx-input-date__input:disabled{background-color:var(--neutral-bg-disabled, #EEF0F4);border-color:var(--neutral-bg-stroke-default)}.mrx-input-date.mrx-input-date .mrx-input-date__icons{position:absolute;top:0;right:0;display:flex;align-items:center}.mrx-input-date.mrx-input-date .mrx-input-date__icons-item,.mrx-input-date.mrx-input-date .mrx-input-date__icons .mrx-icon{cursor:pointer}.mrx-input-date.mrx-input-date.mrx-input-date-lg .mrx-icon{margin-top:calc(var(--spacing-3) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-md .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-3)}.mrx-input-date.mrx-input-date.mrx-input-date-sm .mrx-icon{margin-top:calc(var(--spacing-2) - var(--border-width-default));margin-right:var(--spacing-2)}\n"] }]
9967
- }], ctorParameters: function () { return [{ type: i1$2.Overlay }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { fields: [{
9968
- type: Input
9969
- }], format: [{
9970
- type: Input
9971
- }], minDate: [{
9972
- type: Input
9973
- }], maxDate: [{
9974
- type: Input
9975
- }], isSilentValidation: [{
9976
- type: Input
9977
- }], isManualInput: [{
9978
- type: Input
9979
- }], closeAfterSelect: [{
9980
- type: Input
9981
- }], required: [{
9982
- type: Input
9983
- }], size: [{
9984
- type: Input
9985
- }], customClasses: [{
9986
- type: Input
9987
- }], disabled: [{
9988
- type: Input
9989
- }], readonly: [{
9990
- type: Input
9991
- }], placeholder: [{
9992
- type: Input
9993
- }], popupPosition: [{
9994
- type: Input
9995
- }], invalid: [{
9996
- type: Input
9997
- }], invalidMessage: [{
9998
- type: Input
9999
- }], checkInvalid: [{
10000
- type: Input
10001
- }], changed: [{
10002
- type: Output
10003
- }], modelChange: [{
10004
- type: Output
10005
- }], blurred: [{
10006
- type: Output
10007
- }], dateInput: [{
10008
- type: ViewChild,
10009
- args: ['dateInput']
10010
- }] } });
10011
-
10012
- const maskConfigFunction$3 = () => {
10013
- return {
10014
- validation: false,
10015
- };
10016
- };
10017
- class InputDateModule {
10018
- }
10019
- InputDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10020
- InputDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDateModule, declarations: [InputDateComponent,
10021
- DateCalendarComponent], imports: [CommonModule,
10022
- FormsModule,
10023
- ErrorMessageModule,
10024
- LabelModule,
10025
- SaveStateModule, i1$7.NgxMaskModule], exports: [InputDateComponent] });
10026
- InputDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDateModule, imports: [[
10027
- CommonModule,
10028
- FormsModule,
10029
- ErrorMessageModule,
10030
- LabelModule,
10031
- SaveStateModule,
10032
- NgxMaskModule.forRoot(maskConfigFunction$3)
10033
- ]] });
10034
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputDateModule, decorators: [{
10035
- type: NgModule,
10036
- args: [{
10037
- declarations: [
10038
- InputDateComponent,
10039
- DateCalendarComponent
10040
- ],
10041
- imports: [
10042
- CommonModule,
10043
- FormsModule,
10044
- ErrorMessageModule,
10045
- LabelModule,
10046
- SaveStateModule,
10047
- NgxMaskModule.forRoot(maskConfigFunction$3)
10048
- ],
10049
- exports: [
10050
- InputDateComponent
10051
- ]
10052
- }]
10053
- }] });
10054
-
10055
9336
  var InputDateTimeSizesEnum;
10056
9337
  (function (InputDateTimeSizesEnum) {
10057
9338
  InputDateTimeSizesEnum["small"] = "mrx-input-date-sm";
@@ -19598,5 +18879,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
19598
18879
  * Generated bundle index. Do not edit.
19599
18880
  */
19600
18881
 
19601
- export { AlertColorClasses, AlertComponent, AlertIconClasses, AlertModule, BadgeColorClassesEnum, BadgeComponent, BadgeGroupComponent, BadgeSizeEnum, BadgeTagTypeClassesEnum, BadgeTargetTypesEnum, BadgeTypeEnum, BadgesModule, BreadcrumbsComponent, BreadcrumbsModule, BreadcrumbsTypeEnum, ButtonColorsEnum, ButtonComponent, ButtonIconPositionEnum, ButtonModule, ButtonSizesEnum, ButtonTypesEnum, CdkTooltipDirective, CdkTooltipModule, CharsLeftComponent, CharsLeftModule, CheckboxComponent, CheckboxGroupComponent, CheckboxGroupModule, CheckboxModule, ColumnComponent, ContentWrapperComponent, ContentWrapperModule, ContentWrapperTypeEnum, ContextMenuAttachDirective, ContextMenuComponent, ContextMenuContentComponent, ContextMenuFixedService, ContextMenuItemDirective, ContextMenuModule, ContextMenuService, ControlsItemComponent, ControlsVisibilityEnum, ControlsWrapperComponent, ControlsWrapperModule, CountriesISO, CountriesRusLabel, CountryISO, CurrencyModule, CurrencyPipe, DateFormatModule, DateFormatPipe, DateTimeFormatPipe, DefaultPagerSettings, DocumentEditorComponent, DocumentEditorModule, DropdownComponent, DropdownModule, EditorComponent, EditorModule, ErrorMessageComponent, ErrorMessageModule, FileUploadService, FormulaEditorComponent, FormulaEditorModule, GalleryComponent, GalleryModule, HideAfterClickDirective, HintErrorMessageComponent, HintErrorMessageModule, IconButtonComponent, IconButtonModule, IconButtonSizeEnum, IconButtonStateEnum, IconButtonTypeEnum, InputDateComponent, InputDateModule, InputDateSizesEnum$2 as InputDateSizesEnum, InputDateTimeComponent, InputDateTimeModule, InputDatepickerComponent, InputDatepickerModule, InputEditorModeEnum, InputFileComponent, InputFileImageComponent, InputFileImageModule, InputFileImageTypeEnum, InputFileModule, InputNumberComponent, InputNumberModule, InputNumberSizesEnum, InputOptComponent, InputOptModule, InputPasswordComponent, InputPasswordModule, InputPasswordSizesEnum, InputPhoneComponent, InputPhoneModule, InputSearchComponent, InputSearchModule, InputSearchSizesEnum, InputSelectComponent, InputSelectModule, InputSelectSizeEnum, InputTelComponent, InputTelModule, InputTelSizesEnum, InputTextComponent, InputTextIconColorEnum, InputTextModule, InputTextSizesEnum, InputTextareaComponent, InputTextareaModule, InputTextareaSizesEnum, InputTimepickerComponent, InputTimepickerModule, JsonEditorComponent, JsonEditorModule, JsonEditorOptions, LabelComponent, LabelModule, LinkComponent, LinkModule, LinkSizesEnum, LinkTargetTypesEnum, LinkTypesEnum, LoaderColorEnum, LoaderComponent, LoaderModule, LoaderSizesEnum, ModalAlignButtonsEnum, ModalColorEnum, ModalComponent, ModalModule, ModalSizesEnum, MrxAutoSaveActionsEnum, MrxAutosaveService, MrxFormValidator, NgxOtpBehavior, PagesNavComponent, PagesNavEnum, PagesNavModule, PaginatorComponent, PaginatorModule, PaginatorPositionCss, PdfViewerComponent, PdfViewerComponentModule, PhoneFormatModule, PhoneFormatPipe, PopupComponent, PopupItemComponent, PopupModule, PopupTriggerDirective, PreviewEnum, ProgressClasses, ProgressComponent, ProgressModule, RadioComponent, RadioGroupComponent, RadioGroupModule, RadioModule, RadioTypesEnum, RatingComponent, RatingModule, RatingSizesEnum, RatingValueSizesEnum, RatingWrapperSizesEnum, SafeModule, SafePipe, SaveStateComponent, SaveStateModule, SaveStoreModule, StepperClasses, StepperComponent, StepperModule, SwitchComponent, SwitchModule, SwitchSizeEnum, SwitchTypeEnum, TabComponent, TableComponent, TableModule, TableTypeEnum, TabsClasses, TabsGroupComponent, TabsModule, TabsTypesClasses, Timezone$1 as Timezone, Tooltip, TooltipComponent, TooltipModule, TooltipService, TooltipTextPositionEnum, TooltipTriggerComponent, TooltipTriggerEnum, TruncateDirective, TruncateDirectiveModule, TruncateModule, TruncatePipe, TruncateTextComponent, TruncateTextModule, ValidationMethodsEnum, ValidationOptionsEnum, ValidationTypesEnum, WarningMessageComponent, WarningMessageModule, WidgetWrapperComponent, WidgetWrapperModule, autosaveAddId, autosaveError, autosaveErrorFor, autosaveStart, autosaveStartFor, autosaveStop, autosaveStopFor, autosaveSuccess, autosaveSuccessFor, convertBase64ToFile, countryData, dateTimeFormat, formatBytes, formattingDateRange, formattingIsoToString, getBase64FromUrl, getHashCode, sHashCode, selectFields, selectMrxAutoSaveState, sliceDate, toBytes, toDate, toNumberFormat, wordForm };
18882
+ export { AlertColorClasses, AlertComponent, AlertIconClasses, AlertModule, BadgeColorClassesEnum, BadgeComponent, BadgeGroupComponent, BadgeSizeEnum, BadgeTagTypeClassesEnum, BadgeTargetTypesEnum, BadgeTypeEnum, BadgesModule, BreadcrumbsComponent, BreadcrumbsModule, BreadcrumbsTypeEnum, ButtonColorsEnum, ButtonComponent, ButtonIconPositionEnum, ButtonModule, ButtonSizesEnum, ButtonTypesEnum, CdkTooltipDirective, CdkTooltipModule, CharsLeftComponent, CharsLeftModule, CheckboxComponent, CheckboxGroupComponent, CheckboxGroupModule, CheckboxModule, ColumnComponent, ContentWrapperComponent, ContentWrapperModule, ContentWrapperTypeEnum, ContextMenuAttachDirective, ContextMenuComponent, ContextMenuContentComponent, ContextMenuFixedService, ContextMenuItemDirective, ContextMenuModule, ContextMenuService, ControlsItemComponent, ControlsVisibilityEnum, ControlsWrapperComponent, ControlsWrapperModule, CountriesISO, CountriesRusLabel, CountryISO, CurrencyModule, CurrencyPipe, DateFormatModule, DateFormatPipe, DateTimeFormatPipe, DefaultPagerSettings, DocumentEditorComponent, DocumentEditorModule, DropdownComponent, DropdownModule, EditorComponent, EditorModule, ErrorMessageComponent, ErrorMessageModule, FileUploadService, FormulaEditorComponent, FormulaEditorModule, GalleryComponent, GalleryModule, HideAfterClickDirective, HintErrorMessageComponent, HintErrorMessageModule, IconButtonComponent, IconButtonModule, IconButtonSizeEnum, IconButtonStateEnum, IconButtonTypeEnum, InputDateSizesEnum$1 as InputDateSizesEnum, InputDateTimeComponent, InputDateTimeModule, InputDatepickerComponent, InputDatepickerModule, InputEditorModeEnum, InputFileComponent, InputFileImageComponent, InputFileImageModule, InputFileImageTypeEnum, InputFileModule, InputNumberComponent, InputNumberModule, InputNumberSizesEnum, InputOptComponent, InputOptModule, InputPasswordComponent, InputPasswordModule, InputPasswordSizesEnum, InputPhoneComponent, InputPhoneModule, InputSearchComponent, InputSearchModule, InputSearchSizesEnum, InputSelectComponent, InputSelectModule, InputSelectSizeEnum, InputTelComponent, InputTelModule, InputTelSizesEnum, InputTextComponent, InputTextIconColorEnum, InputTextModule, InputTextSizesEnum, InputTextareaComponent, InputTextareaModule, InputTextareaSizesEnum, InputTimepickerComponent, InputTimepickerModule, JsonEditorComponent, JsonEditorModule, JsonEditorOptions, LabelComponent, LabelModule, LinkComponent, LinkModule, LinkSizesEnum, LinkTargetTypesEnum, LinkTypesEnum, LoaderColorEnum, LoaderComponent, LoaderModule, LoaderSizesEnum, ModalAlignButtonsEnum, ModalColorEnum, ModalComponent, ModalModule, ModalSizesEnum, MrxAutoSaveActionsEnum, MrxAutosaveService, MrxFormValidator, NgxOtpBehavior, PagesNavComponent, PagesNavEnum, PagesNavModule, PaginatorComponent, PaginatorModule, PaginatorPositionCss, PdfViewerComponent, PdfViewerComponentModule, PhoneFormatModule, PhoneFormatPipe, PopupComponent, PopupItemComponent, PopupModule, PopupTriggerDirective, PreviewEnum, ProgressClasses, ProgressComponent, ProgressModule, RadioComponent, RadioGroupComponent, RadioGroupModule, RadioModule, RadioTypesEnum, RatingComponent, RatingModule, RatingSizesEnum, RatingValueSizesEnum, RatingWrapperSizesEnum, SafeModule, SafePipe, SaveStateComponent, SaveStateModule, SaveStoreModule, StepperClasses, StepperComponent, StepperModule, SwitchComponent, SwitchModule, SwitchSizeEnum, SwitchTypeEnum, TabComponent, TableComponent, TableModule, TableTypeEnum, TabsClasses, TabsGroupComponent, TabsModule, TabsTypesClasses, Timezone$1 as Timezone, Tooltip, TooltipComponent, TooltipModule, TooltipService, TooltipTextPositionEnum, TooltipTriggerComponent, TooltipTriggerEnum, TruncateDirective, TruncateDirectiveModule, TruncateModule, TruncatePipe, TruncateTextComponent, TruncateTextModule, ValidationMethodsEnum, ValidationOptionsEnum, ValidationTypesEnum, WarningMessageComponent, WarningMessageModule, WidgetWrapperComponent, WidgetWrapperModule, autosaveAddId, autosaveError, autosaveErrorFor, autosaveStart, autosaveStartFor, autosaveStop, autosaveStopFor, autosaveSuccess, autosaveSuccessFor, convertBase64ToFile, countryData, dateTimeFormat, formatBytes, formattingDateRange, formattingIsoToString, getBase64FromUrl, getHashCode, sHashCode, selectFields, selectMrxAutoSaveState, sliceDate, toBytes, toDate, toNumberFormat, wordForm };
19602
18883
  //# sourceMappingURL=myrta-ui.mjs.map