@lucca-front/ng 20.1.3-rc.2 → 20.2.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/index.d.ts +9 -2
- package/core-select/department/index.d.ts +49 -0
- package/core-select/index.d.ts +47 -6
- package/date2/index.d.ts +2 -2
- package/department/index.d.ts +9 -0
- package/dialog/index.d.ts +7 -2
- package/fesm2022/lucca-front-ng-a11y.mjs +2 -2
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +6 -6
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +2 -2
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +2 -2
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +39 -9
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +12 -12
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +2 -2
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +6 -6
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs +121 -0
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select-user.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +85 -12
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +4 -4
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +8 -8
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +11 -2
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +25 -14
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +3 -3
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +2 -2
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +6 -6
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +2 -2
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +15 -10
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +8 -8
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +2 -2
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +2 -2
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +2 -2
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +17 -16
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +366 -81
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +22 -20
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +4 -2
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +2 -2
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +2 -2
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +2 -2
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +5 -2
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +2 -2
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +89 -0
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-listing.mjs +2 -2
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +2 -2
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +2 -2
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +6 -6
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +93 -91
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +2 -2
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +1 -1
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +2 -2
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +83 -22
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +5 -5
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +2 -2
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +3 -3
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +2 -2
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scrollBox.mjs +2 -2
- package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +2 -2
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +24 -8
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +12 -12
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-statusBadge.mjs +9 -15
- package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +2 -2
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +7 -7
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +2 -2
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +3 -3
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tree-select.mjs +141 -0
- package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-user-popover.mjs +2 -2
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +31 -20
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/file-upload/index.d.ts +2 -1
- package/forms/index.d.ts +3 -2
- package/forms/rich-text-input/formatters/markdown/index.d.ts +5 -4
- package/forms/rich-text-input/index.d.ts +48 -12
- package/highlight-data/index.d.ts +2 -1
- package/input/index.d.ts +3 -0
- package/listbox/index.d.ts +38 -0
- package/multi-select/index.d.ts +8 -10
- package/option/index.d.ts +61 -0
- package/package.json +31 -14
- package/page-header/index.d.ts +1 -1
- package/pagination/index.d.ts +3 -3
- package/schematics/collection.json +6 -1
- package/schematics/lu-button/migration.js +4 -4
- package/schematics/lu-icon/migration.js +4 -4
- package/schematics/tokens-radius/index.js +22 -0
- package/schematics/tokens-radius/migration.spec.js +50 -0
- package/schematics/tokens-radius/schema.json +23 -0
- package/simple-select/index.d.ts +4 -2
- package/src/components/_picker.scss +1 -1
- package/src/components/_popover.scss +1 -1
- package/src/components/_popup.scss +1 -1
- package/src/components/cdk/_dragDrop.scss +6 -6
- package/src/definitions/option/_option-item.scss +5 -4
- package/statusBadge/index.d.ts +6 -6
- package/time/index.d.ts +1 -1
- package/tree-select/index.d.ts +35 -0
- package/user/index.d.ts +6 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
|
-
import { AsyncPipe,
|
|
2
|
+
import { AsyncPipe, NgTemplateOutlet, CommonModule, NgPlural, NgPluralCase } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken,
|
|
4
|
+
import { InjectionToken, inject, Pipe, signal, forwardRef, ChangeDetectionStrategy, Component, Injector, ChangeDetectorRef, ElementRef, Injectable, model, computed, viewChild, ViewContainerRef, booleanAttribute, numberAttribute, HostListener, HostBinding, Input, ViewEncapsulation, DestroyRef, Directive, effect, input, ViewChild } from '@angular/core';
|
|
5
5
|
import { toSignal, takeUntilDestroyed, outputToObservable } from '@angular/core/rxjs-interop';
|
|
6
6
|
import * as i2 from '@angular/forms';
|
|
7
7
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
8
|
import * as i1$2 from '@lucca-front/ng/core-select';
|
|
9
|
-
import { LuSelectPanelRef, SELECT_ID, CoreSelectKeyManager, ɵgetGroupTemplateLocation as _getGroupTemplateLocation, ɵLuOptionComponent as _LuOptionComponent, ɵLuOptionGroupPipe as _LuOptionGroupPipe, ɵCoreSelectPanelElement as _CoreSelectPanelElement, SELECT_PANEL_INSTANCE, SELECT_LABEL_ID, addAttributesOnCdkContainer, ALuSelectInputComponent, ɵLuOptionOutletDirective as _LuOptionOutletDirective, provideLuSelectLabelsAndIds, LU_OPTION_CONTEXT, CORE_SELECT_API_TOTAL_COUNT_PROVIDER } from '@lucca-front/ng/core-select';
|
|
9
|
+
import { LuSelectPanelRef, ɵIsSelectedStrategy as _IsSelectedStrategy, SELECT_ID, CoreSelectKeyManager, ɵgetGroupTemplateLocation as _getGroupTemplateLocation, LuIsOptionSelectedPipe, ɵLuOptionComponent as _LuOptionComponent, ɵLuOptionGroupPipe as _LuOptionGroupPipe, ɵCoreSelectPanelElement as _CoreSelectPanelElement, TreeDisplayPipe, SELECT_PANEL_INSTANCE, SELECT_LABEL_ID, addAttributesOnCdkContainer, ALuSelectInputComponent, ɵLuOptionOutletDirective as _LuOptionOutletDirective, provideLuSelectLabelsAndIds, LU_OPTION_CONTEXT, CORE_SELECT_API_TOTAL_COUNT_PROVIDER } from '@lucca-front/ng/core-select';
|
|
10
10
|
import { LuTooltipModule } from '@lucca-front/ng/tooltip';
|
|
11
11
|
import { EMPTY, takeUntil, Subject, of, BehaviorSubject } from 'rxjs';
|
|
12
12
|
import { getIntl, PortalDirective } from '@lucca-front/ng/core';
|
|
@@ -15,33 +15,13 @@ import { Overlay, OverlayPositionBuilder, ScrollStrategyOptions } from '@angular
|
|
|
15
15
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
16
16
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
17
17
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
18
|
+
import { TreeBranchComponent } from '@lucca-front/ng/tree-select';
|
|
18
19
|
import { startWith, switchMap, map } from 'rxjs/operators';
|
|
19
20
|
import * as i1$1 from '@lucca-front/ng/form-field';
|
|
20
21
|
import { InputDirective, FormFieldComponent } from '@lucca-front/ng/form-field';
|
|
21
22
|
import { NumericBadgeComponent } from '@lucca-front/ng/numeric-badge';
|
|
22
23
|
import { CheckboxInputComponent } from '@lucca-front/ng/forms';
|
|
23
24
|
|
|
24
|
-
const MULTI_SELECT_INPUT = new InjectionToken('MultiSelectInput');
|
|
25
|
-
class ɵIsSelectedStrategy {
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ɵIsSelectedStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ɵIsSelectedStrategy, providedIn: 'root', useFactory: () => new DefaultIsSelectedStrategy() }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ɵIsSelectedStrategy, decorators: [{
|
|
30
|
-
type: Injectable,
|
|
31
|
-
args: [{
|
|
32
|
-
providedIn: 'root',
|
|
33
|
-
useFactory: () => new DefaultIsSelectedStrategy(),
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
class DefaultIsSelectedStrategy extends ɵIsSelectedStrategy {
|
|
37
|
-
isSelected(option, selectedOptions, optionComparer) {
|
|
38
|
-
return selectedOptions.some((o) => optionComparer(o, option));
|
|
39
|
-
}
|
|
40
|
-
isGroupSelected(options, notSelectedOptions) {
|
|
41
|
-
return !notSelectedOptions.length && notSelectedOptions.length !== options.length;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
25
|
const Translations$1 = {
|
|
46
26
|
en: {
|
|
47
27
|
placeholder: 'Select an option',
|
|
@@ -157,8 +137,10 @@ const luMultiSelectTranslations = Translations$1;
|
|
|
157
137
|
class LuMultiSelectPanelRef extends LuSelectPanelRef {
|
|
158
138
|
}
|
|
159
139
|
|
|
140
|
+
const MULTI_SELECT_INPUT = new InjectionToken('MultiSelectInput');
|
|
141
|
+
|
|
160
142
|
class LuOptionsGroupContextPipe {
|
|
161
|
-
#selectionStrategy = inject(
|
|
143
|
+
#selectionStrategy = inject(_IsSelectedStrategy);
|
|
162
144
|
transform(groupOptions, selectedOptions, optionComparer) {
|
|
163
145
|
const notSelectedOptions = groupOptions.filter((o) => !selectedOptions.some((so) => optionComparer(so, o)));
|
|
164
146
|
return {
|
|
@@ -178,22 +160,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
178
160
|
}]
|
|
179
161
|
}] });
|
|
180
162
|
|
|
181
|
-
class LuIsOptionSelectedPipe {
|
|
182
|
-
#selectionStrategy = inject(ɵIsSelectedStrategy);
|
|
183
|
-
transform(option, comparer, selectedOptions) {
|
|
184
|
-
return this.#selectionStrategy.isSelected(option, selectedOptions, comparer);
|
|
185
|
-
}
|
|
186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuIsOptionSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
187
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuIsOptionSelectedPipe, isStandalone: true, name: "luIsOptionSelected" }); }
|
|
188
|
-
}
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuIsOptionSelectedPipe, decorators: [{
|
|
190
|
-
type: Pipe,
|
|
191
|
-
args: [{
|
|
192
|
-
name: 'luIsOptionSelected',
|
|
193
|
-
standalone: true,
|
|
194
|
-
}]
|
|
195
|
-
}] });
|
|
196
|
-
|
|
197
163
|
class LuMultiSelectPanelComponent {
|
|
198
164
|
constructor() {
|
|
199
165
|
this.selectInput = inject(MULTI_SELECT_INPUT);
|
|
@@ -202,12 +168,14 @@ class LuMultiSelectPanelComponent {
|
|
|
202
168
|
this.intl = getIntl(LU_MULTI_SELECT_TRANSLATIONS);
|
|
203
169
|
this.options$ = this.selectInput.options$;
|
|
204
170
|
this.grouping = this.selectInput.grouping;
|
|
171
|
+
this.treeGenerator = this.selectInput.treeGenerator;
|
|
205
172
|
this.loading$ = this.selectInput.loading$;
|
|
206
173
|
this.searchable = this.selectInput.searchable;
|
|
207
174
|
this.optionComparer = this.selectInput.optionComparer;
|
|
208
175
|
this.optionKey = this.selectInput.optionKey;
|
|
209
176
|
this.trackOptionsBy = (_, option) => this.optionKey(option);
|
|
210
177
|
this.trackGroupsBy = (_, group) => group.key;
|
|
178
|
+
this.trackBranchesBy = (_, option) => this.optionKey(option.node);
|
|
211
179
|
this.selectedOptions = this.selectInput.value || [];
|
|
212
180
|
this.optionTpl = this.selectInput.optionTpl;
|
|
213
181
|
this.options = signal([]);
|
|
@@ -271,7 +239,7 @@ class LuMultiSelectPanelComponent {
|
|
|
271
239
|
provide: SELECT_PANEL_INSTANCE,
|
|
272
240
|
useExisting: forwardRef(() => LuMultiSelectPanelComponent),
|
|
273
241
|
},
|
|
274
|
-
], ngImport: i0, template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel mod-multiple\"\n\trole=\"dialog\"\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div\n\t\tclass=\"lu-picker-content\"\n\t\t[class.is-loading]=\"loading$ | async\"\n\t\t[class.is-filled]=\"ctx.options.length > 0\"\n\t\ttabindex=\"0\"\n\t\trole=\"listbox\"\n\t\taria-multiselectable=\"true\"\n\t\t(scroll)=\"onScroll($event)\"\n\t>\n\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t<div>\n\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t</div>\n\t\t}\n\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup: grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\tattr.aria-labelledby=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\"\n\t\t\t\t>\n\t\t\t\t\t@let groupCtx = group.options | luOptionsGroupContext: selectedOptions : optionComparer;\n\t\t\t\t\t<div\n\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\telementId=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\"\n\t\t\t\t\t\tclass=\"lu-picker-content-option-group-title\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t(selected)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span #groupingTitleRef>\n\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\t\t(click)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t\t\t[id]=\"selectId + '-group-' + group.key\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"u-mask\">{{ groupingTitleRef.innerText }} \u2013 </span\n\t\t\t\t\t\t\t>{{ groupCtx.isGroupSelected ? intl.unselectAll : intl.selectAll }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[grouping]=\"ctx.groupTemplateLocation === 'option' ? grouping : undefined\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selectedOptions\"\n\t\t\t\t\t(selected)=\"toggleOption(option)\"\n\t\t\t\t\t(click)=\"toggleOption(option)\"\n\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t<div\n\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\tluCoreSelectPanelElement\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n", styles: [".optionItem-groupKey{padding-block:var(--components-options-item-padding-vertical) var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);font:var(--pr-t-font-body-S);inline-size:100%;text-align:start;color:var(--palettes-neutral-600);margin:0}.addOption{--components-button-font: var(--pr-t-font-body-M);--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--commons-borderRadius-M);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;--components-button-width: 100%;--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));justify-content:left}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.addOption:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { 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", "option", "grouping", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"] }, { kind: "pipe", type: _LuOptionGroupPipe, name: "luOptionGroup" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: LuOptionsGroupContextPipe, name: "luOptionsGroupContext" }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
242
|
+
], ngImport: i0, template: "@if (\n\t{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t};\n\tas ctx\n) {\n\t<div class=\"lu-picker-panel lu-option-picker-panel mod-multiple\" data-testid=\"dialog-panel\">\n\t\t<div\n\t\t\tclass=\"lu-picker-content\"\n\t\t\t[class.is-loading]=\"loading$ | async\"\n\t\t\t[class.is-filled]=\"ctx.options.length > 0\"\n\t\t\ttabindex=\"0\"\n\t\t\trole=\"listbox\"\n\t\t\taria-multiselectable=\"true\"\n\t\t\t(scroll)=\"onScroll($event)\"\n\t\t>\n\t\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t\t<div>\n\t\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t@if (grouping && ctx.groupTemplateLocation === \"group-header\") {\n\t\t\t\t\t@for (group of ctx.options | luOptionGroup: grouping.selector; track trackGroupsBy(groupIndex, group); let groupIndex = $index) {\n\t\t\t\t\t\t<div class=\"lu-picker-content-group\" role=\"group\" attr.aria-labelledby=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\">\n\t\t\t\t\t\t\t@let groupCtx = group.options | luOptionsGroupContext: selectedOptions : optionComparer;\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\telementId=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\"\n\t\t\t\t\t\t\t\tclass=\"lu-picker-content-option-group-title\"\n\t\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\t\t(selected)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span #groupingTitleRef>\n\t\t\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\t\t\t\t(click)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t\t\t\t\t[id]=\"selectId + '-group-' + group.key\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span class=\"pr-u-mask\">{{ groupingTitleRef.innerText }} \u2013 </span\n\t\t\t\t\t\t\t\t\t>{{ groupCtx.isGroupSelected ? intl.unselectAll : intl.selectAll }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@if (!grouping || ctx.groupTemplateLocation !== \"group-header\") {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t\t}\n\t\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t\t@if (treeGenerator) {\n\t\t\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track trackBranchesBy(index, branch)) {\n\t\t\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[selectedOptions]=\"selectedOptions\"\n\t\t\t\t\t\t\t\t[optionComparer]=\"optionComparer\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t(toggleOne)=\"toggleOption($event)\"\n\t\t\t\t\t\t\t\t(selectMany)=\"toggleOptions($event, [])\"\n\t\t\t\t\t\t\t\t(unselectMany)=\"toggleOptions([], $event)\"\n\t\t\t\t\t\t\t></lu-tree-branch>\n\t\t\t\t\t\t}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@for (option of options; track trackOptionsBy(index, option); let index = $index) {\n\t\t\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t[grouping]=\"ctx.groupTemplateLocation === 'option' ? grouping : undefined\"\n\t\t\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selectedOptions\"\n\t\t\t\t\t\t\t\t(selected)=\"toggleOption(option)\"\n\t\t\t\t\t\t\t\t(click)=\"toggleOption(option)\"\n\t\t\t\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</ng-template>\n\t\t\t\t@if (ctx.options.length === 0 && (loading$ | async) === false) {\n\t\t\t\t\t<div class=\"lu-picker-content-option-emptyState\">\n\t\t\t\t\t\t{{ intl.emptyResults }}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (loading$ | async) {\n\t\t\t\t<div class=\"lu-picker-content-loading\">\n\t\t\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;.optionItem-groupKey{padding-block:var(--components-options-item-padding-vertical) var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);font:var(--pr-t-font-body-S);inline-size:100%;text-align:start;color:var(--palettes-neutral-600);margin:0}.addOption{justify-content:left;--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;text-rendering:inherit;--components-button-width: 100%;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle))}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.addOption:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--pr-t-color-text-disabled)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }, { kind: "pipe", type: _LuOptionGroupPipe, name: "luOptionGroup" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: LuOptionsGroupContextPipe, name: "luOptionsGroupContext" }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "pipe", type: TreeDisplayPipe, name: "luTreeDisplay" }, { kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode"], outputs: ["toggleOne", "selectMany", "unselectMany"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
275
243
|
}
|
|
276
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectPanelComponent, decorators: [{
|
|
277
245
|
type: Component,
|
|
@@ -280,8 +248,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
280
248
|
AsyncPipe,
|
|
281
249
|
FormsModule,
|
|
282
250
|
LuIsOptionSelectedPipe,
|
|
283
|
-
NgIf,
|
|
284
|
-
NgFor,
|
|
285
251
|
_LuOptionComponent,
|
|
286
252
|
_LuOptionGroupPipe,
|
|
287
253
|
NgTemplateOutlet,
|
|
@@ -289,13 +255,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
289
255
|
LuOptionsGroupContextPipe,
|
|
290
256
|
_CoreSelectPanelElement,
|
|
291
257
|
IconComponent,
|
|
258
|
+
TreeDisplayPipe,
|
|
259
|
+
TreeBranchComponent,
|
|
292
260
|
], providers: [
|
|
293
261
|
CoreSelectKeyManager,
|
|
294
262
|
{
|
|
295
263
|
provide: SELECT_PANEL_INSTANCE,
|
|
296
264
|
useExisting: forwardRef(() => LuMultiSelectPanelComponent),
|
|
297
265
|
},
|
|
298
|
-
], template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel mod-multiple\"\n\trole=\"dialog\"\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div\n\t\tclass=\"lu-picker-content\"\n\t\t[class.is-loading]=\"loading$ | async\"\n\t\t[class.is-filled]=\"ctx.options.length > 0\"\n\t\ttabindex=\"0\"\n\t\trole=\"listbox\"\n\t\taria-multiselectable=\"true\"\n\t\t(scroll)=\"onScroll($event)\"\n\t>\n\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t<div>\n\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t</div>\n\t\t}\n\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup: grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\tattr.aria-labelledby=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\"\n\t\t\t\t>\n\t\t\t\t\t@let groupCtx = group.options | luOptionsGroupContext: selectedOptions : optionComparer;\n\t\t\t\t\t<div\n\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\telementId=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\"\n\t\t\t\t\t\tclass=\"lu-picker-content-option-group-title\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t(selected)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span #groupingTitleRef>\n\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\t\t(click)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t\t\t[id]=\"selectId + '-group-' + group.key\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"u-mask\">{{ groupingTitleRef.innerText }} \u2013 </span\n\t\t\t\t\t\t\t>{{ groupCtx.isGroupSelected ? intl.unselectAll : intl.selectAll }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[grouping]=\"ctx.groupTemplateLocation === 'option' ? grouping : undefined\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selectedOptions\"\n\t\t\t\t\t(selected)=\"toggleOption(option)\"\n\t\t\t\t\t(click)=\"toggleOption(option)\"\n\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t<div\n\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\tluCoreSelectPanelElement\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n", styles: [".optionItem-groupKey{padding-block:var(--components-options-item-padding-vertical) var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);font:var(--pr-t-font-body-S);inline-size:100%;text-align:start;color:var(--palettes-neutral-600);margin:0}.addOption{--components-button-font: var(--pr-t-font-body-M);--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--commons-borderRadius-M);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;--components-button-width: 100%;--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));justify-content:left}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.addOption:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"] }]
|
|
266
|
+
], template: "@if (\n\t{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t};\n\tas ctx\n) {\n\t<div class=\"lu-picker-panel lu-option-picker-panel mod-multiple\" data-testid=\"dialog-panel\">\n\t\t<div\n\t\t\tclass=\"lu-picker-content\"\n\t\t\t[class.is-loading]=\"loading$ | async\"\n\t\t\t[class.is-filled]=\"ctx.options.length > 0\"\n\t\t\ttabindex=\"0\"\n\t\t\trole=\"listbox\"\n\t\t\taria-multiselectable=\"true\"\n\t\t\t(scroll)=\"onScroll($event)\"\n\t\t>\n\t\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t\t<div>\n\t\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t@if (grouping && ctx.groupTemplateLocation === \"group-header\") {\n\t\t\t\t\t@for (group of ctx.options | luOptionGroup: grouping.selector; track trackGroupsBy(groupIndex, group); let groupIndex = $index) {\n\t\t\t\t\t\t<div class=\"lu-picker-content-group\" role=\"group\" attr.aria-labelledby=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\">\n\t\t\t\t\t\t\t@let groupCtx = group.options | luOptionsGroupContext: selectedOptions : optionComparer;\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\telementId=\"lu-select-{{ selectId }}-group-{{ groupIndex }}\"\n\t\t\t\t\t\t\t\tclass=\"lu-picker-content-option-group-title\"\n\t\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\t\t(selected)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span #groupingTitleRef>\n\t\t\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\t\t\t\t(click)=\"toggleOptions(groupCtx.notSelectedOptions, group.options)\"\n\t\t\t\t\t\t\t\t\t[id]=\"selectId + '-group-' + group.key\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span class=\"pr-u-mask\">{{ groupingTitleRef.innerText }} \u2013 </span\n\t\t\t\t\t\t\t\t\t>{{ groupCtx.isGroupSelected ? intl.unselectAll : intl.selectAll }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@if (!grouping || ctx.groupTemplateLocation !== \"group-header\") {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t\t}\n\t\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t\t@if (treeGenerator) {\n\t\t\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track trackBranchesBy(index, branch)) {\n\t\t\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[selectedOptions]=\"selectedOptions\"\n\t\t\t\t\t\t\t\t[optionComparer]=\"optionComparer\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t(toggleOne)=\"toggleOption($event)\"\n\t\t\t\t\t\t\t\t(selectMany)=\"toggleOptions($event, [])\"\n\t\t\t\t\t\t\t\t(unselectMany)=\"toggleOptions([], $event)\"\n\t\t\t\t\t\t\t></lu-tree-branch>\n\t\t\t\t\t\t}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@for (option of options; track trackOptionsBy(index, option); let index = $index) {\n\t\t\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t[grouping]=\"ctx.groupTemplateLocation === 'option' ? grouping : undefined\"\n\t\t\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selectedOptions\"\n\t\t\t\t\t\t\t\t(selected)=\"toggleOption(option)\"\n\t\t\t\t\t\t\t\t(click)=\"toggleOption(option)\"\n\t\t\t\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</ng-template>\n\t\t\t\t@if (ctx.options.length === 0 && (loading$ | async) === false) {\n\t\t\t\t\t<div class=\"lu-picker-content-option-emptyState\">\n\t\t\t\t\t\t{{ intl.emptyResults }}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (loading$ | async) {\n\t\t\t\t<div class=\"lu-picker-content-loading\">\n\t\t\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;.optionItem-groupKey{padding-block:var(--components-options-item-padding-vertical) var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);font:var(--pr-t-font-body-S);inline-size:100%;text-align:start;color:var(--palettes-neutral-600);margin:0}.addOption{justify-content:left;--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;text-rendering:inherit;--components-button-width: 100%;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle))}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.addOption:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--pr-t-color-text-disabled)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"] }]
|
|
299
267
|
}] });
|
|
300
268
|
|
|
301
269
|
class BaseMultiSelectPanelRef extends LuMultiSelectPanelRef {
|
|
@@ -440,6 +408,8 @@ class LuMultiSelectInputComponent extends ALuSelectInputComponent {
|
|
|
440
408
|
this.valuesTpl = model(LuMultiSelectDefaultDisplayerComponent);
|
|
441
409
|
this.maxValuesShown = 500;
|
|
442
410
|
this.keepSearchAfterSelection = false;
|
|
411
|
+
this.selectParent$ = new Subject();
|
|
412
|
+
this.selectChildren$ = new Subject();
|
|
443
413
|
this.hideCombobox = computed(() => this.valueSignal()?.length > 1);
|
|
444
414
|
this.filterPillPanelAnchorRef = viewChild('filterPillPanelAnchor', { read: ViewContainerRef });
|
|
445
415
|
this.isFilterPillEmpty = computed(() => {
|
|
@@ -462,6 +432,12 @@ class LuMultiSelectInputComponent extends ALuSelectInputComponent {
|
|
|
462
432
|
get panelRef() {
|
|
463
433
|
return this._panelRef;
|
|
464
434
|
}
|
|
435
|
+
selectParentOnly() {
|
|
436
|
+
this.selectParent$.next();
|
|
437
|
+
}
|
|
438
|
+
selectChildrenOnly() {
|
|
439
|
+
this.selectChildren$.next();
|
|
440
|
+
}
|
|
465
441
|
focusInput() {
|
|
466
442
|
this.focusInput$.next({ keepClue: true });
|
|
467
443
|
}
|
|
@@ -509,7 +485,7 @@ class LuMultiSelectInputComponent extends ALuSelectInputComponent {
|
|
|
509
485
|
this.focusInput$.complete();
|
|
510
486
|
}
|
|
511
487
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
512
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuMultiSelectInputComponent, isStandalone: true, selector: "lu-multi-select", inputs: { valuesTpl: { classPropertyName: "valuesTpl", publicName: "valuesTpl", isSignal: true, isRequired: false, transformFunction: null }, maxValuesShown: { classPropertyName: "maxValuesShown", publicName: "maxValuesShown", isSignal: false, isRequired: false, transformFunction: numberAttribute }, keepSearchAfterSelection: { classPropertyName: "keepSearchAfterSelection", publicName: "keepSearchAfterSelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPillLabelPlural: { classPropertyName: "filterPillLabelPlural", publicName: "filterPillLabelPlural", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valuesTpl: "valuesTplChange" }, host: { properties: { "class.mod-filterPill": "this.filterPillClass" }, classAttribute: "multiSelect" }, providers: [
|
|
488
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuMultiSelectInputComponent, isStandalone: true, selector: "lu-multi-select", inputs: { valuesTpl: { classPropertyName: "valuesTpl", publicName: "valuesTpl", isSignal: true, isRequired: false, transformFunction: null }, maxValuesShown: { classPropertyName: "maxValuesShown", publicName: "maxValuesShown", isSignal: false, isRequired: false, transformFunction: numberAttribute }, keepSearchAfterSelection: { classPropertyName: "keepSearchAfterSelection", publicName: "keepSearchAfterSelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPillLabelPlural: { classPropertyName: "filterPillLabelPlural", publicName: "filterPillLabelPlural", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valuesTpl: "valuesTplChange" }, host: { listeners: { "keydown.control.enter": "selectParentOnly()", "keydown.shift.enter": "selectChildrenOnly()" }, properties: { "class.mod-filterPill": "this.filterPillClass" }, classAttribute: "multiSelect" }, providers: [
|
|
513
489
|
{
|
|
514
490
|
provide: NG_VALUE_ACCESSOR,
|
|
515
491
|
useExisting: forwardRef(() => LuMultiSelectInputComponent),
|
|
@@ -525,7 +501,7 @@ class LuMultiSelectInputComponent extends ALuSelectInputComponent {
|
|
|
525
501
|
provide: FILTER_PILL_INPUT_COMPONENT,
|
|
526
502
|
useExisting: forwardRef(() => LuMultiSelectInputComponent),
|
|
527
503
|
},
|
|
528
|
-
], viewQueries: [{ propertyName: "filterPillPanelAnchorRef", first: true, predicate: ["filterPillPanelAnchor"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *luOptionOutlet=\"valuesTpl(); value: value || []\"></ng-container>\n\n@if (!filterPillMode) {\n\t@if (hasValue() && clearable && (disabled$ | async) === false) {\n\t\t<button role=\"button\" type=\"button\" class=\"multipleSelect-clear clear\" (click)=\"clearValue($event)\">\n\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t</button>\n\t}\n\n\t<span aria-hidden=\"true\" class=\"multipleSelect-arrow lucca-icon icon-arrowChevronBottom\"></span>\n\t<span aria-hidden=\"true\" class=\"multipleSelect-searchIcon lucca-icon icon-searchMagnifyingGlass\"></span>\n}\n\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<div class=\"multipleSelect-displayer-filter\">\n\t\t@if (value?.length === 1) {\n\t\t\t<div class=\"multipleSelect-pill-displayer-chip\">\n\t\t\t\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value[0]\"></ng-container>\n\t\t\t</div>\n\t\t}\n\t</div>\n</ng-container>\n<ng-container *luFilterPillLabel=\"let label = label; let colon = colon\">\n\t@if (value?.length > 1) {\n\t\t<span class=\"multipleSelect-pill-displayer-label\">{{ value?.length }} {{ filterPillLabelPlural }}</span>\n\t} @else {\n\t\t{{ label }}\n\t\t@if (value?.length === 1) {\n\t\t\t{{ colon }}\n\t\t}\n\t}\n</ng-container>\n", styles: [".multiSelect{--components-multiSelect-font: var(--pr-t-font-body-M);--components-multiSelect-padding: var(--pr-t-spacings-100);--components-multiSelect-gap: var(--pr-t-spacings-100);--components-multiSelect-background: var(--pr-t-color-input-background);--components-multiSelect-border-color: var(--pr-t-color-input-border);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon);display:flex;box-shadow:0 0 0 1px var(--components-multiSelect-border-color);background-color:var(--components-multiSelect-background);border-radius:var(--commons-borderRadius-M);padding:var(--components-multiSelect-padding);align-items:flex-end;gap:var(--components-multiSelect-gap);cursor:pointer}.multiSelect:hover{--components-multiSelect-border-color: var(--pr-t-color-input-border-hover)}.multipleSelect-displayer{display:flex;gap:var(--pr-t-spacings-50);flex-wrap:wrap;flex:1}.multipleSelect-displayer-chip{min-inline-size:0}.multipleSelect-displayer-chip-value{max-inline-size:8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multipleSelect-displayer-search{display:block;min-inline-size:2rem;inline-size:auto;flex:1;order:1;border:0;padding:0;outline:none;color:var(--pr-t-color-input-text);font:var(--components-multiSelect-font);background-color:transparent;cursor:pointer}.multipleSelect-displayer-search::placeholder{color:var(--components-multiSelect-placeholder)}.multipleSelect-displayer-label{font:var(--components-multiSelect-font)}.multipleSelect-clear{margin-block-end:var(--pr-t-spacings-50)}.multipleSelect-arrow,.multipleSelect-searchIcon{--icon-size: 1.5rem;color:var(--components-multiSelect-arrow-color);transition-property:transform;transition-duration:var(--commons-animations-durations-standard)}.multipleSelect-searchIcon{display:none}.multipleSelect-pill-displayer-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multipleSelect-pill-displayer-label{font-weight:600}.multiSelect.mod-S{--components-multiSelect-font: var(--pr-t-font-body-S);--components-multiSelect-padding: var(--pr-t-spacings-75);--components-multiSelect-gap: var(--pr-t-spacings-75)}.multiSelect.mod-S .multipleSelect-arrow,.multiSelect.mod-S .multipleSelect-searchIcon{--icon-size: 1.25rem}.multiSelect.mod-S .multipleSelect-clear.clear,.multiSelect.mod-S .multipleSelect-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.multiSelect.mod-S .multipleSelect-displayer-chip.chip,.multiSelect.mod-S .multipleSelect-displayer-chip:not(.chip){--components-chip-font: var(--pr-t-font-body-XS)}.multiSelect.mod-S .multipleSelect-displayer-numericBadge.numericBadge,.multiSelect.mod-S .multipleSelect-displayer-numericBadge:not(.numericBadge){--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.multiSelect:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect:has(.multipleSelect-displayer-search[aria-invalid=true]){--components-multiSelect-border-color: var(--pr-t-color-input-border-critical);--components-multiSelect-background: var(--pr-t-color-input-background-critical);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.multiSelect:has(.multipleSelect-displayer-search:disabled){--components-multiSelect-background: var(--commons-disabled-background);--components-multiSelect-placeholder: var(--commons-disabled-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon-disabled);pointer-events:none}.multiSelect:has([aria-expanded=true]) .multipleSelect-arrow{transform:rotate(-180deg)}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow{display:none}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon{display:inline-flex;transform:none}.multiSelect.is-selected .multipleSelect-displayer-search[readonly],.multiSelect.is-selected .multipleSelect-displayer-search:not(:focus){border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.multiSelect.mod-filterPill{flex-direction:column;align-items:stretch;box-shadow:none;padding:0;gap:0;inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.multiSelect.mod-filterPill:has(.multipleSelect-displayer-search:focus-visible){outline:none}.multiSelect.mod-filterPill .multipleSelect-displayer{box-shadow:0 0 0 1px var(--components-multiSelect-border-color);border-radius:var(--commons-borderRadius-M);padding:var(--components-multiSelect-padding);z-index:1;position:relative}.multiSelect.mod-filterPill .multipleSelect-displayer:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.multiSelect.mod-filterPill .lu-picker-content lu-simple-select-default-option.u-ellipsis{white-space:normal!important}.multipleSelect-displayer-filter{min-inline-size:0}.multipleSelect-displayer.mod-filter{display:grid}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-filter{grid-column-start:1;grid-row-start:1;display:flex;gap:var(--pr-t-spacings-50);min-inline-size:0}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-search{grid-column-start:1;grid-row-start:1}.multipleSelect-displayer.mod-filter.is-filled .multipleSelect-displayer-search{opacity:0}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-filter{display:none}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-search{opacity:1}.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--commons-borderRadius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--commons-borderRadius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}.chip{--components-chip-font: var(--pr-t-font-body-S);--components-chip-kill-size: .75rem;--components-chip-kill-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");--components-chip-fontSize: var(--pr-t-font-body-S-fontSize);--components-chip-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--palettes-700, var(--palettes-neutral-200));border-radius:var(--commons-borderRadius-M);color:var(--palettes-0, var(--palettes-text, var(--pr-t-color-text)));display:inline-flex;align-items:center;gap:var(--pr-t-spacings-100);position:relative;vertical-align:middle;padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-100);font:var(--components-chip-font)}.chip-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";place-items:center;inline-size:var(--pr-t-spacings-300);block-size:var(--pr-t-spacings-300);margin:calc(var(--pr-t-spacings-75) * -1);flex-shrink:0;cursor:pointer}.chip-kill:before,.chip-kill:after{content:\"\";grid-area:main;inline-size:var(--components-chip-kill-size);block-size:var(--components-chip-kill-size)}.chip-kill:before{border-radius:var(--commons-borderRadius-full);background-color:var(--components-chip-kill-disk-color, var(--palettes-neutral-700))}.chip-kill:after{-webkit-mask-image:var(--components-chip-kill-background-image);mask-image:var(--components-chip-kill-background-image);-webkit-mask-size:var(--components-chip-kill-size);mask-size:var(--components-chip-kill-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-chip-kill-cross-color, var(--palettes-neutral-0))}.chip-kill:hover{--components-chip-kill-disk-color: var(--palettes-neutral-600);--components-chip-kill-cross-color: var(--palettes-700, var(--palettes-neutral-0))}.chip-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:-4px;border-radius:var(--commons-borderRadius-full)}.chip-kill:active{--components-chip-kill-disk-color: var(--palettes-50, var(--palettes-neutral-800))}.chip.mod-S{--components-chip-font: var(--pr-t-font-body-XS)}.chip.palette-product .chip-kill,.chip.palette-primary .chip-kill{--components-chip-kill-cross-color: var(--palettes-product-700);--components-chip-kill-disk-color: var(--palettes-neutral-0)}.chip.palette-product .chip-kill:hover,.chip.palette-primary .chip-kill:hover,.chip.palette-product .chip-kill:active,.chip.palette-primary .chip-kill:active{--components-chip-kill-disk-color: var(--palettes-product-50)}.chip.palette-product .chip-kill:focus-visible,.chip.palette-primary .chip-kill:focus-visible{outline:2px solid var(--palettes-neutral-0);outline-offset:-4px;border-radius:var(--commons-borderRadius-full)}.chip.mod-unkillable .chip-kill{display:none}.chip.mod-clickable{cursor:pointer;text-decoration:none}.chip.mod-clickable:hover{background-color:var(--palettes-600, var(--palettes-neutral-100))}.chip.is-disabled{background-color:var(--commons-disabled-background);color:var(--pr-t-color-text-disabled)}.chip.is-disabled .chip-kill{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "directive", type: FilterPillDisplayerDirective, selector: "[luFilterPillDisplayer]" }, { kind: "directive", type: FilterPillLabelDirective, selector: "[luFilterPillLabel]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
504
|
+
], viewQueries: [{ propertyName: "filterPillPanelAnchorRef", first: true, predicate: ["filterPillPanelAnchor"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *luOptionOutlet=\"valuesTpl(); value: value || []\"></ng-container>\n\n@if (!filterPillMode) {\n\t@if (hasValue() && clearable && (disabled$ | async) === false) {\n\t\t<button role=\"button\" type=\"button\" class=\"multipleSelect-clear clear\" (click)=\"clearValue($event)\">\n\t\t\t<span class=\"pr-u-mask\">{{ intl.clear }}</span>\n\t\t</button>\n\t}\n\n\t<span aria-hidden=\"true\" class=\"multipleSelect-arrow lucca-icon icon-arrowChevronBottom\"></span>\n\t<span aria-hidden=\"true\" class=\"multipleSelect-searchIcon lucca-icon icon-searchMagnifyingGlass\"></span>\n}\n\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<div class=\"multipleSelect-displayer-filter\">\n\t\t@if (value?.length === 1) {\n\t\t\t<div class=\"multipleSelect-pill-displayer-chip\">\n\t\t\t\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value[0]\"></ng-container>\n\t\t\t</div>\n\t\t}\n\t</div>\n</ng-container>\n<ng-container *luFilterPillLabel=\"let label = label; let colon = colon\">\n\t@if (value?.length > 1) {\n\t\t<span class=\"multipleSelect-pill-displayer-label\">{{ value?.length }} {{ filterPillLabelPlural }}</span>\n\t} @else {\n\t\t{{ label }}\n\t\t@if (value?.length === 1) {\n\t\t\t{{ colon }}\n\t\t}\n\t}\n</ng-container>\n", styles: ["@layer reset,base,components,mods,states,product,utils;.multiSelect{--components-multiSelect-font: var(--pr-t-font-body-M);--components-multiSelect-padding: var(--pr-t-spacings-100);--components-multiSelect-gap: var(--pr-t-spacings-100);--components-multiSelect-background: var(--pr-t-color-input-background);--components-multiSelect-border-color: var(--pr-t-color-input-border);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon);display:flex;box-shadow:0 0 0 1px var(--components-multiSelect-border-color);background-color:var(--components-multiSelect-background);border-radius:var(--pr-t-border-radius-input);padding:var(--components-multiSelect-padding);align-items:flex-end;gap:var(--components-multiSelect-gap);cursor:pointer}.multiSelect:hover{--components-multiSelect-border-color: var(--pr-t-color-input-border-hover)}.multipleSelect-displayer{display:flex;gap:var(--pr-t-spacings-50);flex-wrap:wrap;flex:1}.multipleSelect-displayer-chip{min-inline-size:0}.multipleSelect-displayer-chip-value{max-inline-size:8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multipleSelect-displayer-search{display:block;min-inline-size:2rem;inline-size:auto;flex:1;order:1;border:0;padding:0;outline:none;color:var(--pr-t-color-input-text);font:var(--components-multiSelect-font);background-color:transparent;cursor:pointer}.multipleSelect-displayer-search::placeholder{color:var(--components-multiSelect-placeholder)}.multipleSelect-displayer-label{font:var(--components-multiSelect-font)}.multipleSelect-clear{margin-block-end:var(--pr-t-spacings-50)}.multipleSelect-arrow,.multipleSelect-searchIcon{--icon-size: 1.5rem;color:var(--components-multiSelect-arrow-color);transition-property:transform;transition-duration:var(--commons-animations-durations-standard)}.multipleSelect-searchIcon{display:none}.multipleSelect-pill-displayer-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multipleSelect-pill-displayer-label{font-weight:600}.multiSelect.mod-S{--components-multiSelect-font: var(--pr-t-font-body-S);--components-multiSelect-padding: var(--pr-t-spacings-75);--components-multiSelect-gap: var(--pr-t-spacings-75)}.multiSelect.mod-S .multipleSelect-arrow,.multiSelect.mod-S .multipleSelect-searchIcon{--icon-size: 1.25rem}.multiSelect.mod-S .multipleSelect-clear.clear,.multiSelect.mod-S .multipleSelect-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.multiSelect.mod-S .multipleSelect-displayer-chip.chip,.multiSelect.mod-S .multipleSelect-displayer-chip:not(.chip){--components-chip-font: var(--pr-t-font-body-XS);--components-chip-borderRadius: var(--pr-t-border-radius-small)}.multiSelect.mod-S .multipleSelect-displayer-numericBadge.numericBadge,.multiSelect.mod-S .multipleSelect-displayer-numericBadge:not(.numericBadge){--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.multiSelect:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect:has(.multipleSelect-displayer-search[aria-invalid=true]){--components-multiSelect-border-color: var(--pr-t-color-input-border-critical);--components-multiSelect-background: var(--pr-t-color-input-background-critical);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.multiSelect:has(.multipleSelect-displayer-search:disabled){--components-multiSelect-background: var(--commons-disabled-background);--components-multiSelect-placeholder: var(--commons-disabled-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon-disabled);pointer-events:none}.multiSelect:has([aria-expanded=true]) .multipleSelect-arrow{transform:rotate(-180deg)}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow{display:none}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon{display:inline-flex;transform:none}.multiSelect.is-selected .multipleSelect-displayer-search[readonly],.multiSelect.is-selected .multipleSelect-displayer-search:not(:focus){border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.multiSelect.mod-filterPill{flex-direction:column;align-items:stretch;box-shadow:none;padding:0;gap:0;inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.multiSelect.mod-filterPill:has(.multipleSelect-displayer-search:focus-visible){outline:none}.multiSelect.mod-filterPill .multipleSelect-displayer{box-shadow:0 0 0 1px var(--components-multiSelect-border-color);border-radius:var(--pr-t-border-radius-input);padding:var(--components-multiSelect-padding);z-index:1;position:relative}.multiSelect.mod-filterPill .multipleSelect-displayer:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.multiSelect.mod-filterPill .lu-picker-content lu-simple-select-default-option.pr-u-ellipsis{white-space:normal!important}.multipleSelect-displayer-filter{min-inline-size:0}.multipleSelect-displayer.mod-filter{display:grid}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-filter{grid-column-start:1;grid-row-start:1;display:flex;gap:var(--pr-t-spacings-50);min-inline-size:0}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-search{grid-column-start:1;grid-row-start:1}.multipleSelect-displayer.mod-filter.is-filled .multipleSelect-displayer-search{opacity:0}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-filter{display:none}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-search{opacity:1}@layer components{.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}}@layer states{.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}}@layer components{.chip{--components-chip-font: var(--pr-t-font-body-S);--components-chip-borderRadius: var(--pr-t-border-radius-default);--components-chip-kill-size: .75rem;--components-chip-kill-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");--components-chip-fontSize: var(--pr-t-font-body-S-fontSize);--components-chip-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--palettes-700, var(--palettes-neutral-200));border-radius:var(--components-chip-borderRadius);color:var(--palettes-0, var(--palettes-text, var(--pr-t-color-text)));display:inline-flex;align-items:center;gap:var(--pr-t-spacings-100);position:relative;vertical-align:middle;padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-100);font:var(--components-chip-font)}.chip-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";place-items:center;inline-size:var(--pr-t-spacings-300);block-size:var(--pr-t-spacings-300);margin:calc(var(--pr-t-spacings-75) * -1);flex-shrink:0;cursor:pointer}.chip-kill:before,.chip-kill:after{content:\"\";grid-area:main;inline-size:var(--components-chip-kill-size);block-size:var(--components-chip-kill-size)}.chip-kill:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-chip-kill-disk-color, var(--palettes-neutral-700))}.chip-kill:after{-webkit-mask-image:var(--components-chip-kill-background-image);mask-image:var(--components-chip-kill-background-image);-webkit-mask-size:var(--components-chip-kill-size);mask-size:var(--components-chip-kill-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-chip-kill-cross-color, var(--palettes-neutral-0))}.chip-kill:hover{--components-chip-kill-disk-color: var(--palettes-neutral-600);--components-chip-kill-cross-color: var(--palettes-700, var(--palettes-neutral-0))}.chip-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:-4px;border-radius:var(--pr-t-border-radius-full)}.chip-kill:active{--components-chip-kill-disk-color: var(--palettes-50, var(--palettes-neutral-800))}}@layer mods{.chip.mod-S{--components-chip-font: var(--pr-t-font-body-XS);--components-chip-borderRadius: var(--pr-t-border-radius-small)}.chip.palette-product .chip-kill,.chip.palette-primary .chip-kill{--components-chip-kill-cross-color: var(--palettes-product-700);--components-chip-kill-disk-color: var(--palettes-neutral-0)}.chip.palette-product .chip-kill:hover,.chip.palette-primary .chip-kill:hover,.chip.palette-product .chip-kill:active,.chip.palette-primary .chip-kill:active{--components-chip-kill-disk-color: var(--palettes-product-50)}.chip.palette-product .chip-kill:focus-visible,.chip.palette-primary .chip-kill:focus-visible{outline:2px solid var(--palettes-neutral-0);outline-offset:-4px;border-radius:var(--pr-t-border-radius-full)}.chip.mod-unkillable .chip-kill{display:none}.chip.mod-clickable{cursor:pointer;text-decoration:none}.chip.mod-clickable:hover{background-color:var(--palettes-600, var(--palettes-neutral-100))}}@layer states{.chip.is-disabled{background-color:var(--commons-disabled-background);color:var(--pr-t-color-text-disabled)}.chip.is-disabled .chip-kill{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "directive", type: FilterPillDisplayerDirective, selector: "[luFilterPillDisplayer]" }, { kind: "directive", type: FilterPillLabelDirective, selector: "[luFilterPillLabel]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
529
505
|
}
|
|
530
506
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectInputComponent, decorators: [{
|
|
531
507
|
type: Component,
|
|
@@ -547,7 +523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
547
523
|
},
|
|
548
524
|
], host: {
|
|
549
525
|
class: 'multiSelect',
|
|
550
|
-
}, encapsulation: ViewEncapsulation.None, template: "<ng-container *luOptionOutlet=\"valuesTpl(); value: value || []\"></ng-container>\n\n@if (!filterPillMode) {\n\t@if (hasValue() && clearable && (disabled$ | async) === false) {\n\t\t<button role=\"button\" type=\"button\" class=\"multipleSelect-clear clear\" (click)=\"clearValue($event)\">\n\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t</button>\n\t}\n\n\t<span aria-hidden=\"true\" class=\"multipleSelect-arrow lucca-icon icon-arrowChevronBottom\"></span>\n\t<span aria-hidden=\"true\" class=\"multipleSelect-searchIcon lucca-icon icon-searchMagnifyingGlass\"></span>\n}\n\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<div class=\"multipleSelect-displayer-filter\">\n\t\t@if (value?.length === 1) {\n\t\t\t<div class=\"multipleSelect-pill-displayer-chip\">\n\t\t\t\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value[0]\"></ng-container>\n\t\t\t</div>\n\t\t}\n\t</div>\n</ng-container>\n<ng-container *luFilterPillLabel=\"let label = label; let colon = colon\">\n\t@if (value?.length > 1) {\n\t\t<span class=\"multipleSelect-pill-displayer-label\">{{ value?.length }} {{ filterPillLabelPlural }}</span>\n\t} @else {\n\t\t{{ label }}\n\t\t@if (value?.length === 1) {\n\t\t\t{{ colon }}\n\t\t}\n\t}\n</ng-container>\n", styles: [".multiSelect{--components-multiSelect-font: var(--pr-t-font-body-M);--components-multiSelect-padding: var(--pr-t-spacings-100);--components-multiSelect-gap: var(--pr-t-spacings-100);--components-multiSelect-background: var(--pr-t-color-input-background);--components-multiSelect-border-color: var(--pr-t-color-input-border);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon);display:flex;box-shadow:0 0 0 1px var(--components-multiSelect-border-color);background-color:var(--components-multiSelect-background);border-radius:var(--commons-borderRadius-M);padding:var(--components-multiSelect-padding);align-items:flex-end;gap:var(--components-multiSelect-gap);cursor:pointer}.multiSelect:hover{--components-multiSelect-border-color: var(--pr-t-color-input-border-hover)}.multipleSelect-displayer{display:flex;gap:var(--pr-t-spacings-50);flex-wrap:wrap;flex:1}.multipleSelect-displayer-chip{min-inline-size:0}.multipleSelect-displayer-chip-value{max-inline-size:8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multipleSelect-displayer-search{display:block;min-inline-size:2rem;inline-size:auto;flex:1;order:1;border:0;padding:0;outline:none;color:var(--pr-t-color-input-text);font:var(--components-multiSelect-font);background-color:transparent;cursor:pointer}.multipleSelect-displayer-search::placeholder{color:var(--components-multiSelect-placeholder)}.multipleSelect-displayer-label{font:var(--components-multiSelect-font)}.multipleSelect-clear{margin-block-end:var(--pr-t-spacings-50)}.multipleSelect-arrow,.multipleSelect-searchIcon{--icon-size: 1.5rem;color:var(--components-multiSelect-arrow-color);transition-property:transform;transition-duration:var(--commons-animations-durations-standard)}.multipleSelect-searchIcon{display:none}.multipleSelect-pill-displayer-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multipleSelect-pill-displayer-label{font-weight:600}.multiSelect.mod-S{--components-multiSelect-font: var(--pr-t-font-body-S);--components-multiSelect-padding: var(--pr-t-spacings-75);--components-multiSelect-gap: var(--pr-t-spacings-75)}.multiSelect.mod-S .multipleSelect-arrow,.multiSelect.mod-S .multipleSelect-searchIcon{--icon-size: 1.25rem}.multiSelect.mod-S .multipleSelect-clear.clear,.multiSelect.mod-S .multipleSelect-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.multiSelect.mod-S .multipleSelect-displayer-chip.chip,.multiSelect.mod-S .multipleSelect-displayer-chip:not(.chip){--components-chip-font: var(--pr-t-font-body-XS)}.multiSelect.mod-S .multipleSelect-displayer-numericBadge.numericBadge,.multiSelect.mod-S .multipleSelect-displayer-numericBadge:not(.numericBadge){--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.multiSelect:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect:has(.multipleSelect-displayer-search[aria-invalid=true]){--components-multiSelect-border-color: var(--pr-t-color-input-border-critical);--components-multiSelect-background: var(--pr-t-color-input-background-critical);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.multiSelect:has(.multipleSelect-displayer-search:disabled){--components-multiSelect-background: var(--commons-disabled-background);--components-multiSelect-placeholder: var(--commons-disabled-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon-disabled);pointer-events:none}.multiSelect:has([aria-expanded=true]) .multipleSelect-arrow{transform:rotate(-180deg)}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow{display:none}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon{display:inline-flex;transform:none}.multiSelect.is-selected .multipleSelect-displayer-search[readonly],.multiSelect.is-selected .multipleSelect-displayer-search:not(:focus){border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.multiSelect.mod-filterPill{flex-direction:column;align-items:stretch;box-shadow:none;padding:0;gap:0;inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.multiSelect.mod-filterPill:has(.multipleSelect-displayer-search:focus-visible){outline:none}.multiSelect.mod-filterPill .multipleSelect-displayer{box-shadow:0 0 0 1px var(--components-multiSelect-border-color);border-radius:var(--commons-borderRadius-M);padding:var(--components-multiSelect-padding);z-index:1;position:relative}.multiSelect.mod-filterPill .multipleSelect-displayer:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.multiSelect.mod-filterPill .lu-picker-content lu-simple-select-default-option.u-ellipsis{white-space:normal!important}.multipleSelect-displayer-filter{min-inline-size:0}.multipleSelect-displayer.mod-filter{display:grid}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-filter{grid-column-start:1;grid-row-start:1;display:flex;gap:var(--pr-t-spacings-50);min-inline-size:0}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-search{grid-column-start:1;grid-row-start:1}.multipleSelect-displayer.mod-filter.is-filled .multipleSelect-displayer-search{opacity:0}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-filter{display:none}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-search{opacity:1}.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--commons-borderRadius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--commons-borderRadius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}.chip{--components-chip-font: var(--pr-t-font-body-S);--components-chip-kill-size: .75rem;--components-chip-kill-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");--components-chip-fontSize: var(--pr-t-font-body-S-fontSize);--components-chip-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--palettes-700, var(--palettes-neutral-200));border-radius:var(--commons-borderRadius-M);color:var(--palettes-0, var(--palettes-text, var(--pr-t-color-text)));display:inline-flex;align-items:center;gap:var(--pr-t-spacings-100);position:relative;vertical-align:middle;padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-100);font:var(--components-chip-font)}.chip-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";place-items:center;inline-size:var(--pr-t-spacings-300);block-size:var(--pr-t-spacings-300);margin:calc(var(--pr-t-spacings-75) * -1);flex-shrink:0;cursor:pointer}.chip-kill:before,.chip-kill:after{content:\"\";grid-area:main;inline-size:var(--components-chip-kill-size);block-size:var(--components-chip-kill-size)}.chip-kill:before{border-radius:var(--commons-borderRadius-full);background-color:var(--components-chip-kill-disk-color, var(--palettes-neutral-700))}.chip-kill:after{-webkit-mask-image:var(--components-chip-kill-background-image);mask-image:var(--components-chip-kill-background-image);-webkit-mask-size:var(--components-chip-kill-size);mask-size:var(--components-chip-kill-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-chip-kill-cross-color, var(--palettes-neutral-0))}.chip-kill:hover{--components-chip-kill-disk-color: var(--palettes-neutral-600);--components-chip-kill-cross-color: var(--palettes-700, var(--palettes-neutral-0))}.chip-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:-4px;border-radius:var(--commons-borderRadius-full)}.chip-kill:active{--components-chip-kill-disk-color: var(--palettes-50, var(--palettes-neutral-800))}.chip.mod-S{--components-chip-font: var(--pr-t-font-body-XS)}.chip.palette-product .chip-kill,.chip.palette-primary .chip-kill{--components-chip-kill-cross-color: var(--palettes-product-700);--components-chip-kill-disk-color: var(--palettes-neutral-0)}.chip.palette-product .chip-kill:hover,.chip.palette-primary .chip-kill:hover,.chip.palette-product .chip-kill:active,.chip.palette-primary .chip-kill:active{--components-chip-kill-disk-color: var(--palettes-product-50)}.chip.palette-product .chip-kill:focus-visible,.chip.palette-primary .chip-kill:focus-visible{outline:2px solid var(--palettes-neutral-0);outline-offset:-4px;border-radius:var(--commons-borderRadius-full)}.chip.mod-unkillable .chip-kill{display:none}.chip.mod-clickable{cursor:pointer;text-decoration:none}.chip.mod-clickable:hover{background-color:var(--palettes-600, var(--palettes-neutral-100))}.chip.is-disabled{background-color:var(--commons-disabled-background);color:var(--pr-t-color-text-disabled)}.chip.is-disabled .chip-kill{display:none}\n"] }]
|
|
526
|
+
}, encapsulation: ViewEncapsulation.None, template: "<ng-container *luOptionOutlet=\"valuesTpl(); value: value || []\"></ng-container>\n\n@if (!filterPillMode) {\n\t@if (hasValue() && clearable && (disabled$ | async) === false) {\n\t\t<button role=\"button\" type=\"button\" class=\"multipleSelect-clear clear\" (click)=\"clearValue($event)\">\n\t\t\t<span class=\"pr-u-mask\">{{ intl.clear }}</span>\n\t\t</button>\n\t}\n\n\t<span aria-hidden=\"true\" class=\"multipleSelect-arrow lucca-icon icon-arrowChevronBottom\"></span>\n\t<span aria-hidden=\"true\" class=\"multipleSelect-searchIcon lucca-icon icon-searchMagnifyingGlass\"></span>\n}\n\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<div class=\"multipleSelect-displayer-filter\">\n\t\t@if (value?.length === 1) {\n\t\t\t<div class=\"multipleSelect-pill-displayer-chip\">\n\t\t\t\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value[0]\"></ng-container>\n\t\t\t</div>\n\t\t}\n\t</div>\n</ng-container>\n<ng-container *luFilterPillLabel=\"let label = label; let colon = colon\">\n\t@if (value?.length > 1) {\n\t\t<span class=\"multipleSelect-pill-displayer-label\">{{ value?.length }} {{ filterPillLabelPlural }}</span>\n\t} @else {\n\t\t{{ label }}\n\t\t@if (value?.length === 1) {\n\t\t\t{{ colon }}\n\t\t}\n\t}\n</ng-container>\n", styles: ["@layer reset,base,components,mods,states,product,utils;.multiSelect{--components-multiSelect-font: var(--pr-t-font-body-M);--components-multiSelect-padding: var(--pr-t-spacings-100);--components-multiSelect-gap: var(--pr-t-spacings-100);--components-multiSelect-background: var(--pr-t-color-input-background);--components-multiSelect-border-color: var(--pr-t-color-input-border);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon);display:flex;box-shadow:0 0 0 1px var(--components-multiSelect-border-color);background-color:var(--components-multiSelect-background);border-radius:var(--pr-t-border-radius-input);padding:var(--components-multiSelect-padding);align-items:flex-end;gap:var(--components-multiSelect-gap);cursor:pointer}.multiSelect:hover{--components-multiSelect-border-color: var(--pr-t-color-input-border-hover)}.multipleSelect-displayer{display:flex;gap:var(--pr-t-spacings-50);flex-wrap:wrap;flex:1}.multipleSelect-displayer-chip{min-inline-size:0}.multipleSelect-displayer-chip-value{max-inline-size:8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multipleSelect-displayer-search{display:block;min-inline-size:2rem;inline-size:auto;flex:1;order:1;border:0;padding:0;outline:none;color:var(--pr-t-color-input-text);font:var(--components-multiSelect-font);background-color:transparent;cursor:pointer}.multipleSelect-displayer-search::placeholder{color:var(--components-multiSelect-placeholder)}.multipleSelect-displayer-label{font:var(--components-multiSelect-font)}.multipleSelect-clear{margin-block-end:var(--pr-t-spacings-50)}.multipleSelect-arrow,.multipleSelect-searchIcon{--icon-size: 1.5rem;color:var(--components-multiSelect-arrow-color);transition-property:transform;transition-duration:var(--commons-animations-durations-standard)}.multipleSelect-searchIcon{display:none}.multipleSelect-pill-displayer-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multipleSelect-pill-displayer-label{font-weight:600}.multiSelect.mod-S{--components-multiSelect-font: var(--pr-t-font-body-S);--components-multiSelect-padding: var(--pr-t-spacings-75);--components-multiSelect-gap: var(--pr-t-spacings-75)}.multiSelect.mod-S .multipleSelect-arrow,.multiSelect.mod-S .multipleSelect-searchIcon{--icon-size: 1.25rem}.multiSelect.mod-S .multipleSelect-clear.clear,.multiSelect.mod-S .multipleSelect-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.multiSelect.mod-S .multipleSelect-displayer-chip.chip,.multiSelect.mod-S .multipleSelect-displayer-chip:not(.chip){--components-chip-font: var(--pr-t-font-body-XS);--components-chip-borderRadius: var(--pr-t-border-radius-small)}.multiSelect.mod-S .multipleSelect-displayer-numericBadge.numericBadge,.multiSelect.mod-S .multipleSelect-displayer-numericBadge:not(.numericBadge){--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.multiSelect:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect:has(.multipleSelect-displayer-search[aria-invalid=true]){--components-multiSelect-border-color: var(--pr-t-color-input-border-critical);--components-multiSelect-background: var(--pr-t-color-input-background-critical);--components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.multiSelect:has(.multipleSelect-displayer-search:disabled){--components-multiSelect-background: var(--commons-disabled-background);--components-multiSelect-placeholder: var(--commons-disabled-placeholder);--components-multiSelect-arrow-color: var(--pr-t-color-input-icon-disabled);pointer-events:none}.multiSelect:has([aria-expanded=true]) .multipleSelect-arrow{transform:rotate(-180deg)}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-arrow{display:none}.multiSelect:not(.mod-noClueIcon):has(.multipleSelect-displayer-search:focus-visible):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon,.multiSelect:not(.mod-noClueIcon):has([aria-expanded=true]):not(:has(.multipleSelect-displayer-search:read-only)) .multipleSelect-searchIcon{display:inline-flex;transform:none}.multiSelect.is-selected .multipleSelect-displayer-search[readonly],.multiSelect.is-selected .multipleSelect-displayer-search:not(:focus){border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.multiSelect.mod-filterPill{flex-direction:column;align-items:stretch;box-shadow:none;padding:0;gap:0;inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.multiSelect.mod-filterPill:has(.multipleSelect-displayer-search:focus-visible){outline:none}.multiSelect.mod-filterPill .multipleSelect-displayer{box-shadow:0 0 0 1px var(--components-multiSelect-border-color);border-radius:var(--pr-t-border-radius-input);padding:var(--components-multiSelect-padding);z-index:1;position:relative}.multiSelect.mod-filterPill .multipleSelect-displayer:has(.multipleSelect-displayer-search:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.multiSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.multiSelect.mod-filterPill .lu-picker-content lu-simple-select-default-option.pr-u-ellipsis{white-space:normal!important}.multipleSelect-displayer-filter{min-inline-size:0}.multipleSelect-displayer.mod-filter{display:grid}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-filter{grid-column-start:1;grid-row-start:1;display:flex;gap:var(--pr-t-spacings-50);min-inline-size:0}.multipleSelect-displayer.mod-filter .multipleSelect-displayer-search{grid-column-start:1;grid-row-start:1}.multipleSelect-displayer.mod-filter.is-filled .multipleSelect-displayer-search{opacity:0}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-filter{display:none}.multipleSelect-displayer.mod-filter:has([aria-expanded=true]):not(:has(:placeholder-shown)) .multipleSelect-displayer-search{opacity:1}@layer components{.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}}@layer states{.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}}@layer components{.chip{--components-chip-font: var(--pr-t-font-body-S);--components-chip-borderRadius: var(--pr-t-border-radius-default);--components-chip-kill-size: .75rem;--components-chip-kill-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");--components-chip-fontSize: var(--pr-t-font-body-S-fontSize);--components-chip-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--palettes-700, var(--palettes-neutral-200));border-radius:var(--components-chip-borderRadius);color:var(--palettes-0, var(--palettes-text, var(--pr-t-color-text)));display:inline-flex;align-items:center;gap:var(--pr-t-spacings-100);position:relative;vertical-align:middle;padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-100);font:var(--components-chip-font)}.chip-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";place-items:center;inline-size:var(--pr-t-spacings-300);block-size:var(--pr-t-spacings-300);margin:calc(var(--pr-t-spacings-75) * -1);flex-shrink:0;cursor:pointer}.chip-kill:before,.chip-kill:after{content:\"\";grid-area:main;inline-size:var(--components-chip-kill-size);block-size:var(--components-chip-kill-size)}.chip-kill:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-chip-kill-disk-color, var(--palettes-neutral-700))}.chip-kill:after{-webkit-mask-image:var(--components-chip-kill-background-image);mask-image:var(--components-chip-kill-background-image);-webkit-mask-size:var(--components-chip-kill-size);mask-size:var(--components-chip-kill-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-chip-kill-cross-color, var(--palettes-neutral-0))}.chip-kill:hover{--components-chip-kill-disk-color: var(--palettes-neutral-600);--components-chip-kill-cross-color: var(--palettes-700, var(--palettes-neutral-0))}.chip-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:-4px;border-radius:var(--pr-t-border-radius-full)}.chip-kill:active{--components-chip-kill-disk-color: var(--palettes-50, var(--palettes-neutral-800))}}@layer mods{.chip.mod-S{--components-chip-font: var(--pr-t-font-body-XS);--components-chip-borderRadius: var(--pr-t-border-radius-small)}.chip.palette-product .chip-kill,.chip.palette-primary .chip-kill{--components-chip-kill-cross-color: var(--palettes-product-700);--components-chip-kill-disk-color: var(--palettes-neutral-0)}.chip.palette-product .chip-kill:hover,.chip.palette-primary .chip-kill:hover,.chip.palette-product .chip-kill:active,.chip.palette-primary .chip-kill:active{--components-chip-kill-disk-color: var(--palettes-product-50)}.chip.palette-product .chip-kill:focus-visible,.chip.palette-primary .chip-kill:focus-visible{outline:2px solid var(--palettes-neutral-0);outline-offset:-4px;border-radius:var(--pr-t-border-radius-full)}.chip.mod-unkillable .chip-kill{display:none}.chip.mod-clickable{cursor:pointer;text-decoration:none}.chip.mod-clickable:hover{background-color:var(--palettes-600, var(--palettes-neutral-100))}}@layer states{.chip.is-disabled{background-color:var(--commons-disabled-background);color:var(--pr-t-color-text-disabled)}.chip.is-disabled .chip-kill{display:none}}\n"] }]
|
|
551
527
|
}], propDecorators: { maxValuesShown: [{
|
|
552
528
|
type: Input,
|
|
553
529
|
args: [{ transform: numberAttribute }]
|
|
@@ -559,6 +535,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
559
535
|
}], filterPillClass: [{
|
|
560
536
|
type: HostBinding,
|
|
561
537
|
args: ['class.mod-filterPill']
|
|
538
|
+
}], selectParentOnly: [{
|
|
539
|
+
type: HostListener,
|
|
540
|
+
args: ['keydown.control.enter']
|
|
541
|
+
}], selectChildrenOnly: [{
|
|
542
|
+
type: HostListener,
|
|
543
|
+
args: ['keydown.shift.enter']
|
|
562
544
|
}] } });
|
|
563
545
|
|
|
564
546
|
const Translations = {
|
|
@@ -758,7 +740,7 @@ class LuMultiSelectAllDisplayerComponent {
|
|
|
758
740
|
|
|
759
741
|
@if (!disabled()) {
|
|
760
742
|
<button type="button" class="chip-kill" (click)="unselectOption(select.value[0], $event)">
|
|
761
|
-
<span class="u-mask">{{ intl.removeOption }}</span>
|
|
743
|
+
<span class="pr-u-mask">{{ intl.removeOption }}</span>
|
|
762
744
|
</button>
|
|
763
745
|
}
|
|
764
746
|
</div>
|
|
@@ -785,7 +767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
785
767
|
|
|
786
768
|
@if (!disabled()) {
|
|
787
769
|
<button type="button" class="chip-kill" (click)="unselectOption(select.value[0], $event)">
|
|
788
|
-
<span class="u-mask">{{ intl.removeOption }}</span>
|
|
770
|
+
<span class="pr-u-mask">{{ intl.removeOption }}</span>
|
|
789
771
|
</button>
|
|
790
772
|
}
|
|
791
773
|
</div>
|
|
@@ -839,7 +821,7 @@ class LuMultiSelectAllHeaderComponent {
|
|
|
839
821
|
/>
|
|
840
822
|
</lu-form-field>
|
|
841
823
|
</div>
|
|
842
|
-
`, isInline: true, styles: [":host{display:block;background-color:var(--palettes-neutral-0);border-block-end:1px solid var(--commons-border-200);padding-block:0 var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-vertical);margin-block:0 var(--components-options-item-padding-vertical);margin-inline:calc(-1 * var(--pr-t-spacings-50));scroll-margin-block-start:var(--pr-t-spacings-50)}.multiSelectAllDisplayer{border-radius:var(--
|
|
824
|
+
`, isInline: true, styles: [":host{display:block;background-color:var(--palettes-neutral-0);border-block-end:1px solid var(--commons-border-200);padding-block:0 var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-vertical);margin-block:0 var(--components-options-item-padding-vertical);margin-inline:calc(-1 * var(--pr-t-spacings-50));scroll-margin-block-start:var(--pr-t-spacings-50)}.multiSelectAllDisplayer{border-radius:var(--pr-t-border-radius-default);cursor:pointer}.multiSelectAllDisplayer:hover,:host-context(.is-highlighted) .multiSelectAllDisplayer{background-color:var(--palettes-neutral-50)}.multiSelectAllDisplayer:has(.checkboxField-input:checked){background-color:var(--palettes-50, var(--palettes-product-50))}.multiSelectAllDisplayer:has(.checkboxField-input:checked):hover,:host-context(.is-highlighted) .multiSelectAllDisplayer:has(.checkboxField-input:checked){background-color:var(--palettes-100, var(--palettes-product-100))}.multiSelectAllDisplayer ::ng-deep .formLabel{inline-size:100%;padding-block:var(--components-options-item-padding-vertical);padding-inline:0}.multiSelectAllDisplayer-checkbox{margin-block:var(--components-options-item-padding-vertical) 0;margin-inline:var(--components-options-item-padding-horizontal) 0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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: "component", type: CheckboxInputComponent, selector: "lu-checkbox-input", inputs: ["checklist", "mixed"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }] }); }
|
|
843
825
|
}
|
|
844
826
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectAllHeaderComponent, decorators: [{
|
|
845
827
|
type: Component,
|
|
@@ -855,10 +837,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
855
837
|
/>
|
|
856
838
|
</lu-form-field>
|
|
857
839
|
</div>
|
|
858
|
-
`, styles: [":host{display:block;background-color:var(--palettes-neutral-0);border-block-end:1px solid var(--commons-border-200);padding-block:0 var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-vertical);margin-block:0 var(--components-options-item-padding-vertical);margin-inline:calc(-1 * var(--pr-t-spacings-50));scroll-margin-block-start:var(--pr-t-spacings-50)}.multiSelectAllDisplayer{border-radius:var(--
|
|
840
|
+
`, styles: [":host{display:block;background-color:var(--palettes-neutral-0);border-block-end:1px solid var(--commons-border-200);padding-block:0 var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-vertical);margin-block:0 var(--components-options-item-padding-vertical);margin-inline:calc(-1 * var(--pr-t-spacings-50));scroll-margin-block-start:var(--pr-t-spacings-50)}.multiSelectAllDisplayer{border-radius:var(--pr-t-border-radius-default);cursor:pointer}.multiSelectAllDisplayer:hover,:host-context(.is-highlighted) .multiSelectAllDisplayer{background-color:var(--palettes-neutral-50)}.multiSelectAllDisplayer:has(.checkboxField-input:checked){background-color:var(--palettes-50, var(--palettes-product-50))}.multiSelectAllDisplayer:has(.checkboxField-input:checked):hover,:host-context(.is-highlighted) .multiSelectAllDisplayer:has(.checkboxField-input:checked){background-color:var(--palettes-100, var(--palettes-product-100))}.multiSelectAllDisplayer ::ng-deep .formLabel{inline-size:100%;padding-block:var(--components-options-item-padding-vertical);padding-inline:0}.multiSelectAllDisplayer-checkbox{margin-block:var(--components-options-item-padding-vertical) 0;margin-inline:var(--components-options-item-padding-horizontal) 0}\n"] }]
|
|
859
841
|
}], ctorParameters: () => [] });
|
|
860
842
|
|
|
861
|
-
class LuMultiSelectWithSelectAllDirective extends
|
|
843
|
+
class LuMultiSelectWithSelectAllDirective extends _IsSelectedStrategy {
|
|
862
844
|
#select;
|
|
863
845
|
#mode;
|
|
864
846
|
#values;
|
|
@@ -985,7 +967,7 @@ class LuMultiSelectWithSelectAllDirective extends ɵIsSelectedStrategy {
|
|
|
985
967
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectWithSelectAllDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
986
968
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: LuMultiSelectWithSelectAllDirective, isStandalone: true, selector: "lu-multi-select[withSelectAll]", inputs: { displayerLabel: { classPropertyName: "displayerLabel", publicName: "withSelectAllDisplayerLabel", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
987
969
|
{
|
|
988
|
-
provide:
|
|
970
|
+
provide: _IsSelectedStrategy,
|
|
989
971
|
useExisting: forwardRef(() => LuMultiSelectWithSelectAllDirective),
|
|
990
972
|
},
|
|
991
973
|
{
|
|
@@ -1002,7 +984,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
1002
984
|
standalone: true,
|
|
1003
985
|
providers: [
|
|
1004
986
|
{
|
|
1005
|
-
provide:
|
|
987
|
+
provide: _IsSelectedStrategy,
|
|
1006
988
|
useExisting: forwardRef(() => LuMultiSelectWithSelectAllDirective),
|
|
1007
989
|
},
|
|
1008
990
|
{
|
|
@@ -1040,35 +1022,43 @@ class LuMultiSelectCounterDisplayerComponent {
|
|
|
1040
1022
|
});
|
|
1041
1023
|
}
|
|
1042
1024
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectCounterDisplayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1043
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1025
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuMultiSelectCounterDisplayerComponent, isStandalone: true, selector: "lu-multi-select-counter-displayer", inputs: { selected: "selected", label: "label" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: `
|
|
1044
1026
|
<div class="multipleSelect-displayer mod-filter" [class.is-filled]="(selectedOptions$ | async)?.length > 0">
|
|
1045
1027
|
<input type="text" autocomplete="off" #inputElement luMultiSelectDisplayerInput />
|
|
1046
|
-
|
|
1047
|
-
<div class="multipleSelect-displayer-
|
|
1048
|
-
|
|
1028
|
+
@if (selectedOptions$ | async; as selectedOptions) {
|
|
1029
|
+
<div class="multipleSelect-displayer-filter">
|
|
1030
|
+
@if (selectedOptions?.length === 1) {
|
|
1031
|
+
<div class="multipleSelect-displayer-chip chip mod-unkillable">
|
|
1032
|
+
<ng-container *luOptionOutlet="select.displayerTpl(); value: selectedOptions[0]"></ng-container>
|
|
1033
|
+
</div>
|
|
1034
|
+
}
|
|
1035
|
+
@if (selectedOptions?.length > 1) {
|
|
1036
|
+
<span class="multipleSelect-displayer-numericBadge numericBadge">{{ selectedOptions?.length }}</span
|
|
1037
|
+
><span class="multipleSelect-displayer-label">{{ label }}</span>
|
|
1038
|
+
}
|
|
1049
1039
|
</div>
|
|
1050
|
-
|
|
1051
|
-
><span class="multipleSelect-displayer-numericBadge numericBadge">{{ selectedOptions?.length }}</span
|
|
1052
|
-
><span class="multipleSelect-displayer-label">{{ label }}</span></ng-container
|
|
1053
|
-
>
|
|
1054
|
-
</div>
|
|
1040
|
+
}
|
|
1055
1041
|
</div>
|
|
1056
|
-
`, isInline: true, styles: [":host{display:block;inline-size:100%}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type:
|
|
1042
|
+
`, isInline: true, styles: [":host{display:block;inline-size:100%}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: LuMultiSelectDisplayerInputDirective, selector: "[luMultiSelectDisplayerInput]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1057
1043
|
}
|
|
1058
1044
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectCounterDisplayerComponent, decorators: [{
|
|
1059
1045
|
type: Component,
|
|
1060
|
-
args: [{ selector: 'lu-multi-select-counter-displayer', standalone: true, imports: [AsyncPipe, LuTooltipModule,
|
|
1046
|
+
args: [{ selector: 'lu-multi-select-counter-displayer', standalone: true, imports: [AsyncPipe, LuTooltipModule, NgPlural, NgPluralCase, _LuOptionOutletDirective, FormsModule, LuMultiSelectDisplayerInputDirective], template: `
|
|
1061
1047
|
<div class="multipleSelect-displayer mod-filter" [class.is-filled]="(selectedOptions$ | async)?.length > 0">
|
|
1062
1048
|
<input type="text" autocomplete="off" #inputElement luMultiSelectDisplayerInput />
|
|
1063
|
-
|
|
1064
|
-
<div class="multipleSelect-displayer-
|
|
1065
|
-
|
|
1049
|
+
@if (selectedOptions$ | async; as selectedOptions) {
|
|
1050
|
+
<div class="multipleSelect-displayer-filter">
|
|
1051
|
+
@if (selectedOptions?.length === 1) {
|
|
1052
|
+
<div class="multipleSelect-displayer-chip chip mod-unkillable">
|
|
1053
|
+
<ng-container *luOptionOutlet="select.displayerTpl(); value: selectedOptions[0]"></ng-container>
|
|
1054
|
+
</div>
|
|
1055
|
+
}
|
|
1056
|
+
@if (selectedOptions?.length > 1) {
|
|
1057
|
+
<span class="multipleSelect-displayer-numericBadge numericBadge">{{ selectedOptions?.length }}</span
|
|
1058
|
+
><span class="multipleSelect-displayer-label">{{ label }}</span>
|
|
1059
|
+
}
|
|
1066
1060
|
</div>
|
|
1067
|
-
|
|
1068
|
-
><span class="multipleSelect-displayer-numericBadge numericBadge">{{ selectedOptions?.length }}</span
|
|
1069
|
-
><span class="multipleSelect-displayer-label">{{ label }}</span></ng-container
|
|
1070
|
-
>
|
|
1071
|
-
</div>
|
|
1061
|
+
}
|
|
1072
1062
|
</div>
|
|
1073
1063
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;inline-size:100%}\n"] }]
|
|
1074
1064
|
}], propDecorators: { inputElementRef: [{
|
|
@@ -1140,31 +1130,43 @@ class LuMultiSelectDefaultDisplayerComponent {
|
|
|
1140
1130
|
});
|
|
1141
1131
|
}
|
|
1142
1132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectDefaultDisplayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuMultiSelectDefaultDisplayerComponent, isStandalone: true, selector: "lu-multi-select-default-displayer", viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: `
|
|
1144
1134
|
<div class="multipleSelect-displayer">
|
|
1145
1135
|
<input autocomplete="off" #inputElement (keydown.backspace)="inputBackspace()" (keydown.space)="inputSpace($event)" luMultiSelectDisplayerInput />
|
|
1146
|
-
|
|
1147
|
-
<
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1136
|
+
@for (option of displayedOptions$ | async; track option; let index = $index) {
|
|
1137
|
+
<div class="multipleSelect-displayer-chip chip" [class.mod-unkillable]="select.disabled$ | async">
|
|
1138
|
+
<span class="multipleSelect-displayer-chip-value"><ng-container *luOptionOutlet="select.displayerTpl(); value: option"></ng-container></span>
|
|
1139
|
+
@if ((select.disabled$ | async) === false) {
|
|
1140
|
+
<button type="button" class="chip-kill" (click)="unselectOption(option, $event)">
|
|
1141
|
+
<span class="pr-u-mask">{{ intl.removeOption }}</span>
|
|
1142
|
+
</button>
|
|
1143
|
+
}
|
|
1144
|
+
</div>
|
|
1145
|
+
}
|
|
1146
|
+
@if (overflowOptions$ | async; as overflow) {
|
|
1147
|
+
<div class="multipleSelect-displayer-chip chip">+ {{ overflow }}</div>
|
|
1148
|
+
}
|
|
1153
1149
|
</div>
|
|
1154
|
-
`, isInline: true, styles: [":host{display:block;inline-size:100%;min-inline-size:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type:
|
|
1150
|
+
`, isInline: true, styles: [":host{display:block;inline-size:100%;min-inline-size:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: LuMultiSelectDisplayerInputDirective, selector: "[luMultiSelectDisplayerInput]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1155
1151
|
}
|
|
1156
1152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuMultiSelectDefaultDisplayerComponent, decorators: [{
|
|
1157
1153
|
type: Component,
|
|
1158
|
-
args: [{ selector: 'lu-multi-select-default-displayer', standalone: true, imports: [AsyncPipe, LuTooltipModule,
|
|
1154
|
+
args: [{ selector: 'lu-multi-select-default-displayer', standalone: true, imports: [AsyncPipe, LuTooltipModule, _LuOptionOutletDirective, FormsModule, LuMultiSelectDisplayerInputDirective], template: `
|
|
1159
1155
|
<div class="multipleSelect-displayer">
|
|
1160
1156
|
<input autocomplete="off" #inputElement (keydown.backspace)="inputBackspace()" (keydown.space)="inputSpace($event)" luMultiSelectDisplayerInput />
|
|
1161
|
-
|
|
1162
|
-
<
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1157
|
+
@for (option of displayedOptions$ | async; track option; let index = $index) {
|
|
1158
|
+
<div class="multipleSelect-displayer-chip chip" [class.mod-unkillable]="select.disabled$ | async">
|
|
1159
|
+
<span class="multipleSelect-displayer-chip-value"><ng-container *luOptionOutlet="select.displayerTpl(); value: option"></ng-container></span>
|
|
1160
|
+
@if ((select.disabled$ | async) === false) {
|
|
1161
|
+
<button type="button" class="chip-kill" (click)="unselectOption(option, $event)">
|
|
1162
|
+
<span class="pr-u-mask">{{ intl.removeOption }}</span>
|
|
1163
|
+
</button>
|
|
1164
|
+
}
|
|
1165
|
+
</div>
|
|
1166
|
+
}
|
|
1167
|
+
@if (overflowOptions$ | async; as overflow) {
|
|
1168
|
+
<div class="multipleSelect-displayer-chip chip">+ {{ overflow }}</div>
|
|
1169
|
+
}
|
|
1168
1170
|
</div>
|
|
1169
1171
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;inline-size:100%;min-inline-size:0}\n"] }]
|
|
1170
1172
|
}], propDecorators: { inputElementRef: [{
|