@odx/angular 12.12.2 → 12.13.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.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,21 @@
1
1
  # @odx/angular
2
2
 
3
- ## 12.12.2
3
+ ## 12.13.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 01787ab: Fixed: to avoid calendar jumps caused by the different number of days in each month, it now consistently displays 6 weeks per month
8
+
9
+ ## 12.13.0
10
+
11
+ ### Minor Changes
12
+
13
+ - b146ba8: Two new variants have been added to the Toast component: warning-strong and danger-strong
4
14
 
5
15
  ### Patch Changes
6
16
 
7
17
  - 890c7aa: Added a new icon inside the switch indicator: a checkmark appears when checked, and an "x" appears when unchecked.
18
+ - 6b48ec1: New usage exemple for wizard component
8
19
 
9
20
  ## 12.12.1
10
21
 
@@ -2,6 +2,7 @@ import * as i0 from "@angular/core";
2
2
  /** @internal */
3
3
  export declare class CalendarMonthService {
4
4
  private readonly calendar;
5
+ private readonly weeksInView;
5
6
  readonly weekDays$: import("rxjs").Observable<Date[]>;
6
7
  readonly weeks$: import("rxjs").Observable<Date[][]>;
7
8
  private generateWeekDays;
@@ -4,4 +4,6 @@ export declare const ToastVariant: {
4
4
  readonly WARNING: "warning";
5
5
  readonly DANGER: "danger";
6
6
  readonly SUCCESS: "success";
7
+ readonly WARNING_STRONG: "warning-strong";
8
+ readonly DANGER_STRONG: "danger-strong";
7
9
  };
@@ -14,8 +14,8 @@ export declare class WizardComponent implements AfterViewInit {
14
14
  private readonly dottedLineStart;
15
15
  private readonly dottedLineEnd;
16
16
  private readonly windowRef;
17
- private activeStep;
18
17
  protected readonly steps: QueryList<WizardStepComponent>;
18
+ readonly activeStep: import("@angular/core").WritableSignal<number>;
19
19
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
20
20
  /**
21
21
  * Indicates if the wizard layout should be vertical. When true, the wizard orientation changes to vertical.
@@ -45,7 +45,7 @@ export declare class WizardComponent implements AfterViewInit {
45
45
  */
46
46
  previousStep(): void;
47
47
  /**
48
- * Sets the active step to the specified index.
48
+ * Sets the active step valid.
49
49
  */
50
50
  setActiveStepValid(): void;
51
51
  /**
@@ -1,5 +1,5 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
- import { addDays, endOfMonth, endOfWeek, startOfMonth, startOfWeek } from 'date-fns';
2
+ import { addDays, startOfMonth, startOfWeek } from 'date-fns';
3
3
  import { map } from 'rxjs';
4
4
  import { CalendarService } from '../calendar.service';
5
5
  import * as i0 from "@angular/core";
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
7
7
  export class CalendarMonthService {
8
8
  constructor() {
9
9
  this.calendar = inject(CalendarService);
10
+ this.weeksInView = 6;
10
11
  this.weekDays$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeekDays(date)));
11
12
  this.weeks$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeeks(date)));
12
13
  }
@@ -16,12 +17,10 @@ export class CalendarMonthService {
16
17
  }
17
18
  generateWeeks(date) {
18
19
  const startOfTheSelectedMonth = startOfMonth(date);
19
- const endOfTheSelectedMonth = endOfMonth(date);
20
20
  const startDate = startOfWeek(startOfTheSelectedMonth, { weekStartsOn: 1 });
21
- const endDate = endOfWeek(endOfTheSelectedMonth);
22
21
  const allWeeks = [];
23
22
  let currentDate = startDate;
24
- while (currentDate <= endDate) {
23
+ for (let i = this.weeksInView; i > 0; i--) {
25
24
  allWeeks.push(this.generateDaysForWeek(currentDate, date));
26
25
  currentDate = addDays(currentDate, 7);
27
26
  }
@@ -36,4 +35,4 @@ export class CalendarMonthService {
36
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarMonthService, decorators: [{
37
36
  type: Injectable
38
37
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXItbW9udGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFdEQsZ0JBQWdCO0FBRWhCLE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFbUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVwQyxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0EwQmxHO0lBeEJTLGdCQUFnQixDQUFDLElBQVU7UUFDakMsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQVU7UUFDOUIsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRXBCLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM1QixPQUFPLFdBQVcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRCxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQVUsRUFBRSxXQUFpQjtRQUN2RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7K0dBN0JVLG9CQUFvQjttSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGREYXlzLCBlbmRPZk1vbnRoLCBlbmRPZldlZWssIHN0YXJ0T2ZNb250aCwgc3RhcnRPZldlZWsgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuXG4vKiogQGludGVybmFsICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNb250aFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdlZWtEYXlzJCA9IHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSQucGlwZShtYXAoKGRhdGUpID0+IHRoaXMuZ2VuZXJhdGVXZWVrRGF5cyhkYXRlKSkpO1xuICBwdWJsaWMgcmVhZG9ubHkgd2Vla3MkID0gdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlJC5waXBlKG1hcCgoZGF0ZSkgPT4gdGhpcy5nZW5lcmF0ZVdlZWtzKGRhdGUpKSk7XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVdlZWtEYXlzKGRhdGU6IERhdGUpOiBEYXRlW10ge1xuICAgIGNvbnN0IGZpcnN0V2Vla0RheSA9IHN0YXJ0T2ZXZWVrKGRhdGUsIHsgd2Vla1N0YXJ0c09uOiAxIH0pO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA3IH0sIChfLCBpKSA9PiBhZGREYXlzKGZpcnN0V2Vla0RheSwgaSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVdlZWtzKGRhdGU6IERhdGUpOiBEYXRlW11bXSB7XG4gICAgY29uc3Qgc3RhcnRPZlRoZVNlbGVjdGVkTW9udGggPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gICAgY29uc3QgZW5kT2ZUaGVTZWxlY3RlZE1vbnRoID0gZW5kT2ZNb250aChkYXRlKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSBzdGFydE9mV2VlayhzdGFydE9mVGhlU2VsZWN0ZWRNb250aCwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgY29uc3QgZW5kRGF0ZSA9IGVuZE9mV2VlayhlbmRPZlRoZVNlbGVjdGVkTW9udGgpO1xuICAgIGNvbnN0IGFsbFdlZWtzID0gW107XG5cbiAgICBsZXQgY3VycmVudERhdGUgPSBzdGFydERhdGU7XG4gICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZERhdGUpIHtcbiAgICAgIGFsbFdlZWtzLnB1c2godGhpcy5nZW5lcmF0ZURheXNGb3JXZWVrKGN1cnJlbnREYXRlLCBkYXRlKSk7XG4gICAgICBjdXJyZW50RGF0ZSA9IGFkZERheXMoY3VycmVudERhdGUsIDcpO1xuICAgIH1cblxuICAgIHJldHVybiBhbGxXZWVrcztcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXlzRm9yV2VlayhkYXRlOiBEYXRlLCBjdXJyZW50RGF0ZTogRGF0ZSk6IERhdGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSkubWFwKChfLCBpKSA9PiBhZGREYXlzKGRhdGUsIGkpLCBjdXJyZW50RGF0ZSk7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXItbW9udGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXRELGdCQUFnQjtBQUVoQixNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFakIsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsV0FBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBeUJsRztJQXZCUyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFVO1FBQzlCLE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFFNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRCxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQVUsRUFBRSxXQUFpQjtRQUN2RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7K0dBN0JVLG9CQUFvQjttSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGREYXlzLCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhciA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdlZWtzSW5WaWV3ID0gNjtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2Vla0RheXMkID0gdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlJC5waXBlKG1hcCgoZGF0ZSkgPT4gdGhpcy5nZW5lcmF0ZVdlZWtEYXlzKGRhdGUpKSk7XG4gIHB1YmxpYyByZWFkb25seSB3ZWVrcyQgPSB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUkLnBpcGUobWFwKChkYXRlKSA9PiB0aGlzLmdlbmVyYXRlV2Vla3MoZGF0ZSkpKTtcblxuICBwcml2YXRlIGdlbmVyYXRlV2Vla0RheXMoZGF0ZTogRGF0ZSk6IERhdGVbXSB7XG4gICAgY29uc3QgZmlyc3RXZWVrRGF5ID0gc3RhcnRPZldlZWsoZGF0ZSwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSwgKF8sIGkpID0+IGFkZERheXMoZmlyc3RXZWVrRGF5LCBpKSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlV2Vla3MoZGF0ZTogRGF0ZSk6IERhdGVbXVtdIHtcbiAgICBjb25zdCBzdGFydE9mVGhlU2VsZWN0ZWRNb250aCA9IHN0YXJ0T2ZNb250aChkYXRlKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSBzdGFydE9mV2VlayhzdGFydE9mVGhlU2VsZWN0ZWRNb250aCwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgY29uc3QgYWxsV2Vla3MgPSBbXTtcblxuICAgIGxldCBjdXJyZW50RGF0ZSA9IHN0YXJ0RGF0ZTtcblxuICAgIGZvciAobGV0IGkgPSB0aGlzLndlZWtzSW5WaWV3OyBpID4gMDsgaS0tKSB7XG4gICAgICBhbGxXZWVrcy5wdXNoKHRoaXMuZ2VuZXJhdGVEYXlzRm9yV2VlayhjdXJyZW50RGF0ZSwgZGF0ZSkpO1xuICAgICAgY3VycmVudERhdGUgPSBhZGREYXlzKGN1cnJlbnREYXRlLCA3KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsV2Vla3M7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRGF5c0ZvcldlZWsoZGF0ZTogRGF0ZSwgY3VycmVudERhdGU6IERhdGUpOiBEYXRlW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA3IH0pLm1hcCgoXywgaSkgPT4gYWRkRGF5cyhkYXRlLCBpKSwgY3VycmVudERhdGUpO1xuICB9XG59XG4iXX0=
@@ -3,5 +3,7 @@ export const ToastVariant = {
3
3
  WARNING: 'warning',
4
4
  DANGER: 'danger',
5
5
  SUCCESS: 'success',
6
+ WARNING_STRONG: 'warning-strong',
7
+ DANGER_STRONG: 'danger-strong',
6
8
  };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdmFyaWFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvbW9kZWxzL3RvYXN0LXZhcmlhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRvYXN0VmFyaWFudCA9ICh0eXBlb2YgVG9hc3RWYXJpYW50KVtrZXlvZiB0eXBlb2YgVG9hc3RWYXJpYW50XTtcblxuZXhwb3J0IGNvbnN0IFRvYXN0VmFyaWFudCA9IHtcbiAgREVGQVVMVDogJ2RlZmF1bHQnLFxuICBXQVJOSU5HOiAnd2FybmluZycsXG4gIERBTkdFUjogJ2RhbmdlcicsXG4gIFNVQ0NFU1M6ICdzdWNjZXNzJyxcbn0gYXMgY29uc3Q7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdmFyaWFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvbW9kZWxzL3RvYXN0LXZhcmlhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsYUFBYSxFQUFFLGVBQWU7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRvYXN0VmFyaWFudCA9ICh0eXBlb2YgVG9hc3RWYXJpYW50KVtrZXlvZiB0eXBlb2YgVG9hc3RWYXJpYW50XTtcblxuZXhwb3J0IGNvbnN0IFRvYXN0VmFyaWFudCA9IHtcbiAgREVGQVVMVDogJ2RlZmF1bHQnLFxuICBXQVJOSU5HOiAnd2FybmluZycsXG4gIERBTkdFUjogJ2RhbmdlcicsXG4gIFNVQ0NFU1M6ICdzdWNjZXNzJyxcbiAgV0FSTklOR19TVFJPTkc6ICd3YXJuaW5nLXN0cm9uZycsXG4gIERBTkdFUl9TVFJPTkc6ICdkYW5nZXItc3Ryb25nJyxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, inject, Input, Output, QueryList, Renderer2, ViewEncapsulation, } from '@angular/core';
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, inject, Input, Output, QueryList, Renderer2, signal, ViewEncapsulation, } from '@angular/core';
3
3
  import { WindowRef } from '@odx/angular';
4
4
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
5
5
  import { injectElement, untilDestroyed } from '@odx/angular/utils';
@@ -20,7 +20,7 @@ let WizardComponent = class WizardComponent {
20
20
  this.dottedLineStart = this.renderer.createElement('div');
21
21
  this.dottedLineEnd = this.renderer.createElement('div');
22
22
  this.windowRef = inject(WindowRef);
23
- this.activeStep = 0;
23
+ this.activeStep = signal(0);
24
24
  this.element = injectElement();
25
25
  /**
26
26
  * Indicates if the wizard layout should be vertical. When true, the wizard orientation changes to vertical.
@@ -61,19 +61,19 @@ let WizardComponent = class WizardComponent {
61
61
  * Navigates to the next step in the wizard.
62
62
  */
63
63
  nextStep() {
64
- this.activeStep < this.steps.length - 1 && this.changeStepHandler(this.steps.get(this.activeStep + 1));
64
+ this.activeStep() < this.steps.length - 1 && this.changeStepHandler(this.steps.get(this.activeStep() + 1));
65
65
  }
66
66
  /**
67
67
  * Navigates to the previous step in the wizard.
68
68
  */
69
69
  previousStep() {
70
- this.activeStep > 0 && this.changeStepHandler(this.steps.get(this.activeStep - 1));
70
+ this.activeStep() > 0 && this.changeStepHandler(this.steps.get(this.activeStep() - 1));
71
71
  }
72
72
  /**
73
- * Sets the active step to the specified index.
73
+ * Sets the active step valid.
74
74
  */
75
75
  setActiveStepValid() {
76
- this.steps.get(this.activeStep)?.setValid(true);
76
+ this.steps.get(this.activeStep())?.setValid(true);
77
77
  }
78
78
  /**
79
79
  * Sets the validity of a step at the specified index.
@@ -85,8 +85,8 @@ let WizardComponent = class WizardComponent {
85
85
  const step = this.steps.get(stepIndex);
86
86
  if (step) {
87
87
  step.setValid(valid);
88
- if (stepIndex === this.activeStep) {
89
- this.activeStepChanged.emit(this.activeStep);
88
+ if (stepIndex === this.activeStep()) {
89
+ this.activeStepChanged.emit(this.activeStep());
90
90
  }
91
91
  }
92
92
  }
@@ -97,7 +97,7 @@ let WizardComponent = class WizardComponent {
97
97
  * @returns {boolean} - Whether the step is valid or not.
98
98
  */
99
99
  isStepValid(stepIndex) {
100
- return !!this.steps.get(stepIndex)?.valid;
100
+ return !!this.steps?.get(stepIndex)?.valid;
101
101
  }
102
102
  /**
103
103
  * Returns whether the current active step is valid.
@@ -105,7 +105,7 @@ let WizardComponent = class WizardComponent {
105
105
  * @returns {boolean} - Whether the current step is valid or not.
106
106
  */
107
107
  isCurrentStepValid() {
108
- return this.isStepValid(this.activeStep);
108
+ return this.isStepValid(this.activeStep());
109
109
  }
110
110
  calculateVisibleStepsSegments() {
111
111
  if (!this.responsive$.getValue())
@@ -132,11 +132,11 @@ let WizardComponent = class WizardComponent {
132
132
  this.steps.forEach((step, index) => {
133
133
  step.active = false;
134
134
  step.isLastTouched = false;
135
- if (this.activeStep === index)
135
+ if (this.activeStep() === index)
136
136
  step.touched = true;
137
137
  step.touched && touched.push(step);
138
- this.activeStep === index && (step.active = true);
139
- step.passed = index <= this.activeStep;
138
+ this.activeStep() === index && (step.active = true);
139
+ step.passed = index <= this.activeStep();
140
140
  });
141
141
  const lastTouched = touched.pop();
142
142
  lastTouched && (lastTouched.isLastTouched = true);
@@ -151,9 +151,9 @@ let WizardComponent = class WizardComponent {
151
151
  const index = this.steps.toArray().indexOf(step);
152
152
  const isPreviousStepValid = this.steps.get(index - 1)?.valid;
153
153
  const isFirstStepTarget = index === 0;
154
- if ((isPreviousStepValid || isFirstStepTarget) && index !== this.activeStep) {
155
- this.activeStep = index;
156
- this.activeStepChanged.emit(this.activeStep);
154
+ if ((isPreviousStepValid || isFirstStepTarget) && index !== this.activeStep()) {
155
+ this.activeStep.set(index);
156
+ this.activeStepChanged.emit(this.activeStep());
157
157
  this.setActiveStep();
158
158
  }
159
159
  }
@@ -162,7 +162,7 @@ let WizardComponent = class WizardComponent {
162
162
  [this.dottedLineStart, this.dottedLineEnd].forEach((l) => this.setDottedLineActive(l, true));
163
163
  this.renderer.insertBefore(this.element.nativeElement, this.dottedLineStart, this.steps.get(1)?.element.nativeElement);
164
164
  this.renderer.insertBefore(this.element.nativeElement, this.dottedLineEnd, this.steps.get(length - 1)?.element.nativeElement);
165
- const start = this.activeStep < length / 2;
165
+ const start = this.activeStep() < length / 2;
166
166
  const stepsForHide = this.steps.toArray().slice(1, -1);
167
167
  const visibleStepsSegments = this.visibleStepsSegments - 2;
168
168
  stepsForHide.forEach((step, i) => {
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
221
221
  }], activeStepChanged: [{
222
222
  type: Output
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3dpemFyZC9zcmMvbGliL3dpemFyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy93aXphcmQvc3JjL2xpYi93aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFbkQ7Ozs7R0FJRztBQVNJLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFBckI7UUFDWSxjQUFTLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUNoQixvQkFBZSxHQUFHLElBQUks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QUNFLFlBQVksY0FFVixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBZWxCLEtBQUs7c0JBRHZCLGVBQWU7dUJBQUMsbUJBQW1CO2dCQWE3QixRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTNCLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVy9CLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBtZXJnZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXaXphcmRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcblxuLyoqXG4gKiBXaXphcmRDb21wb25lbnQgbWFuYWdlcyBhIHNlcmllcyBvZiBzdGVwcywgcHJvdmlkaW5nIGZ1bmN0aW9uYWxpdHkgZm9yIG5hdmlnYXRpbmcgZm9yd2FyZHMgYW5kIGJhY2t3YXJkc1xuICogdGhyb3VnaCB0aGUgc3RlcHMuIEl0IGR5bmFtaWNhbGx5IGFkanVzdHMgdGhlIHZpc2liaWxpdHkgb2Ygc3RlcHMgYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZSBhbmQgY3VycmVudCBhY3RpdmUgc3RlcC5cbiAqIFRoZSBjb21wb25lbnQgc3VwcG9ydHMgYm90aCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBvcmllbnRhdGlvbnMuXG4gKi9cbkBDU1NDb21wb25lbnQoJ3dpemFyZCcpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtd2l6YXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zaXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgdmlzaWJsZVN0ZXBzU2VnbWVudHMgPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvdHRlZExpbmVTdGFydCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG90dGVkTGluZUVuZCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWYgPSBpbmplY3QoV2luZG93UmVmKTtcbiAgcHJpdmF0ZSBhY3RpdmVTdGVwID0gMDtcblxuICBAQ29udGVudENoaWxkcmVuKFdpemFyZFN0ZXBDb21wb25lbnQpXG4gIHByb3RlY3RlZCByZWFkb25seSBzdGVwcyE6IFF1ZXJ5TGlzdDxXaXphcmRTdGVwQ29tcG9uZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSB3aXphcmQgbGF5b3V0IHNob3VsZCBiZSB2ZXJ0aWNhbC4gV2hlbiB0cnVlLCB0aGUgd2l6YXJkIG9yaWVudGF0aW9uIGNoYW5nZXMgdG8gdmVydGljYWwuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyB2ZXJ0aWNhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgd2l6YXJkIGNvbXBvbmVudCBpcyByZXNwb25zaXZlXG4gICAqIGFuZCBoaWRlcyB0aGUgc3RlcHMgdGhhdCBkbyBub3QgZml0IGluIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNldCByZXNwb25zaXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZXNwb25zaXZlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjdGl2ZSBzdGVwIGNoYW5nZXMsIHByb3ZpZGluZyB0aGUgaW5kZXggb2YgdGhlIG5ldyBhY3RpdmUgc3RlcC5cbiAgICpcbiAgICogQGVtaXRzIHtudW1iZXJ9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZVN0ZXBDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGVwcykgcmV0dXJuO1xuICAgIFt0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5kb3R0ZWRMaW5lRW5kXS5mb3JFYWNoKChsKSA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGwsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lJykpO1xuICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVTdGVwKCk7XG5cbiAgICBtZXJnZShmcm9tRXZlbnQodGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LCAncmVzaXplJyksIHRoaXMuc3RlcHMuY2hhbmdlcywgdGhpcy5yZXNwb25zaXZlJClcbiAgICAgIC5waXBlKHRoaXMuZGVzdHJveWVkKCksIGRlYm91bmNlVGltZSg2MDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgICAgIHRoaXMuc2V0SGlkZGVuU3RlcHMoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY2xpY2tTdGVwU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgbmV4dCBzdGVwIGluIHRoZSB3aXphcmQuXG4gICAqL1xuICBwdWJsaWMgbmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVTdGVwIDwgdGhpcy5zdGVwcy5sZW5ndGggLSAxICYmIHRoaXMuY2hhbmdlU3RlcEhhbmRsZXIodGhpcy5zdGVwcy5nZXQodGhpcy5hY3RpdmVTdGVwICsgMSkgYXMgV2l6YXJkU3RlcENvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcmV2aW91cyBzdGVwIGluIHRoZSB3aXphcmQuXG4gICAqL1xuICBwdWJsaWMgcHJldmlvdXNTdGVwKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlU3RlcCA+IDAgJiYgdGhpcy5jaGFuZ2VTdGVwSGFuZGxlcih0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAgLSAxKSBhcyBXaXphcmRTdGVwQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3RpdmUgc3RlcCB0byB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZVN0ZXBWYWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXApPy5zZXRWYWxpZCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWxpZGl0eSBvZiBhIHN0ZXAgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBJbmRleCAtIEluZGV4IG9mIHRoZSBzdGVwIHRvIHNldCB2YWxpZGl0eS5cbiAgICogQHBhcmFtIHtib29sZWFufSB2YWxpZCAtIFdoZXRoZXIgdGhlIHN0ZXAgc2hvdWxkIGJlIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBzZXRTdGVwVmFsaWQoc3RlcEluZGV4OiBudW1iZXIsIHZhbGlkOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuc3RlcHMuZ2V0KHN0ZXBJbmRleCk7XG4gICAgaWYgKHN0ZXApIHtcbiAgICAgIHN0ZXAuc2V0VmFsaWQodmFsaWQpO1xuICAgICAgaWYgKHN0ZXBJbmRleCA9PT0gdGhpcy5hY3RpdmVTdGVwKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlU3RlcENoYW5nZWQuZW1pdCh0aGlzLmFjdGl2ZVN0ZXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHN0ZXAgYXQgdGhlIHNwZWNpZmllZCBpbmRleCBpcyB2YWxpZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBJbmRleCAtIEluZGV4IG9mIHRoZSBzdGVwIHRvIGNoZWNrIHZhbGlkaXR5LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSBzdGVwIGlzIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBpc1N0ZXBWYWxpZChzdGVwSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RlcHMuZ2V0KHN0ZXBJbmRleCk/LnZhbGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBhY3RpdmUgc3RlcCBpcyB2YWxpZC5cbiAgICpcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB0aGUgY3VycmVudCBzdGVwIGlzIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBpc0N1cnJlbnRTdGVwVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTdGVwVmFsaWQodGhpcy5hY3RpdmVTdGVwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlzaWJsZVN0ZXBzU2VnbWVudHMoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2l2ZSQuZ2V0VmFsdWUoKSkgcmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLnZlcnRpY2FsID8gaGVpZ2h0IDogd2lkdGg7XG5cbiAgICBsZXQgdmlzaWJsZVN0ZXBzID0gMDtcbiAgICBsZXQgc3VtbWFyeVN0ZXBzU2l6ZSA9IDA7XG4gICAgY29uc3QgcHJvcCA9IHRoaXMudmVydGljYWwgPyAnZmxleC1iYXNpcycgOiAnbWluLXdpZHRoJztcbiAgICBjb25zdCBtaW5TdGVwU2l6ZSA9IHBhcnNlSW50KHRoaXMuZ2V0U3R5bGVGcm9tQ1NTKHRoaXMuc3RlcHMuZmlyc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBwcm9wKSk7XG5cbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKCkgPT4ge1xuICAgICAgc3VtbWFyeVN0ZXBzU2l6ZSArPSBtaW5TdGVwU2l6ZTtcbiAgICAgIGlmIChzdW1tYXJ5U3RlcHNTaXplIDwgY29udGFpbmVyU2l6ZSkgdmlzaWJsZVN0ZXBzKys7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmlzaWJsZVN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHlsZUZyb21DU1MoZWw6IEhUTUxFbGVtZW50LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlU3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCB0b3VjaGVkOiBXaXphcmRTdGVwQ29tcG9uZW50W10gPSBbXTtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBzdGVwLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgc3RlcC5pc0xhc3RUb3VjaGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5hY3RpdmVTdGVwID09PSBpbmRleCkgc3RlcC50b3VjaGVkID0gdHJ1ZTtcbiAgICAgIHN0ZXAudG91Y2hlZCAmJiB0b3VjaGVkLnB1c2goc3RlcCk7XG4gICAgICB0aGlzLmFjdGl2ZVN0ZXAgPT09IGluZGV4ICYmIChzdGVwLmFjdGl2ZSA9IHRydWUpO1xuICAgICAgc3RlcC5wYXNzZWQgPSBpbmRleCA8PSB0aGlzLmFjdGl2ZVN0ZXA7XG4gICAgfSk7XG4gICAgY29uc3QgbGFzdFRvdWNoZWQgPSB0b3VjaGVkLnBvcCgpO1xuICAgIGxhc3RUb3VjaGVkICYmIChsYXN0VG91Y2hlZC5pc0xhc3RUb3VjaGVkID0gdHJ1ZSk7XG4gICAgdGhpcy5zZXRIaWRkZW5TdGVwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGlja1N0ZXBTdWJzY3JpYmVyKCk6IHZvaWQge1xuICAgIG1lcmdlKC4uLnRoaXMuc3RlcHMubWFwKChzdGVwKSA9PiBzdGVwLnN0ZXBDaG9zZW4kKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLmRlc3Ryb3llZCgpLFxuICAgICAgICB0YXAoKHN0ZXApID0+IHRoaXMuY2hhbmdlU3RlcEhhbmRsZXIoc3RlcCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VTdGVwSGFuZGxlcihzdGVwOiBXaXphcmRTdGVwQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0ZXBzLnRvQXJyYXkoKS5pbmRleE9mKHN0ZXApO1xuICAgIGNvbnN0IGlzUHJldmlvdXNTdGVwVmFsaWQgPSB0aGlzLnN0ZXBzLmdldChpbmRleCAtIDEpPy52YWxpZDtcbiAgICBjb25zdCBpc0ZpcnN0U3RlcFRhcmdldCA9IGluZGV4ID09PSAwO1xuXG4gICAgaWYgKChpc1ByZXZpb3VzU3RlcFZhbGlkIHx8IGlzRmlyc3RTdGVwVGFyZ2V0KSAmJiBpbmRleCAhPT0gdGhpcy5hY3RpdmVTdGVwKSB7XG4gICAgICB0aGlzLmFjdGl2ZVN0ZXAgPSBpbmRleDtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcENoYW5nZWQuZW1pdCh0aGlzLmFjdGl2ZVN0ZXApO1xuICAgICAgdGhpcy5zZXRBY3RpdmVTdGVwKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRIaWRkZW5TdGVwcygpIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIFt0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5kb3R0ZWRMaW5lRW5kXS5mb3JFYWNoKChsKSA9PiB0aGlzLnNldERvdHRlZExpbmVBY3RpdmUobCwgdHJ1ZSkpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZG90dGVkTGluZVN0YXJ0LCB0aGlzLnN0ZXBzLmdldCgxKT8uZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5kb3R0ZWRMaW5lRW5kLCB0aGlzLnN0ZXBzLmdldChsZW5ndGggLSAxKT8uZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuYWN0aXZlU3RlcCA8IGxlbmd0aCAvIDI7XG4gICAgY29uc3Qgc3RlcHNGb3JIaWRlID0gdGhpcy5zdGVwcy50b0FycmF5KCkuc2xpY2UoMSwgLTEpO1xuICAgIGNvbnN0IHZpc2libGVTdGVwc1NlZ21lbnRzID0gdGhpcy52aXNpYmxlU3RlcHNTZWdtZW50cyAtIDI7XG4gICAgc3RlcHNGb3JIaWRlLmZvckVhY2goKHN0ZXAsIGkpID0+IHtcbiAgICAgIGlmIChsZW5ndGggPiB0aGlzLnZpc2libGVTdGVwc1NlZ21lbnRzKSB7XG4gICAgICAgIHN0ZXAudmlzaWJsZSA9IHN0YXJ0XG4gICAgICAgICAgPyBpIDwgdmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIHx8IHRoaXMuaXNOZWlnaGJvcnMoaSwgc3RlcHNGb3JIaWRlKVxuICAgICAgICAgIDogaSA+IHN0ZXBzRm9ySGlkZS5sZW5ndGggLSAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxKSB8fCB0aGlzLmlzTmVpZ2hib3JzKGksIHN0ZXBzRm9ySGlkZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGVwLnZpc2libGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGZpbHRlcmVkVmlzaWJsZVN0ZXBzID0gc3RlcHNGb3JIaWRlLmZpbHRlcigocykgPT4gcy52aXNpYmxlKTtcbiAgICBpZiAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIDwgZmlsdGVyZWRWaXNpYmxlU3RlcHMubGVuZ3RoICYmIGxlbmd0aCA+IHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMpIHtcbiAgICAgIGNvbnN0IG92ZXJmbG93U2l6ZSA9IGZpbHRlcmVkVmlzaWJsZVN0ZXBzLmxlbmd0aCAtIHZpc2libGVTdGVwc1NlZ21lbnRzICsgMTtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3RhcnQgPyBvdmVyZmxvd1NpemUgOiBmaWx0ZXJlZFZpc2libGVTdGVwcy5sZW5ndGggLSBvdmVyZmxvd1NpemUgLSAxO1xuXG4gICAgICBmaWx0ZXJlZFZpc2libGVTdGVwcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIChzdGFydCA/IGkgPD0gaW5kZXggOiBpID49IGluZGV4KSAmJiAhdGhpcy5pc05laWdoYm9ycyhpLCBmaWx0ZXJlZFZpc2libGVTdGVwcykgJiYgKHMudmlzaWJsZSA9IGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHMubGFzdC5hY3RpdmUgJiYgKHN0ZXBzRm9ySGlkZVtzdGVwc0ZvckhpZGUubGVuZ3RoIC0gMV0udmlzaWJsZSA9IHRydWUpO1xuICAgIHRoaXMuc3RlcHMuZmlyc3QuYWN0aXZlICYmIChzdGVwc0ZvckhpZGVbMF0udmlzaWJsZSA9IHRydWUpO1xuXG4gICAgIXRoaXMuc3RlcHMuZ2V0KDEpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVTdGFydCk7XG4gICAgIXRoaXMuc3RlcHMuZ2V0KGxlbmd0aCAtIDIpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVFbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05laWdoYm9ycyhpbmRleDogbnVtYmVyLCBzdGVwczogV2l6YXJkU3RlcENvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWN0aXZlU3RlcCA9IHN0ZXBzLmluZGV4T2Yoc3RlcHMuZmluZCgocykgPT4gcy5hY3RpdmUpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICAgIHJldHVybiBhY3RpdmVTdGVwICE9PSAtMSAmJiAoaW5kZXggPT09IGFjdGl2ZVN0ZXAgLSAxIHx8IGluZGV4ID09PSBhY3RpdmVTdGVwICsgMSB8fCBpbmRleCA9PT0gYWN0aXZlU3RlcCk7XG4gIH1cblxuICBwcml2YXRlIHNldERvdHRlZExpbmVBY3RpdmUobGluZTogSFRNTEVsZW1lbnQsIHVuc2V0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHVuc2V0ID8gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhsaW5lLCAnb2R4LXdpemFyZC1zdGVwX19kb3R0ZWQtbGluZS0tYWN0aXZlJykgOiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxpbmUsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lLS1hY3RpdmUnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LXdpemFyZC1zdGVwXCIgLz5cbiJdfQ==
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3dpemFyZC9zcmMvbGliL3dpemFyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy93aXphcmQvc3JjL2xpYi93aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRW5EOzs7O0dBSUc7QUFTSSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBQXJCO1FBQ1ksY0FBUyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMxRCx5QkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDaEIsb0JBQWUs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OztBRDBEUztJQUZOLFdBQVcsRUFBRTs7aURBRVU7QUF6QmIsZUFBZTtJQVIzQixZQUFZLENBQUMsUUFBUSxDQUFDO0dBUVYsZUFBZSxDQTBOM0I7OzRGQTFOWSxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFlBQVksY0FFVixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBY2xCLEtBQUs7c0JBRHZCLGVBQWU7dUJBQUMsbUJBQW1CO2dCQWM3QixRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTNCLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVy9CLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIG1lcmdlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpemFyZFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG4vKipcbiAqIFdpemFyZENvbXBvbmVudCBtYW5hZ2VzIGEgc2VyaWVzIG9mIHN0ZXBzLCBwcm92aWRpbmcgZnVuY3Rpb25hbGl0eSBmb3IgbmF2aWdhdGluZyBmb3J3YXJkcyBhbmQgYmFja3dhcmRzXG4gKiB0aHJvdWdoIHRoZSBzdGVwcy4gSXQgZHluYW1pY2FsbHkgYWRqdXN0cyB0aGUgdmlzaWJpbGl0eSBvZiBzdGVwcyBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlIGFuZCBjdXJyZW50IGFjdGl2ZSBzdGVwLlxuICogVGhlIGNvbXBvbmVudCBzdXBwb3J0cyBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIG9yaWVudGF0aW9ucy5cbiAqL1xuQENTU0NvbXBvbmVudCgnd2l6YXJkJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC13aXphcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2l6YXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFdpemFyZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNpdmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSB2aXNpYmxlU3RlcHNTZWdtZW50cyA9IDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG90dGVkTGluZVN0YXJ0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb3R0ZWRMaW5lRW5kID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZiA9IGluamVjdChXaW5kb3dSZWYpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oV2l6YXJkU3RlcENvbXBvbmVudClcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXBzITogUXVlcnlMaXN0PFdpemFyZFN0ZXBDb21wb25lbnQ+O1xuXG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVTdGVwID0gc2lnbmFsKDApO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSB3aXphcmQgbGF5b3V0IHNob3VsZCBiZSB2ZXJ0aWNhbC4gV2hlbiB0cnVlLCB0aGUgd2l6YXJkIG9yaWVudGF0aW9uIGNoYW5nZXMgdG8gdmVydGljYWwuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyB2ZXJ0aWNhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgd2l6YXJkIGNvbXBvbmVudCBpcyByZXNwb25zaXZlXG4gICAqIGFuZCBoaWRlcyB0aGUgc3RlcHMgdGhhdCBkbyBub3QgZml0IGluIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNldCByZXNwb25zaXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZXNwb25zaXZlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjdGl2ZSBzdGVwIGNoYW5nZXMsIHByb3ZpZGluZyB0aGUgaW5kZXggb2YgdGhlIG5ldyBhY3RpdmUgc3RlcC5cbiAgICpcbiAgICogQGVtaXRzIHtudW1iZXJ9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZVN0ZXBDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGVwcykgcmV0dXJuO1xuICAgIFt0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5kb3R0ZWRMaW5lRW5kXS5mb3JFYWNoKChsKSA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGwsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lJykpO1xuICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVTdGVwKCk7XG5cbiAgICBtZXJnZShmcm9tRXZlbnQodGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LCAncmVzaXplJyksIHRoaXMuc3RlcHMuY2hhbmdlcywgdGhpcy5yZXNwb25zaXZlJClcbiAgICAgIC5waXBlKHRoaXMuZGVzdHJveWVkKCksIGRlYm91bmNlVGltZSg2MDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgICAgIHRoaXMuc2V0SGlkZGVuU3RlcHMoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY2xpY2tTdGVwU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgbmV4dCBzdGVwIGluIHRoZSB3aXphcmQuXG4gICAqL1xuICBwdWJsaWMgbmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVTdGVwKCkgPCB0aGlzLnN0ZXBzLmxlbmd0aCAtIDEgJiYgdGhpcy5jaGFuZ2VTdGVwSGFuZGxlcih0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAoKSArIDEpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgcHJldmlvdXMgc3RlcCBpbiB0aGUgd2l6YXJkLlxuICAgKi9cbiAgcHVibGljIHByZXZpb3VzU3RlcCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVN0ZXAoKSA+IDAgJiYgdGhpcy5jaGFuZ2VTdGVwSGFuZGxlcih0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAoKSAtIDEpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjdGl2ZSBzdGVwIHZhbGlkLlxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZVN0ZXBWYWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAoKSk/LnNldFZhbGlkKHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbGlkaXR5IG9mIGEgc3RlcCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RlcEluZGV4IC0gSW5kZXggb2YgdGhlIHN0ZXAgdG8gc2V0IHZhbGlkaXR5LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbGlkIC0gV2hldGhlciB0aGUgc3RlcCBzaG91bGQgYmUgdmFsaWQgb3Igbm90LlxuICAgKi9cbiAgcHVibGljIHNldFN0ZXBWYWxpZChzdGVwSW5kZXg6IG51bWJlciwgdmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBzdGVwID0gdGhpcy5zdGVwcy5nZXQoc3RlcEluZGV4KTtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgc3RlcC5zZXRWYWxpZCh2YWxpZCk7XG4gICAgICBpZiAoc3RlcEluZGV4ID09PSB0aGlzLmFjdGl2ZVN0ZXAoKSkge1xuICAgICAgICB0aGlzLmFjdGl2ZVN0ZXBDaGFuZ2VkLmVtaXQodGhpcy5hY3RpdmVTdGVwKCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHN0ZXAgYXQgdGhlIHNwZWNpZmllZCBpbmRleCBpcyB2YWxpZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBJbmRleCAtIEluZGV4IG9mIHRoZSBzdGVwIHRvIGNoZWNrIHZhbGlkaXR5LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSBzdGVwIGlzIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBpc1N0ZXBWYWxpZChzdGVwSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RlcHM/LmdldChzdGVwSW5kZXgpPy52YWxpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGN1cnJlbnQgYWN0aXZlIHN0ZXAgaXMgdmFsaWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdGhlIGN1cnJlbnQgc3RlcCBpcyB2YWxpZCBvciBub3QuXG4gICAqL1xuICBwdWJsaWMgaXNDdXJyZW50U3RlcFZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU3RlcFZhbGlkKHRoaXMuYWN0aXZlU3RlcCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlzaWJsZVN0ZXBzU2VnbWVudHMoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2l2ZSQuZ2V0VmFsdWUoKSkgcmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLnZlcnRpY2FsID8gaGVpZ2h0IDogd2lkdGg7XG5cbiAgICBsZXQgdmlzaWJsZVN0ZXBzID0gMDtcbiAgICBsZXQgc3VtbWFyeVN0ZXBzU2l6ZSA9IDA7XG4gICAgY29uc3QgcHJvcCA9IHRoaXMudmVydGljYWwgPyAnZmxleC1iYXNpcycgOiAnbWluLXdpZHRoJztcbiAgICBjb25zdCBtaW5TdGVwU2l6ZSA9IHBhcnNlSW50KHRoaXMuZ2V0U3R5bGVGcm9tQ1NTKHRoaXMuc3RlcHMuZmlyc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBwcm9wKSk7XG5cbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKCkgPT4ge1xuICAgICAgc3VtbWFyeVN0ZXBzU2l6ZSArPSBtaW5TdGVwU2l6ZTtcbiAgICAgIGlmIChzdW1tYXJ5U3RlcHNTaXplIDwgY29udGFpbmVyU2l6ZSkgdmlzaWJsZVN0ZXBzKys7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmlzaWJsZVN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHlsZUZyb21DU1MoZWw6IEhUTUxFbGVtZW50LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlU3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCB0b3VjaGVkOiBXaXphcmRTdGVwQ29tcG9uZW50W10gPSBbXTtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBzdGVwLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgc3RlcC5pc0xhc3RUb3VjaGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5hY3RpdmVTdGVwKCkgPT09IGluZGV4KSBzdGVwLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgc3RlcC50b3VjaGVkICYmIHRvdWNoZWQucHVzaChzdGVwKTtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCgpID09PSBpbmRleCAmJiAoc3RlcC5hY3RpdmUgPSB0cnVlKTtcbiAgICAgIHN0ZXAucGFzc2VkID0gaW5kZXggPD0gdGhpcy5hY3RpdmVTdGVwKCk7XG4gICAgfSk7XG4gICAgY29uc3QgbGFzdFRvdWNoZWQgPSB0b3VjaGVkLnBvcCgpO1xuICAgIGxhc3RUb3VjaGVkICYmIChsYXN0VG91Y2hlZC5pc0xhc3RUb3VjaGVkID0gdHJ1ZSk7XG4gICAgdGhpcy5zZXRIaWRkZW5TdGVwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGlja1N0ZXBTdWJzY3JpYmVyKCk6IHZvaWQge1xuICAgIG1lcmdlKC4uLnRoaXMuc3RlcHMubWFwKChzdGVwKSA9PiBzdGVwLnN0ZXBDaG9zZW4kKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLmRlc3Ryb3llZCgpLFxuICAgICAgICB0YXAoKHN0ZXApID0+IHRoaXMuY2hhbmdlU3RlcEhhbmRsZXIoc3RlcCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VTdGVwSGFuZGxlcihzdGVwOiBXaXphcmRTdGVwQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0ZXBzLnRvQXJyYXkoKS5pbmRleE9mKHN0ZXApO1xuICAgIGNvbnN0IGlzUHJldmlvdXNTdGVwVmFsaWQgPSB0aGlzLnN0ZXBzLmdldChpbmRleCAtIDEpPy52YWxpZDtcbiAgICBjb25zdCBpc0ZpcnN0U3RlcFRhcmdldCA9IGluZGV4ID09PSAwO1xuXG4gICAgaWYgKChpc1ByZXZpb3VzU3RlcFZhbGlkIHx8IGlzRmlyc3RTdGVwVGFyZ2V0KSAmJiBpbmRleCAhPT0gdGhpcy5hY3RpdmVTdGVwKCkpIHtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcC5zZXQoaW5kZXgpO1xuICAgICAgdGhpcy5hY3RpdmVTdGVwQ2hhbmdlZC5lbWl0KHRoaXMuYWN0aXZlU3RlcCgpKTtcbiAgICAgIHRoaXMuc2V0QWN0aXZlU3RlcCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SGlkZGVuU3RlcHMoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5zdGVwcy5sZW5ndGg7XG5cbiAgICBbdGhpcy5kb3R0ZWRMaW5lU3RhcnQsIHRoaXMuZG90dGVkTGluZUVuZF0uZm9yRWFjaCgobCkgPT4gdGhpcy5zZXREb3R0ZWRMaW5lQWN0aXZlKGwsIHRydWUpKTtcblxuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5zdGVwcy5nZXQoMSk/LmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZG90dGVkTGluZUVuZCwgdGhpcy5zdGVwcy5nZXQobGVuZ3RoIC0gMSk/LmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmFjdGl2ZVN0ZXAoKSA8IGxlbmd0aCAvIDI7XG4gICAgY29uc3Qgc3RlcHNGb3JIaWRlID0gdGhpcy5zdGVwcy50b0FycmF5KCkuc2xpY2UoMSwgLTEpO1xuICAgIGNvbnN0IHZpc2libGVTdGVwc1NlZ21lbnRzID0gdGhpcy52aXNpYmxlU3RlcHNTZWdtZW50cyAtIDI7XG4gICAgc3RlcHNGb3JIaWRlLmZvckVhY2goKHN0ZXAsIGkpID0+IHtcbiAgICAgIGlmIChsZW5ndGggPiB0aGlzLnZpc2libGVTdGVwc1NlZ21lbnRzKSB7XG4gICAgICAgIHN0ZXAudmlzaWJsZSA9IHN0YXJ0XG4gICAgICAgICAgPyBpIDwgdmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIHx8IHRoaXMuaXNOZWlnaGJvcnMoaSwgc3RlcHNGb3JIaWRlKVxuICAgICAgICAgIDogaSA+IHN0ZXBzRm9ySGlkZS5sZW5ndGggLSAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxKSB8fCB0aGlzLmlzTmVpZ2hib3JzKGksIHN0ZXBzRm9ySGlkZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGVwLnZpc2libGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGZpbHRlcmVkVmlzaWJsZVN0ZXBzID0gc3RlcHNGb3JIaWRlLmZpbHRlcigocykgPT4gcy52aXNpYmxlKTtcbiAgICBpZiAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIDwgZmlsdGVyZWRWaXNpYmxlU3RlcHMubGVuZ3RoICYmIGxlbmd0aCA+IHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMpIHtcbiAgICAgIGNvbnN0IG92ZXJmbG93U2l6ZSA9IGZpbHRlcmVkVmlzaWJsZVN0ZXBzLmxlbmd0aCAtIHZpc2libGVTdGVwc1NlZ21lbnRzICsgMTtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3RhcnQgPyBvdmVyZmxvd1NpemUgOiBmaWx0ZXJlZFZpc2libGVTdGVwcy5sZW5ndGggLSBvdmVyZmxvd1NpemUgLSAxO1xuXG4gICAgICBmaWx0ZXJlZFZpc2libGVTdGVwcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIChzdGFydCA/IGkgPD0gaW5kZXggOiBpID49IGluZGV4KSAmJiAhdGhpcy5pc05laWdoYm9ycyhpLCBmaWx0ZXJlZFZpc2libGVTdGVwcykgJiYgKHMudmlzaWJsZSA9IGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHMubGFzdC5hY3RpdmUgJiYgKHN0ZXBzRm9ySGlkZVtzdGVwc0ZvckhpZGUubGVuZ3RoIC0gMV0udmlzaWJsZSA9IHRydWUpO1xuICAgIHRoaXMuc3RlcHMuZmlyc3QuYWN0aXZlICYmIChzdGVwc0ZvckhpZGVbMF0udmlzaWJsZSA9IHRydWUpO1xuXG4gICAgIXRoaXMuc3RlcHMuZ2V0KDEpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVTdGFydCk7XG4gICAgIXRoaXMuc3RlcHMuZ2V0KGxlbmd0aCAtIDIpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVFbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05laWdoYm9ycyhpbmRleDogbnVtYmVyLCBzdGVwczogV2l6YXJkU3RlcENvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWN0aXZlU3RlcCA9IHN0ZXBzLmluZGV4T2Yoc3RlcHMuZmluZCgocykgPT4gcy5hY3RpdmUpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICAgIHJldHVybiBhY3RpdmVTdGVwICE9PSAtMSAmJiAoaW5kZXggPT09IGFjdGl2ZVN0ZXAgLSAxIHx8IGluZGV4ID09PSBhY3RpdmVTdGVwICsgMSB8fCBpbmRleCA9PT0gYWN0aXZlU3RlcCk7XG4gIH1cblxuICBwcml2YXRlIHNldERvdHRlZExpbmVBY3RpdmUobGluZTogSFRNTEVsZW1lbnQsIHVuc2V0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHVuc2V0ID8gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhsaW5lLCAnb2R4LXdpemFyZC1zdGVwX19kb3R0ZWQtbGluZS0tYWN0aXZlJykgOiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxpbmUsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lLS1hY3RpdmUnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LXdpemFyZC1zdGVwXCIgLz5cbiJdfQ==
@@ -7,7 +7,7 @@ import { CoreModule, WindowRef, DisabledController } from '@odx/angular';
7
7
  import { CSSComponent, fastDeepEqual, CSSModifier } from '@odx/angular/internal';
8
8
  import { createConfigTokens, isString, isPresent, injectElement, hasChanged, EventManager, deferFn, untilDestroyed, isFunction } from '@odx/angular/utils';
9
9
  import { BehaviorSubject, shareReplay, map, filter, distinctUntilChanged, merge, defer, of, withLatestFrom, combineLatest } from 'rxjs';
10
- import { isSameDay, isSameMonth, isSameYear, endOfDay, endOfMonth, endOfYear, startOfDay, startOfMonth, startOfYear, isValid, toDate, isBefore, isEqual, addMonths, subMonths, isWithinInterval, startOfWeek, addDays, endOfWeek, eachMonthOfInterval, addYears, getYear, setYear, subDays, subWeeks, addWeeks, setMonth, getMonth } from 'date-fns';
10
+ import { isSameDay, isSameMonth, isSameYear, endOfDay, endOfMonth, endOfYear, startOfDay, startOfMonth, startOfYear, isValid, toDate, isBefore, isEqual, addMonths, subMonths, isWithinInterval, startOfWeek, addDays, eachMonthOfInterval, addYears, getYear, setYear, subDays, subWeeks, addWeeks, setMonth, getMonth } from 'date-fns';
11
11
  import { ActionGroupComponent } from '@odx/angular/components/action-group';
12
12
  import { ButtonComponent } from '@odx/angular/components/button';
13
13
  import { IconComponent } from '@odx/angular/components/icon';
@@ -706,6 +706,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
706
706
  class CalendarMonthService {
707
707
  constructor() {
708
708
  this.calendar = inject(CalendarService);
709
+ this.weeksInView = 6;
709
710
  this.weekDays$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeekDays(date)));
710
711
  this.weeks$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeeks(date)));
711
712
  }
@@ -715,12 +716,10 @@ class CalendarMonthService {
715
716
  }
716
717
  generateWeeks(date) {
717
718
  const startOfTheSelectedMonth = startOfMonth(date);
718
- const endOfTheSelectedMonth = endOfMonth(date);
719
719
  const startDate = startOfWeek(startOfTheSelectedMonth, { weekStartsOn: 1 });
720
- const endDate = endOfWeek(endOfTheSelectedMonth);
721
720
  const allWeeks = [];
722
721
  let currentDate = startDate;
723
- while (currentDate <= endDate) {
722
+ for (let i = this.weeksInView; i > 0; i--) {
724
723
  allWeeks.push(this.generateDaysForWeek(currentDate, date));
725
724
  currentDate = addDays(currentDate, 7);
726
725
  }