@lucca-front/ng 17.2.1 → 17.2.3-backfix
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/core-select/api/api-v3.directive.d.ts +25 -0
- package/core-select/api/api-v4.directive.d.ts +22 -0
- package/core-select/api/api.directive.d.ts +31 -0
- package/core-select/api/index.d.ts +5 -0
- package/core-select/api/public-api.d.ts +3 -0
- package/core-select/input/select-input.component.d.ts +3 -3
- package/core-select/option/option.component.d.ts +1 -0
- package/esm2022/core-select/api/api-v3.directive.mjs +62 -0
- package/esm2022/core-select/api/api-v4.directive.mjs +56 -0
- package/esm2022/core-select/api/api.directive.mjs +46 -0
- package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +5 -0
- package/esm2022/core-select/api/public-api.mjs +4 -0
- package/esm2022/core-select/input/select-input.component.mjs +13 -12
- package/esm2022/core-select/option/option.component.mjs +5 -4
- package/esm2022/establishment/select/establishment-select.token.mjs +4 -0
- package/esm2022/establishment/select/input/establishment-select-input.component.mjs +13 -16
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +9 -10
- package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +9 -10
- package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +9 -10
- package/esm2022/icon/icon.component.mjs +3 -3
- package/esm2022/multi-select/displayer/default-displayer.component.mjs +4 -2
- package/esm2022/multi-select/input/panel-ref.factory.mjs +6 -6
- package/esm2022/multi-select/input/select-input.component.mjs +3 -10
- package/esm2022/multi-select/panel/panel.component.mjs +18 -18
- package/esm2022/multi-select/select.model.mjs +2 -2
- package/esm2022/option/item/option-item.component.mjs +3 -3
- package/esm2022/option/item/tree-option-item.component.mjs +3 -3
- package/esm2022/simple-select/api/api-v3.directive.mjs +6 -62
- package/esm2022/simple-select/api/api-v4.directive.mjs +6 -56
- package/esm2022/simple-select/api/api.directive.mjs +6 -40
- package/esm2022/simple-select/input/panel-ref.factory.mjs +7 -7
- package/esm2022/simple-select/input/select-input.component.mjs +2 -9
- package/esm2022/simple-select/panel/option-selected.pipe.mjs +17 -0
- package/esm2022/simple-select/panel/panel.component.mjs +21 -20
- package/esm2022/simple-select/select.model.mjs +2 -2
- package/establishment/select/establishment-select.token.d.ts +4 -0
- package/establishment/select/input/establishment-select-input.component.d.ts +2 -2
- package/establishment/select/legal-unit-selector/legal-unit-selector.directive.d.ts +2 -2
- package/establishment/select/searcher/establishment-searcher.component.d.ts +2 -2
- package/establishment/select/select-all/establishment-select-all.component.d.ts +2 -2
- package/fesm2022/lucca-front-ng-core-select-api.mjs +162 -0
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select.mjs +16 -14
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +32 -39
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +2 -2
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +26 -31
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +4 -4
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select-api.mjs +13 -146
- package/fesm2022/lucca-front-ng-simple-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +40 -32
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/multi-select/input/panel-ref.factory.d.ts +2 -2
- package/multi-select/panel/panel.component.d.ts +5 -5
- package/multi-select/select.model.d.ts +3 -12
- package/package.json +38 -32
- package/simple-select/api/api-v3.directive.d.ts +5 -25
- package/simple-select/api/api-v4.directive.d.ts +5 -22
- package/simple-select/api/api.directive.d.ts +5 -32
- package/simple-select/input/panel-ref.factory.d.ts +2 -2
- package/simple-select/panel/option-selected.pipe.d.ts +7 -0
- package/simple-select/panel/panel.component.d.ts +5 -5
- package/simple-select/select.model.d.ts +3 -12
- package/src/definitions/option/_option-item.scss +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { forwardRef, Directive, NgModule, Injectable, Inject, Optional,
|
|
2
|
+
import { forwardRef, Directive, NgModule, Injectable, InjectionToken, Inject, Optional, Self, Input, HostListener, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, HostBinding, ViewChild, Output } from '@angular/core';
|
|
3
3
|
import { LuForGroupsDirective, ALuOptionOperator, ALuOptionSelector, LuOptionPlaceholderComponent, LuOptionSelectAllComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent } from '@lucca-front/ng/option';
|
|
4
4
|
import * as i1$2 from '@angular/cdk/overlay';
|
|
5
5
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
@@ -144,6 +144,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
144
144
|
type: Injectable
|
|
145
145
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
146
146
|
|
|
147
|
+
const DEFAULT_ESTABLISHMENT_SERVICE = new InjectionToken('Default establishment service');
|
|
148
|
+
const DEFAULT_LEGAL_UNIT_SERVICE = new InjectionToken('Default legal unit service');
|
|
149
|
+
|
|
147
150
|
class LuLegalUnitSelectorDirective {
|
|
148
151
|
set filters(filters) {
|
|
149
152
|
this._service.filters = filters;
|
|
@@ -154,11 +157,11 @@ class LuLegalUnitSelectorDirective {
|
|
|
154
157
|
set operations(ops) {
|
|
155
158
|
this._service.operations = ops;
|
|
156
159
|
}
|
|
157
|
-
constructor(
|
|
160
|
+
constructor(customService, defaultService) {
|
|
158
161
|
this.multiple = true;
|
|
159
162
|
this.onSelectValue = new Subject();
|
|
160
163
|
this._subs = new Subscription();
|
|
161
|
-
this._service =
|
|
164
|
+
this._service = customService || defaultService;
|
|
162
165
|
}
|
|
163
166
|
onClick() {
|
|
164
167
|
const sub = this._service.getAll([`legalUnitId=${this.legalUnit.id}`]).subscribe((establishments) => {
|
|
@@ -183,7 +186,7 @@ class LuLegalUnitSelectorDirective {
|
|
|
183
186
|
const selectedCount = (this._values ?? []).filter((ets) => ets.legalUnitId === this.legalUnit.id).length;
|
|
184
187
|
return establishments.length > selectedCount;
|
|
185
188
|
}
|
|
186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuLegalUnitSelectorDirective, deps: [{ token: ALuEstablishmentService, optional: true
|
|
189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuLegalUnitSelectorDirective, deps: [{ token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
187
190
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: LuLegalUnitSelectorDirective, isStandalone: true, selector: "[luLegalUnitSelector]", inputs: { legalUnit: ["luLegalUnitSelector", "legalUnit"], filters: ["luLegalUnitSelectorFilters", "filters"], appInstanceId: ["luLegalUnitSelectorAppInstanceId", "appInstanceId"], operations: ["luLegalUnitSelectorOperations", "operations"] }, host: { listeners: { "click": "onClick()" } }, providers: [
|
|
188
191
|
{
|
|
189
192
|
provide: ALuOptionSelector,
|
|
@@ -191,7 +194,7 @@ class LuLegalUnitSelectorDirective {
|
|
|
191
194
|
multi: true,
|
|
192
195
|
},
|
|
193
196
|
{
|
|
194
|
-
provide:
|
|
197
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
195
198
|
useClass: LuEstablishmentService,
|
|
196
199
|
},
|
|
197
200
|
], ngImport: i0 }); }
|
|
@@ -208,7 +211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
208
211
|
multi: true,
|
|
209
212
|
},
|
|
210
213
|
{
|
|
211
|
-
provide:
|
|
214
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
212
215
|
useClass: LuEstablishmentService,
|
|
213
216
|
},
|
|
214
217
|
],
|
|
@@ -218,11 +221,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
218
221
|
args: [ALuEstablishmentService]
|
|
219
222
|
}, {
|
|
220
223
|
type: Optional
|
|
221
|
-
}, {
|
|
222
|
-
type: SkipSelf
|
|
223
224
|
}] }, { type: LuEstablishmentService, decorators: [{
|
|
224
225
|
type: Inject,
|
|
225
|
-
args: [
|
|
226
|
+
args: [DEFAULT_ESTABLISHMENT_SERVICE]
|
|
226
227
|
}, {
|
|
227
228
|
type: Self
|
|
228
229
|
}] }], propDecorators: { legalUnit: [{
|
|
@@ -269,7 +270,7 @@ class LuEstablishmentSearcherComponent {
|
|
|
269
270
|
set sort(sort) {
|
|
270
271
|
this._service.sort = sort;
|
|
271
272
|
}
|
|
272
|
-
constructor(
|
|
273
|
+
constructor(customService, defaultService) {
|
|
273
274
|
this.fixed = true;
|
|
274
275
|
this.isSearching = new EventEmitter();
|
|
275
276
|
this._isSearching = false;
|
|
@@ -287,7 +288,7 @@ class LuEstablishmentSearcherComponent {
|
|
|
287
288
|
}
|
|
288
289
|
}), switchMap((page) => this._service.searchPaged(clue, page).pipe(catchError(() => of([])))), takeWhile((loadedItems) => !!loadedItems.length), scan((acc, next) => [...acc, ...next]))), tap(() => (this.loading = false)))), share());
|
|
289
290
|
this.displayPlaceholder$ = this.outOptions$.pipe(map((o) => o?.length === 0 && this._isSearching));
|
|
290
|
-
this._service =
|
|
291
|
+
this._service = customService || defaultService;
|
|
291
292
|
}
|
|
292
293
|
onOpen() {
|
|
293
294
|
this.searchInput.nativeElement.focus();
|
|
@@ -304,7 +305,7 @@ class LuEstablishmentSearcherComponent {
|
|
|
304
305
|
reset() {
|
|
305
306
|
this.clueControl.reset();
|
|
306
307
|
}
|
|
307
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSearcherComponent, deps: [{ token: ALuEstablishmentService, optional: true
|
|
308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSearcherComponent, deps: [{ token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
308
309
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuEstablishmentSearcherComponent, isStandalone: true, selector: "lu-establishment-searcher", inputs: { filters: "filters", appInstanceId: "appInstanceId", operations: "operations", sort: "sort" }, outputs: { isSearching: "isSearching" }, host: { properties: { "class.position-fixed": "this.fixed" } }, providers: [
|
|
309
310
|
{
|
|
310
311
|
provide: ALuOptionOperator,
|
|
@@ -327,7 +328,7 @@ class LuEstablishmentSearcherComponent {
|
|
|
327
328
|
multi: true,
|
|
328
329
|
},
|
|
329
330
|
{
|
|
330
|
-
provide:
|
|
331
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
331
332
|
useClass: LuEstablishmentService,
|
|
332
333
|
},
|
|
333
334
|
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: LuOptionPlaceholderComponent, selector: "lu-option-placeholder", outputs: ["onClear"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -356,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
356
357
|
multi: true,
|
|
357
358
|
},
|
|
358
359
|
{
|
|
359
|
-
provide:
|
|
360
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
360
361
|
useClass: LuEstablishmentService,
|
|
361
362
|
},
|
|
362
363
|
], template: "<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}\n"] }]
|
|
@@ -365,11 +366,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
365
366
|
args: [ALuEstablishmentService]
|
|
366
367
|
}, {
|
|
367
368
|
type: Optional
|
|
368
|
-
}, {
|
|
369
|
-
type: SkipSelf
|
|
370
369
|
}] }, { type: LuEstablishmentService, decorators: [{
|
|
371
370
|
type: Inject,
|
|
372
|
-
args: [
|
|
371
|
+
args: [DEFAULT_ESTABLISHMENT_SERVICE]
|
|
373
372
|
}, {
|
|
374
373
|
type: Self
|
|
375
374
|
}] }], propDecorators: { filters: [{
|
|
@@ -413,12 +412,12 @@ class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent {
|
|
|
413
412
|
set operations(operations) {
|
|
414
413
|
this._service.operations = operations;
|
|
415
414
|
}
|
|
416
|
-
constructor(_changeDetectorRef,
|
|
415
|
+
constructor(_changeDetectorRef, customService, defaultService) {
|
|
417
416
|
super();
|
|
418
417
|
this._changeDetectorRef = _changeDetectorRef;
|
|
419
418
|
this.loading = false;
|
|
420
419
|
this._subs = new Subscription();
|
|
421
|
-
this._service =
|
|
420
|
+
this._service = customService || defaultService;
|
|
422
421
|
}
|
|
423
422
|
selectAll() {
|
|
424
423
|
this.loading = true;
|
|
@@ -436,7 +435,7 @@ class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent {
|
|
|
436
435
|
ngOnDestroy() {
|
|
437
436
|
this._subs.unsubscribe();
|
|
438
437
|
}
|
|
439
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectAllComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ALuEstablishmentService, optional: true
|
|
438
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectAllComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
440
439
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuEstablishmentSelectAllComponent, isStandalone: true, selector: "lu-establishment-select-all", inputs: { filters: "filters", appInstanceId: "appInstanceId", operations: "operations" }, providers: [
|
|
441
440
|
{
|
|
442
441
|
provide: ALuOptionOperator,
|
|
@@ -449,7 +448,7 @@ class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent {
|
|
|
449
448
|
multi: true,
|
|
450
449
|
},
|
|
451
450
|
{
|
|
452
|
-
provide:
|
|
451
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
453
452
|
useClass: LuEstablishmentService,
|
|
454
453
|
},
|
|
455
454
|
], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host .selectAll-button{color:var(--palettes-grey-600);font-size:var(--sizes-S-fontSize);outline:none}:host .selectAll-button:hover{color:var(--palettes-grey-800)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -468,7 +467,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
468
467
|
multi: true,
|
|
469
468
|
},
|
|
470
469
|
{
|
|
471
|
-
provide:
|
|
470
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
472
471
|
useClass: LuEstablishmentService,
|
|
473
472
|
},
|
|
474
473
|
], template: "<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host .selectAll-button{color:var(--palettes-grey-600);font-size:var(--sizes-S-fontSize);outline:none}:host .selectAll-button:hover{color:var(--palettes-grey-800)}\n"] }]
|
|
@@ -477,11 +476,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
477
476
|
args: [ALuEstablishmentService]
|
|
478
477
|
}, {
|
|
479
478
|
type: Optional
|
|
480
|
-
}, {
|
|
481
|
-
type: SkipSelf
|
|
482
479
|
}] }, { type: LuEstablishmentService, decorators: [{
|
|
483
480
|
type: Inject,
|
|
484
|
-
args: [
|
|
481
|
+
args: [DEFAULT_ESTABLISHMENT_SERVICE]
|
|
485
482
|
}, {
|
|
486
483
|
type: Self
|
|
487
484
|
}] }], propDecorators: { filters: [{
|
|
@@ -547,7 +544,7 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
|
|
|
547
544
|
get sort() {
|
|
548
545
|
return this.isSearching ? 'name' : 'legalunit.name,name';
|
|
549
546
|
}
|
|
550
|
-
constructor(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer,
|
|
547
|
+
constructor(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer, customLuService, defaultLuService, customEstablishmentService, defaultEstablishmentService) {
|
|
551
548
|
super(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);
|
|
552
549
|
this._changeDetectorRef = _changeDetectorRef;
|
|
553
550
|
this._overlay = _overlay;
|
|
@@ -558,8 +555,8 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
|
|
|
558
555
|
this.isSearching = false;
|
|
559
556
|
this.groupByLu = true;
|
|
560
557
|
this.intl = getIntl(LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS);
|
|
561
|
-
this._establishmentService =
|
|
562
|
-
this._legalUnitService =
|
|
558
|
+
this._establishmentService = customEstablishmentService || defaultEstablishmentService;
|
|
559
|
+
this._legalUnitService = customLuService || defaultLuService;
|
|
563
560
|
}
|
|
564
561
|
ngOnInit() {
|
|
565
562
|
this._subs.add(combineLatest([this._legalUnitService.count(), this._establishmentService.count()]).subscribe(([luCount, establishmentCount]) => {
|
|
@@ -573,7 +570,7 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
|
|
|
573
570
|
trackById(idx, item) {
|
|
574
571
|
return item.id;
|
|
575
572
|
}
|
|
576
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: ALuLegalUnitService, optional: true
|
|
573
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuEstablishmentSelectInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: ALuLegalUnitService, optional: true }, { token: DEFAULT_LEGAL_UNIT_SERVICE, self: true }, { token: ALuEstablishmentService, optional: true }, { token: DEFAULT_ESTABLISHMENT_SERVICE, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
577
574
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: LuEstablishmentSelectInputComponent, isStandalone: true, selector: "lu-establishment-select", inputs: { filters: "filters", appInstanceId: "appInstanceId", operations: "operations" }, providers: [
|
|
578
575
|
{
|
|
579
576
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -581,11 +578,11 @@ class LuEstablishmentSelectInputComponent extends ALuSelectInputComponent {
|
|
|
581
578
|
multi: true,
|
|
582
579
|
},
|
|
583
580
|
{
|
|
584
|
-
provide:
|
|
581
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
585
582
|
useClass: LuEstablishmentService,
|
|
586
583
|
},
|
|
587
584
|
{
|
|
588
|
-
provide:
|
|
585
|
+
provide: DEFAULT_LEGAL_UNIT_SERVICE,
|
|
589
586
|
useClass: LuLegalUnitService,
|
|
590
587
|
},
|
|
591
588
|
], usesInheritance: true, ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield .textfield-input.is-focused):after{transform:rotate(-180deg)}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}.lu-picker-header .option-selector{display:none}.lu-picker-header.mod-multiple .option-selector{display:inherit}.optionGroupName{padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal) var(--spacings-XXS);border-radius:0;font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);width:100%;justify-content:flex-start;font-weight:600;color:var(--palettes-grey-600);text-decoration:underline}.optionGroupName.mod-readonly{text-decoration:none}.optionGroupName.button{text-decoration:underline;margin:0}.optionGroupName.button:active,.optionGroupName.button:focus,.optionGroupName.button:hover{box-shadow:none;background-color:transparent}.optionGroupName.button:active~.lu-picker-content-option lu-option,.optionGroupName.button:focus~.lu-picker-content-option lu-option,.optionGroupName.button:hover~.lu-picker-content-option lu-option{background-color:var(--palettes-grey-50);border-radius:var(--commons-borderRadius-M)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "component", type: LuInputClearerComponent, selector: "lu-input-clearer", outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "component", type: LuOptionPickerAdvancedComponent, selector: "lu-option-picker-advanced", exportAs: ["LuOptionPickerAdvanced"] }, { kind: "component", type: LuEstablishmentSearcherComponent, selector: "lu-establishment-searcher", inputs: ["filters", "appInstanceId", "operations", "sort"], outputs: ["isSearching"] }, { kind: "component", type: LuEstablishmentSelectAllComponent, selector: "lu-establishment-select-all", inputs: ["filters", "appInstanceId", "operations"] }, { kind: "directive", type: LuLegalUnitSelectorDirective, selector: "[luLegalUnitSelector]", inputs: ["luLegalUnitSelector", "luLegalUnitSelectorFilters", "luLegalUnitSelectorAppInstanceId", "luLegalUnitSelectorOperations"] }, { kind: "component", type: LuOptionItemComponent, selector: "lu-option", inputs: ["selected", "highlighted", "value", "disabled"], outputs: ["onSelect"] }, { kind: "directive", type: LuForLegalUnitsDirective, selector: "[luForLegalUnits]" }, { kind: "directive", type: LuInputDisplayerDirective, selector: "[luDisplayer]", inputs: ["luDisplayerMultiple", "multiple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -610,11 +607,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
610
607
|
multi: true,
|
|
611
608
|
},
|
|
612
609
|
{
|
|
613
|
-
provide:
|
|
610
|
+
provide: DEFAULT_ESTABLISHMENT_SERVICE,
|
|
614
611
|
useClass: LuEstablishmentService,
|
|
615
612
|
},
|
|
616
613
|
{
|
|
617
|
-
provide:
|
|
614
|
+
provide: DEFAULT_LEGAL_UNIT_SERVICE,
|
|
618
615
|
useClass: LuLegalUnitService,
|
|
619
616
|
},
|
|
620
617
|
], template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XXS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield .textfield-input.is-focused):after{transform:rotate(-180deg)}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}.lu-picker-header .option-selector{display:none}.lu-picker-header.mod-multiple .option-selector{display:inherit}.optionGroupName{padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal) var(--spacings-XXS);border-radius:0;font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);width:100%;justify-content:flex-start;font-weight:600;color:var(--palettes-grey-600);text-decoration:underline}.optionGroupName.mod-readonly{text-decoration:none}.optionGroupName.button{text-decoration:underline;margin:0}.optionGroupName.button:active,.optionGroupName.button:focus,.optionGroupName.button:hover{box-shadow:none;background-color:transparent}.optionGroupName.button:active~.lu-picker-content-option lu-option,.optionGroupName.button:focus~.lu-picker-content-option lu-option,.optionGroupName.button:hover~.lu-picker-content-option lu-option{background-color:var(--palettes-grey-50);border-radius:var(--commons-borderRadius-M)}\n"] }]
|
|
@@ -623,11 +620,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
623
620
|
args: [ALuLegalUnitService]
|
|
624
621
|
}, {
|
|
625
622
|
type: Optional
|
|
626
|
-
}, {
|
|
627
|
-
type: SkipSelf
|
|
628
623
|
}] }, { type: LuLegalUnitService, decorators: [{
|
|
629
624
|
type: Inject,
|
|
630
|
-
args: [
|
|
625
|
+
args: [DEFAULT_LEGAL_UNIT_SERVICE]
|
|
631
626
|
}, {
|
|
632
627
|
type: Self
|
|
633
628
|
}] }, { type: LuEstablishmentService, decorators: [{
|
|
@@ -635,11 +630,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
635
630
|
args: [ALuEstablishmentService]
|
|
636
631
|
}, {
|
|
637
632
|
type: Optional
|
|
638
|
-
}, {
|
|
639
|
-
type: SkipSelf
|
|
640
633
|
}] }, { type: LuEstablishmentService, decorators: [{
|
|
641
634
|
type: Inject,
|
|
642
|
-
args: [
|
|
635
|
+
args: [DEFAULT_ESTABLISHMENT_SERVICE]
|
|
643
636
|
}, {
|
|
644
637
|
type: Self
|
|
645
638
|
}] }], propDecorators: { filters: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-establishment.mjs","sources":["../../../packages/ng/establishment/select/for-legal-units/for-legal-units.directive.ts","../../../packages/ng/establishment/select/for-legal-units/for-legal-units.module.ts","../../../packages/ng/establishment/service/establishment-service.model.ts","../../../packages/ng/establishment/service/establishment.service.ts","../../../packages/ng/establishment/service/legal-unit-service.model.ts","../../../packages/ng/establishment/service/legal-unit.service.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.directive.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.module.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.html","../../../packages/ng/establishment/select/searcher/establishment-searcher.module.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.html","../../../packages/ng/establishment/select/select-all/establishment-select-all.translate.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.module.ts","../../../packages/ng/establishment/select/input/establishment-select-input.translate.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.html","../../../packages/ng/establishment/select/input/establishment-select-input.module.ts","../../../packages/ng/establishment/select/establishment-select.module.ts","../../../packages/ng/establishment/establishment.module.ts","../../../packages/ng/establishment/lucca-front-ng-establishment.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, forwardRef, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ILuGroup } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuForGroupContext, LuForGroupsDirective } from '@lucca-front/ng/option';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\n\n@Directive({\n\tselector: '[luForLegalUnits]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForLegalUnitsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForLegalUnitsDirective extends LuForGroupsDirective<ILuEstablishment, ILuLegalUnit> {\n\tpublic constructor(\n\t\tprotected override _vcr: ViewContainerRef,\n\t\tprotected override _cdr: ChangeDetectorRef,\n\t\tprotected override _templateRef: TemplateRef<LuForGroupContext<ILuGroup<ILuEstablishment, ILuLegalUnit>>>,\n\t) {\n\t\tsuper(_vcr, _cdr, _templateRef);\n\t}\n\n\tprotected override groupBy(items: ILuEstablishment[]): ILuGroup<ILuEstablishment, ILuLegalUnit>[] {\n\t\tconst groups: ILuGroup<ILuEstablishment, ILuLegalUnit>[] = [];\n\t\titems.forEach((item) => {\n\t\t\tconst legalUnit = item?.legalUnit;\n\t\t\tlet group = groups.find((g) => g.key.id === legalUnit.id);\n\t\t\tif (!group) {\n\t\t\t\tgroup = { key: legalUnit, items: [] };\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup.items.push(item);\n\t\t});\n\t\treturn groups;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units.directive';\n\n@NgModule({\n\timports: [LuForLegalUnitsDirective],\n\texports: [LuForLegalUnitsDirective],\n})\nexport class LuForLegalUnitsModule {}\n","import { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { ILuEstablishment } from '../establishment.model';\n\nexport type ILuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> = ILuApiService<E>;\n\nexport abstract class ALuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> extends ALuApiService<E> implements ILuEstablishmentService<E> {}\n","import { Injectable } from '@angular/core';\nimport { ILuEstablishment } from '../establishment.model';\nimport { HttpClient } from '@angular/common/http';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\n\n@Injectable()\nexport class LuEstablishmentService extends LuApiV4Service<ILuEstablishment> {\n\tprotected override _api = `/organization/structure/api/establishments`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { ALuApiService, ILuApiService } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\nexport type ILuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> = ILuApiService<E>;\n\nexport abstract class ALuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> extends ALuApiService<E> implements ILuLegalUnitService<E> {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\n@Injectable()\nexport class LuLegalUnitService extends LuApiV4Service<ILuLegalUnit> {\n\tprotected override _api = `/organization/structure/api/legal-units`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { Directive, forwardRef, HostListener, Inject, Input, OnDestroy, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionSelector, ILuOptionSelector } from '@lucca-front/ng/option';\nimport { Subject, Subscription } from 'rxjs';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\n\n@Directive({\n\tselector: '[luLegalUnitSelector]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuLegalUnitSelectorDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuLegalUnitSelectorDirective implements ILuOptionSelector<ILuEstablishment>, OnDestroy {\n\tmultiple = true;\n\tonSelectValue = new Subject<ILuEstablishment[]>();\n\tprivate _values: ILuEstablishment[];\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\t@Input('luLegalUnitSelector') legalUnit: ILuLegalUnit;\n\t@Input('luLegalUnitSelectorFilters') set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input('luLegalUnitSelectorAppInstanceId') set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input('luLegalUnitSelectorOperations') set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfService: LuEstablishmentService,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\t@HostListener('click')\n\tonClick(): void {\n\t\tconst sub = this._service.getAll([`legalUnitId=${this.legalUnit.id}`]).subscribe((establishments) => {\n\t\t\tif (this.shouldAdd(establishments)) {\n\t\t\t\tconst selectedEstablishmentIds = new Set<number>((this._values ?? []).map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next(Array.from([...(this._values ?? []), ...establishments.filter((ets) => !selectedEstablishmentIds.has(ets.id))]));\n\t\t\t} else {\n\t\t\t\tconst establishmentIds = new Set<number>(establishments.map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next((this._values ?? []).filter((ets) => !establishmentIds.has(ets.id)));\n\t\t\t}\n\t\t});\n\t\tthis._subs.add(sub);\n\t}\n\n\tsetValue(values: ILuEstablishment[]): void {\n\t\tthis._values = values;\n\t}\n\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tprivate shouldAdd(establishments: ILuEstablishment[]): boolean {\n\t\tconst selectedCount = (this._values ?? []).filter((ets) => ets.legalUnitId === this.legalUnit.id).length;\n\t\treturn establishments.length > selectedCount;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector.directive';\n\n@NgModule({\n\timports: [LuLegalUnitSelectorDirective],\n\texports: [LuLegalUnitSelectorDirective],\n})\nexport class LuLegalUnitSelectorModule {}\n","/* eslint-disable max-len */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, map, scan, share, startWith, switchMap, takeWhile, tap } from 'rxjs/operators';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\n\n@Component({\n\tselector: 'lu-establishment-searcher',\n\ttemplateUrl: 'establishment-searcher.component.html',\n\tstyleUrls: ['establishment-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSearcherComponent implements ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOptionOperator<ILuEstablishment> {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input() set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\n\tprivate _service: LuEstablishmentService;\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Output()\n\tisSearching = new EventEmitter<boolean>();\n\tprivate _isSearching = false;\n\n\tclueControl = new FormControl<string>('');\n\n\tloading = false;\n\n\tprivate _nextPage$ = new Subject<void>();\n\tprivate _page$: Observable<number> = this._nextPage$.pipe(\n\t\tscan((acc) => acc + 1, 0),\n\t\tstartWith(0),\n\t);\n\tprivate _resetOutOptions = new Subject<void>();\n\n\toutOptions$ = this._resetOutOptions.pipe(\n\t\tstartWith(undefined),\n\t\tswitchMap(() =>\n\t\t\tthis.clueControl.valueChanges.pipe(\n\t\t\t\tdebounceTime(100),\n\t\t\t\tswitchMap((clue) =>\n\t\t\t\t\tthis._page$.pipe(\n\t\t\t\t\t\ttap(() => (this.loading = true)),\n\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t// FIXME refactor, add some spec anywhere\n\t\t\t\t\t\t\tconst isSearching = clue != null && clue !== '';\n\t\t\t\t\t\t\tif (this._isSearching !== isSearching) {\n\t\t\t\t\t\t\t\tthis._isSearching = isSearching;\n\t\t\t\t\t\t\t\tthis.isSearching.emit(this._isSearching);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tswitchMap((page) => this._service.searchPaged(clue, page).pipe(catchError(() => of([] as ILuEstablishment[])))),\n\t\t\t\t\t\ttakeWhile((loadedItems) => !!loadedItems.length),\n\t\t\t\t\t\tscan((acc, next) => [...acc, ...next]),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap(() => (this.loading = false)),\n\t\t\t),\n\t\t),\n\t\tshare(),\n\t);\n\n\tdisplayPlaceholder$ = this.outOptions$.pipe(map((o) => o?.length === 0 && this._isSearching));\n\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfService: LuEstablishmentService,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.reset();\n\t}\n\n\tonScrollBottom() {\n\t\tif (!this.loading) {\n\t\t\tthis._nextPage$.next();\n\t\t}\n\t}\n\n\tonClose() {\n\t\tthis._resetOutOptions.next();\n\t}\n\n\treset() {\n\t\tthis.clueControl.reset();\n\t}\n}\n","<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSearcherComponent } from './establishment-searcher.component';\n\n@NgModule({\n\timports: [LuEstablishmentSearcherComponent],\n\texports: [LuEstablishmentSearcherComponent],\n})\nexport class LuEstablishmentSearcherModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Inject, Input, OnDestroy, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionOperator, ALuOptionSelector, LuOptionSelectAllComponent } from '@lucca-front/ng/option';\nimport { Subscription } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\n\n@Component({\n\tselector: 'lu-establishment-select-all',\n\ttemplateUrl: './establishment-select-all.component.html',\n\tstyleUrls: ['establishment-select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent<ILuEstablishment> implements OnDestroy {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appInstanceId: number) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\n\tloading = false;\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\tconstructor(\n\t\tprivate readonly _changeDetectorRef: ChangeDetectorRef,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfService: LuEstablishmentService,\n\t) {\n\t\tsuper();\n\t\tthis._service = hostService || selfService;\n\t}\n\n\toverride selectAll() {\n\t\tthis.loading = true;\n\t\tconst sub = this._service.getAll().subscribe({\n\t\t\tnext: (establishments) => {\n\t\t\t\tthis.onSelectValue.next([...establishments]);\n\t\t\t},\n\t\t\tcomplete: () => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis._changeDetectorRef.detectChanges();\n\t\t\t},\n\t\t});\n\n\t\tthis._subs.add(sub);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n","import { ILuTranslation } from '@lucca-front/ng/core';\nimport { ILuOptionSelectAllLabel } from '@lucca-front/ng/option';\n\nexport const luEstablishmentSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\n\ten: {\n\t\tselect: 'Select all',\n\t\tdeselect: 'Deselect all',\n\t},\n\tfr: {\n\t\tselect: 'Tout sélectionner',\n\t\tdeselect: 'Tout déselectionner',\n\t},\n\tde: {\n\t\tselect: 'Alle auswählen',\n\t\tdeselect: 'Alle abwählen',\n\t},\n\tpt: {\n\t\tselect: 'Selecionar tudo',\n\t\tdeselect: 'Desselecionar tudo',\n\t},\n\tes: {\n\t\tselect: 'Seleccionar todo',\n\t\tdeselect: 'Desmarcar todo',\n\t},\n};\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectAllComponent } from './establishment-select-all.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectAllModule {}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuEstablishmentSelectTranslations', {\n\tfactory: () => luEstablishmentSelectInputTranslations,\n});\n\nexport interface ILuEstablishmentSelectInputLabel {\n\testablishments: string;\n}\n\nexport const luEstablishmentSelectInputTranslations: ILuTranslation<ILuEstablishmentSelectInputLabel> = {\n\ten: {\n\t\testablishments: 'establishments',\n\t},\n\tfr: {\n\t\testablishments: 'établissements',\n\t},\n\tes: {\n\t\testablishments: 'establecimiento',\n\t},\n};\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tforwardRef,\n\tInject,\n\tInput,\n\tOnInit,\n\tOptional,\n\tRenderer2,\n\tSelf,\n\tSkipSelf,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionPickerPanel, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { combineLatest } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, ALuLegalUnitService, LuEstablishmentService, LuLegalUnitService } from '../../service/index';\nimport { LuForLegalUnitsDirective } from '../for-legal-units';\nimport { LuLegalUnitSelectorDirective } from '../legal-unit-selector';\nimport { LuEstablishmentSearcherComponent } from '../searcher';\nimport { LuEstablishmentSelectAllComponent } from '../select-all';\nimport { LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS } from './establishment-select-input.translate';\n\n@Component({\n\tselector: 'lu-establishment-select',\n\ttemplateUrl: './establishment-select-input.component.html',\n\tstyleUrls: ['./establishment-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tOverlayModule,\n\t\tLuInputClearerComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuEstablishmentSearcherComponent,\n\t\tLuEstablishmentSelectAllComponent,\n\t\tLuLegalUnitSelectorDirective,\n\t\tLuOptionItemComponent,\n\t\tLuForLegalUnitsDirective,\n\t\tLuInputDisplayerDirective,\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuEstablishmentService,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuLegalUnitService,\n\t\t\tuseClass: LuLegalUnitService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectInputComponent<\n\t\tD extends import('../../establishment.model').ILuEstablishment = import('../../establishment.model').ILuEstablishment,\n\t\tP extends ILuOptionPickerPanel<D> = ILuOptionPickerPanel<D>,\n\t>\n\textends ALuSelectInputComponent<D, P>\n\timplements ControlValueAccessor, ILuInputWithPicker<D>, OnInit, AfterViewInit\n{\n\tbyId: LuOptionComparer<D> = (option1: D, option2: D) => option1 && option2 && option1.id === option2.id;\n\n\t@Input() filters: string[];\n\t@Input() appInstanceId: number;\n\t@Input() operations: number[];\n\n\tprivate _establishmentService: LuEstablishmentService;\n\tprivate _legalUnitService: LuLegalUnitService;\n\n\tisSearching = false;\n\tgroupByLu = true;\n\n\tget sort(): string {\n\t\treturn this.isSearching ? 'name' : 'legalunit.name,name';\n\t}\n\n\tpublic intl = getIntl(LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS);\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t\t@Inject(ALuLegalUnitService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostLuService: LuLegalUnitService,\n\t\t@Inject(ALuLegalUnitService) @Self() selfLuService: LuLegalUnitService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostEstablishmentService: LuEstablishmentService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Self()\n\t\tselfEstablishmentService: LuEstablishmentService,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t\tthis._establishmentService = hostEstablishmentService || selfEstablishmentService;\n\t\tthis._legalUnitService = hostLuService || selfLuService;\n\t}\n\n\tngOnInit() {\n\t\tthis._subs.add(\n\t\t\tcombineLatest([this._legalUnitService.count(), this._establishmentService.count()]).subscribe(([luCount, establishmentCount]) => {\n\t\t\t\tthis.groupByLu = luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount;\n\t\t\t}),\n\t\t);\n\t}\n\n\tonIsSearchingChanged(isSearching: boolean) {\n\t\tthis.isSearching = isSearching;\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\ttrackById(idx: number, item: ILuEstablishment): number {\n\t\treturn item.id;\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectInputComponent } from './establishment-select-input.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent],\n\texports: [LuEstablishmentSelectInputComponent],\n})\nexport class LuEstablishmentSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units/index';\nimport { LuEstablishmentSelectInputComponent } from './input';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector/index';\nimport { LuEstablishmentSearcherComponent } from './searcher';\nimport { LuEstablishmentSelectAllComponent } from './select-all/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectModule],\n\texports: [LuEstablishmentSelectModule],\n})\nexport class LuEstablishmentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-establishment.mjs","sources":["../../../packages/ng/establishment/select/for-legal-units/for-legal-units.directive.ts","../../../packages/ng/establishment/select/for-legal-units/for-legal-units.module.ts","../../../packages/ng/establishment/service/establishment-service.model.ts","../../../packages/ng/establishment/service/establishment.service.ts","../../../packages/ng/establishment/service/legal-unit-service.model.ts","../../../packages/ng/establishment/service/legal-unit.service.ts","../../../packages/ng/establishment/select/establishment-select.token.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.directive.ts","../../../packages/ng/establishment/select/legal-unit-selector/legal-unit-selector.module.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.ts","../../../packages/ng/establishment/select/searcher/establishment-searcher.component.html","../../../packages/ng/establishment/select/searcher/establishment-searcher.module.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.component.html","../../../packages/ng/establishment/select/select-all/establishment-select-all.translate.ts","../../../packages/ng/establishment/select/select-all/establishment-select-all.module.ts","../../../packages/ng/establishment/select/input/establishment-select-input.translate.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.ts","../../../packages/ng/establishment/select/input/establishment-select-input.component.html","../../../packages/ng/establishment/select/input/establishment-select-input.module.ts","../../../packages/ng/establishment/select/establishment-select.module.ts","../../../packages/ng/establishment/establishment.module.ts","../../../packages/ng/establishment/lucca-front-ng-establishment.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, forwardRef, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ILuGroup } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuForGroupContext, LuForGroupsDirective } from '@lucca-front/ng/option';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\n\n@Directive({\n\tselector: '[luForLegalUnits]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForLegalUnitsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForLegalUnitsDirective extends LuForGroupsDirective<ILuEstablishment, ILuLegalUnit> {\n\tpublic constructor(\n\t\tprotected override _vcr: ViewContainerRef,\n\t\tprotected override _cdr: ChangeDetectorRef,\n\t\tprotected override _templateRef: TemplateRef<LuForGroupContext<ILuGroup<ILuEstablishment, ILuLegalUnit>>>,\n\t) {\n\t\tsuper(_vcr, _cdr, _templateRef);\n\t}\n\n\tprotected override groupBy(items: ILuEstablishment[]): ILuGroup<ILuEstablishment, ILuLegalUnit>[] {\n\t\tconst groups: ILuGroup<ILuEstablishment, ILuLegalUnit>[] = [];\n\t\titems.forEach((item) => {\n\t\t\tconst legalUnit = item?.legalUnit;\n\t\t\tlet group = groups.find((g) => g.key.id === legalUnit.id);\n\t\t\tif (!group) {\n\t\t\t\tgroup = { key: legalUnit, items: [] };\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup.items.push(item);\n\t\t});\n\t\treturn groups;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units.directive';\n\n@NgModule({\n\timports: [LuForLegalUnitsDirective],\n\texports: [LuForLegalUnitsDirective],\n})\nexport class LuForLegalUnitsModule {}\n","import { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { ILuEstablishment } from '../establishment.model';\n\nexport type ILuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> = ILuApiService<E>;\n\nexport abstract class ALuEstablishmentService<E extends ILuEstablishment = ILuEstablishment> extends ALuApiService<E> implements ILuEstablishmentService<E> {}\n","import { Injectable } from '@angular/core';\nimport { ILuEstablishment } from '../establishment.model';\nimport { HttpClient } from '@angular/common/http';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\n\n@Injectable()\nexport class LuEstablishmentService extends LuApiV4Service<ILuEstablishment> {\n\tprotected override _api = `/organization/structure/api/establishments`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { ALuApiService, ILuApiService } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\nexport type ILuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> = ILuApiService<E>;\n\nexport abstract class ALuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> extends ALuApiService<E> implements ILuLegalUnitService<E> {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LuApiV4Service } from '@lucca-front/ng/api';\nimport { ILuLegalUnit } from '../establishment.model';\n\n@Injectable()\nexport class LuLegalUnitService extends LuApiV4Service<ILuLegalUnit> {\n\tprotected override _api = `/organization/structure/api/legal-units`;\n\n\tprotected _appInstanceId: number = null;\n\tset appInstanceId(id: number) {\n\t\tthis._appInstanceId = id;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(ops: number[]) {\n\t\tthis._operations = ops || [];\n\t}\n\toverride get filters(): string[] {\n\t\tconst isScopeFiltered = this._appInstanceId && this._operations.length;\n\n\t\tif (isScopeFiltered) {\n\t\t\tconst appIdFilter = `appInstanceId=${this._appInstanceId}`;\n\t\t\tconst operationFilter = `operations=${this._operations.join(',')}`;\n\n\t\t\treturn [...this._filters, appIdFilter, operationFilter];\n\t\t}\n\n\t\treturn this._filters;\n\t}\n\toverride set filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuEstablishmentService, ILuLegalUnitService } from '../service';\n\nexport const DEFAULT_ESTABLISHMENT_SERVICE = new InjectionToken<ILuEstablishmentService>('Default establishment service');\nexport const DEFAULT_LEGAL_UNIT_SERVICE = new InjectionToken<ILuLegalUnitService>('Default legal unit service');\n","import { Directive, forwardRef, HostListener, Inject, Input, OnDestroy, Optional, Self } from '@angular/core';\nimport { ALuOptionSelector, ILuOptionSelector } from '@lucca-front/ng/option';\nimport { Subject, Subscription } from 'rxjs';\nimport { ILuEstablishment, ILuLegalUnit } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE } from '../establishment-select.token';\n\n@Directive({\n\tselector: '[luLegalUnitSelector]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuLegalUnitSelectorDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuLegalUnitSelectorDirective implements ILuOptionSelector<ILuEstablishment>, OnDestroy {\n\tmultiple = true;\n\tonSelectValue = new Subject<ILuEstablishment[]>();\n\tprivate _values: ILuEstablishment[];\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\t@Input('luLegalUnitSelector') legalUnit: ILuLegalUnit;\n\t@Input('luLegalUnitSelectorFilters') set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input('luLegalUnitSelectorAppInstanceId') set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input('luLegalUnitSelectorOperations') set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultService: LuEstablishmentService,\n\t) {\n\t\tthis._service = customService || defaultService;\n\t}\n\n\t@HostListener('click')\n\tonClick(): void {\n\t\tconst sub = this._service.getAll([`legalUnitId=${this.legalUnit.id}`]).subscribe((establishments) => {\n\t\t\tif (this.shouldAdd(establishments)) {\n\t\t\t\tconst selectedEstablishmentIds = new Set<number>((this._values ?? []).map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next(Array.from([...(this._values ?? []), ...establishments.filter((ets) => !selectedEstablishmentIds.has(ets.id))]));\n\t\t\t} else {\n\t\t\t\tconst establishmentIds = new Set<number>(establishments.map((ets) => ets.id));\n\t\t\t\tthis.onSelectValue.next((this._values ?? []).filter((ets) => !establishmentIds.has(ets.id)));\n\t\t\t}\n\t\t});\n\t\tthis._subs.add(sub);\n\t}\n\n\tsetValue(values: ILuEstablishment[]): void {\n\t\tthis._values = values;\n\t}\n\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tprivate shouldAdd(establishments: ILuEstablishment[]): boolean {\n\t\tconst selectedCount = (this._values ?? []).filter((ets) => ets.legalUnitId === this.legalUnit.id).length;\n\t\treturn establishments.length > selectedCount;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector.directive';\n\n@NgModule({\n\timports: [LuLegalUnitSelectorDirective],\n\texports: [LuLegalUnitSelectorDirective],\n})\nexport class LuLegalUnitSelectorModule {}\n","/* eslint-disable max-len */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, Self, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, map, scan, share, startWith, switchMap, takeWhile, tap } from 'rxjs/operators';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE } from '../establishment-select.token';\n\n@Component({\n\tselector: 'lu-establishment-searcher',\n\ttemplateUrl: 'establishment-searcher.component.html',\n\tstyleUrls: ['establishment-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSearcherComponent implements ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOptionOperator<ILuEstablishment> {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appId: number) {\n\t\tthis._service.appInstanceId = appId;\n\t}\n\t@Input() set operations(ops: number[]) {\n\t\tthis._service.operations = ops;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\n\tprivate _service: LuEstablishmentService;\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Output()\n\tisSearching = new EventEmitter<boolean>();\n\tprivate _isSearching = false;\n\n\tclueControl = new FormControl<string>('');\n\n\tloading = false;\n\n\tprivate _nextPage$ = new Subject<void>();\n\tprivate _page$: Observable<number> = this._nextPage$.pipe(\n\t\tscan((acc) => acc + 1, 0),\n\t\tstartWith(0),\n\t);\n\tprivate _resetOutOptions = new Subject<void>();\n\n\toutOptions$ = this._resetOutOptions.pipe(\n\t\tstartWith(undefined),\n\t\tswitchMap(() =>\n\t\t\tthis.clueControl.valueChanges.pipe(\n\t\t\t\tdebounceTime(100),\n\t\t\t\tswitchMap((clue) =>\n\t\t\t\t\tthis._page$.pipe(\n\t\t\t\t\t\ttap(() => (this.loading = true)),\n\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t// FIXME refactor, add some spec anywhere\n\t\t\t\t\t\t\tconst isSearching = clue != null && clue !== '';\n\t\t\t\t\t\t\tif (this._isSearching !== isSearching) {\n\t\t\t\t\t\t\t\tthis._isSearching = isSearching;\n\t\t\t\t\t\t\t\tthis.isSearching.emit(this._isSearching);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tswitchMap((page) => this._service.searchPaged(clue, page).pipe(catchError(() => of([] as ILuEstablishment[])))),\n\t\t\t\t\t\ttakeWhile((loadedItems) => !!loadedItems.length),\n\t\t\t\t\t\tscan((acc, next) => [...acc, ...next]),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap(() => (this.loading = false)),\n\t\t\t),\n\t\t),\n\t\tshare(),\n\t);\n\n\tdisplayPlaceholder$ = this.outOptions$.pipe(map((o) => o?.length === 0 && this._isSearching));\n\n\tconstructor(\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultService: LuEstablishmentService,\n\t) {\n\t\tthis._service = customService || defaultService;\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.reset();\n\t}\n\n\tonScrollBottom() {\n\t\tif (!this.loading) {\n\t\t\tthis._nextPage$.next();\n\t\t}\n\t}\n\n\tonClose() {\n\t\tthis._resetOutOptions.next();\n\t}\n\n\treset() {\n\t\tthis.clueControl.reset();\n\t}\n}\n","<form>\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading\">\n\t\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n\t</div>\n</form>\n\n<lu-option-placeholder *ngIf=\"displayPlaceholder$ | async\" (onClear)=\"reset()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSearcherComponent } from './establishment-searcher.component';\n\n@NgModule({\n\timports: [LuEstablishmentSearcherComponent],\n\texports: [LuEstablishmentSearcherComponent],\n})\nexport class LuEstablishmentSearcherModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Inject, Input, OnDestroy, Optional, Self } from '@angular/core';\nimport { ALuOptionOperator, ALuOptionSelector, LuOptionSelectAllComponent } from '@lucca-front/ng/option';\nimport { Subscription } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, LuEstablishmentService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE } from '../establishment-select.token';\n\n@Component({\n\tselector: 'lu-establishment-select-all',\n\ttemplateUrl: './establishment-select-all.component.html',\n\tstyleUrls: ['establishment-select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectAllComponent extends LuOptionSelectAllComponent<ILuEstablishment> implements OnDestroy {\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set appInstanceId(appInstanceId: number) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\n\tloading = false;\n\tprivate _service: LuEstablishmentService;\n\tprivate _subs = new Subscription();\n\n\tconstructor(\n\t\tprivate readonly _changeDetectorRef: ChangeDetectorRef,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultService: LuEstablishmentService,\n\t) {\n\t\tsuper();\n\t\tthis._service = customService || defaultService;\n\t}\n\n\toverride selectAll() {\n\t\tthis.loading = true;\n\t\tconst sub = this._service.getAll().subscribe({\n\t\t\tnext: (establishments) => {\n\t\t\t\tthis.onSelectValue.next([...establishments]);\n\t\t\t},\n\t\t\tcomplete: () => {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis._changeDetectorRef.detectChanges();\n\t\t\t},\n\t\t});\n\n\t\tthis._subs.add(sub);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","<button type=\"button\" (click)=\"selectAll()\" [disabled]=\"loading\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" [disabled]=\"loading\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n","import { ILuTranslation } from '@lucca-front/ng/core';\nimport { ILuOptionSelectAllLabel } from '@lucca-front/ng/option';\n\nexport const luEstablishmentSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\n\ten: {\n\t\tselect: 'Select all',\n\t\tdeselect: 'Deselect all',\n\t},\n\tfr: {\n\t\tselect: 'Tout sélectionner',\n\t\tdeselect: 'Tout déselectionner',\n\t},\n\tde: {\n\t\tselect: 'Alle auswählen',\n\t\tdeselect: 'Alle abwählen',\n\t},\n\tpt: {\n\t\tselect: 'Selecionar tudo',\n\t\tdeselect: 'Desselecionar tudo',\n\t},\n\tes: {\n\t\tselect: 'Seleccionar todo',\n\t\tdeselect: 'Desmarcar todo',\n\t},\n};\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectAllComponent } from './establishment-select-all.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectAllModule {}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuEstablishmentSelectTranslations', {\n\tfactory: () => luEstablishmentSelectInputTranslations,\n});\n\nexport interface ILuEstablishmentSelectInputLabel {\n\testablishments: string;\n}\n\nexport const luEstablishmentSelectInputTranslations: ILuTranslation<ILuEstablishmentSelectInputLabel> = {\n\ten: {\n\t\testablishments: 'establishments',\n\t},\n\tfr: {\n\t\testablishments: 'établissements',\n\t},\n\tes: {\n\t\testablishments: 'establecimiento',\n\t},\n};\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, OnInit, Optional, Renderer2, Self, ViewContainerRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionPickerPanel, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { combineLatest } from 'rxjs';\nimport { ILuEstablishment } from '../../establishment.model';\nimport { ALuEstablishmentService, ALuLegalUnitService, LuEstablishmentService, LuLegalUnitService } from '../../service/index';\nimport { DEFAULT_ESTABLISHMENT_SERVICE, DEFAULT_LEGAL_UNIT_SERVICE } from '../establishment-select.token';\nimport { LuForLegalUnitsDirective } from '../for-legal-units';\nimport { LuLegalUnitSelectorDirective } from '../legal-unit-selector';\nimport { LuEstablishmentSearcherComponent } from '../searcher';\nimport { LuEstablishmentSelectAllComponent } from '../select-all';\nimport { LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS } from './establishment-select-input.translate';\n\n@Component({\n\tselector: 'lu-establishment-select',\n\ttemplateUrl: './establishment-select-input.component.html',\n\tstyleUrls: ['./establishment-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tOverlayModule,\n\t\tLuInputClearerComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuEstablishmentSearcherComponent,\n\t\tLuEstablishmentSelectAllComponent,\n\t\tLuLegalUnitSelectorDirective,\n\t\tLuOptionItemComponent,\n\t\tLuForLegalUnitsDirective,\n\t\tLuInputDisplayerDirective,\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuEstablishmentSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_ESTABLISHMENT_SERVICE,\n\t\t\tuseClass: LuEstablishmentService,\n\t\t},\n\t\t{\n\t\t\tprovide: DEFAULT_LEGAL_UNIT_SERVICE,\n\t\t\tuseClass: LuLegalUnitService,\n\t\t},\n\t],\n})\nexport class LuEstablishmentSelectInputComponent<\n\t\tD extends import('../../establishment.model').ILuEstablishment = import('../../establishment.model').ILuEstablishment,\n\t\tP extends ILuOptionPickerPanel<D> = ILuOptionPickerPanel<D>,\n\t>\n\textends ALuSelectInputComponent<D, P>\n\timplements ControlValueAccessor, ILuInputWithPicker<D>, OnInit, AfterViewInit\n{\n\tbyId: LuOptionComparer<D> = (option1: D, option2: D) => option1 && option2 && option1.id === option2.id;\n\n\t@Input() filters: string[];\n\t@Input() appInstanceId: number;\n\t@Input() operations: number[];\n\n\tprivate _establishmentService: LuEstablishmentService;\n\tprivate _legalUnitService: LuLegalUnitService;\n\n\tisSearching = false;\n\tgroupByLu = true;\n\n\tget sort(): string {\n\t\treturn this.isSearching ? 'name' : 'legalunit.name,name';\n\t}\n\n\tpublic intl = getIntl(LU_ESTABLISHMENT_SELECT_INPUT_TRANSLATIONS);\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t\t@Inject(ALuLegalUnitService)\n\t\t@Optional()\n\t\tcustomLuService: LuLegalUnitService,\n\t\t@Inject(DEFAULT_LEGAL_UNIT_SERVICE) @Self() defaultLuService: LuLegalUnitService,\n\t\t@Inject(ALuEstablishmentService)\n\t\t@Optional()\n\t\tcustomEstablishmentService: LuEstablishmentService,\n\t\t@Inject(DEFAULT_ESTABLISHMENT_SERVICE)\n\t\t@Self()\n\t\tdefaultEstablishmentService: LuEstablishmentService,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t\tthis._establishmentService = customEstablishmentService || defaultEstablishmentService;\n\t\tthis._legalUnitService = customLuService || defaultLuService;\n\t}\n\n\tngOnInit() {\n\t\tthis._subs.add(\n\t\t\tcombineLatest([this._legalUnitService.count(), this._establishmentService.count()]).subscribe(([luCount, establishmentCount]) => {\n\t\t\t\tthis.groupByLu = luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount;\n\t\t\t}),\n\t\t);\n\t}\n\n\tonIsSearchingChanged(isSearching: boolean) {\n\t\tthis.isSearching = isSearching;\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\ttrackById(idx: number, item: ILuEstablishment): number {\n\t\treturn item.id;\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.establishments }}</span\n\t>\n\t<ng-template #singleView>{{ (values[0] || values).name }}</ng-template>\n</ng-template>\n\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-establishment-searcher\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[sort]=\"sort\"\n\t\t\t(isSearching)=\"onIsSearchingChanged($event)\"\n\t\t></lu-establishment-searcher>\n\t\t<lu-establishment-select-all\n\t\t\t*ngIf=\"multiple\"\n\t\t\tclass=\"u-displayBlock\"\n\t\t\t[class.u-displayNone]=\"isSearching\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t></lu-establishment-select-all>\n\t</header>\n\n\t<ng-template luForLegalUnits let-group>\n\t\t<div class=\"optionGroup\">\n\t\t\t<ng-container *ngIf=\"groupByLu && !isSearching\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t*ngIf=\"multiple; else singleViewGroup\"\n\t\t\t\t\tclass=\"optionGroupName button mod-text mod-block\"\n\t\t\t\t\t[luLegalUnitSelector]=\"group.key\"\n\t\t\t\t\t[luLegalUnitSelectorFilters]=\"filters\"\n\t\t\t\t\t[luLegalUnitSelectorAppInstanceId]=\"appInstanceId\"\n\t\t\t\t\t[luLegalUnitSelectorOperations]=\"operations\"\n\t\t\t\t>\n\t\t\t\t\t{{ group.key.name }}\n\t\t\t\t</button>\n\t\t\t\t<ng-template #singleViewGroup>\n\t\t\t\t\t<h5 class=\"optionGroupName mod-readonly u-margin0\">{{ group.key.name }}</h5>\n\t\t\t\t</ng-template>\n\t\t\t</ng-container>\n\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<lu-option *ngFor=\"let establishment of group.items; trackBy: trackById\" [value]=\"establishment\" class=\"establishmentOption\">\n\t\t\t\t\t<ng-container *ngIf=\"isSearching; else emptySearch\">\n\t\t\t\t\t\t<span class=\"u-displayBlock\">{{ establishment.name }}</span>\n\t\t\t\t\t\t<span *ngIf=\"groupByLu\" class=\"u-displayBlock u-textLight u-textS\">{{ group.key.name }}</span>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template #emptySearch>\n\t\t\t\t\t\t<span>{{ establishment.name }}</span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</lu-option>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectInputComponent } from './establishment-select-input.component';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent],\n\texports: [LuEstablishmentSelectInputComponent],\n})\nexport class LuEstablishmentSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuForLegalUnitsDirective } from './for-legal-units/index';\nimport { LuEstablishmentSelectInputComponent } from './input';\nimport { LuLegalUnitSelectorDirective } from './legal-unit-selector/index';\nimport { LuEstablishmentSearcherComponent } from './searcher';\nimport { LuEstablishmentSelectAllComponent } from './select-all/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n\texports: [LuEstablishmentSelectInputComponent, LuEstablishmentSearcherComponent, LuForLegalUnitsDirective, LuLegalUnitSelectorDirective, LuEstablishmentSelectAllComponent],\n})\nexport class LuEstablishmentSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuEstablishmentSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuEstablishmentSelectModule],\n\texports: [LuEstablishmentSelectModule],\n})\nexport class LuEstablishmentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;AAgBM,MAAO,wBAAyB,SAAQ,oBAAoD,CAAA;AACjG,IAAA,WAAA,CACoB,IAAsB,EACtB,IAAuB,EACvB,YAAsF,EAAA;AAEzG,QAAA,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAJb,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;QACtB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QACvB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAA0E;KAGzG;AAEkB,IAAA,OAAO,CAAC,KAAyB,EAAA;QACnD,MAAM,MAAM,GAA+C,EAAE,CAAC;AAC9D,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACtB,YAAA,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAC;YAClC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE;gBACX,KAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACtC,gBAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,aAAA;AACD,YAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACd;8GArBW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EARzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEW,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAXpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA,CAAA;;;MCRY,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAHvB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEtB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACnC,iBAAA,CAAA;;;ACDK,MAAgB,uBAAuE,SAAQ,aAAgB,CAAA;AAAyC;;ACCxJ,MAAO,sBAAuB,SAAQ,cAAgC,CAAA;IAI3E,IAAI,aAAa,CAAC,EAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KACzB;IAED,IAAI,UAAU,CAAC,GAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,EAAE,CAAC;KAC7B;AACD,IAAA,IAAa,OAAO,GAAA;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAEvE,QAAA,IAAI,eAAe,EAAE;AACpB,YAAA,MAAM,WAAW,GAAG,CAAA,cAAA,EAAiB,IAAI,CAAC,cAAc,EAAE,CAAC;AAC3D,YAAA,MAAM,eAAe,GAAG,CAAc,WAAA,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;YAEnE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;AACxD,SAAA;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;KACrB;IACD,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;KAC9B;AAED,IAAA,WAAA,CAA+B,KAAiB,EAAA;QAC/C,KAAK,CAAC,KAAK,CAAC,CAAC;QADiB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QA1B7B,IAAI,CAAA,IAAA,GAAG,4CAA4C,CAAC;QAE7D,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;QAI9B,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;KAsBpC;8GA7BW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAtB,sBAAsB,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;ACAL,MAAgB,mBAA2D,SAAQ,aAAgB,CAAA;AAAqC;;ACCxI,MAAO,kBAAmB,SAAQ,cAA4B,CAAA;IAInE,IAAI,aAAa,CAAC,EAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KACzB;IAED,IAAI,UAAU,CAAC,GAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,EAAE,CAAC;KAC7B;AACD,IAAA,IAAa,OAAO,GAAA;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAEvE,QAAA,IAAI,eAAe,EAAE;AACpB,YAAA,MAAM,WAAW,GAAG,CAAA,cAAA,EAAiB,IAAI,CAAC,cAAc,EAAE,CAAC;AAC3D,YAAA,MAAM,eAAe,GAAG,CAAc,WAAA,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;YAEnE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;AACxD,SAAA;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;KACrB;IACD,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;KAC9B;AAED,IAAA,WAAA,CAA+B,KAAiB,EAAA;QAC/C,KAAK,CAAC,KAAK,CAAC,CAAC;QADiB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QA1B7B,IAAI,CAAA,IAAA,GAAG,yCAAyC,CAAC;QAE1D,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;QAI9B,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;KAsBpC;8GA7BW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;ACFJ,MAAM,6BAA6B,GAAG,IAAI,cAAc,CAA0B,+BAA+B,CAAC,CAAC;AACnH,MAAM,0BAA0B,GAAG,IAAI,cAAc,CAAsB,4BAA4B,CAAC;;MCkBlG,4BAA4B,CAAA;IAQxC,IAAyC,OAAO,CAAC,OAAiB,EAAA;AACjE,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;KAChC;IACD,IAA+C,aAAa,CAAC,KAAa,EAAA;AACzE,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;KACpC;IACD,IAA4C,UAAU,CAAC,GAAa,EAAA;AACnE,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;KAC/B;IACD,WAGC,CAAA,aAAqC,EAGrC,cAAsC,EAAA;QAtBvC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAChB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAsB,CAAC;AAG1C,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAoBlC,QAAA,IAAI,CAAC,QAAQ,GAAG,aAAa,IAAI,cAAc,CAAC;KAChD;IAGD,OAAO,GAAA;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,KAAI;AACnG,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;gBACnC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5F,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzI,aAAA;AAAM,iBAAA;AACN,gBAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7F,aAAA;AACF,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpB;AAED,IAAA,QAAQ,CAAC,MAA0B,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACtB;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KACzB;AAEO,IAAA,SAAS,CAAC,cAAkC,EAAA;AACnD,QAAA,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACzG,QAAA,OAAO,cAAc,CAAC,MAAM,GAAG,aAAa,CAAC;KAC7C;8GArDW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAkB/B,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGvB,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AArB1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAZ7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,4BAAA,EAAA,SAAA,CAAA,EAAA,aAAA,EAAA,CAAA,kCAAA,EAAA,eAAA,CAAA,EAAA,UAAA,EAAA,CAAA,+BAAA,EAAA,YAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,QAAQ,EAAE,sBAAsB;AAChC,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEW,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAfxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,6BAA6B;AACtC,4BAAA,QAAQ,EAAE,sBAAsB;AAChC,yBAAA;AACD,qBAAA;AACD,iBAAA,CAAA;;0BAmBE,MAAM;2BAAC,uBAAuB,CAAA;;0BAC9B,QAAQ;;0BAER,MAAM;2BAAC,6BAA6B,CAAA;;0BACpC,IAAI;yCAfwB,SAAS,EAAA,CAAA;sBAAtC,KAAK;uBAAC,qBAAqB,CAAA;gBACa,OAAO,EAAA,CAAA;sBAA/C,KAAK;uBAAC,4BAA4B,CAAA;gBAGY,aAAa,EAAA,CAAA;sBAA3D,KAAK;uBAAC,kCAAkC,CAAA;gBAGG,UAAU,EAAA,CAAA;sBAArD,KAAK;uBAAC,+BAA+B,CAAA;gBAetC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,CAAA;;;MC3CT,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAzB,yBAAyB,EAAA,OAAA,EAAA,CAH3B,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAC5B,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE1B,yBAAyB,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,4BAA4B,CAAC;oBACvC,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACvC,iBAAA,CAAA;;;ACND;MA8Ca,gCAAgC,CAAA;IAC5C,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;KAChC;IACD,IAAa,aAAa,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;KACpC;IACD,IAAa,UAAU,CAAC,GAAa,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;KAC/B;IACD,IAAa,IAAI,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;KAC1B;IAoDD,WAGC,CAAA,aAAqC,EAGrC,cAAsC,EAAA;QAtDF,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAKlD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;QAClC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAE7B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,CAAS,EAAE,CAAC,CAAC;QAE1C,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAER,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;QACjC,IAAM,CAAA,MAAA,GAAuB,IAAI,CAAC,UAAU,CAAC,IAAI,CACxD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EACzB,SAAS,CAAC,CAAC,CAAC,CACZ,CAAC;AACM,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAQ,CAAC;AAE/C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACvC,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,MACT,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CACjC,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,CAAC,IAAI,KACd,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,EAChC,GAAG,CAAC,MAAK;;YAER,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AAChD,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AACtC,gBAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzC,aAAA;AACF,SAAC,CAAC,EACF,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAwB,CAAC,CAAC,CAAC,CAAC,EAC/G,SAAS,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAChD,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CACtC,CACD,EACD,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CACjC,CACD,EACD,KAAK,EAAE,CACP,CAAC;QAEF,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAU7F,QAAA,IAAI,CAAC,QAAQ,GAAG,aAAa,IAAI,cAAc,CAAC;KAChD;IAED,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;KACb;IAED,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAClB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,SAAA;KACD;IAED,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,KAAK,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;KACzB;8GA5FW,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAiEnC,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGvB,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AApE1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EA3BjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,QAAQ,EAAE,sBAAsB;AAChC,aAAA;SACD,EAmBiC,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,2CC/D7C,uSAOA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWW,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FA4B7D,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAlC5C,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAGpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,OAAA,EACP,CAAC,mBAAmB,EAAE,YAAY,EAAE,4BAA4B,CAAC,EAC/D,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,sCAAsC,CAAC;AAC/D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,sCAAsC,CAAC;AAC/D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAAE,UAAU,CAAC,sCAAsC,CAAC;AAC/D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,sCAAsC,CAAC;AAC/D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,6BAA6B;AACtC,4BAAA,QAAQ,EAAE,sBAAsB;AAChC,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,uSAAA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,CAAA;;0BAmEC,MAAM;2BAAC,uBAAuB,CAAA;;0BAC9B,QAAQ;;0BAER,MAAM;2BAAC,6BAA6B,CAAA;;0BACpC,IAAI;yCApEO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAGO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAGO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAGO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAM+B,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;gBAEnC,WAAW,EAAA,CAAA;sBADV,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAI5D,WAAW,EAAA,CAAA;sBADV,MAAM;;;ME3DK,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA7B,6BAA6B,EAAA,OAAA,EAAA,CAH/B,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAChC,gCAAgC,CAAA,EAAA,CAAA,CAAA,EAAA;AAE9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAH/B,gCAAgC,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG9B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,gCAAgC,CAAC;oBAC3C,OAAO,EAAE,CAAC,gCAAgC,CAAC;AAC3C,iBAAA,CAAA;;;ACwBK,MAAO,iCAAkC,SAAQ,0BAA4C,CAAA;IAClG,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;KAChC;IACD,IAAa,aAAa,CAAC,aAAqB,EAAA;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;KAC5C;IACD,IAAa,UAAU,CAAC,UAAoB,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;KACtC;AAMD,IAAA,WAAA,CACkB,kBAAqC,EAGtD,aAAqC,EAGrC,cAAsC,EAAA;AAEtC,QAAA,KAAK,EAAE,CAAC;QARS,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QALvD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAER,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAYlC,QAAA,IAAI,CAAC,QAAQ,GAAG,aAAa,IAAI,cAAc,CAAC;KAChD;IAEQ,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC;AAC5C,YAAA,IAAI,EAAE,CAAC,cAAc,KAAI;gBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;aAC7C;YACD,QAAQ,EAAE,MAAK;AACd,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;aACxC;AACD,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpB;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KACzB;8GA7CW,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAiBpC,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGvB,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AApB1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAjBlC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iCAAiC,CAAC;AAChE,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iCAAiC,CAAC;AAChE,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,QAAQ,EAAE,sBAAsB;AAChC,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BF,2RAEA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FD4Ba,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAvB7C,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,mBAGtB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uCAAuC,CAAC;AAChE,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uCAAuC,CAAC;AAChE,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,6BAA6B;AACtC,4BAAA,QAAQ,EAAE,sBAAsB;AAChC,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,2RAAA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,CAAA;;0BAmBC,MAAM;2BAAC,uBAAuB,CAAA;;0BAC9B,QAAQ;;0BAER,MAAM;2BAAC,6BAA6B,CAAA;;0BACpC,IAAI;yCApBO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAGO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAGO,UAAU,EAAA,CAAA;sBAAtB,KAAK;;;AElCM,MAAA,oCAAoC,GAA4C;AAC5F,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,QAAQ,EAAE,cAAc;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,mBAAmB;AAC3B,QAAA,QAAQ,EAAE,qBAAqB;AAC/B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,gBAAgB;AACxB,QAAA,QAAQ,EAAE,eAAe;AACzB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,kBAAkB;AAC1B,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,KAAA;;;MChBW,8BAA8B,CAAA;8GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA9B,8BAA8B,EAAA,OAAA,EAAA,CAHhC,iCAAiC,CAAA,EAAA,OAAA,EAAA,CACjC,iCAAiC,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE/B,8BAA8B,EAAA,CAAA,CAAA,EAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,iCAAiC,CAAC;oBAC5C,OAAO,EAAE,CAAC,iCAAiC,CAAC;AAC5C,iBAAA,CAAA;;;MCHY,0CAA0C,GAAG,IAAI,cAAc,CAAC,mCAAmC,EAAE;AACjH,IAAA,OAAO,EAAE,MAAM,sCAAsC;AACrD,CAAA,EAAE;AAMU,MAAA,sCAAsC,GAAqD;AACvG,IAAA,EAAE,EAAE;AACH,QAAA,cAAc,EAAE,gBAAgB;AAChC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,cAAc,EAAE,gBAAgB;AAChC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,cAAc,EAAE,iBAAiB;AACjC,KAAA;;;ACiCI,MAAO,mCAIZ,SAAQ,uBAA6B,CAAA;AAerC,IAAA,IAAI,IAAI,GAAA;QACP,OAAO,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,qBAAqB,CAAC;KACzD;AAID,IAAA,WAAA,CACoB,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAGvC,eAAmC,EACS,gBAAoC,EAGhF,0BAAkD,EAGlD,2BAAmD,EAAA;QAEnD,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAhB5D,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACrC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QACjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QACpC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;QACnC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAvBxC,QAAA,IAAA,CAAA,IAAI,GAAwB,CAAC,OAAU,EAAE,OAAU,KAAK,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QASxG,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAMV,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAoBjE,QAAA,IAAI,CAAC,qBAAqB,GAAG,0BAA0B,IAAI,2BAA2B,CAAC;AACvF,QAAA,IAAI,CAAC,iBAAiB,GAAG,eAAe,IAAI,gBAAgB,CAAC;KAC7D;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,aAAa,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,KAAI;AAC/H,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,CAAC,IAAI,kBAAkB,GAAG,CAAC,IAAI,OAAO,KAAK,kBAAkB,CAAC;SACzF,CAAC,CACF,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,WAAoB,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KACxC;IAED,SAAS,CAAC,GAAW,EAAE,IAAsB,EAAA;QAC5C,OAAO,IAAI,CAAC,EAAE,CAAC;KACf;AA9DW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,+JA+BtC,mBAAmB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGnB,0BAA0B,EAC1B,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,uBAAuB,6BAGvB,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAtC1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAhBpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mCAAmC,CAAC;AAClE,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,QAAQ,EAAE,sBAAsB;AAChC,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,aAAA;SACD,ECnDF,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,moFAqEA,g/RD3CE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,4GACvB,+BAA+B,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC/B,gCAAgC,EAChC,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iCAAiC,4HACjC,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,4BAAA,EAAA,kCAAA,EAAA,+BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,qBAAqB,EACrB,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,8DACxB,yBAAyB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAkBd,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAlC/C,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,mBAGlB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,YAAY;wBACZ,aAAa;wBACb,uBAAuB;wBACvB,+BAA+B;wBAC/B,gCAAgC;wBAChC,iCAAiC;wBACjC,4BAA4B;wBAC5B,qBAAqB;wBACrB,wBAAwB;wBACxB,yBAAyB;qBACzB,EACU,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yCAAyC,CAAC;AAClE,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,6BAA6B;AACtC,4BAAA,QAAQ,EAAE,sBAAsB;AAChC,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,0BAA0B;AACnC,4BAAA,QAAQ,EAAE,kBAAkB;AAC5B,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,moFAAA,EAAA,MAAA,EAAA,CAAA,y7RAAA,CAAA,EAAA,CAAA;;0BAiCC,MAAM;2BAAC,mBAAmB,CAAA;;0BAC1B,QAAQ;;0BAER,MAAM;2BAAC,0BAA0B,CAAA;;0BAAG,IAAI;;0BACxC,MAAM;2BAAC,uBAAuB,CAAA;;0BAC9B,QAAQ;;0BAER,MAAM;2BAAC,6BAA6B,CAAA;;0BACpC,IAAI;yCA9BG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEzDM,gCAAgC,CAAA;8GAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAhC,gCAAgC,EAAA,OAAA,EAAA,CAHlC,mCAAmC,CAAA,EAAA,OAAA,EAAA,CACnC,mCAAmC,CAAA,EAAA,CAAA,CAAA,EAAA;AAEjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,YAHlC,mCAAmC,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGjC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,mCAAmC,CAAC;oBAC9C,OAAO,EAAE,CAAC,mCAAmC,CAAC;AAC9C,iBAAA,CAAA;;;MCKY,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YAH7B,mCAAmC,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,iCAAiC,CAChK,EAAA,OAAA,EAAA,CAAA,mCAAmC,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,iCAAiC,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE9J,2BAA2B,EAAA,OAAA,EAAA,CAH7B,mCAAmC,EAAE,gCAAgC,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGnE,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,mCAAmC,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,iCAAiC,CAAC;oBAC3K,OAAO,EAAE,CAAC,mCAAmC,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,iCAAiC,CAAC;AAC3K,iBAAA,CAAA;;;MCHY,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAHvB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEzB,qBAAqB,EAAA,OAAA,EAAA,CAHvB,2BAA2B,EAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEzB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,2BAA2B,CAAC;oBACtC,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACtC,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
|