@lucca-front/ng 20.3.0 → 20.3.1-rc.2
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/data-table/index.d.ts +1 -1
- package/date/index.d.ts +0 -1
- package/dropdown/index.d.ts +3 -0
- package/establishment/index.d.ts +0 -1
- package/fesm2022/lucca-front-ng-api.mjs +12 -13
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +2 -2
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +2 -2
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +2 -2
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +10 -11
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +2 -2
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +2 -2
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +2 -2
- package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs +2 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +39 -35
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +12 -6
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +5 -5
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +7 -7
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +10 -14
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +12 -7
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +3 -6
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +4 -4
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +2 -2
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +22 -9
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +5 -6
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +10 -15
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +2 -2
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +11 -12
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +2 -2
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +4 -4
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +6 -7
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +11 -11
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +2 -4
- package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +2 -2
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +2 -2
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +2 -2
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +3 -4
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +5 -6
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +2 -2
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +2 -2
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +2 -2
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +2 -2
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +8 -8
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +33 -26
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +2 -2
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +36 -38
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +2 -2
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +4 -5
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +4 -4
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +8 -3
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scrollBox.mjs +2 -2
- package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmentedControl.mjs +3 -4
- package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +3 -4
- package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +2 -2
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +4 -4
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +12 -12
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-statusBadge.mjs +2 -2
- package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +2 -2
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +4 -4
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +4 -8
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +2 -2
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +2 -2
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +12 -14
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/file-upload/index.d.ts +2 -2
- package/grid/index.d.ts +1 -1
- package/multi-select/index.d.ts +7 -3
- package/package.json +23 -23
- package/popover2/index.d.ts +31 -10
- package/schematics/lu-button/migration.js +6 -2
- package/segmentedControl/index.d.ts +1 -1
- package/src/_config.scss +1 -0
- package/src/_definitions.scss +6 -0
- package/src/definitions/option/_option-item.scss +1 -1
- package/src/definitions/option/_option-searcher.scss +1 -1
- package/toast/index.d.ts +0 -1
package/data-table/index.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ declare class DataTableComponent {
|
|
|
90
90
|
scroll(): void;
|
|
91
91
|
constructor();
|
|
92
92
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataTableComponent, never>;
|
|
93
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataTableComponent, "lu-data-table", never, { "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "layoutFixed": { "alias": "layoutFixed"; "required": false; "isSignal": true; }; "cellBorder": { "alias": "cellBorder"; "required": false; "isSignal": true; }; "nested": { "alias": "nested"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "verticalAlign": { "alias": "verticalAlign"; "required": false; "isSignal": true; }; }, {}, ["rows", "header"], ["*"], true, never>;
|
|
93
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataTableComponent, "lu-data-table", never, { "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "layoutFixed": { "alias": "layoutFixed"; "required": false; "isSignal": true; }; "cellBorder": { "alias": "cellBorder"; "required": false; "isSignal": true; }; "nested": { "alias": "nested"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "verticalAlign": { "alias": "verticalAlign"; "required": false; "isSignal": true; }; }, {}, ["rows", "header"], ["*", "[dataTablePagination]"], true, never>;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
export { DataTableBodyComponent, DataTableComponent, DataTableFootComponent, DataTableHeadComponent, DataTableRowCellComponent, DataTableRowCellHeaderComponent, DataTableRowComponent };
|
package/date/index.d.ts
CHANGED
|
@@ -111,7 +111,6 @@ declare class LuCalendarInputComponent<D> extends ALuInput<D> implements Control
|
|
|
111
111
|
protected selectYear(item: ICalendarItem<D>): void;
|
|
112
112
|
previous(): void;
|
|
113
113
|
next(): void;
|
|
114
|
-
trackBy(_idx: any, item: ICalendarItem<D>): string;
|
|
115
114
|
increaseGranularity(): void;
|
|
116
115
|
protected nextMonth(): void;
|
|
117
116
|
protected nextYear(): void;
|
package/dropdown/index.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ import { PopoverDirective } from '@lucca-front/ng/popover2';
|
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
|
|
8
8
|
declare class DropdownActionComponent {
|
|
9
|
+
#private;
|
|
9
10
|
disabled: i0.InputSignalWithTransform<boolean, unknown>;
|
|
11
|
+
closePanel(): void;
|
|
10
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownActionComponent, never>;
|
|
11
13
|
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownActionComponent, "[lu-dropdown-action]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
12
14
|
}
|
|
@@ -94,6 +96,7 @@ declare class LuDropdownItemModule {
|
|
|
94
96
|
}
|
|
95
97
|
|
|
96
98
|
declare class LuDropdownPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy, AfterViewInit {
|
|
99
|
+
#private;
|
|
97
100
|
/**
|
|
98
101
|
* This method takes classes set on the host lu-popover element and applies them on the
|
|
99
102
|
* popover template that displays in the overlay container. Otherwise, it's difficult
|
package/establishment/index.d.ts
CHANGED
|
@@ -83,7 +83,6 @@ declare class LuEstablishmentSelectInputComponent<D extends ILuEstablishment = I
|
|
|
83
83
|
constructor(_changeDetectorRef: ChangeDetectorRef, _overlay: Overlay, _elementRef: ElementRef<HTMLElement>, _viewContainerRef: ViewContainerRef, _renderer: Renderer2, customLuService: LuLegalUnitService, defaultLuService: LuLegalUnitService, customEstablishmentService: LuEstablishmentService, defaultEstablishmentService: LuEstablishmentService);
|
|
84
84
|
ngOnInit(): void;
|
|
85
85
|
onIsSearchingChanged(isSearching: boolean): void;
|
|
86
|
-
trackById(_idx: number, item: ILuEstablishment): number;
|
|
87
86
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuEstablishmentSelectInputComponent<any, any>, [null, null, null, null, null, { optional: true; }, { self: true; }, { optional: true; }, { self: true; }]>;
|
|
88
87
|
static ɵcmp: i0.ɵɵComponentDeclaration<LuEstablishmentSelectInputComponent<any, any>, "lu-establishment-select", never, { "filters": { "alias": "filters"; "required": false; }; "appInstanceId": { "alias": "appInstanceId"; "required": false; }; "operations": { "alias": "operations"; "required": false; }; }, {}, never, never, true, never>;
|
|
89
88
|
}
|
|
@@ -5,12 +5,11 @@ import { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ALuOnCloseSubscriber
|
|
|
5
5
|
import { ALuOptionOperator, LuOptionPlaceholderComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent, LuForOptionsDirective } from '@lucca-front/ng/option';
|
|
6
6
|
import { map, switchMap, catchError, share, scan, startWith, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';
|
|
7
7
|
import * as i1 from '@angular/common/http';
|
|
8
|
-
import * as i2 from '@angular/common';
|
|
9
|
-
import { CommonModule } from '@angular/common';
|
|
10
8
|
import * as i1$1 from '@angular/forms';
|
|
11
9
|
import { FormControl, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
12
10
|
import { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';
|
|
13
11
|
import { ALuSelectInputComponent } from '@lucca-front/ng/select';
|
|
12
|
+
import { AsyncPipe } from '@angular/common';
|
|
14
13
|
import * as i1$2 from '@angular/cdk/overlay';
|
|
15
14
|
|
|
16
15
|
class ALuApiOptionFeeder {
|
|
@@ -423,7 +422,7 @@ class LuApiSearcherComponent extends ALuApiOptionSearcher {
|
|
|
423
422
|
this.clueControl.setValue('');
|
|
424
423
|
}
|
|
425
424
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuApiSearcherComponent, deps: [{ token: ALuApiService, optional: true, skipSelf: true }, { token: ALuApiService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
426
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
425
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuApiSearcherComponent, isStandalone: true, selector: "lu-api-searcher", inputs: { standard: "standard", api: "api", fields: "fields", filters: "filters", orderBy: "orderBy", sort: "sort", debounceTime: "debounceTime" }, providers: [
|
|
427
426
|
{
|
|
428
427
|
provide: ALuOptionOperator,
|
|
429
428
|
useExisting: forwardRef(() => LuApiSearcherComponent),
|
|
@@ -438,11 +437,11 @@ class LuApiSearcherComponent extends ALuApiOptionSearcher {
|
|
|
438
437
|
provide: ALuApiService,
|
|
439
438
|
useClass: LuApiHybridService,
|
|
440
439
|
},
|
|
441
|
-
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n
|
|
440
|
+
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n", styles: ["@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer mods{.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LuOptionPlaceholderComponent, selector: "lu-option-placeholder", outputs: ["onClear"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
442
441
|
}
|
|
443
442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuApiSearcherComponent, decorators: [{
|
|
444
443
|
type: Component,
|
|
445
|
-
args: [{ selector: 'lu-api-searcher', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
444
|
+
args: [{ selector: 'lu-api-searcher', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent], providers: [
|
|
446
445
|
{
|
|
447
446
|
provide: ALuOptionOperator,
|
|
448
447
|
useExisting: forwardRef(() => LuApiSearcherComponent),
|
|
@@ -457,7 +456,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
457
456
|
provide: ALuApiService,
|
|
458
457
|
useClass: LuApiHybridService,
|
|
459
458
|
},
|
|
460
|
-
], template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n
|
|
459
|
+
], template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n", styles: ["@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer mods{.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}}\n"] }]
|
|
461
460
|
}], ctorParameters: () => [{ type: LuApiHybridService, decorators: [{
|
|
462
461
|
type: Inject,
|
|
463
462
|
args: [ALuApiService]
|
|
@@ -524,7 +523,7 @@ class LuApiPagedSearcherComponent extends ALuApiOptionPagedSearcher {
|
|
|
524
523
|
this.clueControl.reset('');
|
|
525
524
|
}
|
|
526
525
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuApiPagedSearcherComponent, deps: [{ token: ALuApiService, optional: true, skipSelf: true }, { token: ALuApiService, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
527
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
526
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuApiPagedSearcherComponent, isStandalone: true, selector: "lu-api-paged-searcher", inputs: { standard: "standard", api: "api", fields: "fields", filters: "filters", orderBy: "orderBy", sort: "sort", debounceTime: "debounceTime" }, providers: [
|
|
528
527
|
{
|
|
529
528
|
provide: ALuOptionOperator,
|
|
530
529
|
useExisting: forwardRef(() => LuApiPagedSearcherComponent),
|
|
@@ -549,11 +548,11 @@ class LuApiPagedSearcherComponent extends ALuApiOptionPagedSearcher {
|
|
|
549
548
|
provide: ALuApiService,
|
|
550
549
|
useClass: LuApiHybridService,
|
|
551
550
|
},
|
|
552
|
-
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n
|
|
551
|
+
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n", styles: ["@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer mods{.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LuOptionPlaceholderComponent, selector: "lu-option-placeholder", outputs: ["onClear"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
553
552
|
}
|
|
554
553
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuApiPagedSearcherComponent, decorators: [{
|
|
555
554
|
type: Component,
|
|
556
|
-
args: [{ selector: 'lu-api-paged-searcher', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
555
|
+
args: [{ selector: 'lu-api-paged-searcher', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent], providers: [
|
|
557
556
|
{
|
|
558
557
|
provide: ALuOptionOperator,
|
|
559
558
|
useExisting: forwardRef(() => LuApiPagedSearcherComponent),
|
|
@@ -578,7 +577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
578
577
|
provide: ALuApiService,
|
|
579
578
|
useClass: LuApiHybridService,
|
|
580
579
|
},
|
|
581
|
-
], template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n
|
|
580
|
+
], template: "<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n", styles: ["@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer mods{.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}}\n"] }]
|
|
582
581
|
}], ctorParameters: () => [{ type: LuApiHybridService, decorators: [{
|
|
583
582
|
type: Inject,
|
|
584
583
|
args: [ALuApiService]
|
|
@@ -641,17 +640,17 @@ class LuApiSelectInputComponent extends ALuSelectInputComponent {
|
|
|
641
640
|
useExisting: forwardRef(() => LuApiSelectInputComponent),
|
|
642
641
|
multi: true,
|
|
643
642
|
},
|
|
644
|
-
], 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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n", styles: ["@charset \"UTF-8\";@layer reset,base,components,mods,product,utils;@layer components{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer components{:host{--components-select-input-padding-horizontal: var(--pr-t-spacings-100);--components-select-input-padding-vertical: var(--pr-t-spacings-100);--components-select-framed-color: var(--palettes-neutral-500);--components-select-framed-color50: var(--palettes-neutral-50);--components-select-framed-see-through: var(--palettes-neutral-50);--components-select-framed-text: var(--pr-t-color-text);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--pr-t-spacings-200);--components-select-framed-top-padding: var(--pr-t-spacings-400);--components-select-framed-bottom-padding: var(--pr-t-spacings-200);--components-select-framed-label-top-offset: var(--pr-t-spacings-100);cursor:pointer;outline:none;padding:0;gap:0}:host:after{--icon-content: \"\\e97c\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);inset-block-end:var(--components-select-input-padding-vertical);font-size:var(--pr-t-font-body-M-lineHeight);line-height:var(--pr-t-font-body-M-lineHeight);pointer-events:none;position:absolute;inset-inline-end:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}}@layer components{.lu-select-display-wrapper{display:block;inline-size:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{font:var(--pr-t-font-body-M);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-M-lineHeight));padding-block:var(--components-select-input-padding-vertical);padding-inline:var(--components-select-input-padding-horizontal) 3.5rem;transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-neutral-400);font:var(--pr-t-font-body-M);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-M-lineHeight));padding-block:var(--components-select-input-padding-vertical);padding-inline:var(--components-select-input-padding-horizontal) 3.5rem;transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;inset-block-end:var(--pr-t-spacings-150);inset-inline-end:2.5rem}::ng-deep .lu-select-value .chip{display:inline-flex;max-inline-size:100%;margin-block:0 var(--pr-t-spacings-50);margin-inline:0 var(--pr-t-spacings-50);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}@layer mods{: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(--pr-t-font-body-S-fontSize);line-height:var(--pr-t-font-body-XS-lineHeight);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{inset-block-end:var(--pr-t-spacings-100)}:host-context(.textfield.mod-S):after{line-height:var(--pr-t-font-body-XS-lineHeight);font-size:var(--pr-t-font-body-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{inset-block-end:.5rem;inset-inline-end:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{block-size:var(--pr-t-font-body-XS-lineHeight);line-height:var(--pr-t-font-body-XS-lineHeight);font-size:var(--pr-t-font-body-XS-fontSize);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding-block:var(--components-select-framed-top-padding) 0;padding-inline:0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-neutral-500);inset-block-end:var(--components-select-framed-bottom-padding);inset-inline-end:var(--pr-t-spacings-100)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding-block:0 var(--components-select-framed-bottom-padding);padding-inline:var(--components-select-framed-side-padding) calc(var(--components-select-framed-side-padding) * 3)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-400);padding-block:0 var(--components-select-framed-bottom-padding);padding-inline:var(--components-select-framed-side-padding) calc(var(--components-select-framed-side-padding) * 3)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{inset-block-end:var(--components-select-framed-bottom-padding);inset-inline-end:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;block-size:auto;padding-block-start:var(--pr-t-spacings-200);color:var(--pr-t-color-text)}:host-context(.textfield.mod-material):after{color:var(--palettes-neutral-500);inset-block-end:.6rem;inset-inline-end:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-inline:0 .8rem}:host-context(.textfield.mod-material) .lu-select-suffix{inset-inline-end: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{inset-block-end:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{inset-inline-end: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{block-size:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-block-end:calc(var(--pr-t-spacings-50) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-neutral-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-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-inline-end:3.5rem}:host-context(.textfield-input.is-error,.textfield-input.is-invalid,.textfield-input.ng-invalid.ng-touched) .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)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: LuApiPagedSearcherComponent, selector: "lu-api-paged-searcher", inputs: ["standard", "api", "fields", "filters", "orderBy", "sort", "debounceTime"] }, { kind: "component", type: LuOptionItemComponent, selector: "lu-option", inputs: ["selected", "highlighted", "value", "disabled"], outputs: ["onSelect"] }, { kind: "directive", type: LuForOptionsDirective, selector: "[luForOptions]", inputs: ["luForOptionsTrackBy"] }, { kind: "directive", type: LuInputDisplayerDirective, selector: "[luDisplayer]", inputs: ["luDisplayerMultiple", "multiple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
643
|
+
], 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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n", styles: ["@charset \"UTF-8\";@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer components{:host{--components-select-input-padding-horizontal: var(--pr-t-spacings-100);--components-select-input-padding-vertical: var(--pr-t-spacings-100);--components-select-framed-color: var(--palettes-neutral-500);--components-select-framed-color50: var(--palettes-neutral-50);--components-select-framed-see-through: var(--palettes-neutral-50);--components-select-framed-text: var(--pr-t-color-text);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--pr-t-spacings-200);--components-select-framed-top-padding: var(--pr-t-spacings-400);--components-select-framed-bottom-padding: var(--pr-t-spacings-200);--components-select-framed-label-top-offset: var(--pr-t-spacings-100);cursor:pointer;outline:none;padding:0;gap:0}:host:after{--icon-content: \"\\e97c\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);inset-block-end:var(--components-select-input-padding-vertical);font-size:var(--pr-t-font-body-M-lineHeight);line-height:var(--pr-t-font-body-M-lineHeight);pointer-events:none;position:absolute;inset-inline-end:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}}@layer components{.lu-select-display-wrapper{display:block;inline-size:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{font:var(--pr-t-font-body-M);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-M-lineHeight));padding-block:var(--components-select-input-padding-vertical);padding-inline:var(--components-select-input-padding-horizontal) 3.5rem;transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-neutral-400);font:var(--pr-t-font-body-M);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-M-lineHeight));padding-block:var(--components-select-input-padding-vertical);padding-inline:var(--components-select-input-padding-horizontal) 3.5rem;transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;inset-block-end:var(--pr-t-spacings-150);inset-inline-end:2.5rem}::ng-deep .lu-select-value .chip{display:inline-flex;max-inline-size:100%;margin-block:0 var(--pr-t-spacings-50);margin-inline:0 var(--pr-t-spacings-50);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}@layer mods{: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(--pr-t-font-body-S-fontSize);line-height:var(--pr-t-font-body-XS-lineHeight);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{inset-block-end:var(--pr-t-spacings-100)}:host-context(.textfield.mod-S):after{line-height:var(--pr-t-font-body-XS-lineHeight);font-size:var(--pr-t-font-body-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{inset-block-end:.5rem;inset-inline-end:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{block-size:var(--pr-t-font-body-XS-lineHeight);line-height:var(--pr-t-font-body-XS-lineHeight);font-size:var(--pr-t-font-body-XS-fontSize);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding-block:var(--components-select-framed-top-padding) 0;padding-inline:0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-neutral-500);inset-block-end:var(--components-select-framed-bottom-padding);inset-inline-end:var(--pr-t-spacings-100)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding-block:0 var(--components-select-framed-bottom-padding);padding-inline:var(--components-select-framed-side-padding) calc(var(--components-select-framed-side-padding) * 3)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-400);padding-block:0 var(--components-select-framed-bottom-padding);padding-inline:var(--components-select-framed-side-padding) calc(var(--components-select-framed-side-padding) * 3)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{inset-block-end:var(--components-select-framed-bottom-padding);inset-inline-end:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;block-size:auto;padding-block-start:var(--pr-t-spacings-200);color:var(--pr-t-color-text)}:host-context(.textfield.mod-material):after{color:var(--palettes-neutral-500);inset-block-end:.6rem;inset-inline-end:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-inline:0 .8rem}:host-context(.textfield.mod-material) .lu-select-suffix{inset-inline-end: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{inset-block-end:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{inset-inline-end: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{block-size:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-block-end:calc(var(--pr-t-spacings-50) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-neutral-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-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-inline-end:3.5rem}:host-context(.textfield-input.is-error,.textfield-input.is-invalid,.textfield-input.ng-invalid.ng-touched) .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)}}\n"], dependencies: [{ 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: LuApiPagedSearcherComponent, selector: "lu-api-paged-searcher", inputs: ["standard", "api", "fields", "filters", "orderBy", "sort", "debounceTime"] }, { kind: "component", type: LuOptionItemComponent, selector: "lu-option", inputs: ["selected", "highlighted", "value", "disabled"], outputs: ["onSelect"] }, { kind: "directive", type: LuForOptionsDirective, selector: "[luForOptions]", inputs: ["luForOptionsTrackBy"] }, { kind: "directive", type: LuInputDisplayerDirective, selector: "[luDisplayer]", inputs: ["luDisplayerMultiple", "multiple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
645
644
|
}
|
|
646
645
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuApiSelectInputComponent, decorators: [{
|
|
647
646
|
type: Component,
|
|
648
|
-
args: [{ selector: 'lu-api-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
647
|
+
args: [{ selector: 'lu-api-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [LuInputClearerComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective], providers: [
|
|
649
648
|
{
|
|
650
649
|
provide: NG_VALUE_ACCESSOR,
|
|
651
650
|
useExisting: forwardRef(() => LuApiSelectInputComponent),
|
|
652
651
|
multi: true,
|
|
653
652
|
},
|
|
654
|
-
], 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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n", styles: ["@charset \"UTF-8\";@layer
|
|
653
|
+
], 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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n", styles: ["@charset \"UTF-8\";@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer components{:host{--components-select-input-padding-horizontal: var(--pr-t-spacings-100);--components-select-input-padding-vertical: var(--pr-t-spacings-100);--components-select-framed-color: var(--palettes-neutral-500);--components-select-framed-color50: var(--palettes-neutral-50);--components-select-framed-see-through: var(--palettes-neutral-50);--components-select-framed-text: var(--pr-t-color-text);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--pr-t-spacings-200);--components-select-framed-top-padding: var(--pr-t-spacings-400);--components-select-framed-bottom-padding: var(--pr-t-spacings-200);--components-select-framed-label-top-offset: var(--pr-t-spacings-100);cursor:pointer;outline:none;padding:0;gap:0}:host:after{--icon-content: \"\\e97c\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);inset-block-end:var(--components-select-input-padding-vertical);font-size:var(--pr-t-font-body-M-lineHeight);line-height:var(--pr-t-font-body-M-lineHeight);pointer-events:none;position:absolute;inset-inline-end:var(--components-select-input-padding-horizontal);transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}}@layer components{.lu-select-display-wrapper{display:block;inline-size:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-select-value{font:var(--pr-t-font-body-M);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-M-lineHeight));padding-block:var(--components-select-input-padding-vertical);padding-inline:var(--components-select-input-padding-horizontal) 3.5rem;transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-neutral-400);font:var(--pr-t-font-body-M);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-M-lineHeight));padding-block:var(--components-select-input-padding-vertical);padding-inline:var(--components-select-input-padding-horizontal) 3.5rem;transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;inset-block-end:var(--pr-t-spacings-150);inset-inline-end:2.5rem}::ng-deep .lu-select-value .chip{display:inline-flex;max-inline-size:100%;margin-block:0 var(--pr-t-spacings-50);margin-inline:0 var(--pr-t-spacings-50);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}@layer mods{: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(--pr-t-font-body-S-fontSize);line-height:var(--pr-t-font-body-XS-lineHeight);min-block-size:calc(var(--components-select-framed-bottom-padding) + var(--pr-t-font-body-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{inset-block-end:var(--pr-t-spacings-100)}:host-context(.textfield.mod-S):after{line-height:var(--pr-t-font-body-XS-lineHeight);font-size:var(--pr-t-font-body-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{inset-block-end:.5rem;inset-inline-end:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{block-size:var(--pr-t-font-body-XS-lineHeight);line-height:var(--pr-t-font-body-XS-lineHeight);font-size:var(--pr-t-font-body-XS-fontSize);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding-block:var(--components-select-framed-top-padding) 0;padding-inline:0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-neutral-500);inset-block-end:var(--components-select-framed-bottom-padding);inset-inline-end:var(--pr-t-spacings-100)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding-block:0 var(--components-select-framed-bottom-padding);padding-inline:var(--components-select-framed-side-padding) calc(var(--components-select-framed-side-padding) * 3)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-400);padding-block:0 var(--components-select-framed-bottom-padding);padding-inline:var(--components-select-framed-side-padding) calc(var(--components-select-framed-side-padding) * 3)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{inset-block-end:var(--components-select-framed-bottom-padding);inset-inline-end:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;block-size:auto;padding-block-start:var(--pr-t-spacings-200);color:var(--pr-t-color-text)}:host-context(.textfield.mod-material):after{color:var(--palettes-neutral-500);inset-block-end:.6rem;inset-inline-end:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-inline:0 .8rem}:host-context(.textfield.mod-material) .lu-select-suffix{inset-inline-end: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{inset-block-end:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{inset-inline-end: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{block-size:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-block-end:calc(var(--pr-t-spacings-50) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-neutral-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-neutral-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-inline-end:3.5rem}:host-context(.textfield-input.is-error,.textfield-input.is-invalid,.textfield-input.ng-invalid.ng-touched) .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)}}\n"] }]
|
|
655
654
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$2.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.Renderer2 }], propDecorators: { standard: [{
|
|
656
655
|
type: Input
|
|
657
656
|
}], api: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/select/feeder/api-feeder.model.ts","../../../packages/ng/api/service/api-service.model.ts","../../../packages/ng/api/service/api-v3.service.ts","../../../packages/ng/api/service/api-v4.service.ts","../../../packages/ng/api/service/api-hybrid.service.ts","../../../packages/ng/api/select/feeder/api-feeder.component.ts","../../../packages/ng/api/select/feeder/api-feeder.module.ts","../../../packages/ng/api/select/searcher/api-searcher.model.ts","../../../packages/ng/api/select/searcher/api-searcher.component.ts","../../../packages/ng/api/select/searcher/api-searcher.component.html","../../../packages/ng/api/select/searcher/api-searcher.module.ts","../../../packages/ng/api/select/input/api-select-input.component.ts","../../../packages/ng/api/select/input/api-select-input.component.html","../../../packages/ng/api/select/input/api-select-input.module.ts","../../../packages/ng/api/select/pager/api-pager.model.ts","../../../packages/ng/api/select/pager/api-pager.component.ts","../../../packages/ng/api/select/pager/api-pager.module.ts","../../../packages/ng/api/select/api-select.module.ts","../../../packages/ng/api/api.module.ts","../../../packages/ng/api/lucca-front-ng-api.ts"],"sourcesContent":["import { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\n\tgetAll(): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\n\toutOptions$ = new BehaviorSubject<T[]>([]);\n\tprotected _service: S;\n\tconstructor(service: S) {\n\t\tthis._service = service;\n\t}\n\tonOpen() {\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\n\t}\n}\n","import { Observable } from 'rxjs';\n\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\n\tgetAll(filters?: string[]): Observable<T[]>;\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\n\tabstract getAll(filters?: string[]): Observable<T[]>;\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\nconst MAGIC_PAGE_SIZE = 20;\n\n@Injectable()\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\tprotected _fields = 'fields=id,name';\n\tset fields(fields: string) {\n\t\tif (fields) {\n\t\t\tthis._fields = `fields=${fields}`;\n\t\t}\n\t}\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tif (filters) {\n\t\t\tthis._filters = filters || [];\n\t\t}\n\t}\n\tprotected _orderBy = 'orderBy=name,asc';\n\tset orderBy(orderBy: string) {\n\t\tif (orderBy) {\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\n\t\t}\n\t}\n\n\tget url() {\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._get([this.url, ...filters].join('&'));\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tprotected _get(url: string): Observable<T[]> {\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\n\t}\n\tprotected _clueFilter(clue: string) {\n\t\tconst urlSafeClue = encodeURIComponent(clue);\n\t\treturn `name=like,${urlSafeClue}`;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\n@Injectable()\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\tget filters(): string[] {\n\t\treturn this._filters;\n\t}\n\n\tprotected _sort: string;\n\tset sort(sort: string) {\n\t\tif (sort) {\n\t\t\tthis._sort = `sort=${sort}`;\n\t\t}\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tcount(): Observable<number> {\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\nimport { LuApiV3Service } from './api-v3.service';\nimport { LuApiV4Service } from './api-v4.service';\n\n@Injectable()\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprivate _v3Service: LuApiV3Service<T>;\n\tprivate _v4Service: LuApiV4Service<T>;\n\n\tprivate _standard: 'v3' | 'v4' = 'v3';\n\tset standard(std: 'v3' | 'v4') {\n\t\tthis._standard = std;\n\t}\n\n\t// both\n\tset api(api: string) {\n\t\tthis._v3Service.api = api;\n\t\tthis._v4Service.api = api;\n\t}\n\tset filters(filters: string[]) {\n\t\tthis._v3Service.filters = filters;\n\t\tthis._v4Service.filters = filters;\n\t}\n\n\t// api v3 only\n\tset fields(fields: string) {\n\t\tthis._v3Service.fields = fields;\n\t}\n\tset orderBy(orderBy: string) {\n\t\tthis._v3Service.orderBy = orderBy;\n\t}\n\n\t// api v4 only\n\tset sort(sort: string) {\n\t\tthis._v4Service.sort = sort;\n\t}\n\n\tprivate get _service(): ALuApiService<T> {\n\t\tswitch (this._standard) {\n\t\t\tcase 'v4':\n\t\t\t\treturn this._v4Service;\n\t\t\tcase 'v3':\n\t\t\tdefault:\n\t\t\t\treturn this._v3Service;\n\t\t}\n\t}\n\n\tconstructor(private _http: HttpClient) {\n\t\tsuper();\n\t\tthis._v3Service = new LuApiV3Service(this._http);\n\t\tthis._v4Service = new LuApiV4Service(this._http);\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getAll(filters);\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getPaged(page, filters);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchAll(clue, filters);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchPaged(clue, page, filters);\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionFeeder } from './api-feeder.model';\n@Component({\n\tselector: 'lu-api-feeder',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\toverride outOptions$ = new BehaviorSubject<T[]>([]);\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './api-feeder.component';\n\n@NgModule({\n\timports: [LuApiFeederComponent],\n\texports: [LuApiFeederComponent],\n})\nexport class LuApiFeederModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ILuApiService } from '../../service/index';\nimport { ILuApiOptionFeeder } from '../feeder/index';\n\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\n\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\n\tprotected _clue$: Observable<string>;\n\n\tset clue$(clue$: Observable<string>) {\n\t\t// this.initObservables(clue$);\n\t\tthis._clue$ = clue$;\n\t}\n\tconstructor(protected _service: S) {}\n\tinit() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tthis.resetClue();\n\t}\n\tonClose() {\n\t\tthis.clearOptions();\n\t}\n\tprotected initObservables() {\n\t\t// this._clue$ = clue$.pipe(share());\n\t\tconst results$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\n\t\t\tcatchError(() => of([])),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\n\t\tthis.loading$ = merge(this._clue$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract resetClue();\n\tprotected clearOptions() {\n\t\tthis.outOptions$.next([]);\n\t}\n}\n\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\n\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\textends ALuApiOptionSearcher<T, S>\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\n{\n\toverride outOptions$ = new Subject<T[]>();\n\toverride loading$: Observable<boolean>;\n\tprotected _loading = false;\n\tprotected _page$ = new Subject<void>();\n\tprotected _isLastPage: boolean;\n\tprotected _options: T[] = [];\n\n\tconstructor(service: S) {\n\t\tsuper(service);\n\t}\n\toverride onOpen() {\n\t\tthis.resetClue();\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\n\tprotected override initObservables() {\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\t\tconst query$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([page, clue]) =>\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract override resetClue();\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\n\n@Component({\n\tselector: 'lu-api-searcher',\n\ttemplateUrl: 'api-searcher.component.html',\n\tstyleUrl: 'api-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(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.setValue('');\n\t}\n}\n\n@Component({\n\tselector: 'lu-api-paged-searcher',\n\ttemplateUrl: 'api-searcher.component.html',\n\tstyleUrl: 'api-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(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\n\timplements OnInit\n{\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.reset('');\n\t}\n}\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"resetClue()\" />\n","import { NgModule } from '@angular/core';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';\n\n@NgModule({\n\timports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n\texports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n})\nexport class LuApiSearcherModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionItem, LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuApiPagedSearcherComponent } from '../searcher';\n\n@Component({\n\tselector: 'lu-api-select',\n\ttemplateUrl: './api-select-input.component.html',\n\tstyleUrl: './api-select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, LuInputClearerComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\n\timplements ControlValueAccessor, AfterViewInit\n{\n\t@Input() standard: 'v3' | 'v4' = 'v3';\n\t@Input() api: string;\n\t/**\n\t * only works with standard=\"v3\"\n\t */\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t/**\n\t * only works with standard=\"v3\", otherwise use sort\n\t */\n\t@Input() orderBy: string;\n\t/**\n\t * only works with standard=\"v4\", otherwise use orderBy\n\t */\n\t@Input() sort: string;\n\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\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) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectInputComponent } from './api-select-input.component';\n\n@NgModule({\n\timports: [LuApiSelectInputComponent],\n\texports: [LuApiSelectInputComponent],\n})\nexport class LuApiSelectInputModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nenum Strategy {\n\tappend,\n\treplace,\n}\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\n\tgetPaged(page: number): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\n\tprotected _loading = false;\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\n\tprotected _options: T[] = [];\n\tprotected _page$ = new Subject<number>();\n\tprotected _page: number;\n\tprotected _initialized = false;\n\tconstructor(protected _service: S) {}\n\tprotected init() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tif (!this._initialized) {\n\t\t\tthis._page$.next(0);\n\t\t\tthis._initialized = true;\n\t\t}\n\t}\n\t// onClose() {\n\t// \tthis._page$.next(0);\n\t// }\n\tonScrollBottom() {\n\t\tif (!this._loading) {\n\t\t\tthis._page$.next(this._page + 1);\n\t\t}\n\t}\n\tprotected initObservables() {\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap((p) => (this._page = p)),\n\t\t\tswitchMap((page) => {\n\t\t\t\tif (page === undefined) {\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\n\t\t\t\t}\n\t\t\t\treturn this._service.getPaged(page).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems: items,\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\n\t\t\ttap((results) => {\n\t\t\t\tif (results.strategy === Strategy.replace) {\n\t\t\t\t\tthis._options = [...results.items];\n\t\t\t\t} else {\n\t\t\t\t\tthis._options.push(...results.items);\n\t\t\t\t}\n\t\t\t\tthis.outOptions$.next([...this._options]);\n\t\t\t}),\n\t\t);\n\n\t\tthis.loading$ = merge(this._page$.pipe(map(() => true)), _results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPager } from './api-pager.model';\n\n@Component({\n\tselector: 'lu-api-pager',\n\ttemplate: '',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\n{\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\n\tngOnInit() {\n\t\tsuper.init();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagerComponent } from './api-pager.component';\n\n@NgModule({\n\timports: [LuApiPagerComponent],\n\texports: [LuApiPagerComponent],\n})\nexport class LuApiPagerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './feeder/index';\nimport { LuApiSelectInputComponent } from './input/index';\nimport { LuApiPagerComponent } from './pager/index';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './searcher/index';\n\n@NgModule({\n\timports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n\texports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n})\nexport class LuApiSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuApiSelectModule],\n\texports: [LuApiSelectModule],\n})\nexport class LuApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;MAUsB,kBAAkB,CAAA;AAGvC,IAAA,WAAA,CAAY,OAAU,EAAA;AAFtB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAGzC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;;IAExB,MAAM,GAAA;QACL,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAE1E;;MCVqB,aAAa,CAAA;AAKlC;;ACPD,MAAM,eAAe,GAAG,EAAE;AAGpB,MAAO,cAAkD,SAAQ,aAAgB,CAAA;IAEtF,IAAI,GAAG,CAAC,GAAW,EAAA;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;IAGhB,IAAI,MAAM,CAAC,MAAc,EAAA;QACxB,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,CAAU,OAAA,EAAA,MAAM,EAAE;;;IAInC,IAAI,OAAO,CAAC,OAAiB,EAAA;QAC5B,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE;;;IAI/B,IAAI,OAAO,CAAC,OAAe,EAAA;QAC1B,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAW,QAAA,EAAA,OAAO,EAAE;;;AAItC,IAAA,IAAI,GAAG,GAAA;AACN,QAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;AAGtG,IAAA,WAAA,CAAsB,KAAiB,EAAA;AACtC,QAAA,KAAK,EAAE;QADc,IAAK,CAAA,KAAA,GAAL,KAAK;QAvBjB,IAAO,CAAA,OAAA,GAAG,gBAAgB;QAM1B,IAAQ,CAAA,QAAA,GAAa,EAAE;QAMvB,IAAQ,CAAA,QAAA,GAAG,kBAAkB;;IAevC,MAAM,CAAC,UAAoB,EAAE,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;AAGnD,IAAA,QAAQ,CAAC,IAAY,EAAE,OAAA,GAAoB,EAAE,EAAA;QAC5C,MAAM,MAAM,GAAG,CAAU,OAAA,EAAA,IAAI,GAAG,eAAe,CAAA,CAAA,EAAI,eAAe,CAAA,CAAE;AACpE,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGtB,IAAA,SAAS,CAAC,IAAY,EAAE,OAAA,GAAoB,EAAE,EAAA;QAC7C,IAAI,CAAC,IAAI,EAAE;AACV,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;;QAE5B,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGtB,IAAA,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,UAAoB,EAAE,EAAA;QAC7D,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;;QAEpC,MAAM,MAAM,GAAG,CAAU,OAAA,EAAA,IAAI,GAAG,eAAe,CAAA,CAAA,EAAI,eAAe,CAAA,CAAE;QACpE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5E,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGZ,IAAA,IAAI,CAAC,GAAW,EAAA;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAE3F,IAAA,WAAW,CAAC,IAAY,EAAA;AACjC,QAAA,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC5C,OAAO,CAAA,UAAA,EAAa,WAAW,CAAA,CAAE;;8GAhEtB,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAd,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACDK,MAAO,cAAkD,SAAQ,aAAgB,CAAA;IAEtF,IAAI,GAAG,CAAC,GAAW,EAAA;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;IAIhB,IAAI,OAAO,CAAC,OAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,EAAE;;AAE9B,IAAA,IAAI,OAAO,GAAA;QACV,OAAO,IAAI,CAAC,QAAQ;;IAIrB,IAAI,IAAI,CAAC,IAAY,EAAA;QACpB,IAAI,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,GAAG,CAAQ,KAAA,EAAA,IAAI,EAAE;;;AAI7B,IAAA,WAAA,CAAsB,KAAiB,EAAA;AACtC,QAAA,KAAK,EAAE;QADc,IAAK,CAAA,KAAA,GAAL,KAAK;QAfjB,IAAQ,CAAA,QAAA,GAAa,EAAE;;IAmBjC,MAAM,CAAC,UAAoB,EAAE,EAAA;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;AAEzE,IAAA,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,UAAoB,EAAE,EAAA;AACxC,QAAA,MAAM,KAAK,GAAG,CAAC,CAAA,KAAA,EAAQ,IAAI,GAAG,CAAC,CAAE,CAAA,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9F,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;AAEzE,IAAA,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,UAAoB,EAAE,EAAA;QAC1C,IAAI,CAAC,IAAI,EAAE;AACV,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;;QAE5B,MAAM,YAAY,GAAG;aACnB,KAAK,CAAC,GAAG;aACT,GAAG,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,GAAG,CAAC;AACX,QAAA,MAAM,KAAK,GAAG,CAAC,CAAA,OAAA,EAAU,YAAY,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpG,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;IAEzE,WAAW,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,OAAA,GAAoB,EAAE,EAAA;QACtD,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;;QAEpC,MAAM,YAAY,GAAG;aACnB,KAAK,CAAC,GAAG;aACT,GAAG,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,GAAG,CAAC;AACX,QAAA,MAAM,KAAK,GAAG,CAAC,CAAU,OAAA,EAAA,YAAY,EAAE,EAAE,CAAA,KAAA,EAAQ,IAAI,GAAG,CAAC,CAAE,CAAA,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxH,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;IAEzE,KAAK,GAAA;QACJ,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClF,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;8GA9DhE,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAd,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACEK,MAAO,kBAAsD,SAAQ,aAAgB,CAAA;IAK1F,IAAI,QAAQ,CAAC,GAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG;;;IAIrB,IAAI,GAAG,CAAC,GAAW,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG;;IAE1B,IAAI,OAAO,CAAC,OAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO;;;IAIlC,IAAI,MAAM,CAAC,MAAc,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM;;IAEhC,IAAI,OAAO,CAAC,OAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO;;;IAIlC,IAAI,IAAI,CAAC,IAAY,EAAA;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI;;AAG5B,IAAA,IAAY,QAAQ,GAAA;AACnB,QAAA,QAAQ,IAAI,CAAC,SAAS;AACrB,YAAA,KAAK,IAAI;gBACR,OAAO,IAAI,CAAC,UAAU;AACvB,YAAA,KAAK,IAAI;AACT,YAAA;gBACC,OAAO,IAAI,CAAC,UAAU;;;AAIzB,IAAA,WAAA,CAAoB,KAAiB,EAAA;AACpC,QAAA,KAAK,EAAE;QADY,IAAK,CAAA,KAAA,GAAL,KAAK;QAtCjB,IAAS,CAAA,SAAA,GAAgB,IAAI;QAwCpC,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGjD,MAAM,CAAC,UAAoB,EAAE,EAAA;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;;AAGrC,IAAA,QAAQ,CAAC,IAAY,EAAE,OAAA,GAAoB,EAAE,EAAA;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;;AAG7C,IAAA,SAAS,CAAC,IAAY,EAAE,OAAA,GAAoB,EAAE,EAAA;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;;AAG9C,IAAA,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,UAAoB,EAAE,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;;8GA7D1C,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACqBK,MAAO,oBAAwD,SAAQ,kBAA4C,CAAA;IAExH,WAIC,CAAA,WAAkC,EACH,WAAkC,EAAA;AAEjE,QAAA,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC;AARzB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;;IAWnD,IAAa,QAAQ,CAAC,QAAqB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;;IAElC,IAAa,GAAG,CAAC,GAAW,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG;;IAExB,IAAa,MAAM,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM;;IAE9B,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,OAAO,CAAC,OAAe,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,IAAI,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;;8GA5Bd,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAGvB,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAIb,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAPV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAjBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlBS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAoBA,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAtBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,QAAQ,EAAE,kBAAkB;AAC5B,yBAAA;AACD,qBAAA;AACD,iBAAA;;0BAIE,MAAM;2BAAC,aAAa;;0BACpB;;0BACA;;0BAEA,MAAM;2BAAC,aAAa;;0BAAG;yCAKZ,QAAQ,EAAA,CAAA;sBAApB;gBAGY,GAAG,EAAA,CAAA;sBAAf;gBAGY,MAAM,EAAA,CAAA;sBAAlB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,IAAI,EAAA,CAAA;sBAAhB;;;MCjDW,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHnB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAElB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAC/B,iBAAA;;;MCEqB,oBAAoB,CAAA;IASzC,IAAI,KAAK,CAAC,KAAyB,EAAA;;AAElC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAEpB,IAAA,WAAA,CAAsB,QAAW,EAAA;QAAX,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAV9B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAO;;IAWhC,IAAI,GAAA;QACH,IAAI,CAAC,eAAe,EAAE;;IAEvB,MAAM,GAAA;QACL,IAAI,CAAC,SAAS,EAAE;;IAEjB,OAAO,GAAA;QACN,IAAI,CAAC,YAAY,EAAE;;IAEV,eAAe,GAAA;;AAExB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAChC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAClD,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EACxB,KAAK,EAAE,CACP;AAED,QAAA,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;;IAG9C,YAAY,GAAA;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;;AAE1B;AAIK,MAAgB,yBACrB,SAAQ,oBAA0B,CAAA;AAUlC,IAAA,WAAA,CAAY,OAAU,EAAA;QACrB,KAAK,CAAC,OAAO,CAAC;AARN,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAO;QAE/B,IAAQ,CAAA,QAAA,GAAG,KAAK;AAChB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAQ;QAE5B,IAAQ,CAAA,QAAA,GAAQ,EAAE;;IAKnB,MAAM,GAAA;QACd,IAAI,CAAC,SAAS,EAAE;;IAEjB,cAAc,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACxC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;;IAID,eAAe,GAAA;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EACzB,SAAS,CAAC,CAAC,CAAC,CACZ;AACD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC9B,SAAS,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAA2B,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EACvF,KAAK,EAAE,CACP;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC3B,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CACzC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EACxB,GAAG,CAAqB,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CACjD,CACD,EACD,KAAK,EAAE,CACP;QAED,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAI;AACpC,YAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC;;iBACpB;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;;AAE7B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1C,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AACpF,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;;AAGhE;;AC1EK,MAAO,sBAA8G,SAAQ,oBAA8C,CAAA;IAIhL,IAAa,QAAQ,CAAC,QAAqB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;;IAElC,IAAa,GAAG,CAAC,GAAW,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG;;IAExB,IAAa,MAAM,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM;;IAE9B,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,OAAO,CAAC,OAAe,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,IAAI,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;;IAK1B,WAIC,CAAA,WAAkC,EACH,WAAkC,EAAA;AAEjE,QAAA,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC;QAVzB,IAAY,CAAA,YAAA,GAAG,GAAG;;IAY3B,QAAQ,GAAA;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAuB;QACtG,KAAK,CAAC,IAAI,EAAE;;IAGJ,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;QACtC,KAAK,CAAC,MAAM,EAAE;;IAEf,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;;8GA7ClB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA0BzB,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAIb,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA9BV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAjBvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,aAAA;SACD,EAGiC,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,kECnC7C,0RAIA,EAAA,MAAA,EAAA,CAAA,0gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYW,mBAAmB,EAAE,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,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;;2FAkB7D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAxBlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGV,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,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,QAAQ,EAAE,kBAAkB;AAC5B,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,0RAAA,EAAA,MAAA,EAAA,CAAA,0gCAAA,CAAA,EAAA;;0BA4BC,MAAM;2BAAC,aAAa;;0BACpB;;0BACA;;0BAEA,MAAM;2BAAC,aAAa;;0BAAG;yCA5BzB,WAAW,EAAA,CAAA;sBADV,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;gBAG/C,QAAQ,EAAA,CAAA;sBAApB;gBAGY,GAAG,EAAA,CAAA;sBAAf;gBAGY,MAAM,EAAA,CAAA;sBAAlB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,IAAI,EAAA,CAAA;sBAAhB;gBAGQ,YAAY,EAAA,CAAA;sBAApB;;AA6DI,MAAO,2BACZ,SAAQ,yBAAmD,CAAA;IAK3D,IAAa,QAAQ,CAAC,QAAqB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;;IAElC,IAAa,GAAG,CAAC,GAAW,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG;;IAExB,IAAa,MAAM,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM;;IAE9B,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,OAAO,CAAC,OAAe,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,IAAI,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;;IAK1B,WAA2D,CAAA,WAAkC,EAAiC,WAAkC,EAAA;AAC/J,QAAA,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC;QAJzB,IAAY,CAAA,YAAA,GAAG,GAAG;;IAM3B,QAAQ,GAAA;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAuB;QACtG,KAAK,CAAC,IAAI,EAAE;;IAGJ,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;QACtC,KAAK,CAAC,MAAM,EAAE;;IAEf,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;;8GAzCf,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA2BnB,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAsE,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA3BxG,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EA3B5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,aAAA;SACD,EAMiC,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,kECzH7C,0RAIA,EAAA,MAAA,EAAA,CAAA,0gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDqFW,mBAAmB,EAAE,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,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;;2FA4B7D,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAlCvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGhB,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,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,QAAQ,EAAE,kBAAkB;AAC5B,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,0RAAA,EAAA,MAAA,EAAA,CAAA,0gCAAA,CAAA,EAAA;;0BA6BY,MAAM;2BAAC,aAAa;;0BAAG;;0BAAY;;0BAAgD,MAAM;2BAAC,aAAa;;0BAAG;yCAtBvH,WAAW,EAAA,CAAA;sBADV,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;gBAE/C,QAAQ,EAAA,CAAA;sBAApB;gBAGY,GAAG,EAAA,CAAA;sBAAf;gBAGY,MAAM,EAAA,CAAA;sBAAlB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,IAAI,EAAA,CAAA;sBAAhB;gBAGQ,YAAY,EAAA,CAAA;sBAApB;;;MEtIW,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,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,mBAAmB,YAHrB,2BAA2B,EAAE,sBAAsB,CACnD,EAAA,OAAA,EAAA,CAAA,2BAA2B,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAEjD,mBAAmB,EAAA,OAAA,EAAA,CAHrB,2BAA2B,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;;2FAGjD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;AAC9D,iBAAA;;;ACkBK,MAAO,yBACZ,SAAQ,uBAAgF,CAAA;IAoBxF,WACoB,CAAA,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;QAN3D,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAClB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAS,CAAA,SAAA,GAAT,SAAS;QAtBpB,IAAQ,CAAA,QAAA,GAAgB,IAAI;AAgBrC,QAAA,IAAA,CAAA,IAAI,GAAwB,CAAC,OAAU,EAAE,OAAU,KAAK,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;;8GApB3F,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAR1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBF,qzBAoBA,EAAA,MAAA,EAAA,CAAA,s2QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAE,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,+BAA+B,EAAE,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,2BAA2B,EAAE,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,EAAE,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,qBAAqB,4FAAE,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;;2FAS1K,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAfrC,SAAS;+BACC,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,CAAC,EAC5K,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,qzBAAA,EAAA,MAAA,EAAA,CAAA,s2QAAA,CAAA,EAAA;8LAMQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBAIQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAIQ,OAAO,EAAA,CAAA;sBAAf;gBAIQ,IAAI,EAAA,CAAA;sBAAZ;;;MEnCW,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAtB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAEvB,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,sBAAsB,YAHxB,yBAAyB,CAAA,EAAA,CAAA,CAAA;;2FAGvB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACpC,iBAAA;;;ACCD,IAAK,QAGJ;AAHD,CAAA,UAAK,QAAQ,EAAA;AACZ,IAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,QAAA,CAAA,QAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACR,CAAC,EAHI,QAAQ,KAAR,QAAQ,GAGZ,EAAA,CAAA,CAAA;MAMqB,iBAAiB,CAAA;AAYtC,IAAA,WAAA,CAAsB,QAAW,EAAA;QAAX,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAT9B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAO;QAGtB,IAAQ,CAAA,QAAA,GAAG,KAAK;QAEhB,IAAQ,CAAA,QAAA,GAAQ,EAAE;AAClB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAU;QAE9B,IAAY,CAAA,YAAA,GAAG,KAAK;;IAEpB,IAAI,GAAA;QACb,IAAI,CAAC,eAAe,EAAE;;IAEvB,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;;;;IAM1B,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;;;IAGxB,eAAe,GAAA;AACxB,QAAA,MAAM,SAAS,GAAmD,IAAI,CAAC,MAAM,CAAC,IAAI,CACjF,oBAAoB,EAAE,EACtB,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAC5B,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,YAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACvB,gBAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;;AAE5D,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CACvC,GAAG,CAAC,CAAC,KAAK,MAAM;AACf,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,QAAQ,EAAE,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM;aACzD,CAAC,CAAC,CACH;AACF,SAAC,CAAC,EACF,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EACtE,GAAG,CAAC,CAAC,OAAO,KAAI;YACf,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;;iBAC5B;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;;AAErC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC,CAAC,CACF;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;;AAEpD;;ACzCK,MAAO,mBACZ,SAAQ,iBAA2C,CAAA;IAGnD,WAIC,CAAA,WAAkC,EACH,WAAkC,EAAA;AAEjE,QAAA,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC;;IAGlC,IAAa,QAAQ,CAAC,QAAqB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;;IAElC,IAAa,GAAG,CAAC,GAAW,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG;;IAExB,IAAa,MAAM,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM;;IAE9B,IAAa,OAAO,CAAC,OAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAEhC,IAAa,OAAO,CAAC,OAAe,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO;;IAGhC,QAAQ,GAAA;QACP,KAAK,CAAC,IAAI,EAAE;;8GA/BD,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAKtB,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAIb,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AATV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAtBpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvBS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAyBA,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA3B/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,QAAQ,EAAE,kBAAkB;AAC5B,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA;;0BAME,MAAM;2BAAC,aAAa;;0BACpB;;0BACA;;0BAEA,MAAM;2BAAC,aAAa;;0BAAG;yCAKZ,QAAQ,EAAA,CAAA;sBAApB;gBAGY,GAAG,EAAA,CAAA;sBAAf;gBAGY,MAAM,EAAA,CAAA;sBAAlB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;;;MCrDW,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHlB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEjB,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,iBAAA;;;MCIY,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,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,iBAAiB,YAHnB,oBAAoB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,yBAAyB,CACzH,EAAA,OAAA,EAAA,CAAA,oBAAoB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAEvH,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,iBAAiB,EAHG,OAAA,EAAA,CAAA,2BAA2B,EAAE,sBAAsB,EAAuB,yBAAyB,CAAA,EAAA,CAAA,CAAA;;2FAGvH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,yBAAyB,CAAC;oBACpI,OAAO,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,yBAAyB,CAAC;AACpI,iBAAA;;;MCFY,WAAW,CAAA;8GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAX,WAAW,EAAA,OAAA,EAAA,CAHb,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;+GAEf,WAAW,EAAA,OAAA,EAAA,CAHb,iBAAiB,EACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;;2FAEf,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC5B,iBAAA;;;ACND;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/select/feeder/api-feeder.model.ts","../../../packages/ng/api/service/api-service.model.ts","../../../packages/ng/api/service/api-v3.service.ts","../../../packages/ng/api/service/api-v4.service.ts","../../../packages/ng/api/service/api-hybrid.service.ts","../../../packages/ng/api/select/feeder/api-feeder.component.ts","../../../packages/ng/api/select/feeder/api-feeder.module.ts","../../../packages/ng/api/select/searcher/api-searcher.model.ts","../../../packages/ng/api/select/searcher/api-searcher.component.ts","../../../packages/ng/api/select/searcher/api-searcher.component.html","../../../packages/ng/api/select/searcher/api-searcher.module.ts","../../../packages/ng/api/select/input/api-select-input.component.ts","../../../packages/ng/api/select/input/api-select-input.component.html","../../../packages/ng/api/select/input/api-select-input.module.ts","../../../packages/ng/api/select/pager/api-pager.model.ts","../../../packages/ng/api/select/pager/api-pager.component.ts","../../../packages/ng/api/select/pager/api-pager.module.ts","../../../packages/ng/api/select/api-select.module.ts","../../../packages/ng/api/api.module.ts","../../../packages/ng/api/lucca-front-ng-api.ts"],"sourcesContent":["import { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\n\tgetAll(): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\n\toutOptions$ = new BehaviorSubject<T[]>([]);\n\tprotected _service: S;\n\tconstructor(service: S) {\n\t\tthis._service = service;\n\t}\n\tonOpen() {\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\n\t}\n}\n","import { Observable } from 'rxjs';\n\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\n\tgetAll(filters?: string[]): Observable<T[]>;\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\n\tabstract getAll(filters?: string[]): Observable<T[]>;\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\nconst MAGIC_PAGE_SIZE = 20;\n\n@Injectable()\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\tprotected _fields = 'fields=id,name';\n\tset fields(fields: string) {\n\t\tif (fields) {\n\t\t\tthis._fields = `fields=${fields}`;\n\t\t}\n\t}\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tif (filters) {\n\t\t\tthis._filters = filters || [];\n\t\t}\n\t}\n\tprotected _orderBy = 'orderBy=name,asc';\n\tset orderBy(orderBy: string) {\n\t\tif (orderBy) {\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\n\t\t}\n\t}\n\n\tget url() {\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._get([this.url, ...filters].join('&'));\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tprotected _get(url: string): Observable<T[]> {\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\n\t}\n\tprotected _clueFilter(clue: string) {\n\t\tconst urlSafeClue = encodeURIComponent(clue);\n\t\treturn `name=like,${urlSafeClue}`;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\n@Injectable()\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\tget filters(): string[] {\n\t\treturn this._filters;\n\t}\n\n\tprotected _sort: string;\n\tset sort(sort: string) {\n\t\tif (sort) {\n\t\t\tthis._sort = `sort=${sort}`;\n\t\t}\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tcount(): Observable<number> {\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\nimport { LuApiV3Service } from './api-v3.service';\nimport { LuApiV4Service } from './api-v4.service';\n\n@Injectable()\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprivate _v3Service: LuApiV3Service<T>;\n\tprivate _v4Service: LuApiV4Service<T>;\n\n\tprivate _standard: 'v3' | 'v4' = 'v3';\n\tset standard(std: 'v3' | 'v4') {\n\t\tthis._standard = std;\n\t}\n\n\t// both\n\tset api(api: string) {\n\t\tthis._v3Service.api = api;\n\t\tthis._v4Service.api = api;\n\t}\n\tset filters(filters: string[]) {\n\t\tthis._v3Service.filters = filters;\n\t\tthis._v4Service.filters = filters;\n\t}\n\n\t// api v3 only\n\tset fields(fields: string) {\n\t\tthis._v3Service.fields = fields;\n\t}\n\tset orderBy(orderBy: string) {\n\t\tthis._v3Service.orderBy = orderBy;\n\t}\n\n\t// api v4 only\n\tset sort(sort: string) {\n\t\tthis._v4Service.sort = sort;\n\t}\n\n\tprivate get _service(): ALuApiService<T> {\n\t\tswitch (this._standard) {\n\t\t\tcase 'v4':\n\t\t\t\treturn this._v4Service;\n\t\t\tcase 'v3':\n\t\t\tdefault:\n\t\t\t\treturn this._v3Service;\n\t\t}\n\t}\n\n\tconstructor(private _http: HttpClient) {\n\t\tsuper();\n\t\tthis._v3Service = new LuApiV3Service(this._http);\n\t\tthis._v4Service = new LuApiV4Service(this._http);\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getAll(filters);\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getPaged(page, filters);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchAll(clue, filters);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchPaged(clue, page, filters);\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionFeeder } from './api-feeder.model';\n@Component({\n\tselector: 'lu-api-feeder',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\toverride outOptions$ = new BehaviorSubject<T[]>([]);\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './api-feeder.component';\n\n@NgModule({\n\timports: [LuApiFeederComponent],\n\texports: [LuApiFeederComponent],\n})\nexport class LuApiFeederModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ILuApiService } from '../../service/index';\nimport { ILuApiOptionFeeder } from '../feeder/index';\n\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\n\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\n\tprotected _clue$: Observable<string>;\n\n\tset clue$(clue$: Observable<string>) {\n\t\t// this.initObservables(clue$);\n\t\tthis._clue$ = clue$;\n\t}\n\tconstructor(protected _service: S) {}\n\tinit() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tthis.resetClue();\n\t}\n\tonClose() {\n\t\tthis.clearOptions();\n\t}\n\tprotected initObservables() {\n\t\t// this._clue$ = clue$.pipe(share());\n\t\tconst results$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\n\t\t\tcatchError(() => of([])),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\n\t\tthis.loading$ = merge(this._clue$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract resetClue();\n\tprotected clearOptions() {\n\t\tthis.outOptions$.next([]);\n\t}\n}\n\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\n\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\textends ALuApiOptionSearcher<T, S>\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\n{\n\toverride outOptions$ = new Subject<T[]>();\n\toverride loading$: Observable<boolean>;\n\tprotected _loading = false;\n\tprotected _page$ = new Subject<void>();\n\tprotected _isLastPage: boolean;\n\tprotected _options: T[] = [];\n\n\tconstructor(service: S) {\n\t\tsuper(service);\n\t}\n\toverride onOpen() {\n\t\tthis.resetClue();\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\n\tprotected override initObservables() {\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\t\tconst query$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([page, clue]) =>\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract override resetClue();\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\n\n@Component({\n\tselector: 'lu-api-searcher',\n\ttemplateUrl: './api-searcher.component.html',\n\tstyleUrl: './api-searcher.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.setValue('');\n\t}\n}\n\n@Component({\n\tselector: 'lu-api-paged-searcher',\n\ttemplateUrl: './api-searcher.component.html',\n\tstyleUrl: './api-searcher.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\n\timplements OnInit\n{\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.reset('');\n\t}\n}\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';\n\n@NgModule({\n\timports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n\texports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n})\nexport class LuApiSearcherModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionItem, LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuApiPagedSearcherComponent } from '../searcher';\n\n@Component({\n\tselector: 'lu-api-select',\n\ttemplateUrl: './api-select-input.component.html',\n\tstyleUrl: './api-select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [LuInputClearerComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\n\timplements ControlValueAccessor, AfterViewInit\n{\n\t@Input() standard: 'v3' | 'v4' = 'v3';\n\t@Input() api: string;\n\t/**\n\t * only works with standard=\"v3\"\n\t */\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t/**\n\t * only works with standard=\"v3\", otherwise use sort\n\t */\n\t@Input() orderBy: string;\n\t/**\n\t * only works with standard=\"v4\", otherwise use orderBy\n\t */\n\t@Input() sort: string;\n\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\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) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectInputComponent } from './api-select-input.component';\n\n@NgModule({\n\timports: [LuApiSelectInputComponent],\n\texports: [LuApiSelectInputComponent],\n})\nexport class LuApiSelectInputModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nenum Strategy {\n\tappend,\n\treplace,\n}\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\n\tgetPaged(page: number): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\n{\n\toutOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\n\tprotected _loading = false;\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\n\tprotected _options: T[] = [];\n\tprotected _page$ = new Subject<number>();\n\tprotected _page: number;\n\tprotected _initialized = false;\n\tconstructor(protected _service: S) {}\n\tprotected init() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tif (!this._initialized) {\n\t\t\tthis._page$.next(0);\n\t\t\tthis._initialized = true;\n\t\t}\n\t}\n\t// onClose() {\n\t// \tthis._page$.next(0);\n\t// }\n\tonScrollBottom() {\n\t\tif (!this._loading) {\n\t\t\tthis._page$.next(this._page + 1);\n\t\t}\n\t}\n\tprotected initObservables() {\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap((p) => (this._page = p)),\n\t\t\tswitchMap((page) => {\n\t\t\t\tif (page === undefined) {\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\n\t\t\t\t}\n\t\t\t\treturn this._service.getPaged(page).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems: items,\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\n\t\t\ttap((results) => {\n\t\t\t\tif (results.strategy === Strategy.replace) {\n\t\t\t\t\tthis._options = [...results.items];\n\t\t\t\t} else {\n\t\t\t\t\tthis._options.push(...results.items);\n\t\t\t\t}\n\t\t\t\tthis.outOptions$.next([...this._options]);\n\t\t\t}),\n\t\t);\n\n\t\tthis.loading$ = merge(this._page$.pipe(map(() => true)), _results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPager } from './api-pager.model';\n\n@Component({\n\tselector: 'lu-api-pager',\n\ttemplate: '',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\n{\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\n\tngOnInit() {\n\t\tsuper.init();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagerComponent } from './api-pager.component';\n\n@NgModule({\n\timports: [LuApiPagerComponent],\n\texports: [LuApiPagerComponent],\n})\nexport class LuApiPagerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './feeder/index';\nimport { LuApiSelectInputComponent } from './input/index';\nimport { LuApiPagerComponent } from './pager/index';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './searcher/index';\n\n@NgModule({\n\timports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n\texports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n})\nexport class LuApiSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuApiSelectModule],\n\texports: [LuApiSelectModule],\n})\nexport class LuApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|