@lucca-front/ng 15.1.3 → 15.2.0
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/esm2020/api/lib/select/input/api-select-input.component.mjs +3 -3
- package/esm2020/date/lib/select/date-select-input.component.mjs +3 -3
- package/esm2020/department/lib/select/input/department-select-input.component.mjs +3 -3
- package/esm2020/establishment/lib/select/input/establishment-select-input.component.mjs +3 -3
- package/esm2020/input/lib/clearer/clearer.component.mjs +3 -3
- package/esm2020/modal/lib/modal-config.default.mjs +8 -2
- package/esm2020/modal/lib/modal-config.model.mjs +5 -2
- package/esm2020/modal/lib/modal-panel.component.mjs +26 -26
- package/esm2020/modal/lib/modal-ref.factory.mjs +11 -11
- package/esm2020/modal/lib/modal-ref.model.mjs +8 -1
- package/esm2020/modal/lib/modal.module.mjs +13 -13
- package/esm2020/modal/lib/modal.service.mjs +1 -1
- package/esm2020/modal/lib/modal.token.mjs +4 -4
- package/esm2020/option/lib/item/tree-option-item.component.mjs +3 -3
- package/esm2020/popup/lib/popup-config.default.mjs +2 -2
- package/esm2020/popup/lib/popup-ref.model.mjs +33 -18
- package/esm2020/popup/lib/popup.service.mjs +1 -1
- package/esm2020/qualification/lib/select/input/qualification-select-input.component.mjs +3 -3
- package/esm2020/select/lib/input/select-input.component.mjs +2 -2
- package/esm2020/sidepanel/lib/index.mjs +1 -8
- package/esm2020/sidepanel/lib/sidepanel.model.mjs +27 -2
- package/esm2020/sidepanel/lib/sidepanel.module.mjs +9 -15
- package/esm2020/sidepanel/lib/sidepanel.service.mjs +11 -3
- package/esm2020/simple-select/api/lib/api-v3.directive.mjs +57 -0
- package/esm2020/simple-select/api/lib/api-v4.directive.mjs +50 -0
- package/esm2020/simple-select/api/lib/api.directive.mjs +40 -0
- package/esm2020/simple-select/api/lucca-front-ng-simple-select-api.mjs +5 -0
- package/esm2020/simple-select/api/public-api.mjs +4 -0
- package/esm2020/simple-select/lib/index.mjs +2 -1
- package/esm2020/simple-select/lib/input/panel-ref.factory.mjs +90 -0
- package/esm2020/simple-select/lib/input/select-input.component.mjs +54 -174
- package/esm2020/simple-select/lib/input/select-input.models.mjs +60 -0
- package/esm2020/simple-select/lib/option/default-option.component.mjs +21 -0
- package/esm2020/simple-select/lib/option/disabled.directive.mjs +26 -0
- package/esm2020/simple-select/lib/option/index.mjs +4 -2
- package/esm2020/simple-select/lib/option/option-outlet.directive.mjs +70 -0
- package/esm2020/simple-select/lib/option/option.component.mjs +36 -17
- package/esm2020/simple-select/lib/option/option.token.mjs +22 -0
- package/esm2020/simple-select/lib/panel/index.mjs +2 -1
- package/esm2020/simple-select/lib/panel/panel.component.mjs +27 -53
- package/esm2020/simple-select/lib/panel/panel.models.mjs +23 -0
- package/esm2020/simple-select/lib/select.model.mjs +1 -1
- package/esm2020/simple-select/lib/select.translate.mjs +37 -0
- package/esm2020/user/lib/select/input/user-select-input.component.mjs +3 -3
- package/fesm2015/lucca-front-ng-api.mjs +2 -2
- package/fesm2015/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-date.mjs +2 -2
- package/fesm2015/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-department.mjs +2 -2
- package/fesm2015/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-establishment.mjs +2 -2
- package/fesm2015/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-input.mjs +2 -2
- package/fesm2015/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-modal.mjs +64 -48
- package/fesm2015/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-option.mjs +2 -2
- package/fesm2015/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-popup.mjs +33 -18
- package/fesm2015/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-qualification.mjs +2 -2
- package/fesm2015/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-select.mjs +2 -2
- package/fesm2015/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-sidepanel.mjs +40 -141
- package/fesm2015/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-simple-select-api.mjs +137 -0
- package/fesm2015/lucca-front-ng-simple-select-api.mjs.map +1 -0
- package/fesm2015/lucca-front-ng-simple-select.mjs +378 -192
- package/fesm2015/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-user.mjs +2 -2
- package/fesm2015/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-api.mjs +2 -2
- package/fesm2020/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-date.mjs +2 -2
- package/fesm2020/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-department.mjs +2 -2
- package/fesm2020/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-establishment.mjs +2 -2
- package/fesm2020/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-input.mjs +2 -2
- package/fesm2020/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-modal.mjs +68 -48
- package/fesm2020/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-option.mjs +2 -2
- package/fesm2020/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-popup.mjs +33 -18
- package/fesm2020/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-qualification.mjs +2 -2
- package/fesm2020/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-select.mjs +2 -2
- package/fesm2020/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-sidepanel.mjs +40 -141
- package/fesm2020/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-simple-select-api.mjs +145 -0
- package/fesm2020/lucca-front-ng-simple-select-api.mjs.map +1 -0
- package/fesm2020/lucca-front-ng-simple-select.mjs +373 -182
- package/fesm2020/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-user.mjs +2 -2
- package/fesm2020/lucca-front-ng-user.mjs.map +1 -1
- package/modal/lib/modal-config.default.d.ts +3 -2
- package/modal/lib/modal-config.model.d.ts +23 -3
- package/modal/lib/modal-panel.component.d.ts +8 -7
- package/modal/lib/modal-ref.factory.d.ts +9 -8
- package/modal/lib/modal-ref.model.d.ts +8 -2
- package/modal/lib/modal.module.d.ts +8 -6
- package/modal/lib/modal.service.d.ts +3 -3
- package/modal/lib/modal.token.d.ts +2 -2
- package/package.json +11 -3
- package/popup/lib/popup-ref.model.d.ts +9 -4
- package/popup/lib/popup.service.d.ts +2 -2
- package/sidepanel/lib/index.d.ts +0 -7
- package/sidepanel/lib/sidepanel.model.d.ts +42 -1
- package/sidepanel/lib/sidepanel.module.d.ts +5 -6
- package/sidepanel/lib/sidepanel.service.d.ts +12 -4
- package/simple-select/api/index.d.ts +5 -0
- package/simple-select/api/lib/api-v3.directive.d.ts +25 -0
- package/simple-select/api/lib/api-v4.directive.d.ts +22 -0
- package/simple-select/api/lib/api.directive.d.ts +32 -0
- package/simple-select/api/public-api.d.ts +3 -0
- package/simple-select/lib/index.d.ts +1 -0
- package/simple-select/lib/input/panel-ref.factory.d.ts +16 -0
- package/simple-select/lib/input/select-input.component.d.ts +22 -33
- package/simple-select/lib/input/select-input.models.d.ts +3 -0
- package/simple-select/lib/option/default-option.component.d.ts +9 -0
- package/simple-select/lib/option/disabled.directive.d.ts +7 -0
- package/simple-select/lib/option/index.d.ts +3 -1
- package/simple-select/lib/option/option-outlet.directive.d.ts +19 -0
- package/simple-select/lib/option/option.component.d.ts +16 -6
- package/simple-select/lib/option/option.token.d.ts +9 -0
- package/simple-select/lib/panel/index.d.ts +1 -0
- package/simple-select/lib/panel/panel.component.d.ts +11 -21
- package/simple-select/lib/panel/panel.models.d.ts +13 -0
- package/simple-select/lib/select.model.d.ts +3 -3
- package/simple-select/lib/select.translate.d.ts +10 -0
- package/src/components/_dropdown.scss +6 -4
- package/src/components/_sidepanel.scss +16 -6
- package/src/definitions/select/_select-clearer.scss +24 -9
- package/src/definitions/select/_select-input.scss +5 -16
- package/esm2020/sidepanel/lib/sidepanel-config.default.mjs +0 -11
- package/esm2020/sidepanel/lib/sidepanel-config.model.mjs +0 -2
- package/esm2020/sidepanel/lib/sidepanel-panel.component.mjs +0 -44
- package/esm2020/sidepanel/lib/sidepanel-ref.factory.mjs +0 -59
- package/esm2020/sidepanel/lib/sidepanel-ref.model.mjs +0 -4
- package/esm2020/sidepanel/lib/sidepanel.token.mjs +0 -6
- package/esm2020/sidepanel/lib/sidepanel.translate.mjs +0 -22
- package/sidepanel/lib/sidepanel-config.default.d.ts +0 -2
- package/sidepanel/lib/sidepanel-config.model.d.ts +0 -4
- package/sidepanel/lib/sidepanel-panel.component.d.ts +0 -19
- package/sidepanel/lib/sidepanel-ref.factory.d.ts +0 -29
- package/sidepanel/lib/sidepanel-ref.model.d.ts +0 -5
- package/sidepanel/lib/sidepanel.token.d.ts +0 -7
- package/sidepanel/lib/sidepanel.translate.d.ts +0 -9
|
@@ -1,17 +1,75 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
-
import * as i1 from '@angular/common';
|
|
5
|
-
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
1
|
+
import { Overlay, OverlayPositionBuilder, ScrollStrategyOptions, OverlayContainer, OverlayModule } from '@angular/cdk/overlay';
|
|
2
|
+
import { AsyncPipe, NgIf, NgFor, DOCUMENT } from '@angular/common';
|
|
6
3
|
import * as i0 from '@angular/core';
|
|
7
|
-
import { Directive, Input,
|
|
4
|
+
import { InjectionToken, inject, Component, Directive, Input, ViewContainerRef, Injector, TemplateRef, ChangeDetectorRef, ElementRef, ChangeDetectionStrategy, HostBinding, ViewChild, EventEmitter, ViewChildren, HostListener, Injectable, forwardRef, Output } from '@angular/core';
|
|
8
5
|
import * as i2 from '@angular/forms';
|
|
9
6
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
7
|
+
import { getIntl } from '@lucca-front/ng/core';
|
|
8
|
+
import { BehaviorSubject, observeOn, asyncScheduler, map, filter, take, takeUntil, ReplaySubject } from 'rxjs';
|
|
9
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
10
|
+
import * as i1 from '@angular/cdk/a11y';
|
|
13
11
|
import { ActiveDescendantKeyManager, A11yModule } from '@angular/cdk/a11y';
|
|
14
|
-
import
|
|
12
|
+
import { Platform } from '@angular/cdk/platform';
|
|
13
|
+
|
|
14
|
+
const LU_OPTION_CONTEXT = new InjectionToken('LuOptionContext');
|
|
15
|
+
function optionContextFactory() {
|
|
16
|
+
const isDisabled$ = new BehaviorSubject(false);
|
|
17
|
+
const option$ = new BehaviorSubject(undefined);
|
|
18
|
+
return {
|
|
19
|
+
isDisabled$,
|
|
20
|
+
option$,
|
|
21
|
+
destroy() {
|
|
22
|
+
isDisabled$.complete();
|
|
23
|
+
option$.complete();
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function provideOptionContext() {
|
|
28
|
+
return {
|
|
29
|
+
provide: LU_OPTION_CONTEXT,
|
|
30
|
+
useFactory: optionContextFactory,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
class LuSimpleSelectDefaultOptionComponent {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.context = inject(LU_OPTION_CONTEXT);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
LuSimpleSelectDefaultOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectDefaultOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
LuSimpleSelectDefaultOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSimpleSelectDefaultOptionComponent, isStandalone: true, selector: "lu-simple-select-default-option", ngImport: i0, template: `<ng-container *ngIf="context.option$ | async as option">{{ option?.name ?? option }}</ng-container>`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectDefaultOptionComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'lu-simple-select-default-option',
|
|
45
|
+
standalone: true,
|
|
46
|
+
imports: [AsyncPipe, NgIf],
|
|
47
|
+
template: `<ng-container *ngIf="context.option$ | async as option">{{ option?.name ?? option }}</ng-container>`,
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
|
|
51
|
+
class LuDisabledOptionDirective {
|
|
52
|
+
constructor() {
|
|
53
|
+
this.context = inject(LU_OPTION_CONTEXT);
|
|
54
|
+
}
|
|
55
|
+
set isDisabled(disabled) {
|
|
56
|
+
if (disabled !== null) {
|
|
57
|
+
this.context.isDisabled$.next(disabled);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
LuDisabledOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuDisabledOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
62
|
+
LuDisabledOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: LuDisabledOptionDirective, isStandalone: true, selector: "[luDisabledOption]", inputs: { isDisabled: ["luDisabledOption", "isDisabled"] }, ngImport: i0 });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuDisabledOptionDirective, decorators: [{
|
|
64
|
+
type: Directive,
|
|
65
|
+
args: [{
|
|
66
|
+
selector: '[luDisabledOption]',
|
|
67
|
+
standalone: true,
|
|
68
|
+
}]
|
|
69
|
+
}], propDecorators: { isDisabled: [{
|
|
70
|
+
type: Input,
|
|
71
|
+
args: ['luDisabledOption']
|
|
72
|
+
}] } });
|
|
15
73
|
|
|
16
74
|
class LuDisplayerDirective {
|
|
17
75
|
constructor(templateRef) {
|
|
@@ -42,20 +100,100 @@ const SELECT_PANEL_DATA = new InjectionToken('LuSelectId');
|
|
|
42
100
|
const SELECT_LABEL = new InjectionToken('LuSelectLabel');
|
|
43
101
|
const SELECT_LABEL_ID = new InjectionToken('LuSelectLabelId');
|
|
44
102
|
|
|
103
|
+
class LuOptionOutletDirective {
|
|
104
|
+
constructor() {
|
|
105
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
106
|
+
this.injector = inject(Injector);
|
|
107
|
+
this.optionContext = inject(LU_OPTION_CONTEXT);
|
|
108
|
+
}
|
|
109
|
+
ngOnChanges(changes) {
|
|
110
|
+
if (changes['luOptionOutlet'] || !this.luOptionOutletValue) {
|
|
111
|
+
this.clearContainer();
|
|
112
|
+
}
|
|
113
|
+
const hasRef = this.embeddedViewRef || this.componentRef;
|
|
114
|
+
if (changes['luOptionOutlet'] || (changes['luOptionOutletValue'] && !hasRef)) {
|
|
115
|
+
this.createComponent();
|
|
116
|
+
}
|
|
117
|
+
else if (changes['luOptionOutletValue']) {
|
|
118
|
+
this.updateRefValue();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
ngOnDestroy() {
|
|
122
|
+
this.optionContext.destroy();
|
|
123
|
+
}
|
|
124
|
+
clearContainer() {
|
|
125
|
+
this.viewContainerRef.clear();
|
|
126
|
+
this.embeddedViewRef?.destroy();
|
|
127
|
+
this.componentRef?.destroy();
|
|
128
|
+
this.embeddedViewRef = undefined;
|
|
129
|
+
this.componentRef = undefined;
|
|
130
|
+
}
|
|
131
|
+
createComponent() {
|
|
132
|
+
if (!this.luOptionOutlet || !this.luOptionOutletValue) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (this.luOptionOutlet instanceof TemplateRef) {
|
|
136
|
+
this.embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.luOptionOutlet, { $implicit: this.luOptionOutletValue }, { injector: this.injector });
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
this.optionContext.option$.next(this.luOptionOutletValue);
|
|
140
|
+
this.componentRef = this.viewContainerRef.createComponent(this.luOptionOutlet, { injector: this.injector });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
updateRefValue() {
|
|
144
|
+
if (!this.luOptionOutletValue) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (this.embeddedViewRef) {
|
|
148
|
+
this.embeddedViewRef.context = { $implicit: this.luOptionOutletValue };
|
|
149
|
+
}
|
|
150
|
+
else if (this.componentRef) {
|
|
151
|
+
this.optionContext.option$.next(this.luOptionOutletValue);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
LuOptionOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuOptionOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
156
|
+
LuOptionOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: LuOptionOutletDirective, isStandalone: true, selector: "[luOptionOutlet]", inputs: { luOptionOutlet: "luOptionOutlet", luOptionOutletValue: "luOptionOutletValue" }, providers: [provideOptionContext()], usesOnChanges: true, ngImport: i0 });
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuOptionOutletDirective, decorators: [{
|
|
158
|
+
type: Directive,
|
|
159
|
+
args: [{
|
|
160
|
+
selector: '[luOptionOutlet]',
|
|
161
|
+
standalone: true,
|
|
162
|
+
providers: [provideOptionContext()],
|
|
163
|
+
}]
|
|
164
|
+
}], propDecorators: { luOptionOutlet: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], luOptionOutletValue: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}] } });
|
|
169
|
+
|
|
45
170
|
class LuOptionComponent {
|
|
46
|
-
constructor(
|
|
47
|
-
this.elementRef = elementRef;
|
|
48
|
-
this.selectId = selectId;
|
|
171
|
+
constructor() {
|
|
49
172
|
this.hasOptionItemClass = true;
|
|
50
173
|
this.isSelected = false;
|
|
51
174
|
this.optionIndex = 0;
|
|
52
175
|
this.isHighlighted$ = new BehaviorSubject(false);
|
|
176
|
+
/**
|
|
177
|
+
* Whether option is disabled. Used by ListKeyManager.
|
|
178
|
+
*/
|
|
53
179
|
this.disabled = false;
|
|
180
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
54
181
|
this.role = 'option';
|
|
182
|
+
this.elementRef = inject(ElementRef);
|
|
183
|
+
this.selectId = inject(SELECT_ID);
|
|
55
184
|
}
|
|
56
185
|
get id() {
|
|
57
186
|
return `lu-select-${this.selectId}-option-${this.optionIndex}`;
|
|
58
187
|
}
|
|
188
|
+
ngOnDestroy() {
|
|
189
|
+
this.subscription?.unsubscribe();
|
|
190
|
+
}
|
|
191
|
+
ngAfterViewInit() {
|
|
192
|
+
this.subscription = this.optionContext.isDisabled$.pipe(observeOn(asyncScheduler)).subscribe((isDisabled) => {
|
|
193
|
+
this.disabled = isDisabled;
|
|
194
|
+
this.cdr.markForCheck();
|
|
195
|
+
});
|
|
196
|
+
}
|
|
59
197
|
setActiveStyles() {
|
|
60
198
|
this.isHighlighted$.next(true);
|
|
61
199
|
this.elementRef.nativeElement.scrollIntoView({ block: 'center' });
|
|
@@ -63,18 +201,22 @@ class LuOptionComponent {
|
|
|
63
201
|
setInactiveStyles() {
|
|
64
202
|
this.isHighlighted$.next(false);
|
|
65
203
|
}
|
|
204
|
+
selectOption($event) {
|
|
205
|
+
if (this.disabled) {
|
|
206
|
+
$event.stopPropagation();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
66
209
|
}
|
|
67
|
-
LuOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuOptionComponent, deps: [
|
|
68
|
-
LuOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuOptionComponent, isStandalone: true, selector: "lu-select-option", inputs: { isSelected: "isSelected", option: "option", optionIndex: "optionIndex"
|
|
210
|
+
LuOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
211
|
+
LuOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuOptionComponent, isStandalone: true, selector: "lu-select-option", inputs: { optionTpl: "optionTpl", isSelected: "isSelected", option: "option", optionIndex: "optionIndex" }, host: { properties: { "class.optionItem": "this.hasOptionItemClass", "attr.aria-selected": "this.isSelected", "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "optionContext", first: true, predicate: LuOptionOutletDirective, descendants: true, read: LU_OPTION_CONTEXT, static: true }], ngImport: i0, template: "<div\r\n\tclass=\"optionItem-value\"\r\n\t[class.is-selected]=\"isSelected\"\r\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\r\n\t[class.is-disabled]=\"disabled\"\r\n\t(click)=\"selectOption($event)\"\r\n>\r\n\t<ng-container *luOptionOutlet=\"optionTpl; value: option\"></ng-container>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}:host{display:block}.optionItem{position:relative}.optionItem-value{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);transition:background-color 50ms;cursor:pointer}.optionItem-value.is-selected{background-color:var(--palettes-primary-50)}.optionItem-value:hover,.optionItem-value.is-highlighted,.optionItem-value.is-focus{background-color:var(--palettes-grey-50)}:host-context(.lu-select-value) .optionItem-value{padding:0;overflow:hidden;text-overflow:ellipsis}:host-context(.lu-select-value) .optionItem-value:hover,:host-context(.lu-select-value) .optionItem-value.is-focus,:host-context(.lu-select-value) .optionItem-value.is-highlighted{background-color:inherit}:host-context(.mod-multiple) .optionItem-value{position:relative;padding-left:var(--components-options-item-multiple-padding)}:host-context(.mod-multiple) .optionItem-value:after,:host-context(.mod-multiple) .optionItem-value:before{display:block;position:absolute;left:var(--components-options-checkbox-left);top:50%;transform:translateY(-50%)}:host-context(.mod-multiple) .optionItem-value:before{content:\"\";border-radius:var(--components-options-checkbox-border-radius);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-border-color);display:block;height:var(--components-options-checkbox-size);transition:all .1s;width:var(--components-options-checkbox-size)}:host-context(.mod-multiple) .optionItem-value:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:transparent;font-size:1rem;line-height:var(--components-options-checkbox-size);padding-top:.05rem;position:absolute;text-align:center;transform:translateY(-50%) scale(0);transition:all .1s;width:var(--components-options-checkbox-size)}@supports (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"/\"\"}}@supports not (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"}}:host-context(.mod-multiple) .optionItem-value.is-selected:before{background-color:var(--components-options-checkbox-color);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple) .optionItem-value.is-selected:after{color:var(--colors-white-color);transform:translateY(-50%) scale(1)}:host-context(.mod-multiple) .optionItem-value:hover:before{box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple).establishmentOption .optionItem-value{position:relative;padding-left:calc(2 * var(--components-options-item-padding-horizontal) + var(--components-options-checkbox-size) + var(--spacings-XS))}:host-context(.mod-multiple).establishmentOption .optionItem-value:before,:host-context(.mod-multiple).establishmentOption .optionItem-value:after{left:calc(2 * var(--components-options-item-padding-horizontal))}.is-disabled{color:var(--palettes-grey-500);-webkit-user-select:none;user-select:none;cursor:default}.is-disabled.is-selected{background-color:var(--palettes-grey-100)}.is-disabled:hover{background-color:inherit}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
69
212
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuOptionComponent, decorators: [{
|
|
70
213
|
type: Component,
|
|
71
|
-
args: [{ selector: 'lu-select-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
72
|
-
}],
|
|
73
|
-
type: Inject,
|
|
74
|
-
args: [SELECT_ID]
|
|
75
|
-
}] }]; }, propDecorators: { hasOptionItemClass: [{
|
|
214
|
+
args: [{ selector: 'lu-select-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe, LuOptionOutletDirective], template: "<div\r\n\tclass=\"optionItem-value\"\r\n\t[class.is-selected]=\"isSelected\"\r\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\r\n\t[class.is-disabled]=\"disabled\"\r\n\t(click)=\"selectOption($event)\"\r\n>\r\n\t<ng-container *luOptionOutlet=\"optionTpl; value: option\"></ng-container>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}:host{display:block}.optionItem{position:relative}.optionItem-value{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);transition:background-color 50ms;cursor:pointer}.optionItem-value.is-selected{background-color:var(--palettes-primary-50)}.optionItem-value:hover,.optionItem-value.is-highlighted,.optionItem-value.is-focus{background-color:var(--palettes-grey-50)}:host-context(.lu-select-value) .optionItem-value{padding:0;overflow:hidden;text-overflow:ellipsis}:host-context(.lu-select-value) .optionItem-value:hover,:host-context(.lu-select-value) .optionItem-value.is-focus,:host-context(.lu-select-value) .optionItem-value.is-highlighted{background-color:inherit}:host-context(.mod-multiple) .optionItem-value{position:relative;padding-left:var(--components-options-item-multiple-padding)}:host-context(.mod-multiple) .optionItem-value:after,:host-context(.mod-multiple) .optionItem-value:before{display:block;position:absolute;left:var(--components-options-checkbox-left);top:50%;transform:translateY(-50%)}:host-context(.mod-multiple) .optionItem-value:before{content:\"\";border-radius:var(--components-options-checkbox-border-radius);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-border-color);display:block;height:var(--components-options-checkbox-size);transition:all .1s;width:var(--components-options-checkbox-size)}:host-context(.mod-multiple) .optionItem-value:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:transparent;font-size:1rem;line-height:var(--components-options-checkbox-size);padding-top:.05rem;position:absolute;text-align:center;transform:translateY(-50%) scale(0);transition:all .1s;width:var(--components-options-checkbox-size)}@supports (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"/\"\"}}@supports not (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"}}:host-context(.mod-multiple) .optionItem-value.is-selected:before{background-color:var(--components-options-checkbox-color);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple) .optionItem-value.is-selected:after{color:var(--colors-white-color);transform:translateY(-50%) scale(1)}:host-context(.mod-multiple) .optionItem-value:hover:before{box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple).establishmentOption .optionItem-value{position:relative;padding-left:calc(2 * var(--components-options-item-padding-horizontal) + var(--components-options-checkbox-size) + var(--spacings-XS))}:host-context(.mod-multiple).establishmentOption .optionItem-value:before,:host-context(.mod-multiple).establishmentOption .optionItem-value:after{left:calc(2 * var(--components-options-item-padding-horizontal))}.is-disabled{color:var(--palettes-grey-500);-webkit-user-select:none;user-select:none;cursor:default}.is-disabled.is-selected{background-color:var(--palettes-grey-100)}.is-disabled:hover{background-color:inherit}\n"] }]
|
|
215
|
+
}], propDecorators: { hasOptionItemClass: [{
|
|
76
216
|
type: HostBinding,
|
|
77
217
|
args: ['class.optionItem']
|
|
218
|
+
}], optionTpl: [{
|
|
219
|
+
type: Input
|
|
78
220
|
}], isSelected: [{
|
|
79
221
|
type: Input
|
|
80
222
|
}, {
|
|
@@ -84,8 +226,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
84
226
|
type: Input
|
|
85
227
|
}], optionIndex: [{
|
|
86
228
|
type: Input
|
|
87
|
-
}],
|
|
88
|
-
type:
|
|
229
|
+
}], optionContext: [{
|
|
230
|
+
type: ViewChild,
|
|
231
|
+
args: [LuOptionOutletDirective, { read: LU_OPTION_CONTEXT, static: true }]
|
|
89
232
|
}], role: [{
|
|
90
233
|
type: HostBinding,
|
|
91
234
|
args: ['attr.role']
|
|
@@ -118,6 +261,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
118
261
|
args: ['luOptionSelect']
|
|
119
262
|
}] } });
|
|
120
263
|
|
|
264
|
+
const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {
|
|
265
|
+
factory: () => luSimpleSelectTranslations,
|
|
266
|
+
});
|
|
267
|
+
const luSimpleSelectTranslations = {
|
|
268
|
+
en: {
|
|
269
|
+
placeholder: 'Select an option',
|
|
270
|
+
clear: 'Clear',
|
|
271
|
+
clearSearch: 'Clear search',
|
|
272
|
+
emptyResults: 'No results',
|
|
273
|
+
},
|
|
274
|
+
fr: {
|
|
275
|
+
placeholder: 'Sélectionnez une option',
|
|
276
|
+
clear: 'Effacer',
|
|
277
|
+
clearSearch: 'Vider la recherche',
|
|
278
|
+
emptyResults: 'Aucun résultat pour votre recherche',
|
|
279
|
+
},
|
|
280
|
+
de: {
|
|
281
|
+
placeholder: 'Wählen Sie eine Option',
|
|
282
|
+
clear: 'Löschen',
|
|
283
|
+
clearSearch: 'Suche löschen',
|
|
284
|
+
emptyResults: 'Keine Ergebnisse für Ihre Suche',
|
|
285
|
+
},
|
|
286
|
+
es: {
|
|
287
|
+
placeholder: 'Seleccione una opción',
|
|
288
|
+
clear: 'Borrar',
|
|
289
|
+
clearSearch: 'Borrar búsqueda',
|
|
290
|
+
emptyResults: 'No hay resultados para su búsqueda',
|
|
291
|
+
},
|
|
292
|
+
pt: {
|
|
293
|
+
placeholder: 'Selecione uma opção',
|
|
294
|
+
clear: 'Limpar',
|
|
295
|
+
clearSearch: 'Limpar pesquisa',
|
|
296
|
+
emptyResults: 'Nenhum resultado para sua pesquisa',
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
|
|
121
300
|
class LuSelectPanelRef {
|
|
122
301
|
constructor() {
|
|
123
302
|
this.closed = new EventEmitter();
|
|
@@ -130,9 +309,7 @@ class LuSelectPanelRef {
|
|
|
130
309
|
close() {
|
|
131
310
|
this.closed.next();
|
|
132
311
|
this.closed.complete();
|
|
133
|
-
this.nextPage.next();
|
|
134
312
|
this.nextPage.complete();
|
|
135
|
-
this.previousPage.next();
|
|
136
313
|
this.previousPage.complete();
|
|
137
314
|
this.valueChanged.complete();
|
|
138
315
|
this.clueChanged.emit(null);
|
|
@@ -140,18 +317,21 @@ class LuSelectPanelRef {
|
|
|
140
317
|
this.activeOptionIdChanged.emit(undefined);
|
|
141
318
|
this.activeOptionIdChanged.complete();
|
|
142
319
|
}
|
|
143
|
-
}
|
|
320
|
+
}
|
|
321
|
+
|
|
144
322
|
class LuSelectPanelComponent {
|
|
145
|
-
constructor(
|
|
146
|
-
this.
|
|
147
|
-
this.
|
|
323
|
+
constructor() {
|
|
324
|
+
this.panelData = inject(SELECT_PANEL_DATA);
|
|
325
|
+
this.panelRef = inject(LuSelectPanelRef);
|
|
326
|
+
this.selectId = inject(SELECT_ID);
|
|
327
|
+
this.intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);
|
|
328
|
+
this.options$ = this.panelData.options$;
|
|
329
|
+
this.loading$ = this.panelData.loading$;
|
|
330
|
+
this.optionComparer = this.panelData.optionComparer;
|
|
331
|
+
this.initialValue = this.panelData.initialValue;
|
|
332
|
+
this.optionTpl = this.panelData.optionTpl;
|
|
333
|
+
this.searchable = this.panelData.searchable;
|
|
148
334
|
this.search = null;
|
|
149
|
-
this.options$ = data.options$;
|
|
150
|
-
this.loading$ = data.loading$;
|
|
151
|
-
this.optionComparer = data.optionComparer;
|
|
152
|
-
this.initialValue = data.initialValue;
|
|
153
|
-
this.optionTpl = data.optionTpl;
|
|
154
|
-
this.searchable = data.searchable;
|
|
155
335
|
}
|
|
156
336
|
set searchInput(input) {
|
|
157
337
|
if (!input) {
|
|
@@ -169,7 +349,7 @@ class LuSelectPanelComponent {
|
|
|
169
349
|
if (evt.target.scrollTop === 0) {
|
|
170
350
|
this.panelRef.previousPage.emit();
|
|
171
351
|
}
|
|
172
|
-
if (evt.target.scrollHeight
|
|
352
|
+
if (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {
|
|
173
353
|
this.panelRef.nextPage.emit();
|
|
174
354
|
}
|
|
175
355
|
}
|
|
@@ -180,7 +360,7 @@ class LuSelectPanelComponent {
|
|
|
180
360
|
this.keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();
|
|
181
361
|
if (this.initialValue) {
|
|
182
362
|
this.options$
|
|
183
|
-
?.pipe(
|
|
363
|
+
?.pipe(observeOn(asyncScheduler), map((options) => options.findIndex((o) => this.optionComparer(o, this.initialValue))), filter((index) => index !== -1), take(1), takeUntil(this.panelRef.closed))
|
|
184
364
|
.subscribe((selectedIndex) => this.keyManager.setActiveItem(selectedIndex));
|
|
185
365
|
}
|
|
186
366
|
this.keyManager.change
|
|
@@ -204,18 +384,12 @@ class LuSelectPanelComponent {
|
|
|
204
384
|
setTimeout(() => this.keyManager.setFirstItemActive());
|
|
205
385
|
}
|
|
206
386
|
}
|
|
207
|
-
LuSelectPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectPanelComponent, deps: [
|
|
208
|
-
LuSelectPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: LuOptionComponent, descendants: true }], ngImport: i0, template: "<div\r\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\trole=\"dialog\"\r\n\tcdkTrapFocus\r\n\t*ngIf=\"{ options: options$ | async } as ctx\"\r\n\t[cdkTrapFocusAutoCapture]=\"true\"\r\n>\r\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\r\n\t\t<ng-container *ngIf=\"searchable\">\r\n\t\t\t<div class=\"textfield mod-search\">\r\n\t\t\t\t<input #searchInput class=\"textfield-input\" [
|
|
387
|
+
LuSelectPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
388
|
+
LuSelectPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: LuOptionComponent, descendants: true }], ngImport: i0, template: "<div\r\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\trole=\"dialog\"\r\n\tcdkTrapFocus\r\n\t*ngIf=\"{ options: options$ | async } as ctx\"\r\n\t[cdkTrapFocusAutoCapture]=\"true\"\r\n>\r\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\r\n\t\t<ng-container *ngIf=\"searchable\">\r\n\t\t\t<div class=\"panel-search textfield mod-search\">\r\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\r\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\r\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<lu-select-option\r\n\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\r\n\t\t\t[option]=\"option\"\r\n\t\t\t[optionTpl]=\"optionTpl\"\r\n\t\t\t[optionIndex]=\"index\"\r\n\t\t\t[isSelected]=\"option === selected\"\r\n\t\t\t(click)=\"panelRef.emitValue(option)\"\r\n\t\t></lu-select-option>\r\n\r\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\r\n\t</div>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}.textfield.mod-search{width:100%}.textfield-input{border-radius:0;box-shadow:none;background-color:var(--colors-white-color);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color)}.textfield-input:hover{background-color:var(--palettes-grey-50)}.textfield-input:focus{background-color:var(--colors-white-color);border-bottom-color:var(--palettes-primary-600)}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "isSelected", "option", "optionIndex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
209
389
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectPanelComponent, decorators: [{
|
|
210
390
|
type: Component,
|
|
211
|
-
args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
212
|
-
}],
|
|
213
|
-
type: Inject,
|
|
214
|
-
args: [SELECT_ID]
|
|
215
|
-
}] }, { type: undefined, decorators: [{
|
|
216
|
-
type: Inject,
|
|
217
|
-
args: [SELECT_PANEL_DATA]
|
|
218
|
-
}] }]; }, propDecorators: { searchInput: [{
|
|
391
|
+
args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, LuOptionComponent], template: "<div\r\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\trole=\"dialog\"\r\n\tcdkTrapFocus\r\n\t*ngIf=\"{ options: options$ | async } as ctx\"\r\n\t[cdkTrapFocusAutoCapture]=\"true\"\r\n>\r\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\r\n\t\t<ng-container *ngIf=\"searchable\">\r\n\t\t\t<div class=\"panel-search textfield mod-search\">\r\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\r\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\r\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<lu-select-option\r\n\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\r\n\t\t\t[option]=\"option\"\r\n\t\t\t[optionTpl]=\"optionTpl\"\r\n\t\t\t[optionIndex]=\"index\"\r\n\t\t\t[isSelected]=\"option === selected\"\r\n\t\t\t(click)=\"panelRef.emitValue(option)\"\r\n\t\t></lu-select-option>\r\n\r\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\r\n\t</div>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}.textfield.mod-search{width:100%}.textfield-input{border-radius:0;box-shadow:none;background-color:var(--colors-white-color);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color)}.textfield-input:hover{background-color:var(--palettes-grey-50)}.textfield-input:focus{background-color:var(--colors-white-color);border-bottom-color:var(--palettes-primary-600)}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"] }]
|
|
392
|
+
}], propDecorators: { searchInput: [{
|
|
219
393
|
type: ViewChild,
|
|
220
394
|
args: ['searchInput']
|
|
221
395
|
}], optionsQL: [{
|
|
@@ -226,53 +400,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
226
400
|
args: ['keydown', ['$event']]
|
|
227
401
|
}] } });
|
|
228
402
|
|
|
229
|
-
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
230
|
-
let selectId = 0;
|
|
231
|
-
function selectIdFactory() {
|
|
232
|
-
return selectId++;
|
|
233
|
-
}
|
|
234
|
-
function selectLabelFactory(elementRef) {
|
|
235
|
-
function getLabel(node) {
|
|
236
|
-
if (node instanceof HTMLLabelElement) {
|
|
237
|
-
return node;
|
|
238
|
-
}
|
|
239
|
-
if (!node.parentElement) {
|
|
240
|
-
return undefined;
|
|
241
|
-
}
|
|
242
|
-
return getLabel(node.parentElement);
|
|
243
|
-
}
|
|
244
|
-
return getLabel(elementRef.nativeElement);
|
|
245
|
-
}
|
|
246
|
-
function selectLabelIdFactory(label, selectId) {
|
|
247
|
-
return label?.id || `lu-select-label-${selectId}`;
|
|
248
|
-
}
|
|
249
|
-
class LuSelectOverlayContainer extends OverlayContainer {
|
|
250
|
-
constructor(document, platform, selectLabelId, selectId) {
|
|
251
|
-
super(document, platform);
|
|
252
|
-
this.selectLabelId = selectLabelId;
|
|
253
|
-
this.selectId = selectId;
|
|
254
|
-
}
|
|
255
|
-
_createContainer() {
|
|
256
|
-
super._createContainer();
|
|
257
|
-
this._containerElement.setAttribute('aria-labelledby', this.selectLabelId);
|
|
258
|
-
this._containerElement.setAttribute('role', 'listbox');
|
|
259
|
-
this._containerElement.id = `lu-select-overlay-container-${this.selectId}`;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
LuSelectOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }, { token: SELECT_LABEL_ID }, { token: SELECT_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
263
|
-
LuSelectOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectOverlayContainer });
|
|
264
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectOverlayContainer, decorators: [{
|
|
265
|
-
type: Injectable
|
|
266
|
-
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
267
|
-
type: Inject,
|
|
268
|
-
args: [DOCUMENT]
|
|
269
|
-
}] }, { type: i1$1.Platform }, { type: undefined, decorators: [{
|
|
270
|
-
type: Inject,
|
|
271
|
-
args: [SELECT_LABEL_ID]
|
|
272
|
-
}] }, { type: undefined, decorators: [{
|
|
273
|
-
type: Inject,
|
|
274
|
-
args: [SELECT_ID]
|
|
275
|
-
}] }]; } });
|
|
276
403
|
class SelectPanelRef extends LuSelectPanelRef {
|
|
277
404
|
constructor(overlayRef, parentInjector, panelData) {
|
|
278
405
|
super();
|
|
@@ -302,36 +429,141 @@ class SelectPanelRef extends LuSelectPanelRef {
|
|
|
302
429
|
this.overlayRef.detach();
|
|
303
430
|
}
|
|
304
431
|
}
|
|
432
|
+
class LuSimpleSelectPanelRefFactory {
|
|
433
|
+
constructor() {
|
|
434
|
+
this.overlay = inject(Overlay);
|
|
435
|
+
this.elementRef = inject(ElementRef);
|
|
436
|
+
this.positionBuilder = inject(OverlayPositionBuilder);
|
|
437
|
+
this.scrollStrategies = inject(ScrollStrategyOptions);
|
|
438
|
+
this.parentInjector = inject(Injector);
|
|
439
|
+
}
|
|
440
|
+
buildPanelRef(panelData, overlayConfigOverride = {}) {
|
|
441
|
+
const overlayConfig = this.buildOverlayConfig(overlayConfigOverride);
|
|
442
|
+
const overlayRef = this.overlay.create(overlayConfig);
|
|
443
|
+
return new SelectPanelRef(overlayRef, this.parentInjector, panelData);
|
|
444
|
+
}
|
|
445
|
+
buildOverlayConfig(overlayConfigOverride = {}) {
|
|
446
|
+
const overlayConfig = overlayConfigOverride || {};
|
|
447
|
+
overlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([
|
|
448
|
+
{
|
|
449
|
+
originX: 'start',
|
|
450
|
+
originY: 'bottom',
|
|
451
|
+
overlayX: 'start',
|
|
452
|
+
overlayY: 'top',
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
originX: 'end',
|
|
456
|
+
originY: 'bottom',
|
|
457
|
+
overlayX: 'end',
|
|
458
|
+
overlayY: 'top',
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
originX: 'start',
|
|
462
|
+
originY: 'top',
|
|
463
|
+
overlayX: 'start',
|
|
464
|
+
overlayY: 'bottom',
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
originX: 'end',
|
|
468
|
+
originY: 'top',
|
|
469
|
+
overlayX: 'end',
|
|
470
|
+
overlayY: 'bottom',
|
|
471
|
+
},
|
|
472
|
+
]);
|
|
473
|
+
overlayConfig.scrollStrategy = this.scrollStrategies.reposition();
|
|
474
|
+
overlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;
|
|
475
|
+
overlayConfig.maxHeight = '100vh';
|
|
476
|
+
overlayConfig.maxWidth = '100vw';
|
|
477
|
+
return overlayConfig;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
LuSimpleSelectPanelRefFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectPanelRefFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
481
|
+
LuSimpleSelectPanelRefFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectPanelRefFactory });
|
|
482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectPanelRefFactory, decorators: [{
|
|
483
|
+
type: Injectable
|
|
484
|
+
}] });
|
|
485
|
+
|
|
486
|
+
let selectId = 0;
|
|
487
|
+
function selectIdFactory() {
|
|
488
|
+
return selectId++;
|
|
489
|
+
}
|
|
490
|
+
function selectLabelFactory() {
|
|
491
|
+
const elementRef = inject(ElementRef);
|
|
492
|
+
function getLabel(node) {
|
|
493
|
+
if (node instanceof HTMLLabelElement) {
|
|
494
|
+
return node;
|
|
495
|
+
}
|
|
496
|
+
if (!node.parentElement) {
|
|
497
|
+
return undefined;
|
|
498
|
+
}
|
|
499
|
+
return getLabel(node.parentElement);
|
|
500
|
+
}
|
|
501
|
+
return getLabel(elementRef.nativeElement);
|
|
502
|
+
}
|
|
503
|
+
function selectLabelIdFactory() {
|
|
504
|
+
return inject(SELECT_LABEL)?.id || `lu-select-label-${inject(SELECT_ID)}`;
|
|
505
|
+
}
|
|
506
|
+
function provideLuSelectLabelsAndIds() {
|
|
507
|
+
return [
|
|
508
|
+
{ provide: SELECT_ID, useFactory: selectIdFactory },
|
|
509
|
+
{ provide: SELECT_LABEL, useFactory: selectLabelFactory },
|
|
510
|
+
{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory },
|
|
511
|
+
];
|
|
512
|
+
}
|
|
513
|
+
class LuSelectOverlayContainer extends OverlayContainer {
|
|
514
|
+
constructor() {
|
|
515
|
+
super(inject(DOCUMENT), inject(Platform));
|
|
516
|
+
this.selectLabelId = inject(SELECT_LABEL_ID);
|
|
517
|
+
this.selectId = inject(SELECT_ID);
|
|
518
|
+
}
|
|
519
|
+
_createContainer() {
|
|
520
|
+
super._createContainer();
|
|
521
|
+
this._containerElement.setAttribute('aria-labelledby', this.selectLabelId);
|
|
522
|
+
this._containerElement.setAttribute('role', 'listbox');
|
|
523
|
+
this._containerElement.id = `lu-select-overlay-container-${this.selectId}`;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
LuSelectOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectOverlayContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
527
|
+
LuSelectOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectOverlayContainer });
|
|
528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSelectOverlayContainer, decorators: [{
|
|
529
|
+
type: Injectable
|
|
530
|
+
}], ctorParameters: function () { return []; } });
|
|
531
|
+
function provideLuSelectOverlayContainer() {
|
|
532
|
+
return [
|
|
533
|
+
{
|
|
534
|
+
provide: OverlayContainer,
|
|
535
|
+
useClass: LuSelectOverlayContainer,
|
|
536
|
+
},
|
|
537
|
+
];
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
305
541
|
class LuSimpleSelectInputComponent {
|
|
306
|
-
constructor(
|
|
307
|
-
this.positionBuilder = positionBuilder;
|
|
308
|
-
this.scrollStrategies = scrollStrategies;
|
|
309
|
-
this.elementRef = elementRef;
|
|
310
|
-
this.injector = injector;
|
|
311
|
-
this.overlay = overlay;
|
|
312
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
313
|
-
this.label = label;
|
|
314
|
-
this.labelId = labelId;
|
|
542
|
+
constructor() {
|
|
315
543
|
this.tabindex = 0;
|
|
316
544
|
this.placeholder = '';
|
|
317
|
-
this.multiple = false;
|
|
318
545
|
this.clearable = false;
|
|
319
546
|
this.disabled = false;
|
|
320
|
-
this.isPanelOpen = false;
|
|
547
|
+
this.isPanelOpen$ = new BehaviorSubject(false);
|
|
321
548
|
this.role = 'combobox';
|
|
322
549
|
this.overlayConfig = {
|
|
323
550
|
hasBackdrop: true,
|
|
324
551
|
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
325
552
|
};
|
|
326
553
|
this.optionComparer = (option1, option2) => JSON.stringify(option1) === JSON.stringify(option2);
|
|
554
|
+
this.optionTpl = LuSimpleSelectDefaultOptionComponent;
|
|
327
555
|
this.clueChange = new EventEmitter();
|
|
328
556
|
this.nextPage = new EventEmitter();
|
|
329
557
|
this.previousPage = new EventEmitter();
|
|
330
558
|
this.options$ = new ReplaySubject(1);
|
|
331
559
|
this.loading$ = new ReplaySubject(1);
|
|
332
560
|
this.clue = null;
|
|
333
|
-
this.
|
|
334
|
-
this.
|
|
561
|
+
this.intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);
|
|
562
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
563
|
+
this.overlayContainerRef = inject(OverlayContainer).getContainerElement();
|
|
564
|
+
this.panelRefFactory = inject(LuSimpleSelectPanelRefFactory);
|
|
565
|
+
this.label = inject(SELECT_LABEL);
|
|
566
|
+
this.labelId = inject(SELECT_LABEL_ID);
|
|
335
567
|
}
|
|
336
568
|
get searchable() {
|
|
337
569
|
return this.clueChange.observed;
|
|
@@ -339,6 +571,9 @@ class LuSimpleSelectInputComponent {
|
|
|
339
571
|
get isFilled() {
|
|
340
572
|
return this.value !== null && this.value !== undefined;
|
|
341
573
|
}
|
|
574
|
+
get isPanelOpen() {
|
|
575
|
+
return this.isPanelOpen$.value;
|
|
576
|
+
}
|
|
342
577
|
get ariaControls() {
|
|
343
578
|
return this.overlayContainerRef.id;
|
|
344
579
|
}
|
|
@@ -348,6 +583,13 @@ class LuSimpleSelectInputComponent {
|
|
|
348
583
|
set options(options) {
|
|
349
584
|
this.options$.next(options);
|
|
350
585
|
}
|
|
586
|
+
get value() {
|
|
587
|
+
return this._value;
|
|
588
|
+
}
|
|
589
|
+
set value(value) {
|
|
590
|
+
this._value = value;
|
|
591
|
+
this.changeDetectorRef.markForCheck();
|
|
592
|
+
}
|
|
351
593
|
onKeydown($event) {
|
|
352
594
|
if (!this.isPanelOpen) {
|
|
353
595
|
this.openPanel();
|
|
@@ -365,8 +607,7 @@ class LuSimpleSelectInputComponent {
|
|
|
365
607
|
this.disabled = isDisabled;
|
|
366
608
|
}
|
|
367
609
|
ngOnDestroy() {
|
|
368
|
-
this.
|
|
369
|
-
this.destroyed$.complete();
|
|
610
|
+
this.panelRef?.close();
|
|
370
611
|
}
|
|
371
612
|
ngOnInit() {
|
|
372
613
|
if (this.label) {
|
|
@@ -375,58 +616,22 @@ class LuSimpleSelectInputComponent {
|
|
|
375
616
|
}
|
|
376
617
|
clearValue(event) {
|
|
377
618
|
event.stopPropagation();
|
|
378
|
-
this.
|
|
379
|
-
this.value = null;
|
|
619
|
+
this.updateValue(null);
|
|
380
620
|
}
|
|
381
621
|
openPanel() {
|
|
382
622
|
if (this.isPanelOpen || this.disabled) {
|
|
383
623
|
return;
|
|
384
624
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
{
|
|
388
|
-
originX: 'start',
|
|
389
|
-
originY: 'bottom',
|
|
390
|
-
overlayX: 'start',
|
|
391
|
-
overlayY: 'top',
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
originX: 'end',
|
|
395
|
-
originY: 'bottom',
|
|
396
|
-
overlayX: 'end',
|
|
397
|
-
overlayY: 'top',
|
|
398
|
-
},
|
|
399
|
-
{
|
|
400
|
-
originX: 'start',
|
|
401
|
-
originY: 'top',
|
|
402
|
-
overlayX: 'start',
|
|
403
|
-
overlayY: 'bottom',
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
originX: 'end',
|
|
407
|
-
originY: 'top',
|
|
408
|
-
overlayX: 'end',
|
|
409
|
-
overlayY: 'bottom',
|
|
410
|
-
},
|
|
411
|
-
]);
|
|
412
|
-
overlayConfig.scrollStrategy = this.scrollStrategies.reposition();
|
|
413
|
-
overlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;
|
|
414
|
-
overlayConfig.maxHeight = '100vh';
|
|
415
|
-
overlayConfig.maxWidth = '100vw';
|
|
416
|
-
const overlayRef = this.overlay.create(overlayConfig);
|
|
417
|
-
this.isPanelOpen = true;
|
|
418
|
-
this.panelRef = new SelectPanelRef(overlayRef, this.injector, {
|
|
625
|
+
this.isPanelOpen$.next(true);
|
|
626
|
+
this.panelRef = this.panelRefFactory.buildPanelRef({
|
|
419
627
|
initialValue: this.value,
|
|
420
628
|
optionComparer: this.optionComparer,
|
|
421
629
|
options$: this.options$,
|
|
422
630
|
loading$: this.loading$,
|
|
423
631
|
searchable: this.searchable,
|
|
424
632
|
optionTpl: this.optionTpl,
|
|
425
|
-
});
|
|
426
|
-
this.panelRef.valueChanged.subscribe((value) =>
|
|
427
|
-
this.onChange?.(value);
|
|
428
|
-
this.value = value;
|
|
429
|
-
});
|
|
633
|
+
}, this.overlayConfig);
|
|
634
|
+
this.panelRef.valueChanged.subscribe((value) => this.updateValue(value));
|
|
430
635
|
this.panelRef.nextPage.subscribe(() => this.nextPage.emit());
|
|
431
636
|
this.panelRef.previousPage.subscribe(() => this.previousPage.emit());
|
|
432
637
|
this.panelRef.clueChanged.subscribe((clue) => {
|
|
@@ -443,61 +648,47 @@ class LuSimpleSelectInputComponent {
|
|
|
443
648
|
if (!this.isPanelOpen) {
|
|
444
649
|
return;
|
|
445
650
|
}
|
|
446
|
-
this.isPanelOpen
|
|
651
|
+
this.isPanelOpen$.next(false);
|
|
447
652
|
this.panelRef.close();
|
|
448
653
|
this.panelRef = undefined;
|
|
449
654
|
}
|
|
450
655
|
writeValue(value) {
|
|
451
656
|
this.value = value;
|
|
452
657
|
}
|
|
658
|
+
updateValue(value) {
|
|
659
|
+
this.value = value;
|
|
660
|
+
this.onChange?.(value);
|
|
661
|
+
this.onTouched?.();
|
|
662
|
+
}
|
|
453
663
|
}
|
|
454
|
-
LuSimpleSelectInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectInputComponent, deps: [
|
|
455
|
-
LuSimpleSelectInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSimpleSelectInputComponent, isStandalone: true, selector: "lu-simple-select", inputs: { placeholder: "placeholder",
|
|
664
|
+
LuSimpleSelectInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
665
|
+
LuSimpleSelectInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSimpleSelectInputComponent, isStandalone: true, selector: "lu-simple-select", inputs: { placeholder: "placeholder", clearable: "clearable", disabled: "disabled", overlayConfig: "overlayConfig", loading: "loading", options: "options", optionComparer: "optionComparer", optionTpl: "optionTpl", valueTpl: "valueTpl" }, outputs: { clueChange: "clueChange", nextPage: "nextPage", previousPage: "previousPage" }, host: { listeners: { "keydown.space": "onKeydown($event)", "keydown.enter": "onKeydown($event)", "keydown.arrowDown": "onKeydown($event)", "click": "onKeydown($event)" }, properties: { "tabindex": "this.tabindex", "class.is-clearable": "this.clearable", "class.is-disabled": "this.disabled", "class.is-filled": "this.isFilled", "class.is-focused": "this.isPanelOpen", "attr.aria-expanded": "this.isPanelOpen", "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant", "attr.aria-controls": "this.ariaControls" } }, providers: [
|
|
456
666
|
{
|
|
457
667
|
provide: NG_VALUE_ACCESSOR,
|
|
458
668
|
useExisting: forwardRef(() => LuSimpleSelectInputComponent),
|
|
459
669
|
multi: true,
|
|
460
670
|
},
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
},
|
|
465
|
-
{ provide: SELECT_ID, useFactory: selectIdFactory },
|
|
466
|
-
{ provide: SELECT_LABEL, useFactory: selectLabelFactory, deps: [ElementRef] },
|
|
467
|
-
{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory, deps: [SELECT_LABEL, SELECT_ID] },
|
|
468
|
-
], ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *ngIf=\"isFilled\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"valueTpl || optionTpl; context: { $implicit: value }\"></ng-container>\r\n\t\t</ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<a *ngIf=\"clearable && isFilled\" role=\"button\" class=\"actionIcon\" (click)=\"clearValue($event)\">\r\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">thin_cross</span>\r\n\t\t<span class=\"u-mask\">Clear</span>\r\n\t</a>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}:host{--components-select-default-palette-50: var(--palettes-primary-50);--components-select-default-palette-100: var(--palettes-primary-100);--components-select-default-palette-200: var(--palettes-primary-200);--components-select-default-palette-300: var(--palettes-primary-300);--components-select-default-palette-400: var(--palettes-primary-400);--components-select-default-palette-500: var(--palettes-primary-500);--components-select-default-palette-600: var(--palettes-primary-600);--components-select-default-palette-700: var(--palettes-primary-700);--components-select-default-palette-800: var(--palettes-primary-800);--components-select-default-palette-900: var(--palettes-primary-900);--components-select-chip-background: var(--palettes-primary-700);--components-select-chip-text: var(--colors-white-color);--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-700, var(--components-select-default-palette-700));bottom:var(--components-select-input-padding-vertical);font-size:1.2rem;line-height:1.4rem;pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled]{cursor:not-allowed;pointer-events:all}:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-400, var(--components-select-default-palette-400));line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix{position:absolute;bottom:var(--spacings-XS);right:1.6rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{background-color:var(--components-select-chip-background);color:var(--components-select-chip-text);vertical-align:baseline;max-width:100%;height:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);padding:0 var(--spacings-XS);margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-filter) .lu-select-suffix{bottom:.4rem}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:hidden;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:2.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none;vertical-align:text-bottom}:host-context(.textfield-input.is-filled){display:inline-block}.actionIcon{height:1rem;width:1rem;padding:0;color:var(--palettes-700, var(--components-select-default-palette-700))}.actionIcon:hover{background-color:var(--palettes-50, var(--components-select-default-palette-50));color:var(--palettes-800, var(--components-select-default-palette-800))}.actionIcon:focus{background-color:var(--palettes-50, var(--components-select-default-palette-50));box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-200, var(--components-select-default-palette-200))}.lucca-icon{display:block;font-size:var(--sizes-M-fontSize)}:host-context(.textfield.mod-material) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield.mod-framed) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield-input.is-error) .actionIcon{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .actionIcon:hover{background-color:var(--palettes-error-50);color:var(--palettes-error-800)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}:host.is-disabled{display:inline-block!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
671
|
+
provideLuSelectOverlayContainer(),
|
|
672
|
+
provideLuSelectLabelsAndIds(),
|
|
673
|
+
LuSimpleSelectPanelRefFactory,
|
|
674
|
+
], ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<a *ngIf=\"clearable && isFilled\" role=\"button\" class=\"actionIcon\" (click)=\"clearValue($event)\">\r\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-thinCross\"></span>\r\n\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\r\n\t</a>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}:host{--components-select-chip-background: var(--palettes-primary-700);--components-select-chip-text: var(--colors-white-color);--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-700, var(--palettes-primary-700));bottom:var(--components-select-input-padding-vertical);font-size:1.2rem;line-height:1.4rem;pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled]{cursor:not-allowed;pointer-events:all}:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-400, var(--palettes-primary-400));line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix{position:absolute;bottom:var(--spacings-XS);right:1.6rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{background-color:var(--components-select-chip-background);color:var(--components-select-chip-text);vertical-align:baseline;max-width:100%;height:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);padding:0 var(--spacings-XS);margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-filter) .lu-select-suffix{bottom:.4rem}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:hidden;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none}:host-context(.textfield-input.is-filled){display:inline-block}.actionIcon{height:1.5rem;width:1.5rem;padding:0;color:var(--palettes-700, var(--palettes-primary-700))}.actionIcon:hover{background-color:var(--palettes-50, var(--palettes-primary-50));color:var(--palettes-800, var(--palettes-primary-800))}.actionIcon:focus{background-color:var(--palettes-50, var(--palettes-primary-50));box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-200, var(--palettes-primary-200))}:host-context(.textfield.mod-outlined) .actionIcon{color:var(--palettes-grey-700)}:host-context(.textfield.mod-outlined) .actionIcon:hover{background-color:var(--palettes-grey-50);color:var(--palettes-grey-800)}:host-context(.textfield.mod-outlined) .actionIcon:focus{background-color:var(--palettes-grey-50);box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-grey-200)}.lucca-icon{display:block}:host-context(.textfield.mod-material) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield.mod-framed) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield-input.is-error) .actionIcon{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .actionIcon:hover{background-color:var(--palettes-error-50);color:var(--palettes-error-800)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}:host.is-disabled{display:inline-block!important}\n"], dependencies: [{ kind: "directive", type: LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
469
675
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectInputComponent, decorators: [{
|
|
470
676
|
type: Component,
|
|
471
|
-
args: [{ selector: 'lu-simple-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
677
|
+
args: [{ selector: 'lu-simple-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe, LuOptionOutletDirective, NgIf, OverlayModule], providers: [
|
|
472
678
|
{
|
|
473
679
|
provide: NG_VALUE_ACCESSOR,
|
|
474
680
|
useExisting: forwardRef(() => LuSimpleSelectInputComponent),
|
|
475
681
|
multi: true,
|
|
476
682
|
},
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
},
|
|
481
|
-
|
|
482
|
-
{ provide: SELECT_LABEL, useFactory: selectLabelFactory, deps: [ElementRef] },
|
|
483
|
-
{ provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory, deps: [SELECT_LABEL, SELECT_ID] },
|
|
484
|
-
], template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *ngIf=\"isFilled\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"valueTpl || optionTpl; context: { $implicit: value }\"></ng-container>\r\n\t\t</ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<a *ngIf=\"clearable && isFilled\" role=\"button\" class=\"actionIcon\" (click)=\"clearValue($event)\">\r\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">thin_cross</span>\r\n\t\t<span class=\"u-mask\">Clear</span>\r\n\t</a>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}:host{--components-select-default-palette-50: var(--palettes-primary-50);--components-select-default-palette-100: var(--palettes-primary-100);--components-select-default-palette-200: var(--palettes-primary-200);--components-select-default-palette-300: var(--palettes-primary-300);--components-select-default-palette-400: var(--palettes-primary-400);--components-select-default-palette-500: var(--palettes-primary-500);--components-select-default-palette-600: var(--palettes-primary-600);--components-select-default-palette-700: var(--palettes-primary-700);--components-select-default-palette-800: var(--palettes-primary-800);--components-select-default-palette-900: var(--palettes-primary-900);--components-select-chip-background: var(--palettes-primary-700);--components-select-chip-text: var(--colors-white-color);--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-700, var(--components-select-default-palette-700));bottom:var(--components-select-input-padding-vertical);font-size:1.2rem;line-height:1.4rem;pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled]{cursor:not-allowed;pointer-events:all}:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-400, var(--components-select-default-palette-400));line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix{position:absolute;bottom:var(--spacings-XS);right:1.6rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{background-color:var(--components-select-chip-background);color:var(--components-select-chip-text);vertical-align:baseline;max-width:100%;height:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);padding:0 var(--spacings-XS);margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-filter) .lu-select-suffix{bottom:.4rem}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:hidden;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:2.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none;vertical-align:text-bottom}:host-context(.textfield-input.is-filled){display:inline-block}.actionIcon{height:1rem;width:1rem;padding:0;color:var(--palettes-700, var(--components-select-default-palette-700))}.actionIcon:hover{background-color:var(--palettes-50, var(--components-select-default-palette-50));color:var(--palettes-800, var(--components-select-default-palette-800))}.actionIcon:focus{background-color:var(--palettes-50, var(--components-select-default-palette-50));box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-200, var(--components-select-default-palette-200))}.lucca-icon{display:block;font-size:var(--sizes-M-fontSize)}:host-context(.textfield.mod-material) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield.mod-framed) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield-input.is-error) .actionIcon{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .actionIcon:hover{background-color:var(--palettes-error-50);color:var(--palettes-error-800)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}:host.is-disabled{display:inline-block!important}\n"] }]
|
|
485
|
-
}], ctorParameters: function () { return [{ type: i2$1.OverlayPositionBuilder }, { type: i2$1.ScrollStrategyOptions }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i2$1.Overlay }, { type: i0.ChangeDetectorRef }, { type: i2$1.OverlayContainer }, { type: undefined, decorators: [{
|
|
486
|
-
type: Inject,
|
|
487
|
-
args: [SELECT_LABEL]
|
|
488
|
-
}] }, { type: undefined, decorators: [{
|
|
489
|
-
type: Inject,
|
|
490
|
-
args: [SELECT_LABEL_ID]
|
|
491
|
-
}] }]; }, propDecorators: { tabindex: [{
|
|
683
|
+
provideLuSelectOverlayContainer(),
|
|
684
|
+
provideLuSelectLabelsAndIds(),
|
|
685
|
+
LuSimpleSelectPanelRefFactory,
|
|
686
|
+
], template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<a *ngIf=\"clearable && isFilled\" role=\"button\" class=\"actionIcon\" (click)=\"clearValue($event)\">\r\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-thinCross\"></span>\r\n\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\r\n\t</a>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: var(--spacings-L);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-borderRadius-M);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-M)}:host{--components-select-chip-background: var(--palettes-primary-700);--components-select-chip-text: var(--colors-white-color);--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-700, var(--palettes-primary-700));bottom:var(--components-select-input-padding-vertical);font-size:1.2rem;line-height:1.4rem;pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled]{cursor:not-allowed;pointer-events:all}:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-400, var(--palettes-primary-400));line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix{position:absolute;bottom:var(--spacings-XS);right:1.6rem}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{background-color:var(--components-select-chip-background);color:var(--components-select-chip-text);vertical-align:baseline;max-width:100%;height:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);padding:0 var(--spacings-XS);margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-filter) .lu-select-suffix{bottom:.4rem}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:hidden;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none}:host-context(.textfield-input.is-filled){display:inline-block}.actionIcon{height:1.5rem;width:1.5rem;padding:0;color:var(--palettes-700, var(--palettes-primary-700))}.actionIcon:hover{background-color:var(--palettes-50, var(--palettes-primary-50));color:var(--palettes-800, var(--palettes-primary-800))}.actionIcon:focus{background-color:var(--palettes-50, var(--palettes-primary-50));box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-200, var(--palettes-primary-200))}:host-context(.textfield.mod-outlined) .actionIcon{color:var(--palettes-grey-700)}:host-context(.textfield.mod-outlined) .actionIcon:hover{background-color:var(--palettes-grey-50);color:var(--palettes-grey-800)}:host-context(.textfield.mod-outlined) .actionIcon:focus{background-color:var(--palettes-grey-50);box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-grey-200)}.lucca-icon{display:block}:host-context(.textfield.mod-material) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield.mod-framed) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield-input.is-error) .actionIcon{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .actionIcon:hover{background-color:var(--palettes-error-50);color:var(--palettes-error-800)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}:host.is-disabled{display:inline-block!important}\n"] }]
|
|
687
|
+
}], propDecorators: { tabindex: [{
|
|
492
688
|
type: HostBinding,
|
|
493
689
|
args: ['tabindex']
|
|
494
690
|
}], placeholder: [{
|
|
495
691
|
type: Input
|
|
496
|
-
}], multiple: [{
|
|
497
|
-
type: Input
|
|
498
|
-
}, {
|
|
499
|
-
type: HostBinding,
|
|
500
|
-
args: ['class.mod-multiple']
|
|
501
692
|
}], clearable: [{
|
|
502
693
|
type: Input
|
|
503
694
|
}, {
|
|
@@ -566,5 +757,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
566
757
|
* Generated bundle index. Do not edit.
|
|
567
758
|
*/
|
|
568
759
|
|
|
569
|
-
export {
|
|
760
|
+
export { LU_SIMPLE_SELECT_TRANSLATIONS, LuDisabledOptionDirective, LuDisplayerDirective, LuOptionDirective, LuSelectPanelComponent, LuSelectPanelRef, LuSimpleSelectDefaultOptionComponent, LuSimpleSelectInputComponent, luSimpleSelectTranslations, LuOptionComponent as ɵLuOptionComponent };
|
|
570
761
|
//# sourceMappingURL=lucca-front-ng-simple-select.mjs.map
|