@acorex/components 18.12.41 → 18.12.43

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,7 @@
1
+ import { AXTranslationService } from '@acorex/core/translation';
1
2
  import { Dialog } from '@angular/cdk/dialog';
2
3
  import { GlobalPositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';
3
- import { Injectable, effect, inject, signal } from '@angular/core';
4
+ import { Injectable, inject } from '@angular/core';
4
5
  import { AXToastComponent } from './toast.component';
5
6
  import { AX_TOAST_CONFIG } from './toast.config';
6
7
  import * as i0 from "@angular/core";
@@ -9,23 +10,16 @@ export class AXToastService {
9
10
  constructor(scrollStrategyOptions) {
10
11
  this.scrollStrategyOptions = scrollStrategyOptions;
11
12
  this.dialog = inject(Dialog);
13
+ this.translationService = inject(AXTranslationService);
12
14
  this.defaultConfig = inject(AX_TOAST_CONFIG);
13
- this.activeToasts = signal([]);
14
- this.reservedToasts = signal([]);
15
- this.toastCounterElement = signal(null);
16
- this.moreToastsColor = signal('primary');
17
- this.moreToastsLocation = signal('bottom-center');
18
- this.reserveCounter = signal(0);
19
- this.#effect = effect(() => {
20
- if (this.defaultConfig.limit <= 0)
21
- return;
22
- this.handleShowReservedToast();
23
- this.handleShowReservedToastCounter();
24
- this.handleReserveCounter();
25
- }, { allowSignalWrites: true });
15
+ this.activeToasts = [];
16
+ this.reservedToasts = [];
17
+ this.toastCounterElement = null;
18
+ this.moreToastsColor = 'primary';
19
+ this.moreToastsLocation = 'bottom-center';
20
+ this.reserveCounter = 0;
26
21
  this.scrollStrategy = this.scrollStrategyOptions.noop();
27
22
  }
28
- #effect;
29
23
  primary(content) {
30
24
  this.show({
31
25
  timeOut: this.defaultConfig.timeOut,
@@ -62,27 +56,27 @@ export class AXToastService {
62
56
  });
63
57
  }
64
58
  show(config) {
65
- const opt = Object.assign({
66
- closeButton: true,
67
- location: this.defaultConfig.location ?? 'bottom-center',
68
- }, config);
69
- this.moreToastsColor.set(opt.color);
70
- this.moreToastsLocation.set(opt.location);
71
- if (this.defaultConfig.limit > 0) {
72
- if (this.activeToasts().length >= this.defaultConfig.limit) {
73
- this.reservedToasts.update((value) => [...value, opt]);
74
- return {
75
- close: () => {
76
- //TODO close reserved toast
77
- },
78
- };
79
- }
59
+ config = { ...this.defaultConfig, ...config };
60
+ this.moreToastsColor = config.color;
61
+ this.moreToastsLocation = config.location;
62
+ if (this.defaultConfig.limit > 0 && this.activeToasts.length >= this.defaultConfig.limit) {
63
+ const reservedRef = {
64
+ close: () => {
65
+ console.warn('Reserved notification cannot be closed until it is displayed.');
66
+ },
67
+ };
68
+ this.reservedToasts.push({ config, reservedRef });
69
+ this.handleReservedToastCounter();
70
+ return reservedRef;
80
71
  }
72
+ return this.displayToast(config);
73
+ }
74
+ displayToast(config) {
81
75
  const gap = this.defaultConfig.gap;
82
- const pos = this.getPosition(opt.location) + gap + 'px';
83
- const positionStrategy = this.getPositionStrategy(new GlobalPositionStrategy(), opt.location, pos, gap);
76
+ const pos = this.getPosition(config.location) + gap + 'px';
77
+ const positionStrategy = this.getPositionStrategy(new GlobalPositionStrategy(), config.location, pos, gap);
84
78
  const dialogRef = this.dialog.open(AXToastComponent, {
85
- data: opt,
79
+ data: config,
86
80
  autoFocus: '__no_element__',
87
81
  restoreFocus: true,
88
82
  role: 'dialog',
@@ -94,12 +88,15 @@ export class AXToastService {
94
88
  positionStrategy,
95
89
  scrollStrategy: this.scrollStrategy,
96
90
  });
97
- this.activeToasts.update((value) => [...value, dialogRef.id]);
91
+ this.activeToasts.push(dialogRef.id);
92
+ this.handleReservedToastCounter();
98
93
  const toastRef = dialogRef.componentInstance;
99
94
  dialogRef.closed.subscribe(() => {
100
- this.activeToasts.update((value) => [...value].filter((dialogID) => dialogID !== dialogRef.id));
95
+ this.activeToasts = this.activeToasts.filter((id) => id !== dialogRef.id);
96
+ this.handleShowReservedToast();
97
+ this.handleReservedToastCounter();
101
98
  setTimeout(() => {
102
- this.reposition(opt.location, gap);
99
+ this.reposition(config.location, gap);
103
100
  }, 0);
104
101
  });
105
102
  return {
@@ -110,40 +107,45 @@ export class AXToastService {
110
107
  }
111
108
  hideAll() {
112
109
  this.dialog.closeAll();
110
+ this.reserveCounter = 0;
111
+ this.reservedToasts = [];
112
+ this.activeToasts = [];
113
+ this.handleReservedToastCounter();
113
114
  }
114
115
  handleShowReservedToast() {
115
- if (this.activeToasts().length > this.defaultConfig.limit - 1)
116
+ if (this.activeToasts.length > this.defaultConfig.limit - 1)
116
117
  return;
117
- if (!this.reservedToasts().length)
118
+ if (!this.reservedToasts.length)
118
119
  return;
119
- this.show(this.reservedToasts()[0]);
120
- this.reservedToasts.update((value) => {
121
- const toasts = [...value];
122
- toasts.shift();
123
- return toasts;
124
- });
125
- }
126
- handleShowReservedToastCounter() {
127
- if (this.reservedToasts().length === this.reserveCounter())
128
- return;
129
- this.reserveCounter.set(this.reservedToasts().length);
130
- if (this.toastCounterElement() !== null)
131
- this.toastCounterElement().close();
132
- this.createReservedCounterToast();
133
- }
134
- handleReserveCounter() {
135
- if (this.reserveCounter() !== 0)
120
+ const { config, reservedRef } = this.reservedToasts.shift();
121
+ const displayedRef = this.displayToast(config);
122
+ this.handleReservedToastCounter();
123
+ reservedRef.close = displayedRef.close;
124
+ }
125
+ handleReservedToastCounter() {
126
+ const reservedCount = this.reservedToasts.length;
127
+ if (reservedCount === this.reserveCounter)
136
128
  return;
137
- if (this.toastCounterElement() === null)
129
+ this.reserveCounter = reservedCount;
130
+ if (reservedCount === 0 && this.toastCounterElement !== null) {
131
+ this.toastCounterElement.close();
138
132
  return;
139
- this.toastCounterElement().close();
133
+ }
134
+ if (reservedCount > 0) {
135
+ if (this.toastCounterElement !== null) {
136
+ this.toastCounterElement.close();
137
+ }
138
+ this.createReservedCounterToast();
139
+ }
140
140
  }
141
- createReservedCounterToast() {
141
+ async createReservedCounterToast() {
142
142
  const opt = {
143
143
  closeButton: false,
144
- color: this.moreToastsColor(),
145
- location: this.moreToastsLocation(),
146
- title: `And ${this.reserveCounter()} more...`,
144
+ color: this.moreToastsColor,
145
+ location: this.moreToastsLocation,
146
+ title: await this.translationService.translateAsync('more-toast', {
147
+ params: { number: this.reserveCounter },
148
+ }),
147
149
  timeOutProgress: false,
148
150
  };
149
151
  const gap = this.defaultConfig.gap;
@@ -162,7 +164,7 @@ export class AXToastService {
162
164
  positionStrategy,
163
165
  scrollStrategy: this.scrollStrategy,
164
166
  });
165
- this.toastCounterElement.set(dialogRef.componentInstance);
167
+ this.toastCounterElement = dialogRef.componentInstance;
166
168
  }
167
169
  reposition(toastLocation, gap) {
168
170
  const list = this.dialog.openDialogs
@@ -170,7 +172,6 @@ export class AXToastService {
170
172
  .filter((c) => c.config?.location == toastLocation);
171
173
  list.forEach((element, index) => {
172
174
  const pos = this.getRepositionPosition(index, gap, list, toastLocation);
173
- console.log(index, element);
174
175
  this.getPositionStrategy(element.dialogRef.config.positionStrategy, toastLocation, pos, gap).apply();
175
176
  });
176
177
  }
@@ -231,4 +232,4 @@ export class AXToastService {
231
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXToastService, decorators: [{
232
233
  type: Injectable
233
234
  }], ctorParameters: () => [{ type: i1.ScrollStrategyOptions }] });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90b2FzdC9zcmMvbGliL3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdoRSxNQUFNLE9BQU8sY0FBYztJQVl6QixZQUE2QixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQVhqRSxXQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQWtCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxpQkFBWSxHQUFHLE1BQU0sQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwQyxtQkFBYyxHQUFHLE1BQU0sQ0FBeUIsRUFBRSxDQUFDLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsTUFBTSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQUM1RCxvQkFBZSxHQUFHLE1BQU0sQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFDdEQsdUJBQWtCLEdBQUcsTUFBTSxDQUFhLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELG1CQUFjLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBUW5DLFlBQU8sR0FBRyxNQUFNLENBQ2QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtB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RUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQzdELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzs4R0ExUFUsY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhMb2NhdGlvbiwgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUb2FzdERhdGEsIEFYVG9hc3REaXNwbGF5Q29uZmlnLCBBWFRvYXN0UmVmIH0gZnJvbSAnLi90b2FzdC5jbGFzcyc7XG5pbXBvcnQgeyBBWFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdENvbmZpZywgQVhfVE9BU1RfQ09ORklHIH0gZnJvbSAnLi90b2FzdC5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhUb2FzdFNlcnZpY2Uge1xuICBwcml2YXRlIGRpYWxvZzogRGlhbG9nID0gaW5qZWN0KERpYWxvZyk7XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogQVhUb2FzdENvbmZpZyA9IGluamVjdChBWF9UT0FTVF9DT05GSUcpO1xuICBwcml2YXRlIGFjdGl2ZVRvYXN0cyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuICBwcml2YXRlIHJlc2VydmVkVG9hc3RzID0gc2lnbmFsPEFYVG9hc3REaXNwbGF5Q29uZmlnW10+KFtdKTtcbiAgcHJpdmF0ZSB0b2FzdENvdW50ZXJFbGVtZW50ID0gc2lnbmFsPEFYVG9hc3RDb21wb25lbnQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBtb3JlVG9hc3RzQ29sb3IgPSBzaWduYWw8QVhTdHlsZUNvbG9yVHlwZT4oJ3ByaW1hcnknKTtcbiAgcHJpdmF0ZSBtb3JlVG9hc3RzTG9jYXRpb24gPSBzaWduYWw8QVhMb2NhdGlvbj4oJ2JvdHRvbS1jZW50ZXInKTtcbiAgcHJpdmF0ZSByZXNlcnZlQ291bnRlciA9IHNpZ25hbCgwKTtcblxuICBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzY3JvbGxTdHJhdGVneU9wdGlvbnM6IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNjcm9sbFN0cmF0ZWd5T3B0aW9ucy5ub29wKCk7XG4gIH1cblxuICAjZWZmZWN0ID0gZWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRDb25maWcubGltaXQgPD0gMCkgcmV0dXJuO1xuICAgICAgdGhpcy5oYW5kbGVTaG93UmVzZXJ2ZWRUb2FzdCgpO1xuICAgICAgdGhpcy5oYW5kbGVTaG93UmVzZXJ2ZWRUb2FzdENvdW50ZXIoKTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzZXJ2ZUNvdW50ZXIoKTtcbiAgICB9LFxuICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgKTtcblxuICBwcmltYXJ5KGNvbnRlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0aW1lT3V0OiB0aGlzLmRlZmF1bHRDb25maWcudGltZU91dCxcbiAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICBjb250ZW50OiBjb250ZW50LFxuICAgIH0pO1xuICB9XG4gIHNlY29uZGFyeShjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdGltZU91dDogdGhpcy5kZWZhdWx0Q29uZmlnLnRpbWVPdXQsXG4gICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICBjb250ZW50OiBjb250ZW50LFxuICAgIH0pO1xuICB9XG4gIHN1Y2Nlc3MoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHRpbWVPdXQ6IHRoaXMuZGVmYXVsdENvbmZpZy50aW1lT3V0LFxuICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnQsXG4gICAgfSk7XG4gIH1cbiAgd2FybmluZyhjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdGltZU91dDogdGhpcy5kZWZhdWx0Q29uZmlnLnRpbWVPdXQsXG4gICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgY29udGVudDogY29udGVudCxcbiAgICB9KTtcbiAgfVxuICBkYW5nZXIoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHRpbWVPdXQ6IHRoaXMuZGVmYXVsdENvbmZpZy50aW1lT3V0LFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgY29udGVudDogY29udGVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHNob3coY29uZmlnOiBBWFRvYXN0RGlzcGxheUNvbmZpZyk6IEFYVG9hc3RSZWYge1xuICAgIGNvbnN0IG9wdCA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICBsb2NhdGlvbjogdGhpcy5kZWZhdWx0Q29uZmlnLmxvY2F0aW9uID8/ICdib3R0b20tY2VudGVyJyxcbiAgICAgIH0sXG4gICAgICBjb25maWcsXG4gICAgKTtcbiAgICB0aGlzLm1vcmVUb2FzdHNDb2xvci5zZXQob3B0LmNvbG9yKTtcbiAgICB0aGlzLm1vcmVUb2FzdHNMb2NhdGlvbi5zZXQob3B0LmxvY2F0aW9uKTtcblxuICAgIGlmICh0aGlzLmRlZmF1bHRDb25maWcubGltaXQgPiAwKSB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVUb2FzdHMoKS5sZW5ndGggPj0gdGhpcy5kZWZhdWx0Q29uZmlnLmxpbWl0KSB7XG4gICAgICAgIHRoaXMucmVzZXJ2ZWRUb2FzdHMudXBkYXRlKCh2YWx1ZSkgPT4gWy4uLnZhbHVlLCBvcHRdKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgLy9UT0RPIGNsb3NlIHJlc2VydmVkIHRvYXN0XG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnYXAgPSB0aGlzLmRlZmF1bHRDb25maWcuZ2FwO1xuICAgIGNvbnN0IHBvcyA9IHRoaXMuZ2V0UG9zaXRpb24ob3B0LmxvY2F0aW9uKSArIGdhcCArICdweCc7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneShuZXcgR2xvYmFsUG9zaXRpb25TdHJhdGVneSgpLCBvcHQubG9jYXRpb24sIHBvcywgZ2FwKTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFYVG9hc3RDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IG9wdCxcbiAgICAgIGF1dG9Gb2N1czogJ19fbm9fZWxlbWVudF9fJyxcbiAgICAgIHJlc3RvcmVGb2N1czogdHJ1ZSxcbiAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgYXJpYU1vZGFsOiB0cnVlLFxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBjbG9zZU9uRGVzdHJveTogdHJ1ZSxcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1hbmltYXRlZCcsICdheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLnNjcm9sbFN0cmF0ZWd5LFxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3RpdmVUb2FzdHMudXBkYXRlKCh2YWx1ZSkgPT4gWy4uLnZhbHVlLCBkaWFsb2dSZWYuaWRdKTtcblxuICAgIGNvbnN0IHRvYXN0UmVmID0gZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFYVG9hc3RDb21wb25lbnQ7XG4gICAgZGlhbG9nUmVmLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVUb2FzdHMudXBkYXRlKCh2YWx1ZSkgPT4gWy4uLnZhbHVlXS5maWx0ZXIoKGRpYWxvZ0lEKSA9PiBkaWFsb2dJRCAhPT0gZGlhbG9nUmVmLmlkKSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXBvc2l0aW9uKG9wdC5sb2NhdGlvbiwgZ2FwKTtcbiAgICAgIH0sIDApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3NlOiAoKSA9PiB7XG4gICAgICAgIHRvYXN0UmVmLmNsb3NlKCk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBoaWRlQWxsKCkge1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNob3dSZXNlcnZlZFRvYXN0KCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZVRvYXN0cygpLmxlbmd0aCA+IHRoaXMuZGVmYXVsdENvbmZpZy5saW1pdCAtIDEpIHJldHVybjtcbiAgICBpZiAoIXRoaXMucmVzZXJ2ZWRUb2FzdHMoKS5sZW5ndGgpIHJldHVybjtcbiAgICB0aGlzLnNob3codGhpcy5yZXNlcnZlZFRvYXN0cygpWzBdKTtcbiAgICB0aGlzLnJlc2VydmVkVG9hc3RzLnVwZGF0ZSgodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHRvYXN0cyA9IFsuLi52YWx1ZV07XG4gICAgICB0b2FzdHMuc2hpZnQoKTtcbiAgICAgIHJldHVybiB0b2FzdHM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNob3dSZXNlcnZlZFRvYXN0Q291bnRlcigpIHtcbiAgICBpZiAodGhpcy5yZXNlcnZlZFRvYXN0cygpLmxlbmd0aCA9PT0gdGhpcy5yZXNlcnZlQ291bnRlcigpKSByZXR1cm47XG4gICAgdGhpcy5yZXNlcnZlQ291bnRlci5zZXQodGhpcy5yZXNlcnZlZFRvYXN0cygpLmxlbmd0aCk7XG4gICAgaWYgKHRoaXMudG9hc3RDb3VudGVyRWxlbWVudCgpICE9PSBudWxsKSB0aGlzLnRvYXN0Q291bnRlckVsZW1lbnQoKS5jbG9zZSgpO1xuICAgIHRoaXMuY3JlYXRlUmVzZXJ2ZWRDb3VudGVyVG9hc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVzZXJ2ZUNvdW50ZXIoKSB7XG4gICAgaWYgKHRoaXMucmVzZXJ2ZUNvdW50ZXIoKSAhPT0gMCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLnRvYXN0Q291bnRlckVsZW1lbnQoKSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIHRoaXMudG9hc3RDb3VudGVyRWxlbWVudCgpLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2VydmVkQ291bnRlclRvYXN0KCkge1xuICAgIGNvbnN0IG9wdDogQVhUb2FzdERhdGEgPSB7XG4gICAgICBjbG9zZUJ1dHRvbjogZmFsc2UsXG4gICAgICBjb2xvcjogdGhpcy5tb3JlVG9hc3RzQ29sb3IoKSxcbiAgICAgIGxvY2F0aW9uOiB0aGlzLm1vcmVUb2FzdHNMb2NhdGlvbigpLFxuICAgICAgdGl0bGU6IGBBbmQgJHt0aGlzLnJlc2VydmVDb3VudGVyKCl9IG1vcmUuLi5gLFxuICAgICAgdGltZU91dFByb2dyZXNzOiBmYWxzZSxcbiAgICB9O1xuICAgIGNvbnN0IGdhcCA9IHRoaXMuZGVmYXVsdENvbmZpZy5nYXA7XG4gICAgY29uc3QgcG9zID0gdGhpcy5nZXRQb3NpdGlvbihvcHQubG9jYXRpb24pICsgZ2FwICsgJ3B4JztcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KG5ldyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5KCksIG9wdC5sb2NhdGlvbiwgcG9zLCBnYXApO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQVhUb2FzdENvbXBvbmVudCwge1xuICAgICAgZGF0YTogb3B0LFxuICAgICAgYXV0b0ZvY3VzOiAnX19ub19lbGVtZW50X18nLFxuICAgICAgcmVzdG9yZUZvY3VzOiB0cnVlLFxuICAgICAgcm9sZTogJ2RpYWxvZycsXG4gICAgICBhcmlhTW9kYWw6IHRydWUsXG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgIGNsb3NlT25EZXN0cm95OiB0cnVlLFxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWFuaW1hdGVkJywgJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3ksXG4gICAgfSk7XG4gICAgdGhpcy50b2FzdENvdW50ZXJFbGVtZW50LnNldChkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UgYXMgQVhUb2FzdENvbXBvbmVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlcG9zaXRpb24odG9hc3RMb2NhdGlvbjogQVhMb2NhdGlvbiwgZ2FwOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3NcbiAgICAgIC5tYXAoKGMpID0+IGMuY29tcG9uZW50SW5zdGFuY2UgYXMgQVhUb2FzdENvbXBvbmVudClcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuY29uZmlnPy5sb2NhdGlvbiA9PSB0b2FzdExvY2F0aW9uKTtcblxuICAgIGxpc3QuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHBvcyA9IHRoaXMuZ2V0UmVwb3NpdGlvblBvc2l0aW9uKGluZGV4LCBnYXAsIGxpc3QsIHRvYXN0TG9jYXRpb24pO1xuICAgICAgY29uc29sZS5sb2coaW5kZXgsIGVsZW1lbnQpO1xuXG4gICAgICB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICAgIGVsZW1lbnQuZGlhbG9nUmVmLmNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IGFzIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgIHRvYXN0TG9jYXRpb24sXG4gICAgICAgIHBvcyxcbiAgICAgICAgZ2FwLFxuICAgICAgKS5hcHBseSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXBvc2l0aW9uUG9zaXRpb24oaW5kZXg6IG51bWJlciwgZ2FwOiBudW1iZXIsIGxpc3Q6IEFYVG9hc3RDb21wb25lbnRbXSwgdG9hc3RMb2NhdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGluZGV4ID09PSAwKSByZXR1cm4gZ2FwICsgJ3B4JztcbiAgICBjb25zdCBwcmV2aW91c2VFbGVtZW50ID0gbGlzdFtpbmRleCAtIDFdO1xuICAgIGlmICh0b2FzdExvY2F0aW9uLnNwbGl0KCctJylbMF0gPT0gJ2JvdHRvbScpIHtcbiAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQgLSBwcmV2aW91c2VFbGVtZW50LmdldEhvc3RFbGVtZW50KCkub2Zmc2V0VG9wICsgZ2FwICsgJ3B4JztcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZpb3VzZUVsZW1lbnQuZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRUb3AgK1xuICAgICAgcHJldmlvdXNlRWxlbWVudC5nZXRIb3N0RWxlbWVudCgpLm9mZnNldEhlaWdodCArXG4gICAgICBnYXAgK1xuICAgICAgJ3B4J1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFBvc2l0aW9uKGxvY2F0aW9uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3NcbiAgICAgIC5tYXAoKGMpID0+IGMuY29tcG9uZW50SW5zdGFuY2UgYXMgQVhUb2FzdENvbXBvbmVudClcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuY29uZmlnPy5sb2NhdGlvbiA9PSBsb2NhdGlvbik7XG4gICAgaWYgKGxpc3QubGVuZ3RoID09IDApIHJldHVybiAwO1xuICAgIGlmIChsb2NhdGlvbi5zcGxpdCgnLScpWzBdID09ICdib3R0b20nKSB7XG4gICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IC0gbGlzdFtsaXN0Lmxlbmd0aCAtIDFdLmdldEhvc3RFbGVtZW50KCkub2Zmc2V0VG9wO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgbGlzdFtsaXN0Lmxlbmd0aCAtIDFdLmdldEhvc3RFbGVtZW50KCkub2Zmc2V0VG9wICsgbGlzdFtsaXN0Lmxlbmd0aCAtIDFdLmdldEhvc3RFbGVtZW50KCkub2Zmc2V0SGVpZ2h0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneShcbiAgICBwb3NpdGlvblN0cmF0ZWd5OiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LFxuICAgIGxvY2F0aW9uOiBBWExvY2F0aW9uLFxuICAgIHBvczogc3RyaW5nLFxuICAgIGdhcDogbnVtYmVyLFxuICApIHtcbiAgICBzd2l0Y2ggKGxvY2F0aW9uKSB7XG4gICAgICBjYXNlICdib3R0b20tY2VudGVyJzpcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3kuYm90dG9tKHBvcykuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LmJvdHRvbShwb3MpLnJpZ2h0KGdhcCArICdweCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LmJvdHRvbShwb3MpLmxlZnQoZ2FwICsgJ3B4Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wLWNlbnRlcic6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LnRvcChwb3MpLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxuICAgICAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneS50b3AocG9zKS5yaWdodChnYXAgKyAncHgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3Atc3RhcnQnOlxuICAgICAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneS50b3AocG9zKS5sZWZ0KGdhcCArICdweCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LmNlbnRlclZlcnRpY2FsbHkoKS5sZWZ0KGdhcCArICdweCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlci1lbmQnOlxuICAgICAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneS5jZW50ZXJWZXJ0aWNhbGx5KCkucmlnaHQoZ2FwICsgJ3B4Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90b2FzdC9zcmMvbGliL3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFVaEUsTUFBTSxPQUFPLGNBQWM7SUFhekIsWUFBNkIscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFaakUsV0FBTSxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyx1QkFBa0IsR0FBeUIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEUsa0JBQWEsR0FBa0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQXVCLEVBQUUsQ0FBQztRQUN4Qyx3QkFBbUIsR0FBNEIsSUFBSSxDQUFDO1FBQ3BELG9CQUFlLEdBQXFCLFNBQVMsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBZSxlQUFlLENBQUM7UUFDakQsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFLekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FB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aW9uLCBBWFN0eWxlQ29sb3JUeXBlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneU9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVG9hc3REYXRhLCBBWFRvYXN0RGlzcGxheUNvbmZpZywgQVhUb2FzdFJlZiB9IGZyb20gJy4vdG9hc3QuY2xhc3MnO1xuaW1wb3J0IHsgQVhUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFYVG9hc3RDb25maWcsIEFYX1RPQVNUX0NPTkZJRyB9IGZyb20gJy4vdG9hc3QuY29uZmlnJztcblxudHlwZSBBWFJlc2VydmVkVG9hc3RzID0ge1xuICBjb25maWc6IEFYVG9hc3REaXNwbGF5Q29uZmlnO1xuICByZXNlcnZlZFJlZjoge1xuICAgIGNsb3NlOiAoKSA9PiB2b2lkO1xuICB9O1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYVG9hc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZyA9IGluamVjdChEaWFsb2cpO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IEFYVG9hc3RDb25maWcgPSBpbmplY3QoQVhfVE9BU1RfQ09ORklHKTtcbiAgcHJpdmF0ZSBhY3RpdmVUb2FzdHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcmVzZXJ2ZWRUb2FzdHM6IEFYUmVzZXJ2ZWRUb2FzdHNbXSA9IFtdO1xuICBwcml2YXRlIHRvYXN0Q291bnRlckVsZW1lbnQ6IEFYVG9hc3RDb21wb25lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBtb3JlVG9hc3RzQ29sb3I6IEFYU3R5bGVDb2xvclR5cGUgPSAncHJpbWFyeSc7XG4gIHByaXZhdGUgbW9yZVRvYXN0c0xvY2F0aW9uOiBBWExvY2F0aW9uID0gJ2JvdHRvbS1jZW50ZXInO1xuICBwcml2YXRlIHJlc2VydmVDb3VudGVyID0gMDtcblxuICBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzY3JvbGxTdHJhdGVneU9wdGlvbnM6IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNjcm9sbFN0cmF0ZWd5T3B0aW9ucy5ub29wKCk7XG4gIH1cblxuICBwcmltYXJ5KGNvbnRlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0aW1lT3V0OiB0aGlzLmRlZmF1bHRDb25maWcudGltZU91dCxcbiAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICBjb250ZW50OiBjb250ZW50LFxuICAgIH0pO1xuICB9XG4gIHNlY29uZGFyeShjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdGltZU91dDogdGhpcy5kZWZhdWx0Q29uZmlnLnRpbWVPdXQsXG4gICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICBjb250ZW50OiBjb250ZW50LFxuICAgIH0pO1xuICB9XG4gIHN1Y2Nlc3MoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHRpbWVPdXQ6IHRoaXMuZGVmYXVsdENvbmZpZy50aW1lT3V0LFxuICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnQsXG4gICAgfSk7XG4gIH1cbiAgd2FybmluZyhjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdGltZU91dDogdGhpcy5kZWZhdWx0Q29uZmlnLnRpbWVPdXQsXG4gICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgY29udGVudDogY29udGVudCxcbiAgICB9KTtcbiAgfVxuICBkYW5nZXIoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHRpbWVPdXQ6IHRoaXMuZGVmYXVsdENvbmZpZy50aW1lT3V0LFxuICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgY29udGVudDogY29udGVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHNob3coY29uZmlnOiBBWFRvYXN0RGlzcGxheUNvbmZpZyk6IEFYVG9hc3RSZWYge1xuICAgIGNvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfTtcblxuICAgIHRoaXMubW9yZVRvYXN0c0NvbG9yID0gY29uZmlnLmNvbG9yO1xuICAgIHRoaXMubW9yZVRvYXN0c0xvY2F0aW9uID0gY29uZmlnLmxvY2F0aW9uO1xuXG4gICAgaWYgKHRoaXMuZGVmYXVsdENvbmZpZy5saW1pdCA+IDAgJiYgdGhpcy5hY3RpdmVUb2FzdHMubGVuZ3RoID49IHRoaXMuZGVmYXVsdENvbmZpZy5saW1pdCkge1xuICAgICAgY29uc3QgcmVzZXJ2ZWRSZWYgPSB7XG4gICAgICAgIGNsb3NlOiAoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdSZXNlcnZlZCBub3RpZmljYXRpb24gY2Fubm90IGJlIGNsb3NlZCB1bnRpbCBpdCBpcyBkaXNwbGF5ZWQuJyk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgdGhpcy5yZXNlcnZlZFRvYXN0cy5wdXNoKHsgY29uZmlnLCByZXNlcnZlZFJlZiB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzZXJ2ZWRUb2FzdENvdW50ZXIoKTtcbiAgICAgIHJldHVybiByZXNlcnZlZFJlZjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5VG9hc3QoY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheVRvYXN0KGNvbmZpZzogQVhUb2FzdERpc3BsYXlDb25maWcpOiBBWFRvYXN0UmVmIHtcbiAgICBjb25zdCBnYXAgPSB0aGlzLmRlZmF1bHRDb25maWcuZ2FwO1xuICAgIGNvbnN0IHBvcyA9IHRoaXMuZ2V0UG9zaXRpb24oY29uZmlnLmxvY2F0aW9uKSArIGdhcCArICdweCc7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneShcbiAgICAgIG5ldyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5KCksXG4gICAgICBjb25maWcubG9jYXRpb24sXG4gICAgICBwb3MsXG4gICAgICBnYXAsXG4gICAgKTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFYVG9hc3RDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IGNvbmZpZyxcbiAgICAgIGF1dG9Gb2N1czogJ19fbm9fZWxlbWVudF9fJyxcbiAgICAgIHJlc3RvcmVGb2N1czogdHJ1ZSxcbiAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgYXJpYU1vZGFsOiB0cnVlLFxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBjbG9zZU9uRGVzdHJveTogdHJ1ZSxcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1hbmltYXRlZCcsICdheC1hbmltYXRlLWZhZGVJbicsICdheC1hbmltYXRlLWZhc3RlciddLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLnNjcm9sbFN0cmF0ZWd5LFxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3RpdmVUb2FzdHMucHVzaChkaWFsb2dSZWYuaWQpO1xuICAgIHRoaXMuaGFuZGxlUmVzZXJ2ZWRUb2FzdENvdW50ZXIoKTtcblxuICAgIGNvbnN0IHRvYXN0UmVmID0gZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFYVG9hc3RDb21wb25lbnQ7XG4gICAgZGlhbG9nUmVmLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVUb2FzdHMgPSB0aGlzLmFjdGl2ZVRvYXN0cy5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gZGlhbG9nUmVmLmlkKTtcblxuICAgICAgdGhpcy5oYW5kbGVTaG93UmVzZXJ2ZWRUb2FzdCgpO1xuICAgICAgdGhpcy5oYW5kbGVSZXNlcnZlZFRvYXN0Q291bnRlcigpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXBvc2l0aW9uKGNvbmZpZy5sb2NhdGlvbiwgZ2FwKTtcbiAgICAgIH0sIDApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3NlOiAoKSA9PiB7XG4gICAgICAgIHRvYXN0UmVmLmNsb3NlKCk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBoaWRlQWxsKCkge1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgdGhpcy5yZXNlcnZlQ291bnRlciA9IDA7XG4gICAgdGhpcy5yZXNlcnZlZFRvYXN0cyA9IFtdO1xuICAgIHRoaXMuYWN0aXZlVG9hc3RzID0gW107XG4gICAgdGhpcy5oYW5kbGVSZXNlcnZlZFRvYXN0Q291bnRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTaG93UmVzZXJ2ZWRUb2FzdCgpIHtcbiAgICBpZiAodGhpcy5hY3RpdmVUb2FzdHMubGVuZ3RoID4gdGhpcy5kZWZhdWx0Q29uZmlnLmxpbWl0IC0gMSkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5yZXNlcnZlZFRvYXN0cy5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IHsgY29uZmlnLCByZXNlcnZlZFJlZiB9ID0gdGhpcy5yZXNlcnZlZFRvYXN0cy5zaGlmdCgpO1xuXG4gICAgY29uc3QgZGlzcGxheWVkUmVmID0gdGhpcy5kaXNwbGF5VG9hc3QoY29uZmlnKTtcbiAgICB0aGlzLmhhbmRsZVJlc2VydmVkVG9hc3RDb3VudGVyKCk7XG4gICAgcmVzZXJ2ZWRSZWYuY2xvc2UgPSBkaXNwbGF5ZWRSZWYuY2xvc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJlc2VydmVkVG9hc3RDb3VudGVyKCkge1xuICAgIGNvbnN0IHJlc2VydmVkQ291bnQgPSB0aGlzLnJlc2VydmVkVG9hc3RzLmxlbmd0aDtcblxuICAgIGlmIChyZXNlcnZlZENvdW50ID09PSB0aGlzLnJlc2VydmVDb3VudGVyKSByZXR1cm47XG5cbiAgICB0aGlzLnJlc2VydmVDb3VudGVyID0gcmVzZXJ2ZWRDb3VudDtcblxuICAgIGlmIChyZXNlcnZlZENvdW50ID09PSAwICYmIHRoaXMudG9hc3RDb3VudGVyRWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy50b2FzdENvdW50ZXJFbGVtZW50LmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlc2VydmVkQ291bnQgPiAwKSB7XG4gICAgICBpZiAodGhpcy50b2FzdENvdW50ZXJFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMudG9hc3RDb3VudGVyRWxlbWVudC5jbG9zZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jcmVhdGVSZXNlcnZlZENvdW50ZXJUb2FzdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlUmVzZXJ2ZWRDb3VudGVyVG9hc3QoKSB7XG4gICAgY29uc3Qgb3B0OiBBWFRvYXN0RGF0YSA9IHtcbiAgICAgIGNsb3NlQnV0dG9uOiBmYWxzZSxcbiAgICAgIGNvbG9yOiB0aGlzLm1vcmVUb2FzdHNDb2xvcixcbiAgICAgIGxvY2F0aW9uOiB0aGlzLm1vcmVUb2FzdHNMb2NhdGlvbixcbiAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnbW9yZS10b2FzdCcsIHtcbiAgICAgICAgcGFyYW1zOiB7IG51bWJlcjogdGhpcy5yZXNlcnZlQ291bnRlciB9LFxuICAgICAgfSksXG4gICAgICB0aW1lT3V0UHJvZ3Jlc3M6IGZhbHNlLFxuICAgIH07XG4gICAgY29uc3QgZ2FwID0gdGhpcy5kZWZhdWx0Q29uZmlnLmdhcDtcbiAgICBjb25zdCBwb3MgPSB0aGlzLmdldFBvc2l0aW9uKG9wdC5sb2NhdGlvbikgKyBnYXAgKyAncHgnO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3kobmV3IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3koKSwgb3B0LmxvY2F0aW9uLCBwb3MsIGdhcCk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBWFRvYXN0Q29tcG9uZW50LCB7XG4gICAgICBkYXRhOiBvcHQsXG4gICAgICBhdXRvRm9jdXM6ICdfX25vX2VsZW1lbnRfXycsXG4gICAgICByZXN0b3JlRm9jdXM6IHRydWUsXG4gICAgICByb2xlOiAnZGlhbG9nJyxcbiAgICAgIGFyaWFNb2RhbDogdHJ1ZSxcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgY2xvc2VPbkRlc3Ryb3k6IHRydWUsXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtYW5pbWF0ZWQnLCAnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5zY3JvbGxTdHJhdGVneSxcbiAgICB9KTtcbiAgICB0aGlzLnRvYXN0Q291bnRlckVsZW1lbnQgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UgYXMgQVhUb2FzdENvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVwb3NpdGlvbih0b2FzdExvY2F0aW9uOiBBWExvY2F0aW9uLCBnYXA6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmRpYWxvZy5vcGVuRGlhbG9nc1xuICAgICAgLm1hcCgoYykgPT4gYy5jb21wb25lbnRJbnN0YW5jZSBhcyBBWFRvYXN0Q29tcG9uZW50KVxuICAgICAgLmZpbHRlcigoYykgPT4gYy5jb25maWc/LmxvY2F0aW9uID09IHRvYXN0TG9jYXRpb24pO1xuXG4gICAgbGlzdC5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcG9zID0gdGhpcy5nZXRSZXBvc2l0aW9uUG9zaXRpb24oaW5kZXgsIGdhcCwgbGlzdCwgdG9hc3RMb2NhdGlvbik7XG5cbiAgICAgIHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgZWxlbWVudC5kaWFsb2dSZWYuY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgR2xvYmFsUG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgdG9hc3RMb2NhdGlvbixcbiAgICAgICAgcG9zLFxuICAgICAgICBnYXAsXG4gICAgICApLmFwcGx5KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlcG9zaXRpb25Qb3NpdGlvbihpbmRleDogbnVtYmVyLCBnYXA6IG51bWJlciwgbGlzdDogQVhUb2FzdENvbXBvbmVudFtdLCB0b2FzdExvY2F0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHJldHVybiBnYXAgKyAncHgnO1xuICAgIGNvbnN0IHByZXZpb3VzZUVsZW1lbnQgPSBsaXN0W2luZGV4IC0gMV07XG4gICAgaWYgKHRvYXN0TG9jYXRpb24uc3BsaXQoJy0nKVswXSA9PSAnYm90dG9tJykge1xuICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCAtIHByZXZpb3VzZUVsZW1lbnQuZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRUb3AgKyBnYXAgKyAncHgnO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgcHJldmlvdXNlRWxlbWVudC5nZXRIb3N0RWxlbWVudCgpLm9mZnNldFRvcCArXG4gICAgICBwcmV2aW91c2VFbGVtZW50LmdldEhvc3RFbGVtZW50KCkub2Zmc2V0SGVpZ2h0ICtcbiAgICAgIGdhcCArXG4gICAgICAncHgnXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9zaXRpb24obG9jYXRpb246IHN0cmluZykge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmRpYWxvZy5vcGVuRGlhbG9nc1xuICAgICAgLm1hcCgoYykgPT4gYy5jb21wb25lbnRJbnN0YW5jZSBhcyBBWFRvYXN0Q29tcG9uZW50KVxuICAgICAgLmZpbHRlcigoYykgPT4gYy5jb25maWc/LmxvY2F0aW9uID09IGxvY2F0aW9uKTtcbiAgICBpZiAobGlzdC5sZW5ndGggPT0gMCkgcmV0dXJuIDA7XG4gICAgaWYgKGxvY2F0aW9uLnNwbGl0KCctJylbMF0gPT0gJ2JvdHRvbScpIHtcbiAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQgLSBsaXN0W2xpc3QubGVuZ3RoIC0gMV0uZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRUb3A7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBsaXN0W2xpc3QubGVuZ3RoIC0gMV0uZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRUb3AgKyBsaXN0W2xpc3QubGVuZ3RoIC0gMV0uZ2V0SG9zdEVsZW1lbnQoKS5vZmZzZXRIZWlnaHRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb3NpdGlvblN0cmF0ZWd5KFxuICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgbG9jYXRpb246IEFYTG9jYXRpb24sXG4gICAgcG9zOiBzdHJpbmcsXG4gICAgZ2FwOiBudW1iZXIsXG4gICkge1xuICAgIHN3aXRjaCAobG9jYXRpb24pIHtcbiAgICAgIGNhc2UgJ2JvdHRvbS1jZW50ZXInOlxuICAgICAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneS5ib3R0b20ocG9zKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3kuYm90dG9tKHBvcykucmlnaHQoZ2FwICsgJ3B4Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3kuYm90dG9tKHBvcykubGVmdChnYXAgKyAncHgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3AtY2VudGVyJzpcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3kudG9wKHBvcykuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wLWVuZCc6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LnRvcChwb3MpLnJpZ2h0KGdhcCArICdweCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LnRvcChwb3MpLmxlZnQoZ2FwICsgJ3B4Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyLXN0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3kuY2VudGVyVmVydGljYWxseSgpLmxlZnQoZ2FwICsgJ3B4Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyLWVuZCc6XG4gICAgICAgIHJldHVybiBwb3NpdGlvblN0cmF0ZWd5LmNlbnRlclZlcnRpY2FsbHkoKS5yaWdodChnYXAgKyAncHgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -27,6 +27,7 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
27
27
  *
28
28
  */
29
29
  this.placeHolder = input();
30
+ this.isQuillLoaded = signal(false);
30
31
  this.#init = afterNextRender(() => {
31
32
  const view = this.getHostElement().querySelector('ax-wysiwyg-view');
32
33
  this.zone.runOutsideAngular(async () => {
@@ -36,6 +37,7 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
36
37
  readOnly: true,
37
38
  });
38
39
  this.service.wysiwyg.set(newWysiwyg);
40
+ this.isQuillLoaded.set(true);
39
41
  }
40
42
  });
41
43
  });
@@ -48,7 +50,7 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
48
50
  }
49
51
  });
50
52
  this.#effect2 = effect(() => {
51
- if (this.value && this.service.wysiwyg()?.quillObj()) {
53
+ if (this.isQuillLoaded() && this.value) {
52
54
  this.service.wysiwyg().quillObj().root.innerHTML = this.value;
53
55
  }
54
56
  });
@@ -95,10 +97,12 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
95
97
  clearTimeout(this.setTimeOut);
96
98
  }
97
99
  internalValueChanged(value) {
100
+ if (!this.isQuillLoaded())
101
+ return;
98
102
  if (this.quillChangeTriggred())
99
103
  return;
100
104
  this.ngModleChangeTriggred.set(true);
101
- this.service.wysiwyg()?.setContent(value);
105
+ this.service.wysiwyg().quillObj().root.innerHTML = value;
102
106
  this.ngModleChangeTriggred.set(false);
103
107
  }
104
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -130,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
130
134
  },
131
135
  ], template: "<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n", styles: [".ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:\"\\2022\"}.ql-editor li[data-list=checked]>.ql-ui:before{content:\"\\2611\"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:\"\\2610\"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) \". \"}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}ax-wysiwyg-container{width:100%;display:block}ax-wysiwyg-container>.ax-editor-container{display:block;height:auto!important}\n/*! Bundled license information:\n\nquill/dist/quill.core.css:\n (*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n *)\n*/\n"] }]
132
136
  }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctY29udGFpbmVyL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLWNvbnRhaW5lci93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXREOzs7R0FHRztBQXNCSCxNQUFNLE9BQU8sMkJBQ1gsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFB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RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDbkRILHFNQUtBOzsyRkRnRGEsMkJBQTJCO2tCQXJCdkMsU0FBUzsrQkFDRSxzQkFBc0IsVUFHeEIsQ0FBQyxNQUFNLENBQUMsV0FDUCxDQUFDLGdCQUFnQixDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsZ0JBQWdCO3dCQUNoQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDbEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDMUU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhXeXNpd3lnIH0gZnJvbSAnQGFjb3JleC9jZGsvd3lzaXd5Zyc7XHJcbmltcG9ydCB7XHJcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXHJcbiAgQVhDb21wb25lbnQsXHJcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXHJcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcclxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxyXG4gIE1YTG9va0NvbXBvbmVudCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBhZnRlck5leHRSZW5kZXIsXHJcbiAgZWZmZWN0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG4gIHNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XHJcbmltcG9ydCB7IFF1aWxsRGVsdGFUb0h0bWxDb252ZXJ0ZXIgfSBmcm9tICdxdWlsbC1kZWx0YS10by1odG1sJztcclxuaW1wb3J0IHsgQVhXeXNpd3lnU2VydmljZSB9IGZyb20gJy4uL3d5c2l3eWcuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSBjb250YWluZXIgY29tcG9uZW50IGZvciBXWVNJV1lHIChXaGF0IFlvdSBTZWUgSXMgV2hhdCBZb3UgR2V0KSBlZGl0b3IgZnVuY3Rpb25hbGl0eS5cclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtd3lzaXd5Zy1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBpbnB1dHM6IFsnbG9vayddLFxyXG4gIG91dHB1dHM6IFsnb25WYWx1ZUNoYW5nZWQnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQVhXeXNpd3lnU2VydmljZSxcclxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnRcclxuICBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxzdHJpbmc+LCBNWExvb2tDb21wb25lbnQpXHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcclxue1xyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhXeXNpd3lnU2VydmljZSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHNldFRpbWVPdXQ7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHF1aWxsQ2hhbmdlVHJpZ2dyZWQgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByb3RlY3RlZCBuZ01vZGxlQ2hhbmdlVHJpZ2dyZWQgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBTcGVjaWZpZXMgdGhlIHBsYWNlaG9sZGVyIHRleHQuXHJcbiAgICpcclxuICAgKi9cclxuICBwbGFjZUhvbGRlciA9IGlucHV0PHN0cmluZz4oKTtcclxuXHJcbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xyXG4gICAgY29uc3QgdmlldyA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCdheC13eXNpd3lnLXZpZXcnKSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoYXN5bmMgKCkgPT4ge1xyXG4gICAgICBpZiAoaXNCcm93c2VyKCkpIHtcclxuICAgICAgICBjb25zdCBuZXdXeXNpd3lnID0gbmV3IEFYV3lzaXd5ZygpO1xyXG5cclxuICAgICAgICBhd2FpdCBuZXdXeXNpd3lnLmluaXQodmlldywge1xyXG4gICAgICAgICAgcmVhZE9ubHk6IHRydWUsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnLnNldChuZXdXeXNpd3lnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gICNlZmZlY3QxID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0aGlzLnBsYWNlSG9sZGVyKCkgJiYgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkucm9vdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtcGxhY2Vob2xkZXInLCB0aGlzLnBsYWNlSG9sZGVyKCkpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkucXVpbGxPYmooKS5yb290LnNldEF0dHJpYnV0ZSgnZGF0YS1wbGFjZWhvbGRlcicsICdXcml0ZSBZb3VyIE1lc3NhZ2UgLi4uJyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gICNlZmZlY3QyID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5xdWlsbE9iaigpLnJvb3QuaW5uZXJIVE1MID0gdGhpcy52YWx1ZTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgI2VmZmVjdDMgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5xdWlsbE9iaigpLm9uKCd0ZXh0LWNoYW5nZScsIHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0VGltZU91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkuZW5hYmxlKCk7XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByb3RlY3RlZCBjaGFuZ2VIYW5kbGVyKCkge1xyXG4gICAgaWYgKHRoaXMubmdNb2RsZUNoYW5nZVRyaWdncmVkKCkpIHJldHVybjtcclxuICAgIHRoaXMucXVpbGxDaGFuZ2VUcmlnZ3JlZC5zZXQodHJ1ZSk7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkucm9vdC5pbm5lckhUTUw7XHJcbiAgICBpZiAodmFsdWUgPT09ICc8cD48YnI+PC9wPicgfHwgIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbigpKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuLnNldCh0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRlbHRhID0gdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5lZGl0b3IuZGVsdGEub3BzO1xyXG4gICAgICBjb25zdCBjZmcgPSB7IGlubGluZVN0eWxlczogdHJ1ZSB9O1xyXG4gICAgICBjb25zdCBjb252ZXJ0ZXIgPSBuZXcgUXVpbGxEZWx0YVRvSHRtbENvbnZlcnRlcihkZWx0YSwgY2ZnKTtcclxuICAgICAgY29uc3QgaHRtbCA9IGNvbnZlcnRlci5jb252ZXJ0KCk7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoaHRtbCk7XHJcbiAgICAgIGlmICghdGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4oKSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbi5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5xdWlsbENoYW5nZVRyaWdncmVkLnNldChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5vZmYoJ3RleHQtY2hhbmdlJywgdGhpcy5jaGFuZ2VIYW5kbGVyKTtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnNldFRpbWVPdXQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnF1aWxsQ2hhbmdlVHJpZ2dyZWQoKSkgcmV0dXJuO1xyXG4gICAgdGhpcy5uZ01vZGxlQ2hhbmdlVHJpZ2dyZWQuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8uc2V0Q29udGVudCh2YWx1ZSk7XHJcbiAgICB0aGlzLm5nTW9kbGVDaGFuZ2VUcmlnZ3JlZC5zZXQoZmFsc2UpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRhaW5lciBheC1sb29rLXt7IGxvb2sgfX1cIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj4gPC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYXgtZXJyb3ItY29udGFpbmVyXCI+PC9kaXY+XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctY29udGFpbmVyL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLWNvbnRhaW5lci93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXREOzs7R0FHRztBQXNCSCxNQUFNLE9BQU8sMkJBQ1gsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFB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QUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRTtZQUMxRTtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUMxRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDbkRILHFNQUtBOzsyRkRnRGEsMkJBQTJCO2tCQXJCdkMsU0FBUzsrQkFDRSxzQkFBc0IsVUFHeEIsQ0FBQyxNQUFNLENBQUMsV0FDUCxDQUFDLGdCQUFnQixDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsZ0JBQWdCO3dCQUNoQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDbEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTt3QkFDMUU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhXeXNpd3lnIH0gZnJvbSAnQGFjb3JleC9jZGsvd3lzaXd5Zyc7XHJcbmltcG9ydCB7XHJcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXHJcbiAgQVhDb21wb25lbnQsXHJcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXHJcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcclxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxyXG4gIE1YTG9va0NvbXBvbmVudCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBhZnRlck5leHRSZW5kZXIsXHJcbiAgZWZmZWN0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG4gIHNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XHJcbmltcG9ydCB7IFF1aWxsRGVsdGFUb0h0bWxDb252ZXJ0ZXIgfSBmcm9tICdxdWlsbC1kZWx0YS10by1odG1sJztcclxuaW1wb3J0IHsgQVhXeXNpd3lnU2VydmljZSB9IGZyb20gJy4uL3d5c2l3eWcuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSBjb250YWluZXIgY29tcG9uZW50IGZvciBXWVNJV1lHIChXaGF0IFlvdSBTZWUgSXMgV2hhdCBZb3UgR2V0KSBlZGl0b3IgZnVuY3Rpb25hbGl0eS5cclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtd3lzaXd5Zy1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBpbnB1dHM6IFsnbG9vayddLFxyXG4gIG91dHB1dHM6IFsnb25WYWx1ZUNoYW5nZWQnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQVhXeXNpd3lnU2VydmljZSxcclxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnRcclxuICBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxzdHJpbmc+LCBNWExvb2tDb21wb25lbnQpXHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcclxue1xyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhXeXNpd3lnU2VydmljZSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHNldFRpbWVPdXQ7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHF1aWxsQ2hhbmdlVHJpZ2dyZWQgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByb3RlY3RlZCBuZ01vZGxlQ2hhbmdlVHJpZ2dyZWQgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBTcGVjaWZpZXMgdGhlIHBsYWNlaG9sZGVyIHRleHQuXHJcbiAgICpcclxuICAgKi9cclxuICBwbGFjZUhvbGRlciA9IGlucHV0PHN0cmluZz4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGlzUXVpbGxMb2FkZWQgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2F4LXd5c2l3eWctdmlldycpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XHJcbiAgICAgIGlmIChpc0Jyb3dzZXIoKSkge1xyXG4gICAgICAgIGNvbnN0IG5ld1d5c2l3eWcgPSBuZXcgQVhXeXNpd3lnKCk7XHJcblxyXG4gICAgICAgIGF3YWl0IG5ld1d5c2l3eWcuaW5pdCh2aWV3LCB7XHJcbiAgICAgICAgICByZWFkT25seTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcuc2V0KG5ld1d5c2l3eWcpO1xyXG4gICAgICAgIHRoaXMuaXNRdWlsbExvYWRlZC5zZXQodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MSA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5wbGFjZUhvbGRlcigpICYmIHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5xdWlsbE9iaigpLnJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXBsYWNlaG9sZGVyJywgdGhpcy5wbGFjZUhvbGRlcigpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkucm9vdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtcGxhY2Vob2xkZXInLCAnV3JpdGUgWW91ciBNZXNzYWdlIC4uLicpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MiA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5pc1F1aWxsTG9hZGVkKCkgJiYgdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkucm9vdC5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MyA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkub24oJ3RleHQtY2hhbmdlJywgdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgdGhpcy5zZXRUaW1lT3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5lbmFibGUoKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIGNoYW5nZUhhbmRsZXIoKSB7XHJcbiAgICBpZiAodGhpcy5uZ01vZGxlQ2hhbmdlVHJpZ2dyZWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMucXVpbGxDaGFuZ2VUcmlnZ3JlZC5zZXQodHJ1ZSk7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkucm9vdC5pbm5lckhUTUw7XHJcbiAgICBpZiAodmFsdWUgPT09ICc8cD48YnI+PC9wPicgfHwgIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbigpKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuLnNldCh0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRlbHRhID0gdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5lZGl0b3IuZGVsdGEub3BzO1xyXG4gICAgICBjb25zdCBjZmcgPSB7IGlubGluZVN0eWxlczogdHJ1ZSB9O1xyXG4gICAgICBjb25zdCBjb252ZXJ0ZXIgPSBuZXcgUXVpbGxEZWx0YVRvSHRtbENvbnZlcnRlcihkZWx0YSwgY2ZnKTtcclxuICAgICAgY29uc3QgaHRtbCA9IGNvbnZlcnRlci5jb252ZXJ0KCk7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoaHRtbCk7XHJcbiAgICAgIGlmICghdGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4oKSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbi5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5xdWlsbENoYW5nZVRyaWdncmVkLnNldChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5vZmYoJ3RleHQtY2hhbmdlJywgdGhpcy5jaGFuZ2VIYW5kbGVyKTtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnNldFRpbWVPdXQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc1F1aWxsTG9hZGVkKCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnF1aWxsQ2hhbmdlVHJpZ2dyZWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMubmdNb2RsZUNoYW5nZVRyaWdncmVkLnNldCh0cnVlKTtcclxuICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkucXVpbGxPYmooKS5yb290LmlubmVySFRNTCA9IHZhbHVlO1xyXG4gICAgdGhpcy5uZ01vZGxlQ2hhbmdlVHJpZ2dyZWQuc2V0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay17eyBsb29rIH19XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19
@@ -115,7 +115,7 @@ class AXDialogService {
115
115
  */
116
116
  alert(title, content, type = 'primary', orientation = 'horizontal', draggable) {
117
117
  return new Promise((resolve) => {
118
- const popup = this.#open({
118
+ const popup = this.open({
119
119
  title,
120
120
  type: type,
121
121
  content,
@@ -144,7 +144,7 @@ class AXDialogService {
144
144
  */
145
145
  confirm(title, content, type = 'primary', orientation = 'horizontal', draggable) {
146
146
  return new Promise((resolve) => {
147
- const popup = this.#open({
147
+ const popup = this.open({
148
148
  title,
149
149
  content,
150
150
  type,
@@ -192,35 +192,37 @@ class AXDialogService {
192
192
  */
193
193
  show(options) {
194
194
  return new Promise((resolve) => {
195
- const popup = this.#open(options);
196
195
  options.orientation = options.orientation || 'horizontal';
197
- (options.icon = options.icon ?? this.detectIcon(options.type)),
198
- options.buttons?.forEach((b) => {
199
- const orginalClick = b.onClick;
200
- b.onClick = () => {
201
- const e = { source: b, handled: false };
202
- if (orginalClick) {
203
- orginalClick(e);
204
- if (e.handled) {
205
- resolve({ name: b.name ?? b.text });
206
- }
207
- else {
208
- popup.close();
209
- resolve({ name: b.name ?? b.text });
210
- }
211
- }
212
- else if (resolve) {
213
- popup.close();
196
+ options.icon = options.icon ?? this.detectIcon(options.type);
197
+ const popup = this.open(options);
198
+ options.buttons?.forEach((b) => {
199
+ const orginalClick = b.onClick;
200
+ b.onClick = () => {
201
+ const e = { source: b, handled: false };
202
+ if (orginalClick) {
203
+ orginalClick(e);
204
+ if (e.handled) {
214
205
  resolve({ name: b.name ?? b.text });
215
206
  }
216
207
  else {
217
208
  popup.close();
209
+ resolve({ name: b.name ?? b.text });
218
210
  }
219
- };
220
- });
211
+ }
212
+ else if (resolve) {
213
+ popup.close();
214
+ resolve({ name: b.name ?? b.text });
215
+ }
216
+ else {
217
+ popup.close();
218
+ }
219
+ };
220
+ });
221
221
  });
222
222
  }
223
- #open(config) {
223
+ open(config) {
224
+ config.orientation = config.orientation || 'horizontal';
225
+ config.icon = config.icon ?? this.detectIcon(config.type);
224
226
  const dialogRef = this.dialog.open(AXDialogComponent, {
225
227
  data: config,
226
228
  role: 'alertdialog',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-dialog.mjs","sources":["../../../../libs/components/dialog/src/lib/dialog.component.ts","../../../../libs/components/dialog/src/lib/dialog.component.html","../../../../libs/components/dialog/src/lib/dialog.service.ts","../../../../libs/components/dialog/src/lib/dialog.module.ts","../../../../libs/components/dialog/src/acorex-components-dialog.ts"],"sourcesContent":["import { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core';\nimport { AXDialogButtonItem, AXDialogData } from './dialog.class';\n\n/**\n * A dialog component that provides a modal interface for user interactions.\n * @category Components\n */\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosbaleComponent,\n useExisting: AXDialogComponent,\n },\n ],\n})\nexport class AXDialogComponent extends MXBaseComponent {\n /**\n * @ignore\n */\n protected _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n protected data: AXDialogData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n /**\n * @ignore\n */\n protected _handleButtonClick(button: AXDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * @ignore\n */\n protected _hasAutoFocus(button: AXDialogButtonItem) {\n const result =\n button.autofocus || this.data.buttons.length == 1 || !this.data.buttons.some((c) => c.autofocus);\n return result;\n }\n\n /**\n * Closes the dialog.\n * @ignore\n */\n close() {\n this.dialogRef.close();\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabIndex') get tabIndex() {\n return '-1';\n }\n}\n","<div\n class=\"ax-dialog ax-{{ data.type }}-default ax-orientation-{{ data.orientation }}\"\n tabindex=\"-1\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data.draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data.icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon {{ data.icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data.title }}</div>\n <div class=\"ax-dialog-content\">{{ data.content }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data.closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n <ax-footer>\n @for (button of data.buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-footer>\n</div>\n","import { AXStyleColorType } from '@acorex/components/common';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogConfig, AXDialogRef } from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Injectable()\nexport class AXDialogService {\n private dialog: Dialog = inject(Dialog);\n\n private detectIcon(type) {\n let icon: string;\n switch (type) {\n case 'success':\n icon = 'ax-icon ax-icon-check';\n break;\n case 'danger':\n icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n icon = 'ax-icon ax-icon-warning';\n break;\n default:\n icon = 'ax-icon ax-icon-info';\n break;\n }\n return icon;\n }\n /**\n * Show an alert box with 'Okay' button.\n */\n alert(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.#open({\n title,\n type: type,\n content,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: 'okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a confirm box with 'Okay' & 'Cancel' buttons.\n */\n\n confirm(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<{ result: boolean }> {\n return new Promise<{ result: boolean }>((resolve) => {\n const popup = this.#open({\n title,\n content,\n type,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: 'okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: true });\n }\n },\n },\n {\n name: 'cancel',\n text: 'cancel',\n color: `ghost`,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n hotkey: {\n Escape: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n */\n show(options: AXDialogConfig): Promise<{ name: string }> {\n return new Promise((resolve) => {\n const popup = this.#open(options);\n options.orientation = options.orientation || 'horizontal';\n (options.icon = options.icon ?? this.detectIcon(options.type)),\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n const e = { source: b, handled: false };\n if (orginalClick) {\n orginalClick(e);\n if (e.handled) {\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n resolve({ name: b.name ?? b.text });\n }\n } else if (resolve) {\n popup.close();\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n }\n };\n });\n });\n }\n\n #open(config: AXDialogConfig): AXDialogRef {\n const dialogRef = this.dialog.open(AXDialogComponent, {\n data: config,\n role: 'alertdialog',\n ariaModal: true,\n restoreFocus: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: true,\n disableClose: true,\n panelClass: ['ax-animate-bounceIn', 'ax-animate-faster'],\n });\n return {\n close: () => {\n dialogRef.componentInstance?.close();\n },\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule, AXHotkeysService } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogService } from './dialog.service';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n DragDropModule,\n A11yModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n DialogModule,\n AXTranslationModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXDialogService, AXHotkeysService],\n})\nexport class AXDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-dialog.mjs","sources":["../../../../libs/components/dialog/src/lib/dialog.component.ts","../../../../libs/components/dialog/src/lib/dialog.component.html","../../../../libs/components/dialog/src/lib/dialog.service.ts","../../../../libs/components/dialog/src/lib/dialog.module.ts","../../../../libs/components/dialog/src/acorex-components-dialog.ts"],"sourcesContent":["import { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core';\nimport { AXDialogButtonItem, AXDialogData } from './dialog.class';\n\n/**\n * A dialog component that provides a modal interface for user interactions.\n * @category Components\n */\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosbaleComponent,\n useExisting: AXDialogComponent,\n },\n ],\n})\nexport class AXDialogComponent extends MXBaseComponent {\n /**\n * @ignore\n */\n protected _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n protected data: AXDialogData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n /**\n * @ignore\n */\n protected _handleButtonClick(button: AXDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * @ignore\n */\n protected _hasAutoFocus(button: AXDialogButtonItem) {\n const result =\n button.autofocus || this.data.buttons.length == 1 || !this.data.buttons.some((c) => c.autofocus);\n return result;\n }\n\n /**\n * Closes the dialog.\n * @ignore\n */\n close() {\n this.dialogRef.close();\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabIndex') get tabIndex() {\n return '-1';\n }\n}\n","<div\n class=\"ax-dialog ax-{{ data.type }}-default ax-orientation-{{ data.orientation }}\"\n tabindex=\"-1\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data.draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data.icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon {{ data.icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data.title }}</div>\n <div class=\"ax-dialog-content\">{{ data.content }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data.closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n <ax-footer>\n @for (button of data.buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-footer>\n</div>\n","import { AXStyleColorType } from '@acorex/components/common';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogConfig, AXDialogRef } from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Injectable()\nexport class AXDialogService {\n private dialog: Dialog = inject(Dialog);\n\n private detectIcon(type) {\n let icon: string;\n switch (type) {\n case 'success':\n icon = 'ax-icon ax-icon-check';\n break;\n case 'danger':\n icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n icon = 'ax-icon ax-icon-warning';\n break;\n default:\n icon = 'ax-icon ax-icon-info';\n break;\n }\n return icon;\n }\n /**\n * Show an alert box with 'Okay' button.\n */\n alert(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.open({\n title,\n type: type,\n content,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: 'okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a confirm box with 'Okay' & 'Cancel' buttons.\n */\n\n confirm(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<{ result: boolean }> {\n return new Promise<{ result: boolean }>((resolve) => {\n const popup = this.open({\n title,\n content,\n type,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: 'okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: true });\n }\n },\n },\n {\n name: 'cancel',\n text: 'cancel',\n color: `ghost`,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n hotkey: {\n Escape: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n */\n show(options: AXDialogConfig): Promise<{ name: string }> {\n return new Promise((resolve) => {\n options.orientation = options.orientation || 'horizontal';\n options.icon = options.icon ?? this.detectIcon(options.type);\n\n const popup = this.open(options);\n\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n const e = { source: b, handled: false };\n if (orginalClick) {\n orginalClick(e);\n if (e.handled) {\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n resolve({ name: b.name ?? b.text });\n }\n } else if (resolve) {\n popup.close();\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n }\n };\n });\n });\n }\n\n open(config: AXDialogConfig): AXDialogRef {\n config.orientation = config.orientation || 'horizontal';\n config.icon = config.icon ?? this.detectIcon(config.type);\n\n const dialogRef = this.dialog.open(AXDialogComponent, {\n data: config,\n role: 'alertdialog',\n ariaModal: true,\n restoreFocus: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: true,\n disableClose: true,\n panelClass: ['ax-animate-bounceIn', 'ax-animate-faster'],\n });\n return {\n close: () => {\n dialogRef.componentInstance?.close();\n },\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule, AXHotkeysService } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogService } from './dialog.service';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n DragDropModule,\n A11yModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n DialogModule,\n AXTranslationModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXDialogService, AXHotkeysService],\n})\nexport class AXDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}