@natec/mef-dev-ui-kit 20.0.167 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/natec-mef-dev-ui-kit.mjs +3188 -20
- package/fesm2022/natec-mef-dev-ui-kit.mjs.map +1 -1
- package/index.d.ts +967 -46
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Input, ViewEncapsulation, Component, EventEmitter, Output, HostBinding, ContentChild, Host, NgModule, Injectable, ChangeDetectionStrategy, Pipe, forwardRef, HostListener, ViewChild, Directive, ContentChildren, Optional, TemplateRef, InjectionToken, inject, ViewContainerRef, DOCUMENT, NgZone, ElementRef, Renderer2, booleanAttribute, ChangeDetectorRef, HostAttributeToken, numberAttribute, QueryList, Injector, SkipSelf, signal, ViewChildren, ApplicationRef, afterNextRender, input, computed } from '@angular/core';
|
|
2
|
+
import { Input, ViewEncapsulation, Component, EventEmitter, Output, HostBinding, ContentChild, Host, NgModule, Injectable, ChangeDetectionStrategy, Pipe, forwardRef, HostListener, ViewChild, Directive, ContentChildren, Optional, TemplateRef, InjectionToken, inject, ViewContainerRef, DOCUMENT, NgZone, ElementRef, Renderer2, booleanAttribute, ChangeDetectorRef, HostAttributeToken, numberAttribute, QueryList, Injector, SkipSelf, signal, ViewChildren, ApplicationRef, afterNextRender, input, computed, EnvironmentInjector, HOST_TAG_NAME } from '@angular/core';
|
|
3
3
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule, NgTemplateOutlet, NgClass } from '@angular/common';
|
|
@@ -7,23 +7,24 @@ import { Subject, of, fromEvent, merge, Subscription, EMPTY, defer, timer, Obser
|
|
|
7
7
|
import * as i3 from '@angular/cdk/overlay';
|
|
8
8
|
import { CdkConnectedOverlay, OverlayModule, createBlockScrollStrategy, createGlobalPositionStrategy, createRepositionScrollStrategy, createOverlayRef, OverlayConfig, createFlexibleConnectedPositionStrategy, ViewportRuler, ScrollDispatcher, Overlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
9
9
|
import * as i2 from '@angular/forms';
|
|
10
|
-
import { NG_VALUE_ACCESSOR, FormsModule, NgControl, Validators, NG_VALIDATORS } from '@angular/forms';
|
|
11
|
-
import { TAB, DOWN_ARROW, ENTER, hasModifierKey, SPACE, ESCAPE, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, A } from '@angular/cdk/keycodes';
|
|
12
|
-
import { auditTime, startWith, map, filter, take, switchMap, takeUntil, debounceTime, skip, skipWhile } from 'rxjs/operators';
|
|
10
|
+
import { NG_VALUE_ACCESSOR, FormsModule, NgControl, Validators, NG_VALIDATORS, NgForm, FormGroupDirective } from '@angular/forms';
|
|
11
|
+
import { TAB, DOWN_ARROW, ENTER, hasModifierKey, SPACE, ESCAPE, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, A, BACKSPACE, DELETE } from '@angular/cdk/keycodes';
|
|
12
|
+
import { auditTime, startWith, map, filter, take, switchMap, takeUntil, debounceTime, skip, skipWhile, tap, delay } from 'rxjs/operators';
|
|
13
13
|
import * as i1$1 from '@angular/cdk/bidi';
|
|
14
14
|
import { Directionality, BidiModule } from '@angular/cdk/bidi';
|
|
15
15
|
import { CdkAccordionItem, CdkAccordion } from '@angular/cdk/accordion';
|
|
16
|
-
import { _IdGenerator, FocusMonitor, FocusKeyManager, isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader, ActiveDescendantKeyManager, CdkMonitorFocus } from '@angular/cdk/a11y';
|
|
16
|
+
import { _IdGenerator, FocusMonitor, FocusKeyManager, isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader, ActiveDescendantKeyManager, CdkMonitorFocus, removeAriaReferencedId, addAriaReferencedId } from '@angular/cdk/a11y';
|
|
17
17
|
import { UniqueSelectionDispatcher, SelectionModel } from '@angular/cdk/collections';
|
|
18
18
|
import { TemplatePortal, CdkPortalOutlet, PortalModule, DomPortalOutlet, CdkPortal } from '@angular/cdk/portal';
|
|
19
19
|
import { CdkDialogContainer, Dialog, DialogConfig, DialogModule } from '@angular/cdk/dialog';
|
|
20
|
-
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
20
|
+
import { coerceNumberProperty, coerceArray } from '@angular/cdk/coercion';
|
|
21
21
|
import * as i1$2 from '@angular/cdk/scrolling';
|
|
22
22
|
import { CdkScrollable, CdkScrollableModule, ViewportRuler as ViewportRuler$1 } from '@angular/cdk/scrolling';
|
|
23
23
|
import { CdkStepLabel, CdkStepHeader, CdkStep, CdkStepper, CdkStepperNext, CdkStepperPrevious, CdkStepperModule } from '@angular/cdk/stepper';
|
|
24
|
-
import { Platform, _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';
|
|
24
|
+
import { Platform, _getEventTarget, _getShadowRoot, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
25
25
|
import { SharedResizeObserver } from '@angular/cdk/observers/private';
|
|
26
26
|
import { CdkObserveContent } from '@angular/cdk/observers';
|
|
27
|
+
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Component representing a set of collapsible panels.
|
|
@@ -5881,28 +5882,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
5881
5882
|
type: Injectable
|
|
5882
5883
|
}] });
|
|
5883
5884
|
/**
|
|
5884
|
-
* Default
|
|
5885
|
+
* Default StepperErrorStateMatcher used across the stepper.
|
|
5885
5886
|
* Marks error when a control is invalid and touched, or the form is submitted.
|
|
5886
5887
|
*/
|
|
5887
|
-
class
|
|
5888
|
+
class StepperErrorStateMatcher {
|
|
5888
5889
|
isErrorState(control, form) {
|
|
5889
5890
|
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
5890
5891
|
}
|
|
5891
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type:
|
|
5892
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type:
|
|
5892
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: StepperErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5893
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: StepperErrorStateMatcher, providedIn: 'root' });
|
|
5893
5894
|
}
|
|
5894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type:
|
|
5895
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: StepperErrorStateMatcher, decorators: [{
|
|
5895
5896
|
type: Injectable,
|
|
5896
5897
|
args: [{ providedIn: 'root' }]
|
|
5897
5898
|
}] });
|
|
5898
5899
|
/**
|
|
5899
5900
|
* Single step inside the stepper.
|
|
5900
5901
|
* - Extends CdkStep and plugs in lazy content via <ng-template mdStepContent>.
|
|
5901
|
-
* - Provides
|
|
5902
|
+
* - Provides StepperErrorStateMatcher so the step can decide its own error state.
|
|
5902
5903
|
*/
|
|
5903
5904
|
class MDStep extends CdkStep {
|
|
5904
5905
|
/** Parent-provided matcher used as a baseline in isErrorState. */
|
|
5905
|
-
_errorStateMatcher = inject(
|
|
5906
|
+
_errorStateMatcher = inject(StepperErrorStateMatcher, { skipSelf: true });
|
|
5906
5907
|
/** View container used to create a portal for lazy content. */
|
|
5907
5908
|
_viewContainerRef = inject(ViewContainerRef);
|
|
5908
5909
|
/** Subscription to selected-state changes (to attach lazy content). */
|
|
@@ -5930,7 +5931,7 @@ class MDStep extends CdkStep {
|
|
|
5930
5931
|
this._isSelected.unsubscribe();
|
|
5931
5932
|
}
|
|
5932
5933
|
/**
|
|
5933
|
-
*
|
|
5934
|
+
* StepperErrorStateMatcher implementation for this step.
|
|
5934
5935
|
* Combines the injected default matcher with “interacted” state so that
|
|
5935
5936
|
* a step can show errors after the user interacted with the step controls.
|
|
5936
5937
|
*/
|
|
@@ -5941,16 +5942,16 @@ class MDStep extends CdkStep {
|
|
|
5941
5942
|
}
|
|
5942
5943
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDStep, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5943
5944
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MDStep, isStandalone: true, selector: "md-step", host: { attributes: { "hidden": "" } }, providers: [
|
|
5944
|
-
// Provide the step instance wherever
|
|
5945
|
-
{ provide:
|
|
5945
|
+
// Provide the step instance wherever StepperErrorStateMatcher or CdkStep is requested.
|
|
5946
|
+
{ provide: StepperErrorStateMatcher, useExisting: MDStep },
|
|
5946
5947
|
{ provide: CdkStep, useExisting: MDStep },
|
|
5947
5948
|
], queries: [{ propertyName: "stepLabel", first: true, predicate: MDStepLabel, descendants: true }, { propertyName: "_lazyContent", first: true, predicate: MDStepContent, descendants: true }], exportAs: ["mdStep"], usesInheritance: true, ngImport: i0, template: "<ng-template>\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n</ng-template>", dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
5948
5949
|
}
|
|
5949
5950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDStep, decorators: [{
|
|
5950
5951
|
type: Component,
|
|
5951
5952
|
args: [{ selector: 'md-step', providers: [
|
|
5952
|
-
// Provide the step instance wherever
|
|
5953
|
-
{ provide:
|
|
5953
|
+
// Provide the step instance wherever StepperErrorStateMatcher or CdkStep is requested.
|
|
5954
|
+
{ provide: StepperErrorStateMatcher, useExisting: MDStep },
|
|
5954
5955
|
{ provide: CdkStep, useExisting: MDStep },
|
|
5955
5956
|
], encapsulation: ViewEncapsulation.None, exportAs: 'mdStep', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CdkPortalOutlet], host: {
|
|
5956
5957
|
// Keep steps hidden by default; container controls visibility.
|
|
@@ -8641,6 +8642,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
8641
8642
|
args: [{ transform: booleanAttribute }]
|
|
8642
8643
|
}] } });
|
|
8643
8644
|
|
|
8645
|
+
class MDPseudoCheckboxModule {
|
|
8646
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8647
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MDPseudoCheckboxModule, imports: [PseudoCheckbox], exports: [PseudoCheckbox, BidiModule] });
|
|
8648
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDPseudoCheckboxModule, imports: [BidiModule] });
|
|
8649
|
+
}
|
|
8650
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDPseudoCheckboxModule, decorators: [{
|
|
8651
|
+
type: NgModule,
|
|
8652
|
+
args: [{
|
|
8653
|
+
imports: [PseudoCheckbox],
|
|
8654
|
+
exports: [PseudoCheckbox, BidiModule],
|
|
8655
|
+
}]
|
|
8656
|
+
}] });
|
|
8657
|
+
|
|
8658
|
+
class MDOptionModule {
|
|
8659
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8660
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MDOptionModule, imports: [MDPseudoCheckboxModule, MDOption, MDOptionGroup], exports: [MDOption, MDOptionGroup, BidiModule] });
|
|
8661
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDOptionModule, imports: [MDPseudoCheckboxModule, BidiModule] });
|
|
8662
|
+
}
|
|
8663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDOptionModule, decorators: [{
|
|
8664
|
+
type: NgModule,
|
|
8665
|
+
args: [{
|
|
8666
|
+
imports: [MDPseudoCheckboxModule, MDOption, MDOptionGroup],
|
|
8667
|
+
exports: [MDOption, MDOptionGroup, BidiModule],
|
|
8668
|
+
}]
|
|
8669
|
+
}] });
|
|
8670
|
+
|
|
8644
8671
|
class MDSelectModule {
|
|
8645
8672
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8646
8673
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MDSelectModule, imports: [CommonModule, FormsModule, OverlayModule, MDOption, MDOptionGroup, MDSelect, MDSelectTrigger, PseudoCheckbox], exports: [MDOption, MDOptionGroup, MDSelect, MDSelectTrigger] });
|
|
@@ -11097,9 +11124,3150 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
11097
11124
|
}]
|
|
11098
11125
|
}] });
|
|
11099
11126
|
|
|
11127
|
+
class MDAutocompleteSelectedEvent {
|
|
11128
|
+
source;
|
|
11129
|
+
option;
|
|
11130
|
+
constructor(source, option) {
|
|
11131
|
+
this.source = source;
|
|
11132
|
+
this.option = option;
|
|
11133
|
+
}
|
|
11134
|
+
}
|
|
11135
|
+
const MD_AUTOCOMPLETE_DEFAULT_OPTIONS = new InjectionToken('md-autocomplete-default-options', {
|
|
11136
|
+
providedIn: 'root',
|
|
11137
|
+
factory: () => ({
|
|
11138
|
+
autoActiveFirstOption: false,
|
|
11139
|
+
autoSelectActiveOption: false,
|
|
11140
|
+
hideSingleSelectionIndicator: false,
|
|
11141
|
+
requireSelection: false,
|
|
11142
|
+
hasBackdrop: false,
|
|
11143
|
+
}),
|
|
11144
|
+
});
|
|
11145
|
+
const MD_OPTION_PARENT_COMPONENT = new InjectionToken('MD_OPTION_PARENT_COMPONENT');
|
|
11146
|
+
class MDAutocomplete {
|
|
11147
|
+
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
11148
|
+
_elementRef = inject(ElementRef);
|
|
11149
|
+
_defaults = inject(MD_AUTOCOMPLETE_DEFAULT_OPTIONS);
|
|
11150
|
+
_activeOptionChanges = Subscription.EMPTY;
|
|
11151
|
+
_keyManager;
|
|
11152
|
+
showPanel = false;
|
|
11153
|
+
get isOpen() {
|
|
11154
|
+
return this._isOpen && this.showPanel;
|
|
11155
|
+
}
|
|
11156
|
+
_isOpen = false;
|
|
11157
|
+
_latestOpeningTrigger;
|
|
11158
|
+
template;
|
|
11159
|
+
panel;
|
|
11160
|
+
options;
|
|
11161
|
+
optionGroups;
|
|
11162
|
+
ariaLabel;
|
|
11163
|
+
ariaLabelledby;
|
|
11164
|
+
displayWith = null;
|
|
11165
|
+
autoActiveFirstOption;
|
|
11166
|
+
autoSelectActiveOption;
|
|
11167
|
+
requireSelection;
|
|
11168
|
+
panelWidth;
|
|
11169
|
+
_animationsDisabled = false;
|
|
11170
|
+
optionSelected = new EventEmitter();
|
|
11171
|
+
opened = new EventEmitter();
|
|
11172
|
+
closed = new EventEmitter();
|
|
11173
|
+
optionActivated = new EventEmitter();
|
|
11174
|
+
set classList(value) {
|
|
11175
|
+
this._classList = value;
|
|
11176
|
+
this._elementRef.nativeElement.className = '';
|
|
11177
|
+
}
|
|
11178
|
+
_classList;
|
|
11179
|
+
get hideSingleSelectionIndicator() {
|
|
11180
|
+
return this._hideSingleSelectionIndicator;
|
|
11181
|
+
}
|
|
11182
|
+
set hideSingleSelectionIndicator(value) {
|
|
11183
|
+
this._hideSingleSelectionIndicator = value;
|
|
11184
|
+
this._syncParentProperties();
|
|
11185
|
+
}
|
|
11186
|
+
_hideSingleSelectionIndicator;
|
|
11187
|
+
_syncParentProperties() {
|
|
11188
|
+
if (this.options) {
|
|
11189
|
+
for (const option of this.options) {
|
|
11190
|
+
option._changeDetectorRef.markForCheck();
|
|
11191
|
+
}
|
|
11192
|
+
}
|
|
11193
|
+
}
|
|
11194
|
+
id = inject(_IdGenerator).getId('md-autocomplete-');
|
|
11195
|
+
inertGroups;
|
|
11196
|
+
constructor() {
|
|
11197
|
+
const platform = inject(Platform);
|
|
11198
|
+
this.inertGroups = platform?.SAFARI || false;
|
|
11199
|
+
this.autoActiveFirstOption = !!this._defaults.autoActiveFirstOption;
|
|
11200
|
+
this.autoSelectActiveOption = !!this._defaults.autoSelectActiveOption;
|
|
11201
|
+
this.requireSelection = !!this._defaults.requireSelection;
|
|
11202
|
+
this._hideSingleSelectionIndicator = this._defaults.hideSingleSelectionIndicator ?? false;
|
|
11203
|
+
}
|
|
11204
|
+
ngAfterContentInit() {
|
|
11205
|
+
this._keyManager = new ActiveDescendantKeyManager(this.options)
|
|
11206
|
+
.withWrap()
|
|
11207
|
+
.skipPredicate(this._skipPredicate);
|
|
11208
|
+
this._activeOptionChanges = this._keyManager.change.subscribe(index => {
|
|
11209
|
+
if (this.isOpen) {
|
|
11210
|
+
this.optionActivated.emit({ source: this, option: this.options.toArray()[index] || null });
|
|
11211
|
+
}
|
|
11212
|
+
});
|
|
11213
|
+
this._setVisibility();
|
|
11214
|
+
}
|
|
11215
|
+
ngOnDestroy() {
|
|
11216
|
+
this._keyManager?.destroy();
|
|
11217
|
+
this._activeOptionChanges.unsubscribe();
|
|
11218
|
+
}
|
|
11219
|
+
_setScrollTop(scrollTop) {
|
|
11220
|
+
if (this.panel) {
|
|
11221
|
+
this.panel.nativeElement.scrollTop = scrollTop;
|
|
11222
|
+
}
|
|
11223
|
+
}
|
|
11224
|
+
_getScrollTop() {
|
|
11225
|
+
return this.panel ? this.panel.nativeElement.scrollTop : 0;
|
|
11226
|
+
}
|
|
11227
|
+
_setVisibility() {
|
|
11228
|
+
this.showPanel = !!this.options?.length;
|
|
11229
|
+
this._changeDetectorRef.markForCheck();
|
|
11230
|
+
}
|
|
11231
|
+
_emitSelectEvent(option) {
|
|
11232
|
+
const event = new MDAutocompleteSelectedEvent(this, option);
|
|
11233
|
+
this.optionSelected.emit(event);
|
|
11234
|
+
}
|
|
11235
|
+
_getPanelAriaLabelledby(labelId) {
|
|
11236
|
+
if (this.ariaLabel) {
|
|
11237
|
+
return null;
|
|
11238
|
+
}
|
|
11239
|
+
const labelExpression = labelId ? labelId + ' ' : '';
|
|
11240
|
+
return this.ariaLabelledby ? labelExpression + this.ariaLabelledby : labelId;
|
|
11241
|
+
}
|
|
11242
|
+
_skipPredicate() {
|
|
11243
|
+
return false;
|
|
11244
|
+
}
|
|
11245
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11246
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDAutocomplete, isStandalone: true, selector: "md-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", _animationsDisabled: "_animationsDisabled", classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { classAttribute: "md-mdc-autocomplete" }, providers: [{ provide: MD_OPTION_PARENT_COMPONENT, useExisting: MDAutocomplete }], queries: [{ propertyName: "options", predicate: MDOption, descendants: true }, { propertyName: "optionGroups", predicate: MDOptionGroup, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["mdAutocomplete"], ngImport: i0, template: "<ng-template>\r\n <div\r\n class=\"md-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\r\n role=\"listbox\"\r\n [id]=\"id\"\r\n [class]=\"_classList\"\r\n [class.md-mdc-autocomplete-visible]=\"showPanel\"\r\n [class.md-mdc-autocomplete-hidden]=\"!showPanel\"\r\n [class.md-autocomplete-panel-animations-enabled]=\"!_animationsDisabled\"\r\n [class.md-primary]=\"_color === 'primary'\"\r\n [class.md-accent]=\"_color === 'accent'\"\r\n [class.md-warn]=\"_color === 'warn'\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n #panel>\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>", styles: ["div.md-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:relative;border-radius:5px;background-color:#fff;box-shadow:0 2px 8px #00000026}@media (forced-colors: active){div.md-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.md-mdc-autocomplete-panel-above) div.md-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.md-mdc-autocomplete-panel-above div.md-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.md-mdc-autocomplete-panel.md-mdc-autocomplete-visible{visibility:visible}div.md-mdc-autocomplete-panel.md-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}@keyframes _md-autocomplete-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}.md-autocomplete-panel-animations-enabled{animation:_md-autocomplete-enter .12s cubic-bezier(0,0,.2,1)}md-autocomplete{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11247
|
+
}
|
|
11248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocomplete, decorators: [{
|
|
11249
|
+
type: Component,
|
|
11250
|
+
args: [{ selector: 'md-autocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'mdAutocomplete', host: {
|
|
11251
|
+
'class': 'md-mdc-autocomplete',
|
|
11252
|
+
}, providers: [{ provide: MD_OPTION_PARENT_COMPONENT, useExisting: MDAutocomplete }], template: "<ng-template>\r\n <div\r\n class=\"md-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\r\n role=\"listbox\"\r\n [id]=\"id\"\r\n [class]=\"_classList\"\r\n [class.md-mdc-autocomplete-visible]=\"showPanel\"\r\n [class.md-mdc-autocomplete-hidden]=\"!showPanel\"\r\n [class.md-autocomplete-panel-animations-enabled]=\"!_animationsDisabled\"\r\n [class.md-primary]=\"_color === 'primary'\"\r\n [class.md-accent]=\"_color === 'accent'\"\r\n [class.md-warn]=\"_color === 'warn'\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n #panel>\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>", styles: ["div.md-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:relative;border-radius:5px;background-color:#fff;box-shadow:0 2px 8px #00000026}@media (forced-colors: active){div.md-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.md-mdc-autocomplete-panel-above) div.md-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.md-mdc-autocomplete-panel-above div.md-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.md-mdc-autocomplete-panel.md-mdc-autocomplete-visible{visibility:visible}div.md-mdc-autocomplete-panel.md-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}@keyframes _md-autocomplete-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}.md-autocomplete-panel-animations-enabled{animation:_md-autocomplete-enter .12s cubic-bezier(0,0,.2,1)}md-autocomplete{display:none}\n"] }]
|
|
11253
|
+
}], ctorParameters: () => [], propDecorators: { template: [{
|
|
11254
|
+
type: ViewChild,
|
|
11255
|
+
args: [TemplateRef, { static: true }]
|
|
11256
|
+
}], panel: [{
|
|
11257
|
+
type: ViewChild,
|
|
11258
|
+
args: ['panel']
|
|
11259
|
+
}], options: [{
|
|
11260
|
+
type: ContentChildren,
|
|
11261
|
+
args: [MDOption, { descendants: true }]
|
|
11262
|
+
}], optionGroups: [{
|
|
11263
|
+
type: ContentChildren,
|
|
11264
|
+
args: [MDOptionGroup, { descendants: true }]
|
|
11265
|
+
}], ariaLabel: [{
|
|
11266
|
+
type: Input,
|
|
11267
|
+
args: ['aria-label']
|
|
11268
|
+
}], ariaLabelledby: [{
|
|
11269
|
+
type: Input,
|
|
11270
|
+
args: ['aria-labelledby']
|
|
11271
|
+
}], displayWith: [{
|
|
11272
|
+
type: Input
|
|
11273
|
+
}], autoActiveFirstOption: [{
|
|
11274
|
+
type: Input,
|
|
11275
|
+
args: [{ transform: booleanAttribute }]
|
|
11276
|
+
}], autoSelectActiveOption: [{
|
|
11277
|
+
type: Input,
|
|
11278
|
+
args: [{ transform: booleanAttribute }]
|
|
11279
|
+
}], requireSelection: [{
|
|
11280
|
+
type: Input,
|
|
11281
|
+
args: [{ transform: booleanAttribute }]
|
|
11282
|
+
}], panelWidth: [{
|
|
11283
|
+
type: Input
|
|
11284
|
+
}], _animationsDisabled: [{
|
|
11285
|
+
type: Input
|
|
11286
|
+
}], optionSelected: [{
|
|
11287
|
+
type: Output
|
|
11288
|
+
}], opened: [{
|
|
11289
|
+
type: Output
|
|
11290
|
+
}], closed: [{
|
|
11291
|
+
type: Output
|
|
11292
|
+
}], optionActivated: [{
|
|
11293
|
+
type: Output
|
|
11294
|
+
}], classList: [{
|
|
11295
|
+
type: Input,
|
|
11296
|
+
args: ['class']
|
|
11297
|
+
}], hideSingleSelectionIndicator: [{
|
|
11298
|
+
type: Input,
|
|
11299
|
+
args: [{ transform: booleanAttribute }]
|
|
11300
|
+
}] } });
|
|
11301
|
+
|
|
11302
|
+
class MDAutocompleteOrigin {
|
|
11303
|
+
elementRef = inject(ElementRef);
|
|
11304
|
+
constructor() { }
|
|
11305
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11306
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDAutocompleteOrigin, isStandalone: true, selector: "[mdAutocompleteOrigin]", exportAs: ["mdAutocompleteOrigin"], ngImport: i0 });
|
|
11307
|
+
}
|
|
11308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteOrigin, decorators: [{
|
|
11309
|
+
type: Directive,
|
|
11310
|
+
args: [{
|
|
11311
|
+
selector: '[mdAutocompleteOrigin]',
|
|
11312
|
+
exportAs: 'mdAutocompleteOrigin',
|
|
11313
|
+
}]
|
|
11314
|
+
}], ctorParameters: () => [] });
|
|
11315
|
+
|
|
11316
|
+
const MD_AUTOCOMPLETE_VALUE_ACCESSOR = {
|
|
11317
|
+
provide: NG_VALUE_ACCESSOR,
|
|
11318
|
+
useExisting: forwardRef(() => MDAutocompleteTrigger),
|
|
11319
|
+
multi: true,
|
|
11320
|
+
};
|
|
11321
|
+
function getMDAutocompleteMissingPanelError() {
|
|
11322
|
+
return Error('Attempting to open an undefined instance of `md-autocomplete`. ' +
|
|
11323
|
+
'Make sure that the id passed to the `mdAutocomplete` is correct and that ' +
|
|
11324
|
+
"you're attempting to open it after the ngAfterContentInit hook.");
|
|
11325
|
+
}
|
|
11326
|
+
const MD_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('md-autocomplete-scroll-strategy', {
|
|
11327
|
+
providedIn: 'root',
|
|
11328
|
+
factory: () => {
|
|
11329
|
+
const injector = inject(Injector);
|
|
11330
|
+
return () => createRepositionScrollStrategy(injector);
|
|
11331
|
+
},
|
|
11332
|
+
});
|
|
11333
|
+
class MDAutocompleteTrigger {
|
|
11334
|
+
_environmentInjector = inject(EnvironmentInjector);
|
|
11335
|
+
_element = inject(ElementRef);
|
|
11336
|
+
_injector = inject(Injector);
|
|
11337
|
+
_viewContainerRef = inject(ViewContainerRef);
|
|
11338
|
+
_zone = inject(NgZone);
|
|
11339
|
+
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
11340
|
+
_dir = inject(Directionality, { optional: true });
|
|
11341
|
+
_viewportRuler = inject(ViewportRuler$1);
|
|
11342
|
+
_scrollStrategy = inject(MD_AUTOCOMPLETE_SCROLL_STRATEGY);
|
|
11343
|
+
_renderer = inject(Renderer2);
|
|
11344
|
+
_animationsDisabled = false;
|
|
11345
|
+
_defaults = inject(MD_AUTOCOMPLETE_DEFAULT_OPTIONS, {
|
|
11346
|
+
optional: true,
|
|
11347
|
+
});
|
|
11348
|
+
_overlayRef;
|
|
11349
|
+
_portal;
|
|
11350
|
+
_componentDestroyed = false;
|
|
11351
|
+
_initialized = new Subject();
|
|
11352
|
+
_keydownSubscription;
|
|
11353
|
+
_outsideClickSubscription;
|
|
11354
|
+
_cleanupWindowBlur;
|
|
11355
|
+
_previousValue;
|
|
11356
|
+
_valueOnAttach;
|
|
11357
|
+
_valueOnLastKeydown;
|
|
11358
|
+
_positionStrategy;
|
|
11359
|
+
_manuallyFloatingLabel = false;
|
|
11360
|
+
_closingActionsSubscription;
|
|
11361
|
+
_viewportSubscription = Subscription.EMPTY;
|
|
11362
|
+
_breakpointObserver = inject(BreakpointObserver);
|
|
11363
|
+
_handsetLandscapeSubscription = Subscription.EMPTY;
|
|
11364
|
+
_canOpenOnNextFocus = true;
|
|
11365
|
+
_valueBeforeAutoSelection;
|
|
11366
|
+
_pendingAutoselectedOption;
|
|
11367
|
+
_closeKeyEventStream = new Subject();
|
|
11368
|
+
_overlayPanelClass = coerceArray(this._defaults?.overlayPanelClass || []);
|
|
11369
|
+
_windowBlurHandler = () => {
|
|
11370
|
+
this._canOpenOnNextFocus = this.panelOpen || !this._hasFocus();
|
|
11371
|
+
};
|
|
11372
|
+
_onChange = () => { };
|
|
11373
|
+
_onTouched = () => { };
|
|
11374
|
+
autocomplete;
|
|
11375
|
+
position = 'auto';
|
|
11376
|
+
connectedTo;
|
|
11377
|
+
autocompleteAttribute = 'off';
|
|
11378
|
+
autocompleteDisabled;
|
|
11379
|
+
constructor() { }
|
|
11380
|
+
_aboveClass = 'md-mdc-autocomplete-panel-above';
|
|
11381
|
+
ngAfterViewInit() {
|
|
11382
|
+
this._initialized.next();
|
|
11383
|
+
this._initialized.complete();
|
|
11384
|
+
this._cleanupWindowBlur = this._renderer.listen('window', 'blur', this._windowBlurHandler);
|
|
11385
|
+
}
|
|
11386
|
+
ngOnChanges(changes) {
|
|
11387
|
+
if (changes['position'] && this._positionStrategy) {
|
|
11388
|
+
this._setStrategyPositions(this._positionStrategy);
|
|
11389
|
+
if (this.panelOpen) {
|
|
11390
|
+
this._overlayRef.updatePosition();
|
|
11391
|
+
}
|
|
11392
|
+
}
|
|
11393
|
+
}
|
|
11394
|
+
ngOnDestroy() {
|
|
11395
|
+
this._cleanupWindowBlur?.();
|
|
11396
|
+
this._handsetLandscapeSubscription.unsubscribe();
|
|
11397
|
+
this._viewportSubscription.unsubscribe();
|
|
11398
|
+
this._componentDestroyed = true;
|
|
11399
|
+
this._destroyPanel();
|
|
11400
|
+
this._closeKeyEventStream.complete();
|
|
11401
|
+
this._clearFromModal();
|
|
11402
|
+
}
|
|
11403
|
+
get panelOpen() {
|
|
11404
|
+
return this._overlayAttached && this.autocomplete.showPanel;
|
|
11405
|
+
}
|
|
11406
|
+
_overlayAttached = false;
|
|
11407
|
+
openPanel() {
|
|
11408
|
+
this._openPanelInternal();
|
|
11409
|
+
}
|
|
11410
|
+
closePanel() {
|
|
11411
|
+
if (!this._overlayAttached) {
|
|
11412
|
+
return;
|
|
11413
|
+
}
|
|
11414
|
+
if (this.panelOpen) {
|
|
11415
|
+
this._zone.run(() => {
|
|
11416
|
+
this.autocomplete.closed.emit();
|
|
11417
|
+
});
|
|
11418
|
+
}
|
|
11419
|
+
if (this.autocomplete._latestOpeningTrigger === this) {
|
|
11420
|
+
this.autocomplete._isOpen = false;
|
|
11421
|
+
this.autocomplete._latestOpeningTrigger = null;
|
|
11422
|
+
}
|
|
11423
|
+
this._overlayAttached = false;
|
|
11424
|
+
this._pendingAutoselectedOption = null;
|
|
11425
|
+
if (this._overlayRef && this._overlayRef.hasAttached()) {
|
|
11426
|
+
this._overlayRef.detach();
|
|
11427
|
+
this._closingActionsSubscription.unsubscribe();
|
|
11428
|
+
}
|
|
11429
|
+
this._updatePanelState();
|
|
11430
|
+
if (!this._componentDestroyed) {
|
|
11431
|
+
this._changeDetectorRef.detectChanges();
|
|
11432
|
+
}
|
|
11433
|
+
if (this._trackedModal) {
|
|
11434
|
+
removeAriaReferencedId(this._trackedModal, 'aria-owns', this.autocomplete.id);
|
|
11435
|
+
}
|
|
11436
|
+
}
|
|
11437
|
+
updatePosition() {
|
|
11438
|
+
if (this._overlayAttached) {
|
|
11439
|
+
this._overlayRef.updatePosition();
|
|
11440
|
+
}
|
|
11441
|
+
}
|
|
11442
|
+
get panelClosingActions() {
|
|
11443
|
+
return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter(() => this._overlayAttached)), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ? this._overlayRef.detachments().pipe(filter(() => this._overlayAttached)) : of()).pipe(map((event) => (event instanceof MDOptionSelectionChange ? event : null)));
|
|
11444
|
+
}
|
|
11445
|
+
optionSelections = defer(() => {
|
|
11446
|
+
const options = this.autocomplete ? this.autocomplete.options : null;
|
|
11447
|
+
if (options) {
|
|
11448
|
+
return options.changes.pipe(startWith(options), switchMap(() => merge(...options.map((option) => option.onSelectionChange))));
|
|
11449
|
+
}
|
|
11450
|
+
return this._initialized.pipe(switchMap(() => this.optionSelections));
|
|
11451
|
+
});
|
|
11452
|
+
get activeOption() {
|
|
11453
|
+
if (this.autocomplete && this.autocomplete._keyManager) {
|
|
11454
|
+
return this.autocomplete._keyManager.activeItem;
|
|
11455
|
+
}
|
|
11456
|
+
return null;
|
|
11457
|
+
}
|
|
11458
|
+
_getOutsideClickStream() {
|
|
11459
|
+
return new Observable((observer) => {
|
|
11460
|
+
const listener = (event) => {
|
|
11461
|
+
const clickTarget = _getEventTarget(event);
|
|
11462
|
+
const customOrigin = this.connectedTo ? this.connectedTo.elementRef.nativeElement : null;
|
|
11463
|
+
if (this._overlayAttached &&
|
|
11464
|
+
clickTarget !== this._element.nativeElement &&
|
|
11465
|
+
!this._hasFocus() &&
|
|
11466
|
+
(!customOrigin || !customOrigin.contains(clickTarget)) &&
|
|
11467
|
+
!!this._overlayRef &&
|
|
11468
|
+
!this._overlayRef.overlayElement.contains(clickTarget)) {
|
|
11469
|
+
observer.next(event);
|
|
11470
|
+
}
|
|
11471
|
+
};
|
|
11472
|
+
const cleanups = [
|
|
11473
|
+
this._renderer.listen('document', 'click', listener),
|
|
11474
|
+
this._renderer.listen('document', 'auxclick', listener),
|
|
11475
|
+
this._renderer.listen('document', 'touchend', listener),
|
|
11476
|
+
];
|
|
11477
|
+
return () => {
|
|
11478
|
+
cleanups.forEach((current) => current());
|
|
11479
|
+
};
|
|
11480
|
+
});
|
|
11481
|
+
}
|
|
11482
|
+
writeValue(value) {
|
|
11483
|
+
Promise.resolve(null).then(() => this._assignOptionValue(value));
|
|
11484
|
+
}
|
|
11485
|
+
registerOnChange(fn) {
|
|
11486
|
+
this._onChange = fn;
|
|
11487
|
+
}
|
|
11488
|
+
registerOnTouched(fn) {
|
|
11489
|
+
this._onTouched = fn;
|
|
11490
|
+
}
|
|
11491
|
+
setDisabledState(isDisabled) {
|
|
11492
|
+
this._element.nativeElement.disabled = isDisabled;
|
|
11493
|
+
}
|
|
11494
|
+
_handleKeydown(e) {
|
|
11495
|
+
const event = e;
|
|
11496
|
+
const keyCode = event.keyCode;
|
|
11497
|
+
const hasModifier = hasModifierKey(event);
|
|
11498
|
+
if (keyCode === ESCAPE && !hasModifier) {
|
|
11499
|
+
event.preventDefault();
|
|
11500
|
+
}
|
|
11501
|
+
this._valueOnLastKeydown = this._element.nativeElement.value;
|
|
11502
|
+
if (this.activeOption && keyCode === ENTER && this.panelOpen && !hasModifier) {
|
|
11503
|
+
this.activeOption._selectViaInteraction();
|
|
11504
|
+
this._resetActiveItem();
|
|
11505
|
+
event.preventDefault();
|
|
11506
|
+
}
|
|
11507
|
+
else if (this.autocomplete) {
|
|
11508
|
+
const prevActiveItem = this.autocomplete._keyManager.activeItem;
|
|
11509
|
+
const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;
|
|
11510
|
+
if (keyCode === TAB || (isArrowKey && !hasModifier && this.panelOpen)) {
|
|
11511
|
+
this.autocomplete._keyManager.onKeydown(event);
|
|
11512
|
+
}
|
|
11513
|
+
else if (isArrowKey && this._canOpen()) {
|
|
11514
|
+
this._openPanelInternal(this._valueOnLastKeydown);
|
|
11515
|
+
}
|
|
11516
|
+
if (isArrowKey || this.autocomplete._keyManager.activeItem !== prevActiveItem) {
|
|
11517
|
+
this._scrollToOption(this.autocomplete._keyManager.activeItemIndex || 0);
|
|
11518
|
+
if (this.autocomplete.autoSelectActiveOption && this.activeOption) {
|
|
11519
|
+
if (!this._pendingAutoselectedOption) {
|
|
11520
|
+
this._valueBeforeAutoSelection = this._valueOnLastKeydown;
|
|
11521
|
+
}
|
|
11522
|
+
this._pendingAutoselectedOption = this.activeOption;
|
|
11523
|
+
this._assignOptionValue(this.activeOption.value);
|
|
11524
|
+
}
|
|
11525
|
+
}
|
|
11526
|
+
}
|
|
11527
|
+
}
|
|
11528
|
+
_handleInput(event) {
|
|
11529
|
+
let target = event.target;
|
|
11530
|
+
let value = target.value;
|
|
11531
|
+
if (target.type === 'number') {
|
|
11532
|
+
value = value == '' ? null : parseFloat(value);
|
|
11533
|
+
}
|
|
11534
|
+
if (this._previousValue !== value) {
|
|
11535
|
+
this._previousValue = value;
|
|
11536
|
+
this._pendingAutoselectedOption = null;
|
|
11537
|
+
if (!this.autocomplete || !this.autocomplete.requireSelection) {
|
|
11538
|
+
this._onChange(value);
|
|
11539
|
+
}
|
|
11540
|
+
if (!value) {
|
|
11541
|
+
this._clearPreviousSelectedOption(null, false);
|
|
11542
|
+
}
|
|
11543
|
+
else if (this.panelOpen && !this.autocomplete.requireSelection) {
|
|
11544
|
+
const selectedOption = this.autocomplete.options?.find((option) => option.selected);
|
|
11545
|
+
if (selectedOption) {
|
|
11546
|
+
const display = this._getDisplayValue(selectedOption.value);
|
|
11547
|
+
if (value !== display) {
|
|
11548
|
+
selectedOption.deselect(false);
|
|
11549
|
+
}
|
|
11550
|
+
}
|
|
11551
|
+
}
|
|
11552
|
+
if (this._canOpen() && this._hasFocus()) {
|
|
11553
|
+
const valueOnAttach = this._valueOnLastKeydown ?? this._element.nativeElement.value;
|
|
11554
|
+
this._valueOnLastKeydown = null;
|
|
11555
|
+
this._openPanelInternal(valueOnAttach);
|
|
11556
|
+
}
|
|
11557
|
+
}
|
|
11558
|
+
}
|
|
11559
|
+
_handleFocus() {
|
|
11560
|
+
if (!this._canOpenOnNextFocus) {
|
|
11561
|
+
this._canOpenOnNextFocus = true;
|
|
11562
|
+
}
|
|
11563
|
+
else if (this._canOpen()) {
|
|
11564
|
+
this._previousValue = this._element.nativeElement.value;
|
|
11565
|
+
this._attachOverlay(this._previousValue);
|
|
11566
|
+
}
|
|
11567
|
+
}
|
|
11568
|
+
_handleClick() {
|
|
11569
|
+
if (this._canOpen() && !this.panelOpen) {
|
|
11570
|
+
this._openPanelInternal();
|
|
11571
|
+
}
|
|
11572
|
+
}
|
|
11573
|
+
_hasFocus() {
|
|
11574
|
+
return _getFocusedElementPierceShadowDom() === this._element.nativeElement;
|
|
11575
|
+
}
|
|
11576
|
+
_subscribeToClosingActions() {
|
|
11577
|
+
const initialRender = new Observable((subscriber) => {
|
|
11578
|
+
afterNextRender(() => {
|
|
11579
|
+
subscriber.next();
|
|
11580
|
+
}, { injector: this._environmentInjector });
|
|
11581
|
+
});
|
|
11582
|
+
const optionChanges = this.autocomplete.options?.changes.pipe(tap(() => this._positionStrategy.reapplyLastPosition()), delay(0)) ?? of();
|
|
11583
|
+
return merge(initialRender, optionChanges)
|
|
11584
|
+
.pipe(switchMap(() => this._zone.run(() => {
|
|
11585
|
+
const wasOpen = this.panelOpen;
|
|
11586
|
+
this._resetActiveItem();
|
|
11587
|
+
this._updatePanelState();
|
|
11588
|
+
this._changeDetectorRef.detectChanges();
|
|
11589
|
+
if (this.panelOpen) {
|
|
11590
|
+
this._overlayRef.updatePosition();
|
|
11591
|
+
}
|
|
11592
|
+
if (wasOpen !== this.panelOpen) {
|
|
11593
|
+
if (this.panelOpen) {
|
|
11594
|
+
this._emitOpened();
|
|
11595
|
+
}
|
|
11596
|
+
else {
|
|
11597
|
+
this.autocomplete.closed.emit();
|
|
11598
|
+
}
|
|
11599
|
+
}
|
|
11600
|
+
return this.panelClosingActions;
|
|
11601
|
+
})), take(1))
|
|
11602
|
+
.subscribe((event) => this._setValueAndClose(event));
|
|
11603
|
+
}
|
|
11604
|
+
_emitOpened() {
|
|
11605
|
+
this.autocomplete.opened.emit();
|
|
11606
|
+
}
|
|
11607
|
+
_destroyPanel() {
|
|
11608
|
+
if (this._overlayRef) {
|
|
11609
|
+
this.closePanel();
|
|
11610
|
+
this._overlayRef.dispose();
|
|
11611
|
+
this._overlayRef = null;
|
|
11612
|
+
}
|
|
11613
|
+
}
|
|
11614
|
+
_getDisplayValue(value) {
|
|
11615
|
+
const autocomplete = this.autocomplete;
|
|
11616
|
+
return autocomplete && autocomplete.displayWith ? autocomplete.displayWith(value) : value;
|
|
11617
|
+
}
|
|
11618
|
+
_assignOptionValue(value) {
|
|
11619
|
+
const toDisplay = this._getDisplayValue(value);
|
|
11620
|
+
if (value == null) {
|
|
11621
|
+
this._clearPreviousSelectedOption(null, false);
|
|
11622
|
+
}
|
|
11623
|
+
this._updateNativeInputValue(toDisplay != null ? toDisplay : '');
|
|
11624
|
+
}
|
|
11625
|
+
_updateNativeInputValue(value) {
|
|
11626
|
+
this._element.nativeElement.value = value;
|
|
11627
|
+
this._previousValue = value;
|
|
11628
|
+
}
|
|
11629
|
+
_setValueAndClose(event) {
|
|
11630
|
+
const panel = this.autocomplete;
|
|
11631
|
+
const toSelect = event ? event.source : this._pendingAutoselectedOption;
|
|
11632
|
+
if (toSelect) {
|
|
11633
|
+
this._clearPreviousSelectedOption(toSelect);
|
|
11634
|
+
this._assignOptionValue(toSelect.value);
|
|
11635
|
+
this._onChange(toSelect.value);
|
|
11636
|
+
panel._emitSelectEvent(toSelect);
|
|
11637
|
+
this._element.nativeElement.focus();
|
|
11638
|
+
}
|
|
11639
|
+
else if (panel.requireSelection && this._element.nativeElement.value !== this._valueOnAttach) {
|
|
11640
|
+
this._clearPreviousSelectedOption(null);
|
|
11641
|
+
this._assignOptionValue(null);
|
|
11642
|
+
this._onChange(null);
|
|
11643
|
+
}
|
|
11644
|
+
this.closePanel();
|
|
11645
|
+
}
|
|
11646
|
+
_clearPreviousSelectedOption(skip, emitEvent) {
|
|
11647
|
+
this.autocomplete?.options?.forEach((option) => {
|
|
11648
|
+
if (option !== skip && option.selected) {
|
|
11649
|
+
option.deselect(emitEvent);
|
|
11650
|
+
}
|
|
11651
|
+
});
|
|
11652
|
+
}
|
|
11653
|
+
_openPanelInternal(valueOnAttach = this._element.nativeElement.value) {
|
|
11654
|
+
this._attachOverlay(valueOnAttach);
|
|
11655
|
+
if (this._trackedModal) {
|
|
11656
|
+
const panelId = this.autocomplete.id;
|
|
11657
|
+
addAriaReferencedId(this._trackedModal, 'aria-owns', panelId);
|
|
11658
|
+
}
|
|
11659
|
+
}
|
|
11660
|
+
_attachOverlay(valueOnAttach) {
|
|
11661
|
+
if (!this.autocomplete && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
11662
|
+
throw getMDAutocompleteMissingPanelError();
|
|
11663
|
+
}
|
|
11664
|
+
let overlayRef = this._overlayRef;
|
|
11665
|
+
if (!overlayRef) {
|
|
11666
|
+
this._portal = new TemplatePortal(this.autocomplete.template, this._viewContainerRef);
|
|
11667
|
+
overlayRef = createOverlayRef(this._injector, this._getOverlayConfig());
|
|
11668
|
+
this._overlayRef = overlayRef;
|
|
11669
|
+
this._viewportSubscription = this._viewportRuler.change().subscribe(() => {
|
|
11670
|
+
if (this.panelOpen && overlayRef) {
|
|
11671
|
+
overlayRef.updateSize({ width: this._getPanelWidth() });
|
|
11672
|
+
}
|
|
11673
|
+
});
|
|
11674
|
+
this._handsetLandscapeSubscription = this._breakpointObserver
|
|
11675
|
+
.observe(Breakpoints.HandsetLandscape)
|
|
11676
|
+
.subscribe((result) => {
|
|
11677
|
+
const isHandsetLandscape = result.matches;
|
|
11678
|
+
if (isHandsetLandscape) {
|
|
11679
|
+
this._positionStrategy
|
|
11680
|
+
.withFlexibleDimensions(true)
|
|
11681
|
+
.withGrowAfterOpen(true)
|
|
11682
|
+
.withViewportMargin(8);
|
|
11683
|
+
}
|
|
11684
|
+
else {
|
|
11685
|
+
this._positionStrategy
|
|
11686
|
+
.withFlexibleDimensions(false)
|
|
11687
|
+
.withGrowAfterOpen(false)
|
|
11688
|
+
.withViewportMargin(0);
|
|
11689
|
+
}
|
|
11690
|
+
});
|
|
11691
|
+
}
|
|
11692
|
+
else {
|
|
11693
|
+
this._positionStrategy.setOrigin(this._getConnectedElement());
|
|
11694
|
+
overlayRef.updateSize({ width: this._getPanelWidth() });
|
|
11695
|
+
}
|
|
11696
|
+
if (overlayRef && !overlayRef.hasAttached()) {
|
|
11697
|
+
overlayRef.attach(this._portal);
|
|
11698
|
+
this._valueOnAttach = valueOnAttach;
|
|
11699
|
+
this._valueOnLastKeydown = null;
|
|
11700
|
+
this._closingActionsSubscription = this._subscribeToClosingActions();
|
|
11701
|
+
}
|
|
11702
|
+
const wasOpen = this.panelOpen;
|
|
11703
|
+
this.autocomplete._isOpen = this._overlayAttached = true;
|
|
11704
|
+
this.autocomplete._latestOpeningTrigger = this;
|
|
11705
|
+
this._updatePanelState();
|
|
11706
|
+
this._applyModalPanelOwnership();
|
|
11707
|
+
if (this.panelOpen && wasOpen !== this.panelOpen) {
|
|
11708
|
+
this._emitOpened();
|
|
11709
|
+
}
|
|
11710
|
+
}
|
|
11711
|
+
_handlePanelKeydown = (event) => {
|
|
11712
|
+
if ((event.keyCode === ESCAPE && !hasModifierKey(event)) ||
|
|
11713
|
+
(event.keyCode === UP_ARROW && hasModifierKey(event, 'altKey'))) {
|
|
11714
|
+
if (this._pendingAutoselectedOption) {
|
|
11715
|
+
this._updateNativeInputValue(this._valueBeforeAutoSelection ?? '');
|
|
11716
|
+
this._pendingAutoselectedOption = null;
|
|
11717
|
+
}
|
|
11718
|
+
this._closeKeyEventStream.next();
|
|
11719
|
+
this._resetActiveItem();
|
|
11720
|
+
event.stopPropagation();
|
|
11721
|
+
event.preventDefault();
|
|
11722
|
+
}
|
|
11723
|
+
};
|
|
11724
|
+
_updatePanelState() {
|
|
11725
|
+
this.autocomplete._setVisibility();
|
|
11726
|
+
if (this.panelOpen) {
|
|
11727
|
+
const overlayRef = this._overlayRef;
|
|
11728
|
+
if (!this._keydownSubscription) {
|
|
11729
|
+
this._keydownSubscription = overlayRef.keydownEvents().subscribe(this._handlePanelKeydown);
|
|
11730
|
+
}
|
|
11731
|
+
if (!this._outsideClickSubscription) {
|
|
11732
|
+
this._outsideClickSubscription = overlayRef.outsidePointerEvents().subscribe();
|
|
11733
|
+
}
|
|
11734
|
+
}
|
|
11735
|
+
else {
|
|
11736
|
+
this._keydownSubscription?.unsubscribe();
|
|
11737
|
+
this._outsideClickSubscription?.unsubscribe();
|
|
11738
|
+
this._keydownSubscription = this._outsideClickSubscription = null;
|
|
11739
|
+
}
|
|
11740
|
+
}
|
|
11741
|
+
_getOverlayConfig() {
|
|
11742
|
+
return new OverlayConfig({
|
|
11743
|
+
positionStrategy: this._getOverlayPosition(),
|
|
11744
|
+
scrollStrategy: this._scrollStrategy(),
|
|
11745
|
+
width: this._getPanelWidth(),
|
|
11746
|
+
direction: this._dir ?? undefined,
|
|
11747
|
+
hasBackdrop: this._defaults?.hasBackdrop,
|
|
11748
|
+
backdropClass: this._defaults?.backdropClass || 'cdk-overlay-transparent-backdrop',
|
|
11749
|
+
panelClass: this._overlayPanelClass,
|
|
11750
|
+
disableAnimations: this._animationsDisabled,
|
|
11751
|
+
});
|
|
11752
|
+
}
|
|
11753
|
+
_getOverlayPosition() {
|
|
11754
|
+
const strategy = createFlexibleConnectedPositionStrategy(this._injector, this._getConnectedElement())
|
|
11755
|
+
.withFlexibleDimensions(false)
|
|
11756
|
+
.withPush(false);
|
|
11757
|
+
this._setStrategyPositions(strategy);
|
|
11758
|
+
this._positionStrategy = strategy;
|
|
11759
|
+
return strategy;
|
|
11760
|
+
}
|
|
11761
|
+
_setStrategyPositions(positionStrategy) {
|
|
11762
|
+
const belowPositions = [
|
|
11763
|
+
{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },
|
|
11764
|
+
{ originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },
|
|
11765
|
+
];
|
|
11766
|
+
const panelClass = this._aboveClass;
|
|
11767
|
+
const abovePositions = [
|
|
11768
|
+
{ originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', panelClass },
|
|
11769
|
+
{ originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', panelClass },
|
|
11770
|
+
];
|
|
11771
|
+
let positions;
|
|
11772
|
+
if (this.position === 'above') {
|
|
11773
|
+
positions = abovePositions;
|
|
11774
|
+
}
|
|
11775
|
+
else if (this.position === 'below') {
|
|
11776
|
+
positions = belowPositions;
|
|
11777
|
+
}
|
|
11778
|
+
else {
|
|
11779
|
+
positions = [...belowPositions, ...abovePositions];
|
|
11780
|
+
}
|
|
11781
|
+
positionStrategy.withPositions(positions);
|
|
11782
|
+
}
|
|
11783
|
+
_getConnectedElement() {
|
|
11784
|
+
if (this.connectedTo) {
|
|
11785
|
+
return this.connectedTo.elementRef;
|
|
11786
|
+
}
|
|
11787
|
+
return this._element;
|
|
11788
|
+
}
|
|
11789
|
+
_getPanelWidth() {
|
|
11790
|
+
return this.autocomplete.panelWidth || this._getHostWidth();
|
|
11791
|
+
}
|
|
11792
|
+
_getHostWidth() {
|
|
11793
|
+
return this._getConnectedElement().nativeElement.getBoundingClientRect().width;
|
|
11794
|
+
}
|
|
11795
|
+
_resetActiveItem() {
|
|
11796
|
+
const autocomplete = this.autocomplete;
|
|
11797
|
+
if (autocomplete.autoActiveFirstOption) {
|
|
11798
|
+
let firstEnabledOptionIndex = -1;
|
|
11799
|
+
for (let index = 0; index < autocomplete.options.length; index++) {
|
|
11800
|
+
const option = autocomplete.options.get(index);
|
|
11801
|
+
if (!option.disabled) {
|
|
11802
|
+
firstEnabledOptionIndex = index;
|
|
11803
|
+
break;
|
|
11804
|
+
}
|
|
11805
|
+
}
|
|
11806
|
+
autocomplete._keyManager.setActiveItem(firstEnabledOptionIndex);
|
|
11807
|
+
}
|
|
11808
|
+
else {
|
|
11809
|
+
autocomplete._keyManager.setActiveItem(-1);
|
|
11810
|
+
}
|
|
11811
|
+
}
|
|
11812
|
+
_canOpen() {
|
|
11813
|
+
const element = this._element.nativeElement;
|
|
11814
|
+
return !element.readOnly && !element.disabled && !this.autocompleteDisabled;
|
|
11815
|
+
}
|
|
11816
|
+
_scrollToOption(index) {
|
|
11817
|
+
const autocomplete = this.autocomplete;
|
|
11818
|
+
const labelCount = _countGroupLabelsBeforeOption(index, autocomplete.options, autocomplete.optionGroups);
|
|
11819
|
+
if (index === 0 && labelCount === 1) {
|
|
11820
|
+
autocomplete._setScrollTop(0);
|
|
11821
|
+
}
|
|
11822
|
+
else if (autocomplete.panel) {
|
|
11823
|
+
const option = autocomplete.options.toArray()[index];
|
|
11824
|
+
if (option) {
|
|
11825
|
+
const element = option._getHostElement();
|
|
11826
|
+
const newScrollPosition = _getOptionScrollPosition(element.offsetTop, element.offsetHeight, autocomplete._getScrollTop(), autocomplete.panel.nativeElement.offsetHeight);
|
|
11827
|
+
autocomplete._setScrollTop(newScrollPosition);
|
|
11828
|
+
}
|
|
11829
|
+
}
|
|
11830
|
+
}
|
|
11831
|
+
_trackedModal = null;
|
|
11832
|
+
_applyModalPanelOwnership() {
|
|
11833
|
+
const modal = this._element.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');
|
|
11834
|
+
if (!modal) {
|
|
11835
|
+
return;
|
|
11836
|
+
}
|
|
11837
|
+
const panelId = this.autocomplete.id;
|
|
11838
|
+
if (this._trackedModal) {
|
|
11839
|
+
removeAriaReferencedId(this._trackedModal, 'aria-owns', panelId);
|
|
11840
|
+
}
|
|
11841
|
+
addAriaReferencedId(modal, 'aria-owns', panelId);
|
|
11842
|
+
this._trackedModal = modal;
|
|
11843
|
+
}
|
|
11844
|
+
_clearFromModal() {
|
|
11845
|
+
if (this._trackedModal) {
|
|
11846
|
+
const panelId = this.autocomplete.id;
|
|
11847
|
+
removeAriaReferencedId(this._trackedModal, 'aria-owns', panelId);
|
|
11848
|
+
this._trackedModal = null;
|
|
11849
|
+
}
|
|
11850
|
+
}
|
|
11851
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11852
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.6", type: MDAutocompleteTrigger, isStandalone: true, selector: "input[mdAutocomplete], textarea[mdAutocomplete]", inputs: { autocomplete: ["mdAutocomplete", "autocomplete"], position: ["mdAutocompletePosition", "position"], connectedTo: ["mdAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["mdAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "md-mdc-autocomplete-trigger" }, providers: [MD_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["mdAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 });
|
|
11853
|
+
}
|
|
11854
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteTrigger, decorators: [{
|
|
11855
|
+
type: Directive,
|
|
11856
|
+
args: [{
|
|
11857
|
+
selector: `input[mdAutocomplete], textarea[mdAutocomplete]`,
|
|
11858
|
+
host: {
|
|
11859
|
+
class: 'md-mdc-autocomplete-trigger',
|
|
11860
|
+
'[attr.autocomplete]': 'autocompleteAttribute',
|
|
11861
|
+
'[attr.role]': 'autocompleteDisabled ? null : "combobox"',
|
|
11862
|
+
'[attr.aria-autocomplete]': 'autocompleteDisabled ? null : "list"',
|
|
11863
|
+
'[attr.aria-activedescendant]': '(panelOpen && activeOption) ? activeOption.id : null',
|
|
11864
|
+
'[attr.aria-expanded]': 'autocompleteDisabled ? null : panelOpen.toString()',
|
|
11865
|
+
'[attr.aria-controls]': '(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id',
|
|
11866
|
+
'[attr.aria-haspopup]': 'autocompleteDisabled ? null : "listbox"',
|
|
11867
|
+
'(focusin)': '_handleFocus()',
|
|
11868
|
+
'(blur)': '_onTouched()',
|
|
11869
|
+
'(input)': '_handleInput($event)',
|
|
11870
|
+
'(keydown)': '_handleKeydown($event)',
|
|
11871
|
+
'(click)': '_handleClick()',
|
|
11872
|
+
},
|
|
11873
|
+
exportAs: 'mdAutocompleteTrigger',
|
|
11874
|
+
providers: [MD_AUTOCOMPLETE_VALUE_ACCESSOR],
|
|
11875
|
+
}]
|
|
11876
|
+
}], ctorParameters: () => [], propDecorators: { autocomplete: [{
|
|
11877
|
+
type: Input,
|
|
11878
|
+
args: ['mdAutocomplete']
|
|
11879
|
+
}], position: [{
|
|
11880
|
+
type: Input,
|
|
11881
|
+
args: ['mdAutocompletePosition']
|
|
11882
|
+
}], connectedTo: [{
|
|
11883
|
+
type: Input,
|
|
11884
|
+
args: ['mdAutocompleteConnectedTo']
|
|
11885
|
+
}], autocompleteAttribute: [{
|
|
11886
|
+
type: Input,
|
|
11887
|
+
args: ['autocomplete']
|
|
11888
|
+
}], autocompleteDisabled: [{
|
|
11889
|
+
type: Input,
|
|
11890
|
+
args: [{ alias: 'mdAutocompleteDisabled', transform: booleanAttribute }]
|
|
11891
|
+
}] } });
|
|
11892
|
+
|
|
11893
|
+
class MDAutocompleteModule {
|
|
11894
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11895
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteModule, imports: [OverlayModule,
|
|
11896
|
+
MDOptionModule,
|
|
11897
|
+
MDAutocomplete,
|
|
11898
|
+
MDAutocompleteTrigger,
|
|
11899
|
+
MDAutocompleteOrigin], exports: [CdkScrollableModule,
|
|
11900
|
+
MDAutocomplete,
|
|
11901
|
+
MDOptionModule,
|
|
11902
|
+
BidiModule,
|
|
11903
|
+
MDAutocompleteTrigger,
|
|
11904
|
+
MDAutocompleteOrigin] });
|
|
11905
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteModule, imports: [OverlayModule,
|
|
11906
|
+
MDOptionModule, CdkScrollableModule,
|
|
11907
|
+
MDOptionModule,
|
|
11908
|
+
BidiModule] });
|
|
11909
|
+
}
|
|
11910
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDAutocompleteModule, decorators: [{
|
|
11911
|
+
type: NgModule,
|
|
11912
|
+
args: [{
|
|
11913
|
+
imports: [
|
|
11914
|
+
OverlayModule,
|
|
11915
|
+
MDOptionModule,
|
|
11916
|
+
MDAutocomplete,
|
|
11917
|
+
MDAutocompleteTrigger,
|
|
11918
|
+
MDAutocompleteOrigin,
|
|
11919
|
+
],
|
|
11920
|
+
exports: [
|
|
11921
|
+
CdkScrollableModule,
|
|
11922
|
+
MDAutocomplete,
|
|
11923
|
+
MDOptionModule,
|
|
11924
|
+
BidiModule,
|
|
11925
|
+
MDAutocompleteTrigger,
|
|
11926
|
+
MDAutocompleteOrigin,
|
|
11927
|
+
],
|
|
11928
|
+
}]
|
|
11929
|
+
}] });
|
|
11930
|
+
|
|
11931
|
+
/**
|
|
11932
|
+
* Change payload emitted by both group and individual radio buttons.
|
|
11933
|
+
* `source` is the button that triggered the change; `value` is its current value.
|
|
11934
|
+
*/
|
|
11935
|
+
class RadioChange {
|
|
11936
|
+
source;
|
|
11937
|
+
value;
|
|
11938
|
+
constructor(source, value) {
|
|
11939
|
+
this.source = source;
|
|
11940
|
+
this.value = value;
|
|
11941
|
+
}
|
|
11942
|
+
}
|
|
11943
|
+
/** ControlValueAccessor provider for the radio group. */
|
|
11944
|
+
const RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
|
|
11945
|
+
provide: NG_VALUE_ACCESSOR,
|
|
11946
|
+
useExisting: forwardRef(() => MDRadioGroup),
|
|
11947
|
+
multi: true,
|
|
11948
|
+
};
|
|
11949
|
+
/** Token to inject the parent group into child radio buttons. */
|
|
11950
|
+
const MD_RADIO_GROUP = new InjectionToken('MDRadioGroup');
|
|
11951
|
+
/**
|
|
11952
|
+
* Radio group directive: manages a set of `md-radio-button` children.
|
|
11953
|
+
*
|
|
11954
|
+
* Responsibilities:
|
|
11955
|
+
* - Keeps a single selection (mutual exclusivity).
|
|
11956
|
+
* - Syncs `name` across all child radios.
|
|
11957
|
+
* - Integrates with Angular forms via ControlValueAccessor.
|
|
11958
|
+
* - Forwards `disabled`, `required`, and `disabledInteractive` to children.
|
|
11959
|
+
*/
|
|
11960
|
+
class MDRadioGroup {
|
|
11961
|
+
/** Triggers CD when value/flags change via setters. */
|
|
11962
|
+
_changeDetector = inject(ChangeDetectorRef);
|
|
11963
|
+
/** Currently selected value (model). */
|
|
11964
|
+
_value = null;
|
|
11965
|
+
/** Shared `name` for all child radios (defaults to unique id). */
|
|
11966
|
+
_name = inject(_IdGenerator).getId('radio-group-');
|
|
11967
|
+
/** Reference to the selected radio (if any). */
|
|
11968
|
+
_selected = null;
|
|
11969
|
+
/** True after first content init; used to gate change emissions. */
|
|
11970
|
+
_isInitialized = false;
|
|
11971
|
+
/** Group-level disabled flag; propagated to children. */
|
|
11972
|
+
_disabled = false;
|
|
11973
|
+
/** Group-level required flag; propagated to children. */
|
|
11974
|
+
_required = false;
|
|
11975
|
+
/** Subscription to children changes (add/remove). */
|
|
11976
|
+
_buttonChanges;
|
|
11977
|
+
/** ngModel/FormControl onChange callback. */
|
|
11978
|
+
_controlValueAccessorChangeFn = () => { };
|
|
11979
|
+
/** ngModel/FormControl onTouched callback. */
|
|
11980
|
+
onTouched = () => { };
|
|
11981
|
+
/** Emits when selection changes after init. */
|
|
11982
|
+
change = new EventEmitter();
|
|
11983
|
+
/** Child radios discovered in content. */
|
|
11984
|
+
_radios;
|
|
11985
|
+
/** Group name getter/setter (propagates to children). */
|
|
11986
|
+
get name() {
|
|
11987
|
+
return this._name;
|
|
11988
|
+
}
|
|
11989
|
+
set name(value) {
|
|
11990
|
+
this._name = value;
|
|
11991
|
+
this._updateRadioButtonNames();
|
|
11992
|
+
}
|
|
11993
|
+
/** Model value getter/setter; updates selected radio accordingly. */
|
|
11994
|
+
get value() {
|
|
11995
|
+
return this._value;
|
|
11996
|
+
}
|
|
11997
|
+
set value(newValue) {
|
|
11998
|
+
if (this._value !== newValue) {
|
|
11999
|
+
this._value = newValue;
|
|
12000
|
+
this._updateSelectedRadioFromValue();
|
|
12001
|
+
this._checkSelectedRadioButton();
|
|
12002
|
+
}
|
|
12003
|
+
}
|
|
12004
|
+
/** Ensures the selected radio is actually checked. */
|
|
12005
|
+
_checkSelectedRadioButton() {
|
|
12006
|
+
if (this._selected && !this._selected.checked) {
|
|
12007
|
+
this._selected.checked = true;
|
|
12008
|
+
}
|
|
12009
|
+
}
|
|
12010
|
+
/** Selected radio getter/setter; also sets group value. */
|
|
12011
|
+
get selected() {
|
|
12012
|
+
return this._selected;
|
|
12013
|
+
}
|
|
12014
|
+
set selected(selected) {
|
|
12015
|
+
this._selected = selected;
|
|
12016
|
+
this.value = selected ? selected.value : null;
|
|
12017
|
+
this._checkSelectedRadioButton();
|
|
12018
|
+
}
|
|
12019
|
+
/** Group disabled getter/setter; marks children for check. */
|
|
12020
|
+
get disabled() {
|
|
12021
|
+
return this._disabled;
|
|
12022
|
+
}
|
|
12023
|
+
set disabled(value) {
|
|
12024
|
+
this._disabled = value;
|
|
12025
|
+
this._markRadiosForCheck();
|
|
12026
|
+
}
|
|
12027
|
+
/** Group required getter/setter; marks children for check. */
|
|
12028
|
+
get required() {
|
|
12029
|
+
return this._required;
|
|
12030
|
+
}
|
|
12031
|
+
set required(value) {
|
|
12032
|
+
this._required = value;
|
|
12033
|
+
this._markRadiosForCheck();
|
|
12034
|
+
}
|
|
12035
|
+
/**
|
|
12036
|
+
* If true, disabled items may still be focusable/interactive
|
|
12037
|
+
* (special a11y scenarios). Propagated to children.
|
|
12038
|
+
*/
|
|
12039
|
+
get disabledInteractive() {
|
|
12040
|
+
return this._disabledInteractive;
|
|
12041
|
+
}
|
|
12042
|
+
set disabledInteractive(value) {
|
|
12043
|
+
this._disabledInteractive = value;
|
|
12044
|
+
this._markRadiosForCheck();
|
|
12045
|
+
}
|
|
12046
|
+
_disabledInteractive = false;
|
|
12047
|
+
constructor() { }
|
|
12048
|
+
/** After content init, watch for dynamic child list changes. */
|
|
12049
|
+
ngAfterContentInit() {
|
|
12050
|
+
this._isInitialized = true;
|
|
12051
|
+
this._buttonChanges = this._radios.changes.subscribe(() => {
|
|
12052
|
+
if (this.selected && !this._radios.find((radio) => radio === this.selected)) {
|
|
12053
|
+
this._selected = null;
|
|
12054
|
+
}
|
|
12055
|
+
});
|
|
12056
|
+
}
|
|
12057
|
+
/** Clean up subscriptions. */
|
|
12058
|
+
ngOnDestroy() {
|
|
12059
|
+
this._buttonChanges?.unsubscribe();
|
|
12060
|
+
}
|
|
12061
|
+
/** Mark group as touched (used by children on blur). */
|
|
12062
|
+
_touch() {
|
|
12063
|
+
if (this.onTouched) {
|
|
12064
|
+
this.onTouched();
|
|
12065
|
+
}
|
|
12066
|
+
}
|
|
12067
|
+
/** Propagate `name` to child radios and mark them for check. */
|
|
12068
|
+
_updateRadioButtonNames() {
|
|
12069
|
+
if (this._radios) {
|
|
12070
|
+
this._radios.forEach((radio) => {
|
|
12071
|
+
radio.name = this.name;
|
|
12072
|
+
radio._markForCheck();
|
|
12073
|
+
});
|
|
12074
|
+
}
|
|
12075
|
+
}
|
|
12076
|
+
/** Update `checked` on children based on current group value. */
|
|
12077
|
+
_updateSelectedRadioFromValue() {
|
|
12078
|
+
const isAlreadySelected = this._selected !== null && this._selected.value === this._value;
|
|
12079
|
+
if (this._radios && !isAlreadySelected) {
|
|
12080
|
+
this._selected = null;
|
|
12081
|
+
this._radios.forEach((radio) => {
|
|
12082
|
+
radio.checked = this.value === radio.value;
|
|
12083
|
+
if (radio.checked) {
|
|
12084
|
+
this._selected = radio;
|
|
12085
|
+
}
|
|
12086
|
+
});
|
|
12087
|
+
}
|
|
12088
|
+
}
|
|
12089
|
+
/** Emit `change` when selection altered by user after init. */
|
|
12090
|
+
_emitChangeEvent() {
|
|
12091
|
+
if (this._isInitialized) {
|
|
12092
|
+
this.change.emit(new RadioChange(this._selected, this._value));
|
|
12093
|
+
}
|
|
12094
|
+
}
|
|
12095
|
+
/** Ask all children to run CD (OnPush-safe updates). */
|
|
12096
|
+
_markRadiosForCheck() {
|
|
12097
|
+
if (this._radios) {
|
|
12098
|
+
this._radios.forEach((radio) => radio._markForCheck());
|
|
12099
|
+
}
|
|
12100
|
+
}
|
|
12101
|
+
/** Write model value from forms API. */
|
|
12102
|
+
writeValue(value) {
|
|
12103
|
+
this.value = value;
|
|
12104
|
+
this._changeDetector.markForCheck();
|
|
12105
|
+
}
|
|
12106
|
+
/** Register forms onChange callback. */
|
|
12107
|
+
registerOnChange(fn) {
|
|
12108
|
+
this._controlValueAccessorChangeFn = fn;
|
|
12109
|
+
}
|
|
12110
|
+
/** Register forms onTouched callback. */
|
|
12111
|
+
registerOnTouched(fn) {
|
|
12112
|
+
this.onTouched = fn;
|
|
12113
|
+
}
|
|
12114
|
+
/** Set disabled via forms API. */
|
|
12115
|
+
setDisabledState(isDisabled) {
|
|
12116
|
+
this.disabled = isDisabled;
|
|
12117
|
+
this._changeDetector.markForCheck();
|
|
12118
|
+
}
|
|
12119
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12120
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.6", type: MDRadioGroup, isStandalone: true, selector: "md-radio-group", inputs: { name: "name", value: "value", selected: "selected", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], disabledInteractive: ["disabledInteractive", "disabledInteractive", booleanAttribute] }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, classAttribute: "mdc-radio-group" }, providers: [RADIO_GROUP_CONTROL_VALUE_ACCESSOR, { provide: MD_RADIO_GROUP, useExisting: MDRadioGroup }], queries: [{ propertyName: "_radios", predicate: i0.forwardRef(() => MDRadioButton), descendants: true }], exportAs: ["mdRadioGroup"], ngImport: i0 });
|
|
12121
|
+
}
|
|
12122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioGroup, decorators: [{
|
|
12123
|
+
type: Directive,
|
|
12124
|
+
args: [{
|
|
12125
|
+
selector: 'md-radio-group',
|
|
12126
|
+
exportAs: 'mdRadioGroup',
|
|
12127
|
+
providers: [RADIO_GROUP_CONTROL_VALUE_ACCESSOR, { provide: MD_RADIO_GROUP, useExisting: MDRadioGroup }],
|
|
12128
|
+
host: {
|
|
12129
|
+
role: 'radiogroup',
|
|
12130
|
+
class: 'mdc-radio-group',
|
|
12131
|
+
},
|
|
12132
|
+
}]
|
|
12133
|
+
}], ctorParameters: () => [], propDecorators: { change: [{
|
|
12134
|
+
type: Output
|
|
12135
|
+
}], _radios: [{
|
|
12136
|
+
type: ContentChildren,
|
|
12137
|
+
args: [forwardRef(() => MDRadioButton), { descendants: true }]
|
|
12138
|
+
}], name: [{
|
|
12139
|
+
type: Input
|
|
12140
|
+
}], value: [{
|
|
12141
|
+
type: Input
|
|
12142
|
+
}], selected: [{
|
|
12143
|
+
type: Input
|
|
12144
|
+
}], disabled: [{
|
|
12145
|
+
type: Input,
|
|
12146
|
+
args: [{ transform: booleanAttribute }]
|
|
12147
|
+
}], required: [{
|
|
12148
|
+
type: Input,
|
|
12149
|
+
args: [{ transform: booleanAttribute }]
|
|
12150
|
+
}], disabledInteractive: [{
|
|
12151
|
+
type: Input,
|
|
12152
|
+
args: [{ transform: booleanAttribute }]
|
|
12153
|
+
}] } });
|
|
12154
|
+
/**
|
|
12155
|
+
* Single radio button component.
|
|
12156
|
+
*
|
|
12157
|
+
* Responsibilities:
|
|
12158
|
+
* - Manages its own checked/disabled state.
|
|
12159
|
+
* - Coordinates with its parent `MDRadioGroup`.
|
|
12160
|
+
* - Emits `change` when user selects it.
|
|
12161
|
+
* - Handles focus/keyboard via CDK FocusMonitor.
|
|
12162
|
+
*/
|
|
12163
|
+
class MDRadioButton {
|
|
12164
|
+
/** Host element reference (used by FocusMonitor and listeners). */
|
|
12165
|
+
_elementRef = inject(ElementRef);
|
|
12166
|
+
/** Change detector to request view updates under OnPush. */
|
|
12167
|
+
_changeDetector = inject(ChangeDetectorRef);
|
|
12168
|
+
/** CDK FocusMonitor to handle programmatic focus origins. */
|
|
12169
|
+
_focusMonitor = inject(FocusMonitor);
|
|
12170
|
+
/** Ensures unique selection across same-name radios. */
|
|
12171
|
+
_radioDispatcher = inject(UniqueSelectionDispatcher);
|
|
12172
|
+
/** Zone for running event listeners outside Angular (perf). */
|
|
12173
|
+
_ngZone = inject(NgZone);
|
|
12174
|
+
/** Renderer for low-level DOM events binding. */
|
|
12175
|
+
_renderer = inject(Renderer2);
|
|
12176
|
+
/** Unique id seed for host/input ids. */
|
|
12177
|
+
_uniqueId = inject(_IdGenerator).getId('radio-');
|
|
12178
|
+
/** Cleanup function for native click listener. */
|
|
12179
|
+
_cleanupClick;
|
|
12180
|
+
/** Element id (defaults to unique id). */
|
|
12181
|
+
id = this._uniqueId;
|
|
12182
|
+
/** Shared group name; set by group or consumer. */
|
|
12183
|
+
name;
|
|
12184
|
+
/** ARIA label text for input (if no external label). */
|
|
12185
|
+
ariaLabel;
|
|
12186
|
+
/** Id of element that labels this input. */
|
|
12187
|
+
ariaLabelledby;
|
|
12188
|
+
/** Id of element that describes this input. */
|
|
12189
|
+
ariaDescribedby;
|
|
12190
|
+
/**
|
|
12191
|
+
* Tabindex for internal input; normalized via numberAttribute.
|
|
12192
|
+
* Default is 0 so item can be focused when selected.
|
|
12193
|
+
*/
|
|
12194
|
+
tabIndex = 0;
|
|
12195
|
+
/** Checked state with group coordination and dispatcher notify. */
|
|
12196
|
+
get checked() {
|
|
12197
|
+
return this._checked;
|
|
12198
|
+
}
|
|
12199
|
+
set checked(value) {
|
|
12200
|
+
if (this._checked !== value) {
|
|
12201
|
+
this._checked = value;
|
|
12202
|
+
// Sync with parent group value and selected reference.
|
|
12203
|
+
if (value && this.radioGroup && this.radioGroup.value !== this.value) {
|
|
12204
|
+
this.radioGroup.selected = this;
|
|
12205
|
+
}
|
|
12206
|
+
else if (!value && this.radioGroup && this.radioGroup.value === this.value) {
|
|
12207
|
+
this.radioGroup.selected = null;
|
|
12208
|
+
}
|
|
12209
|
+
// Notify other radios with the same name.
|
|
12210
|
+
if (value) {
|
|
12211
|
+
this._radioDispatcher.notify(this.id, this.name);
|
|
12212
|
+
}
|
|
12213
|
+
this._changeDetector.markForCheck();
|
|
12214
|
+
}
|
|
12215
|
+
}
|
|
12216
|
+
/** Arbitrary value associated with this radio. */
|
|
12217
|
+
get value() {
|
|
12218
|
+
return this._value;
|
|
12219
|
+
}
|
|
12220
|
+
set value(value) {
|
|
12221
|
+
if (this._value !== value) {
|
|
12222
|
+
this._value = value;
|
|
12223
|
+
// If part of a group, keep checked state in sync with group's value.
|
|
12224
|
+
if (this.radioGroup !== null) {
|
|
12225
|
+
if (!this.checked) {
|
|
12226
|
+
this.checked = this.radioGroup.value === value;
|
|
12227
|
+
}
|
|
12228
|
+
if (this.checked) {
|
|
12229
|
+
this.radioGroup.selected = this;
|
|
12230
|
+
}
|
|
12231
|
+
}
|
|
12232
|
+
}
|
|
12233
|
+
}
|
|
12234
|
+
/** Disabled state; considers group-level disabled as well. */
|
|
12235
|
+
get disabled() {
|
|
12236
|
+
return this._disabled || (this.radioGroup !== null && this.radioGroup.disabled);
|
|
12237
|
+
}
|
|
12238
|
+
set disabled(value) {
|
|
12239
|
+
this._setDisabled(value);
|
|
12240
|
+
}
|
|
12241
|
+
/** Required state; considers group-level required as well. */
|
|
12242
|
+
get required() {
|
|
12243
|
+
return this._required || (this.radioGroup && this.radioGroup.required);
|
|
12244
|
+
}
|
|
12245
|
+
set required(value) {
|
|
12246
|
+
if (value !== this._required) {
|
|
12247
|
+
this._changeDetector.markForCheck();
|
|
12248
|
+
}
|
|
12249
|
+
this._required = value;
|
|
12250
|
+
}
|
|
12251
|
+
/**
|
|
12252
|
+
* If true, item remains interactive/focusable even when disabled.
|
|
12253
|
+
* Also considers group-level disabledInteractive.
|
|
12254
|
+
*/
|
|
12255
|
+
get disabledInteractive() {
|
|
12256
|
+
return this._disabledInteractive || (this.radioGroup !== null && this.radioGroup.disabledInteractive);
|
|
12257
|
+
}
|
|
12258
|
+
set disabledInteractive(value) {
|
|
12259
|
+
this._disabledInteractive = value;
|
|
12260
|
+
}
|
|
12261
|
+
_disabledInteractive;
|
|
12262
|
+
/** Emits when this particular radio is selected by the user. */
|
|
12263
|
+
change = new EventEmitter();
|
|
12264
|
+
/** Optional reference to parent group (injected). */
|
|
12265
|
+
radioGroup;
|
|
12266
|
+
/** Id for internal input element. */
|
|
12267
|
+
get inputId() {
|
|
12268
|
+
return `${this.id || this._uniqueId}-input`;
|
|
12269
|
+
}
|
|
12270
|
+
/** Backing fields for state. */
|
|
12271
|
+
_checked = false;
|
|
12272
|
+
_disabled;
|
|
12273
|
+
_required;
|
|
12274
|
+
_value = null;
|
|
12275
|
+
/** Callback to unlisten from unique selection dispatcher. */
|
|
12276
|
+
_removeUniqueSelectionListener = () => { };
|
|
12277
|
+
/** Tracks last applied tabindex for optimization. */
|
|
12278
|
+
_previousTabIndex;
|
|
12279
|
+
/** Template refs. */
|
|
12280
|
+
_inputElement;
|
|
12281
|
+
/** Placeholder for potential animations flag (wired via template). */
|
|
12282
|
+
_noopAnimations = false;
|
|
12283
|
+
/** Injector used for afterNextRender microtask scheduling. */
|
|
12284
|
+
_injector = inject(Injector);
|
|
12285
|
+
/**
|
|
12286
|
+
* Inject parent group (optional) and host tabindex.
|
|
12287
|
+
* Also initializes disabledInteractive default.
|
|
12288
|
+
*/
|
|
12289
|
+
constructor() {
|
|
12290
|
+
const radioGroup = inject(MD_RADIO_GROUP, { optional: true });
|
|
12291
|
+
const tabIndex = inject(new HostAttributeToken('tabindex'), { optional: true });
|
|
12292
|
+
this.radioGroup = radioGroup;
|
|
12293
|
+
this._disabledInteractive = false;
|
|
12294
|
+
if (tabIndex) {
|
|
12295
|
+
this.tabIndex = numberAttribute(tabIndex, 0);
|
|
12296
|
+
}
|
|
12297
|
+
}
|
|
12298
|
+
/**
|
|
12299
|
+
* Programmatic focus API.
|
|
12300
|
+
* If `origin` provided, uses FocusMonitor to set proper focus classes.
|
|
12301
|
+
*/
|
|
12302
|
+
focus(options, origin) {
|
|
12303
|
+
if (origin) {
|
|
12304
|
+
this._focusMonitor.focusVia(this._inputElement, origin, options);
|
|
12305
|
+
}
|
|
12306
|
+
else {
|
|
12307
|
+
this._inputElement.nativeElement.focus(options);
|
|
12308
|
+
}
|
|
12309
|
+
}
|
|
12310
|
+
/** Ask view to update (used by group). */
|
|
12311
|
+
_markForCheck() {
|
|
12312
|
+
this._changeDetector.markForCheck();
|
|
12313
|
+
}
|
|
12314
|
+
/** Initialize from group (name/value) and subscribe to unique selection dispatcher. */
|
|
12315
|
+
ngOnInit() {
|
|
12316
|
+
if (this.radioGroup) {
|
|
12317
|
+
this.checked = this.radioGroup.value === this._value;
|
|
12318
|
+
if (this.checked) {
|
|
12319
|
+
this.radioGroup.selected = this;
|
|
12320
|
+
}
|
|
12321
|
+
this.name = this.radioGroup.name;
|
|
12322
|
+
}
|
|
12323
|
+
this._removeUniqueSelectionListener = this._radioDispatcher.listen((id, name) => {
|
|
12324
|
+
if (id !== this.id && name === this.name) {
|
|
12325
|
+
this.checked = false;
|
|
12326
|
+
}
|
|
12327
|
+
});
|
|
12328
|
+
}
|
|
12329
|
+
/** Keep tabindexes updated so only selected item is in tab order. */
|
|
12330
|
+
ngDoCheck() {
|
|
12331
|
+
this._updateTabIndex();
|
|
12332
|
+
}
|
|
12333
|
+
/** Attach focus monitor and click handler outside Angular for perf. */
|
|
12334
|
+
ngAfterViewInit() {
|
|
12335
|
+
this._updateTabIndex();
|
|
12336
|
+
this._focusMonitor.monitor(this._elementRef, true).subscribe((focusOrigin) => {
|
|
12337
|
+
// When focus leaves the host entirely, mark the group as touched.
|
|
12338
|
+
if (!focusOrigin && this.radioGroup) {
|
|
12339
|
+
this.radioGroup._touch();
|
|
12340
|
+
}
|
|
12341
|
+
});
|
|
12342
|
+
// Prevent change detection storms: add listener outside Angular.
|
|
12343
|
+
this._ngZone.runOutsideAngular(() => {
|
|
12344
|
+
this._cleanupClick = this._renderer.listen(this._inputElement.nativeElement, 'click', this._onInputClick);
|
|
12345
|
+
});
|
|
12346
|
+
}
|
|
12347
|
+
/** Cleanup listeners and monitors. */
|
|
12348
|
+
ngOnDestroy() {
|
|
12349
|
+
this._cleanupClick?.();
|
|
12350
|
+
this._focusMonitor.stopMonitoring(this._elementRef);
|
|
12351
|
+
this._removeUniqueSelectionListener();
|
|
12352
|
+
}
|
|
12353
|
+
/** Emit own change and, if part of a group, notify the group. */
|
|
12354
|
+
_emitChangeEvent() {
|
|
12355
|
+
this.change.emit(new RadioChange(this, this._value));
|
|
12356
|
+
}
|
|
12357
|
+
/**
|
|
12358
|
+
* Handles interaction on the real input.
|
|
12359
|
+
* Ensures single selection, emits change, updates group model.
|
|
12360
|
+
*/
|
|
12361
|
+
_onInputInteraction(event) {
|
|
12362
|
+
event.stopPropagation();
|
|
12363
|
+
if (!this.checked && !this.disabled) {
|
|
12364
|
+
const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;
|
|
12365
|
+
this.checked = true;
|
|
12366
|
+
this._emitChangeEvent();
|
|
12367
|
+
if (this.radioGroup) {
|
|
12368
|
+
this.radioGroup._controlValueAccessorChangeFn(this.value);
|
|
12369
|
+
if (groupValueChanged) {
|
|
12370
|
+
this.radioGroup._emitChangeEvent();
|
|
12371
|
+
}
|
|
12372
|
+
}
|
|
12373
|
+
}
|
|
12374
|
+
}
|
|
12375
|
+
/**
|
|
12376
|
+
* Click on the visual/touch target should behave like clicking the input.
|
|
12377
|
+
* Also refocus the input if allowed.
|
|
12378
|
+
*/
|
|
12379
|
+
_onTouchTargetClick(event) {
|
|
12380
|
+
this._onInputInteraction(event);
|
|
12381
|
+
if (!this.disabled || this.disabledInteractive) {
|
|
12382
|
+
this._inputElement?.nativeElement.focus();
|
|
12383
|
+
}
|
|
12384
|
+
}
|
|
12385
|
+
/** Setter for disabled that triggers CD when value changes. */
|
|
12386
|
+
_setDisabled(value) {
|
|
12387
|
+
if (this._disabled !== value) {
|
|
12388
|
+
this._disabled = value;
|
|
12389
|
+
this._changeDetector.markForCheck();
|
|
12390
|
+
}
|
|
12391
|
+
}
|
|
12392
|
+
/**
|
|
12393
|
+
* Prevent native input click from toggling when disabled but `disabledInteractive` is true.
|
|
12394
|
+
* Keeps UI consistent with intended behavior.
|
|
12395
|
+
*/
|
|
12396
|
+
_onInputClick = (event) => {
|
|
12397
|
+
if (this.disabled && this.disabledInteractive) {
|
|
12398
|
+
event.preventDefault();
|
|
12399
|
+
}
|
|
12400
|
+
};
|
|
12401
|
+
/**
|
|
12402
|
+
* Maintain roving tabindex:
|
|
12403
|
+
* - Selected radio keeps its configured tabIndex (defaults to 0).
|
|
12404
|
+
* - Non-selected radios get tabindex="-1".
|
|
12405
|
+
* Also re-routes focus to the selected item if needed after render.
|
|
12406
|
+
*/
|
|
12407
|
+
_updateTabIndex() {
|
|
12408
|
+
const group = this.radioGroup;
|
|
12409
|
+
let value;
|
|
12410
|
+
if (!group || !group.selected || this.disabled) {
|
|
12411
|
+
value = this.tabIndex;
|
|
12412
|
+
}
|
|
12413
|
+
else {
|
|
12414
|
+
value = group.selected === this ? this.tabIndex : -1;
|
|
12415
|
+
}
|
|
12416
|
+
if (value !== this._previousTabIndex) {
|
|
12417
|
+
const input = this._inputElement?.nativeElement;
|
|
12418
|
+
if (input) {
|
|
12419
|
+
input.setAttribute('tabindex', value + '');
|
|
12420
|
+
this._previousTabIndex = value;
|
|
12421
|
+
// After the DOM updates, if focus landed on a non-selected radio, redirect it.
|
|
12422
|
+
afterNextRender(() => {
|
|
12423
|
+
queueMicrotask(() => {
|
|
12424
|
+
if (group &&
|
|
12425
|
+
group.selected &&
|
|
12426
|
+
group.selected !== this &&
|
|
12427
|
+
document.activeElement === input) {
|
|
12428
|
+
group.selected?._inputElement.nativeElement.focus();
|
|
12429
|
+
if (document.activeElement === input) {
|
|
12430
|
+
this._inputElement.nativeElement.blur();
|
|
12431
|
+
}
|
|
12432
|
+
}
|
|
12433
|
+
});
|
|
12434
|
+
}, { injector: this._injector });
|
|
12435
|
+
}
|
|
12436
|
+
}
|
|
12437
|
+
}
|
|
12438
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12439
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDRadioButton, isStandalone: true, selector: "md-radio-button", inputs: { id: "id", name: "name", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))], checked: ["checked", "checked", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], disabledInteractive: ["disabledInteractive", "disabledInteractive", booleanAttribute] }, outputs: { change: "change" }, host: { listeners: { "focus": "_inputElement.nativeElement.focus()" }, properties: { "attr.id": "id", "class.mdc-radio-checked": "checked", "class.mdc-radio-disabled": "disabled", "class.mdc-radio-disabled-interactive": "disabledInteractive", "class.animation-noopable": "_noopAnimations", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "md-mdc-radio-button" }, viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true }, { propertyName: "_noopAnimations", first: true, predicate: ["formField"], descendants: true, read: ElementRef, static: true }], exportAs: ["mdRadioButton"], ngImport: i0, template: "<div class=\"radio-internal-form-field\" #formField>\r\n <div class=\"mdc-radio\" [class.mdc-radio--disabled]=\"disabled\">\r\n <div class=\"mdc-radio-touch-target\" (click)=\"_onTouchTargetClick($event)\"></div>\r\n <input #input class=\"mdc-radio__native-control\" type=\"radio\"\r\n [id]=\"inputId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled && !disabledInteractive\"\r\n [attr.name]=\"name\"\r\n [attr.value]=\"value\"\r\n [required]=\"required\"\r\n aria-invalid=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledby\"\r\n [attr.aria-describedby]=\"ariaDescribedby\"\r\n [attr.aria-disabled]=\"disabled && disabledInteractive ? 'true' : null\"\r\n (change)=\"_onInputInteraction($event)\">\r\n <div class=\"mdc-radio__background\">\r\n <div class=\"mdc-radio__outer-circle\"></div>\r\n <div class=\"mdc-radio__inner-circle\"></div>\r\n </div>\r\n </div>\r\n <label class=\"mdc-label\" [for]=\"inputId\">\r\n <ng-content></ng-content>\r\n </label>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.md-mdc-radio-button{-webkit-tap-highlight-color:transparent}.md-mdc-radio-button .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:15px;height:15px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:8.5px}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:not([disabled]):not(:focus)~.mdc-radio__background:before{opacity:.04;transform:scale(1)}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:not([disabled])~.mdc-radio__background>.mdc-radio__outer-circle{border-color:#201a1b}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#201a1b}.md-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:15px;height:15px}.md-mdc-radio-button .mdc-radio__background:before{position:absolute;transform:scale(0);border-radius:50%;opacity:0;pointer-events:none;content:\"\";transition:opacity 90ms cubic-bezier(.4,0,.6,1),transform 90ms cubic-bezier(.4,0,.6,1);width:32px;height:32px;top:-8.5px;left:-8.5px}.md-mdc-radio-button .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(.4,0,.6,1)}.md-mdc-radio-button .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0);border-radius:50%;transition:transform 90ms cubic-bezier(.4,0,.6,1),background-color 90ms cubic-bezier(.4,0,.6,1)}@media (forced-colors: active){.md-mdc-radio-button .mdc-radio__inner-circle{background-color:CanvasText!important}}.md-mdc-radio-button .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:30px;height:30px}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background,.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0,0,.2,1),transform 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{transition:_enter-transition(border-color)}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0,0,.2,1),background-color 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button .mdc-radio__native-control:focus+.mdc-radio__background:before{transform:scale(1);opacity:.12;transition:opacity 90ms cubic-bezier(0,0,.2,1),transform 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#514346}.md-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle{transform:scale(.5);transition:transform 90ms cubic-bezier(0,0,.2,1),background-color 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled{pointer-events:auto}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background>.mdc-radio__outer-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background>.mdc-radio__inner-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background>.mdc-radio__inner-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__background:before{background-color:#929292}.md-mdc-radio-button.mdc-radio-checked .mdc-radio__background:before{background-color:#cf0106}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__background:before{background-color:#929292}.md-mdc-radio-button .mdc-radio--disabled+label{color:color-mix(in srgb,#929292 38%,transparent)}.md-mdc-radio-button .mdc-radio>.mdc-radio__native-control:focus:enabled:not(:checked)~.mdc-radio__background>.mdc-radio__outer-circle{border-color:#201a1b}.md-mdc-radio-button.cdk-focused .focus-indicator:before{content:\"\"}.mdc-radio-disabled{cursor:default;pointer-events:none}.mdc-radio-disabled.mdc-radio-disabled-interactive{pointer-events:auto}.mdc-radio-touch-target{position:absolute;top:50%;left:50%;height:36px;width:36px;transform:translate(-50%,-50%);display:block}[dir=rtl] .mdc-radio-touch-target{left:auto;right:50%;transform:translate(50%,-50%)}.radio-internal-form-field{color:#201a1b;font-family:Montserrat;line-height:1.25rem;font-size:.875rem;letter-spacing:.016rem;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
12440
|
+
}
|
|
12441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioButton, decorators: [{
|
|
12442
|
+
type: Component,
|
|
12443
|
+
args: [{ selector: 'md-radio-button', host: {
|
|
12444
|
+
class: 'md-mdc-radio-button',
|
|
12445
|
+
'[attr.id]': 'id',
|
|
12446
|
+
'[class.mdc-radio-checked]': 'checked',
|
|
12447
|
+
'[class.mdc-radio-disabled]': 'disabled',
|
|
12448
|
+
'[class.mdc-radio-disabled-interactive]': 'disabledInteractive',
|
|
12449
|
+
'[class.animation-noopable]': '_noopAnimations',
|
|
12450
|
+
'[attr.tabindex]': 'null',
|
|
12451
|
+
'[attr.aria-label]': 'null',
|
|
12452
|
+
'[attr.aria-labelledby]': 'null',
|
|
12453
|
+
'[attr.aria-describedby]': 'null',
|
|
12454
|
+
'(focus)': '_inputElement.nativeElement.focus()',
|
|
12455
|
+
}, exportAs: 'mdRadioButton', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"radio-internal-form-field\" #formField>\r\n <div class=\"mdc-radio\" [class.mdc-radio--disabled]=\"disabled\">\r\n <div class=\"mdc-radio-touch-target\" (click)=\"_onTouchTargetClick($event)\"></div>\r\n <input #input class=\"mdc-radio__native-control\" type=\"radio\"\r\n [id]=\"inputId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled && !disabledInteractive\"\r\n [attr.name]=\"name\"\r\n [attr.value]=\"value\"\r\n [required]=\"required\"\r\n aria-invalid=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledby\"\r\n [attr.aria-describedby]=\"ariaDescribedby\"\r\n [attr.aria-disabled]=\"disabled && disabledInteractive ? 'true' : null\"\r\n (change)=\"_onInputInteraction($event)\">\r\n <div class=\"mdc-radio__background\">\r\n <div class=\"mdc-radio__outer-circle\"></div>\r\n <div class=\"mdc-radio__inner-circle\"></div>\r\n </div>\r\n </div>\r\n <label class=\"mdc-label\" [for]=\"inputId\">\r\n <ng-content></ng-content>\r\n </label>\r\n</div>", styles: ["div.jqxInGridLink{cursor:pointer;color:#00f;margin:2px;text-decoration:underline}div.jqxInGridLink :hover{color:#8a2be2}.pink-text{color:pink!important}.red-text{color:red!important}.turquoise-text{color:#03a796!important}.blue-text{color:#00f!important}.md-mdc-radio-button{-webkit-tap-highlight-color:transparent}.md-mdc-radio-button .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:15px;height:15px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:8.5px}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:not([disabled]):not(:focus)~.mdc-radio__background:before{opacity:.04;transform:scale(1)}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:not([disabled])~.mdc-radio__background>.mdc-radio__outer-circle{border-color:#201a1b}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#201a1b}.md-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:15px;height:15px}.md-mdc-radio-button .mdc-radio__background:before{position:absolute;transform:scale(0);border-radius:50%;opacity:0;pointer-events:none;content:\"\";transition:opacity 90ms cubic-bezier(.4,0,.6,1),transform 90ms cubic-bezier(.4,0,.6,1);width:32px;height:32px;top:-8.5px;left:-8.5px}.md-mdc-radio-button .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(.4,0,.6,1)}.md-mdc-radio-button .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0);border-radius:50%;transition:transform 90ms cubic-bezier(.4,0,.6,1),background-color 90ms cubic-bezier(.4,0,.6,1)}@media (forced-colors: active){.md-mdc-radio-button .mdc-radio__inner-circle{background-color:CanvasText!important}}.md-mdc-radio-button .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:30px;height:30px}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background,.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0,0,.2,1),transform 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{transition:_enter-transition(border-color)}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0,0,.2,1),background-color 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button .mdc-radio__native-control:focus+.mdc-radio__background:before{transform:scale(1);opacity:.12;transition:opacity 90ms cubic-bezier(0,0,.2,1),transform 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#514346}.md-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:#cf0106}.md-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle{transform:scale(.5);transition:transform 90ms cubic-bezier(0,0,.2,1),background-color 90ms cubic-bezier(0,0,.2,1)}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled{pointer-events:auto}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background>.mdc-radio__outer-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background>.mdc-radio__outer-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background>.mdc-radio__inner-circle,.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background>.mdc-radio__inner-circle{border-color:#929292;opacity:.38}.md-mdc-radio-button .mdc-radio__background:before{background-color:#929292}.md-mdc-radio-button.mdc-radio-checked .mdc-radio__background:before{background-color:#cf0106}.md-mdc-radio-button.mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__background:before{background-color:#929292}.md-mdc-radio-button .mdc-radio--disabled+label{color:color-mix(in srgb,#929292 38%,transparent)}.md-mdc-radio-button .mdc-radio>.mdc-radio__native-control:focus:enabled:not(:checked)~.mdc-radio__background>.mdc-radio__outer-circle{border-color:#201a1b}.md-mdc-radio-button.cdk-focused .focus-indicator:before{content:\"\"}.mdc-radio-disabled{cursor:default;pointer-events:none}.mdc-radio-disabled.mdc-radio-disabled-interactive{pointer-events:auto}.mdc-radio-touch-target{position:absolute;top:50%;left:50%;height:36px;width:36px;transform:translate(-50%,-50%);display:block}[dir=rtl] .mdc-radio-touch-target{left:auto;right:50%;transform:translate(50%,-50%)}.radio-internal-form-field{color:#201a1b;font-family:Montserrat;line-height:1.25rem;font-size:.875rem;letter-spacing:.016rem;font-weight:400;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}\n"] }]
|
|
12456
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
12457
|
+
type: Input
|
|
12458
|
+
}], name: [{
|
|
12459
|
+
type: Input
|
|
12460
|
+
}], ariaLabel: [{
|
|
12461
|
+
type: Input,
|
|
12462
|
+
args: ['aria-label']
|
|
12463
|
+
}], ariaLabelledby: [{
|
|
12464
|
+
type: Input,
|
|
12465
|
+
args: ['aria-labelledby']
|
|
12466
|
+
}], ariaDescribedby: [{
|
|
12467
|
+
type: Input,
|
|
12468
|
+
args: ['aria-describedby']
|
|
12469
|
+
}], tabIndex: [{
|
|
12470
|
+
type: Input,
|
|
12471
|
+
args: [{
|
|
12472
|
+
transform: (value) => (value == null ? 0 : numberAttribute(value)),
|
|
12473
|
+
}]
|
|
12474
|
+
}], checked: [{
|
|
12475
|
+
type: Input,
|
|
12476
|
+
args: [{ transform: booleanAttribute }]
|
|
12477
|
+
}], value: [{
|
|
12478
|
+
type: Input
|
|
12479
|
+
}], disabled: [{
|
|
12480
|
+
type: Input,
|
|
12481
|
+
args: [{ transform: booleanAttribute }]
|
|
12482
|
+
}], required: [{
|
|
12483
|
+
type: Input,
|
|
12484
|
+
args: [{ transform: booleanAttribute }]
|
|
12485
|
+
}], disabledInteractive: [{
|
|
12486
|
+
type: Input,
|
|
12487
|
+
args: [{ transform: booleanAttribute }]
|
|
12488
|
+
}], change: [{
|
|
12489
|
+
type: Output
|
|
12490
|
+
}], _inputElement: [{
|
|
12491
|
+
type: ViewChild,
|
|
12492
|
+
args: ['input']
|
|
12493
|
+
}], _noopAnimations: [{
|
|
12494
|
+
type: ViewChild,
|
|
12495
|
+
args: ['formField', { read: ElementRef, static: true }]
|
|
12496
|
+
}] } });
|
|
12497
|
+
|
|
12498
|
+
class MDRadioModule {
|
|
12499
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12500
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MDRadioModule, imports: [MDRadioGroup, MDRadioButton], exports: [MDRadioGroup, MDRadioButton] });
|
|
12501
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioModule });
|
|
12502
|
+
}
|
|
12503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDRadioModule, decorators: [{
|
|
12504
|
+
type: NgModule,
|
|
12505
|
+
args: [{
|
|
12506
|
+
imports: [MDRadioGroup, MDRadioButton],
|
|
12507
|
+
exports: [MDRadioGroup, MDRadioButton],
|
|
12508
|
+
}]
|
|
12509
|
+
}] });
|
|
12510
|
+
|
|
12511
|
+
const MD_CHIPS_DEFAULT_OPTIONS = new InjectionToken('md-chips-default-options', {
|
|
12512
|
+
providedIn: 'root',
|
|
12513
|
+
factory: () => ({
|
|
12514
|
+
separatorKeyCodes: [ENTER],
|
|
12515
|
+
}),
|
|
12516
|
+
});
|
|
12517
|
+
const MD_CHIP_AVATAR = new InjectionToken('MDChipAvatar');
|
|
12518
|
+
const MD_CHIP_TRAILING_ICON = new InjectionToken('MDChipTrailingIcon');
|
|
12519
|
+
const MD_CHIP_EDIT = new InjectionToken('MDChipEdit');
|
|
12520
|
+
const MD_CHIP_REMOVE = new InjectionToken('MDChipRemove');
|
|
12521
|
+
const MD_CHIP = new InjectionToken('MDChip');
|
|
12522
|
+
|
|
12523
|
+
class MDChipContent {
|
|
12524
|
+
_elementRef = inject(ElementRef);
|
|
12525
|
+
_parentChip = inject(MD_CHIP);
|
|
12526
|
+
_isPrimary = true;
|
|
12527
|
+
_isLeading = false;
|
|
12528
|
+
get disabled() {
|
|
12529
|
+
return this._disabled || this._parentChip?.disabled || false;
|
|
12530
|
+
}
|
|
12531
|
+
set disabled(value) {
|
|
12532
|
+
this._disabled = value;
|
|
12533
|
+
}
|
|
12534
|
+
_disabled = false;
|
|
12535
|
+
tabIndex = -1;
|
|
12536
|
+
_allowFocusWhenDisabled = false;
|
|
12537
|
+
_getDisabledAttribute() {
|
|
12538
|
+
return this.disabled && !this._allowFocusWhenDisabled ? '' : null;
|
|
12539
|
+
}
|
|
12540
|
+
constructor() {
|
|
12541
|
+
if (this._elementRef.nativeElement.nodeName === 'BUTTON') {
|
|
12542
|
+
this._elementRef.nativeElement.setAttribute('type', 'button');
|
|
12543
|
+
}
|
|
12544
|
+
}
|
|
12545
|
+
focus() {
|
|
12546
|
+
this._elementRef.nativeElement.focus();
|
|
12547
|
+
}
|
|
12548
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12549
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.6", type: MDChipContent, isStandalone: true, selector: "[mdChipContent]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? -1 : numberAttribute(value))], _allowFocusWhenDisabled: "_allowFocusWhenDisabled" }, host: { properties: { "class.mdc-evolution-chip__action--primary": "_isPrimary", "class.mdc-evolution-chip__action--secondary": "!_isPrimary", "class.mdc-evolution-chip__action--trailing": "!_isPrimary && !_isLeading", "attr.disabled": "_getDisabledAttribute()", "attr.aria-disabled": "disabled" }, classAttribute: "md-mdc-chip-action mdc-evolution-chip__action mdc-evolution-chip__action--presentational" }, ngImport: i0 });
|
|
12550
|
+
}
|
|
12551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipContent, decorators: [{
|
|
12552
|
+
type: Directive,
|
|
12553
|
+
args: [{
|
|
12554
|
+
selector: '[mdChipContent]',
|
|
12555
|
+
host: {
|
|
12556
|
+
'class': 'md-mdc-chip-action mdc-evolution-chip__action mdc-evolution-chip__action--presentational',
|
|
12557
|
+
'[class.mdc-evolution-chip__action--primary]': '_isPrimary',
|
|
12558
|
+
'[class.mdc-evolution-chip__action--secondary]': '!_isPrimary',
|
|
12559
|
+
'[class.mdc-evolution-chip__action--trailing]': '!_isPrimary && !_isLeading',
|
|
12560
|
+
'[attr.disabled]': '_getDisabledAttribute()',
|
|
12561
|
+
'[attr.aria-disabled]': 'disabled',
|
|
12562
|
+
},
|
|
12563
|
+
}]
|
|
12564
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
12565
|
+
type: Input,
|
|
12566
|
+
args: [{ transform: booleanAttribute }]
|
|
12567
|
+
}], tabIndex: [{
|
|
12568
|
+
type: Input,
|
|
12569
|
+
args: [{
|
|
12570
|
+
transform: (value) => (value == null ? -1 : numberAttribute(value)),
|
|
12571
|
+
}]
|
|
12572
|
+
}], _allowFocusWhenDisabled: [{
|
|
12573
|
+
type: Input
|
|
12574
|
+
}] } });
|
|
12575
|
+
class MDChipAction extends MDChipContent {
|
|
12576
|
+
_getTabindex() {
|
|
12577
|
+
return this.disabled && !this._allowFocusWhenDisabled ? null : this.tabIndex.toString();
|
|
12578
|
+
}
|
|
12579
|
+
_handleClick(event) {
|
|
12580
|
+
if (!this.disabled && this._isPrimary) {
|
|
12581
|
+
event.preventDefault();
|
|
12582
|
+
this._parentChip._handlePrimaryActionInteraction();
|
|
12583
|
+
}
|
|
12584
|
+
}
|
|
12585
|
+
_handleKeydown(event) {
|
|
12586
|
+
if ((event.keyCode === ENTER || event.keyCode === SPACE) &&
|
|
12587
|
+
!this.disabled &&
|
|
12588
|
+
this._isPrimary &&
|
|
12589
|
+
!this._parentChip._isEditing) {
|
|
12590
|
+
event.preventDefault();
|
|
12591
|
+
this._parentChip._handlePrimaryActionInteraction();
|
|
12592
|
+
}
|
|
12593
|
+
}
|
|
12594
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipAction, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
12595
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDChipAction, isStandalone: true, selector: "[mdChipAction]", host: { listeners: { "click": "_handleClick($event)", "keydown": "_handleKeydown($event)" }, properties: { "attr.tabindex": "_getTabindex()", "class.mdc-evolution-chip__action--presentational": "false" } }, usesInheritance: true, ngImport: i0 });
|
|
12596
|
+
}
|
|
12597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipAction, decorators: [{
|
|
12598
|
+
type: Directive,
|
|
12599
|
+
args: [{
|
|
12600
|
+
selector: '[mdChipAction]',
|
|
12601
|
+
host: {
|
|
12602
|
+
'[attr.tabindex]': '_getTabindex()',
|
|
12603
|
+
'[class.mdc-evolution-chip__action--presentational]': 'false',
|
|
12604
|
+
'(click)': '_handleClick($event)',
|
|
12605
|
+
'(keydown)': '_handleKeydown($event)',
|
|
12606
|
+
},
|
|
12607
|
+
}]
|
|
12608
|
+
}] });
|
|
12609
|
+
|
|
12610
|
+
class MDChip {
|
|
12611
|
+
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
12612
|
+
_elementRef = inject(ElementRef);
|
|
12613
|
+
_tagName = inject(HOST_TAG_NAME);
|
|
12614
|
+
_ngZone = inject(NgZone);
|
|
12615
|
+
_focusMonitor = inject(FocusMonitor);
|
|
12616
|
+
_document = inject(DOCUMENT);
|
|
12617
|
+
_onFocus = new Subject();
|
|
12618
|
+
_onBlur = new Subject();
|
|
12619
|
+
_isBasicChip;
|
|
12620
|
+
role = null;
|
|
12621
|
+
_hasFocusInternal = false;
|
|
12622
|
+
_pendingFocus;
|
|
12623
|
+
_actionChanges;
|
|
12624
|
+
_animationsDisabled = false;
|
|
12625
|
+
_allLeadingIcons;
|
|
12626
|
+
_allTrailingIcons;
|
|
12627
|
+
_allEditIcons;
|
|
12628
|
+
_allRemoveIcons;
|
|
12629
|
+
_hasFocus() {
|
|
12630
|
+
return this._hasFocusInternal;
|
|
12631
|
+
}
|
|
12632
|
+
id = inject(_IdGenerator).getId('md-mdc-chip-');
|
|
12633
|
+
ariaLabel = null;
|
|
12634
|
+
ariaDescription = null;
|
|
12635
|
+
_chipListDisabled = false;
|
|
12636
|
+
_hadFocusOnRemove = false;
|
|
12637
|
+
_textElement;
|
|
12638
|
+
get value() {
|
|
12639
|
+
return this._value !== undefined ? this._value : this._textElement.textContent.trim();
|
|
12640
|
+
}
|
|
12641
|
+
set value(value) {
|
|
12642
|
+
this._value = value;
|
|
12643
|
+
}
|
|
12644
|
+
_value;
|
|
12645
|
+
removable = true;
|
|
12646
|
+
highlighted = false;
|
|
12647
|
+
get disabled() {
|
|
12648
|
+
return this._disabled || this._chipListDisabled;
|
|
12649
|
+
}
|
|
12650
|
+
set disabled(value) {
|
|
12651
|
+
this._disabled = value;
|
|
12652
|
+
}
|
|
12653
|
+
_disabled = false;
|
|
12654
|
+
removed = new EventEmitter();
|
|
12655
|
+
destroyed = new EventEmitter();
|
|
12656
|
+
basicChipAttrName = 'md-basic-chip';
|
|
12657
|
+
leadingIcon;
|
|
12658
|
+
editIcon;
|
|
12659
|
+
trailingIcon;
|
|
12660
|
+
removeIcon;
|
|
12661
|
+
primaryAction;
|
|
12662
|
+
_injector = inject(Injector);
|
|
12663
|
+
constructor() {
|
|
12664
|
+
this._monitorFocus();
|
|
12665
|
+
}
|
|
12666
|
+
ngOnInit() {
|
|
12667
|
+
this._isBasicChip =
|
|
12668
|
+
this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName) ||
|
|
12669
|
+
this._tagName.toLowerCase() === this.basicChipAttrName;
|
|
12670
|
+
}
|
|
12671
|
+
ngAfterViewInit() {
|
|
12672
|
+
this._textElement = this._elementRef.nativeElement.querySelector('.md-mdc-chip-action-label');
|
|
12673
|
+
if (this._pendingFocus) {
|
|
12674
|
+
this._pendingFocus = false;
|
|
12675
|
+
this.focus();
|
|
12676
|
+
}
|
|
12677
|
+
}
|
|
12678
|
+
ngAfterContentInit() {
|
|
12679
|
+
this._actionChanges = merge(this._allLeadingIcons.changes, this._allTrailingIcons.changes, this._allEditIcons.changes, this._allRemoveIcons.changes).subscribe(() => this._changeDetectorRef.markForCheck());
|
|
12680
|
+
}
|
|
12681
|
+
ngOnDestroy() {
|
|
12682
|
+
this._focusMonitor.stopMonitoring(this._elementRef);
|
|
12683
|
+
this._actionChanges?.unsubscribe();
|
|
12684
|
+
this.destroyed.emit({ chip: this });
|
|
12685
|
+
this.destroyed.complete();
|
|
12686
|
+
}
|
|
12687
|
+
remove() {
|
|
12688
|
+
if (this.removable) {
|
|
12689
|
+
this._hadFocusOnRemove = this._hasFocus();
|
|
12690
|
+
this.removed.emit({ chip: this });
|
|
12691
|
+
}
|
|
12692
|
+
}
|
|
12693
|
+
_hasTrailingIcon() {
|
|
12694
|
+
return !!(this.trailingIcon || this.removeIcon);
|
|
12695
|
+
}
|
|
12696
|
+
_handleKeydown(event) {
|
|
12697
|
+
if ((event.keyCode === BACKSPACE && !event.repeat) || event.keyCode === DELETE) {
|
|
12698
|
+
event.preventDefault();
|
|
12699
|
+
this.remove();
|
|
12700
|
+
}
|
|
12701
|
+
}
|
|
12702
|
+
focus() {
|
|
12703
|
+
if (!this.disabled) {
|
|
12704
|
+
if (this.primaryAction) {
|
|
12705
|
+
this.primaryAction.focus();
|
|
12706
|
+
}
|
|
12707
|
+
else {
|
|
12708
|
+
this._pendingFocus = true;
|
|
12709
|
+
}
|
|
12710
|
+
}
|
|
12711
|
+
}
|
|
12712
|
+
_getSourceAction(target) {
|
|
12713
|
+
return this._getActions().find((action) => {
|
|
12714
|
+
const element = action._elementRef.nativeElement;
|
|
12715
|
+
return element === target || element.contains(target);
|
|
12716
|
+
});
|
|
12717
|
+
}
|
|
12718
|
+
_getActions() {
|
|
12719
|
+
const result = [];
|
|
12720
|
+
if (this.editIcon) {
|
|
12721
|
+
result.push(this.editIcon);
|
|
12722
|
+
}
|
|
12723
|
+
if (this.primaryAction) {
|
|
12724
|
+
result.push(this.primaryAction);
|
|
12725
|
+
}
|
|
12726
|
+
if (this.removeIcon) {
|
|
12727
|
+
result.push(this.removeIcon);
|
|
12728
|
+
}
|
|
12729
|
+
return result;
|
|
12730
|
+
}
|
|
12731
|
+
_handlePrimaryActionInteraction() {
|
|
12732
|
+
// Empty here, but is overwritten in child classes.
|
|
12733
|
+
}
|
|
12734
|
+
_hasInteractiveActions() {
|
|
12735
|
+
return this._getActions().length > 0;
|
|
12736
|
+
}
|
|
12737
|
+
_edit(event) {
|
|
12738
|
+
// Empty here, but is overwritten in child classes.
|
|
12739
|
+
}
|
|
12740
|
+
_monitorFocus() {
|
|
12741
|
+
this._focusMonitor.monitor(this._elementRef, true).subscribe((origin) => {
|
|
12742
|
+
const hasFocus = origin !== null;
|
|
12743
|
+
if (hasFocus !== this._hasFocusInternal) {
|
|
12744
|
+
this._hasFocusInternal = hasFocus;
|
|
12745
|
+
if (hasFocus) {
|
|
12746
|
+
this._onFocus.next({ chip: this });
|
|
12747
|
+
}
|
|
12748
|
+
else {
|
|
12749
|
+
this._changeDetectorRef.markForCheck();
|
|
12750
|
+
setTimeout(() => this._ngZone.run(() => this._onBlur.next({ chip: this })));
|
|
12751
|
+
}
|
|
12752
|
+
}
|
|
12753
|
+
});
|
|
12754
|
+
}
|
|
12755
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12756
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDChip, isStandalone: true, selector: "md-basic-chip, [md-basic-chip], md-chip, [md-chip]", inputs: { role: "role", id: "id", ariaLabel: ["aria-label", "ariaLabel"], ariaDescription: ["aria-description", "ariaDescription"], value: "value", removable: ["removable", "removable", booleanAttribute], highlighted: ["highlighted", "highlighted", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { removed: "removed", destroyed: "destroyed" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "class": "\"md-\" + (color || \"primary\")", "class.mdc-evolution-chip": "!_isBasicChip", "class.mdc-evolution-chip--disabled": "disabled", "class.mdc-evolution-chip--with-trailing-action": "_hasTrailingIcon()", "class.mdc-evolution-chip--with-primary-graphic": "leadingIcon", "class.mdc-evolution-chip--with-primary-icon": "leadingIcon", "class.mdc-evolution-chip--with-avatar": "leadingIcon", "class.md-mdc-chip-with-avatar": "leadingIcon", "class.md-mdc-chip-highlighted": "highlighted", "class.md-mdc-chip-disabled": "disabled", "class.md-mdc-basic-chip": "_isBasicChip", "class.md-mdc-standard-chip": "!_isBasicChip", "class.md-mdc-chip-with-trailing-icon": "_hasTrailingIcon()", "class._md-animation-noopable": "_animationsDisabled", "id": "id", "attr.role": "role", "attr.aria-label": "ariaLabel" }, classAttribute: "md-mdc-chip" }, providers: [{ provide: MD_CHIP, useExisting: MDChip }], queries: [{ propertyName: "leadingIcon", first: true, predicate: MD_CHIP_AVATAR, descendants: true }, { propertyName: "editIcon", first: true, predicate: MD_CHIP_EDIT, descendants: true }, { propertyName: "trailingIcon", first: true, predicate: MD_CHIP_TRAILING_ICON, descendants: true }, { propertyName: "removeIcon", first: true, predicate: MD_CHIP_REMOVE, descendants: true }, { propertyName: "_allLeadingIcons", predicate: MD_CHIP_AVATAR, descendants: true }, { propertyName: "_allTrailingIcons", predicate: MD_CHIP_TRAILING_ICON, descendants: true }, { propertyName: "_allEditIcons", predicate: MD_CHIP_EDIT, descendants: true }, { propertyName: "_allRemoveIcons", predicate: MD_CHIP_REMOVE, descendants: true }], viewQueries: [{ propertyName: "primaryAction", first: true, predicate: MDChipAction, descendants: true }], exportAs: ["mdChip"], ngImport: i0, template: "<span class=\"md-mdc-chip-focus-overlay\"></span>\r\n\r\n<span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--primary\">\r\n <span mdChipContent>\r\n @if (leadingIcon) {\r\n <span class=\"mdc-evolution-chip__graphic md-mdc-chip-graphic\">\r\n <ng-content select=\"md-chip-avatar, [mdChipAvatar]\"></ng-content>\r\n </span>\r\n }\r\n <span class=\"mdc-evolution-chip__text-label md-mdc-chip-action-label\">\r\n <ng-content></ng-content>\r\n <span class=\"md-mdc-chip-primary-focus-indicator md-focus-indicator\"></span>\r\n </span>\r\n </span>\r\n</span>\r\n\r\n@if (_hasTrailingIcon()) {\r\n <span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--trailing\">\r\n <ng-content select=\"md-chip-trailing-icon,[mdChipRemove],[mdChipTrailingIcon]\"></ng-content>\r\n </span>\r\n}", styles: [".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.md-mdc-standard-chip .mdc-evolution-chip__action--primary:before{border-width:1px;border-radius:8px;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.md-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary:before{border-color:#74777f}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):focus:before{border-color:#74777f}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:color-mix(in srgb,var(#1a1b1f) 12%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary:before{border-width:0}.md-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:#1a1b1f}.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.md-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:Montserrat;line-height:1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.006rem}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:color-mix(in srgb,#1a1b1f 38%,transparent)}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.md-mdc-standard-chip .mdc-evolution-chip__graphic{width:24px;height:24px;font-size:24px}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width .15s 0ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:#1a1b1f}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform .15s 0ms cubic-bezier(.4,0,.2,1);transform:translate(-75%,-50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%,-50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset .15s 45ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}.md-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove:focus{opacity:.38}.md-mdc-standard-chip{border-radius:8px;height:32px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:transparent}.md-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:24px;width:18px;height:18px;font-size:18px}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:#1a1b1f}.md-mdc-chip-highlighted{--md-chip-with-icon-icon-color: #3e4759;--md-chip-elevated-container-color: #3e4759;--md-chip-label-text-color: #3e4759;--md-chip-outline-width: 0}.md-mdc-chip-focus-overlay{background:#44474e}.md-mdc-chip-selected .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted .md-mdc-chip-focus-overlay{background:#3e4759}.md-mdc-chip:hover .md-mdc-chip-focus-overlay,.md-mdc-chip-focus-overlay .md-mdc-chip-selected:hover,.md-mdc-chip-highlighted:hover .md-mdc-chip-focus-overlay{background:#44474e;opacity:.08}.md-mdc-chip.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-selected.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted.cdk-focused .md-mdc-chip-focus-overlay{background:#44474e;opacity:.12}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .md-mdc-chip-avatar{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:.38}.md-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:1}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:#1a1b1f}.md-mdc-chip-edit:focus,.md-mdc-chip-remove:focus{opacity:1}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip-edit:hover:after,.md-mdc-chip-remove:hover:after{opacity:.2}.md-mdc-chip-edit:focus:after,.md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip-selected .md-mdc-chip-remove:after,.md-mdc-chip-highlighted .md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:focus:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:hover:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:hover:after{opacity:.08}.md-mdc-standard-chip{-webkit-tap-highlight-color:transparent}.md-mdc-standard-chip .md-mdc-chip-graphic,.md-mdc-standard-chip .md-mdc-chip-trailing-icon{box-sizing:content-box}.md-mdc-standard-chip._md-animation-noopable,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__graphic,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.md-mdc-chip-focus-overlay{inset:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .15s linear}._md-animation-noopable .md-mdc-chip-focus-overlay{transition:none}.md-mdc-basic-chip .md-mdc-chip-focus-overlay{display:none}.md-mdc-chip-avatar{text-align:center;line-height:1;color:var(--md-chip-with-icon-icon-color, currentColor)}.md-mdc-chip{position:relative;z-index:0}.md-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .md-mdc-chip-action-label{text-align:right}.md-mdc-chip.mdc-evolution-chip--with-trailing-action .md-mdc-chip-action-label{position:relative}.md-mdc-chip-action-label .md-mdc-chip-primary-focus-indicator{position:absolute;inset:0;pointer-events:none}.md-mdc-chip-action-label .md-focus-indicator:before{margin:calc(calc(var(--md-focus-indicator-border-width, 3px) + 2px) * -1)}.md-mdc-chip-edit:before,.md-mdc-chip-remove:before{margin:calc(var(--md-focus-indicator-border-width, 3px) * -1);left:8px;right:8px}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{content:\"\";display:block;opacity:0;position:absolute;inset:-3px 5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.md-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}.md-mdc-chip-action:focus .md-focus-indicator:before{content:\"\"}.mdc-evolution-chip__icon,.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{min-height:fit-content}\n"], dependencies: [{ kind: "directive", type: MDChipContent, selector: "[mdChipContent]", inputs: ["disabled", "tabIndex", "_allowFocusWhenDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
12757
|
+
}
|
|
12758
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChip, decorators: [{
|
|
12759
|
+
type: Component,
|
|
12760
|
+
args: [{ selector: 'md-basic-chip, [md-basic-chip], md-chip, [md-chip]', exportAs: 'mdChip', host: {
|
|
12761
|
+
class: 'md-mdc-chip',
|
|
12762
|
+
'[class]': '"md-" + (color || "primary")',
|
|
12763
|
+
'[class.mdc-evolution-chip]': '!_isBasicChip',
|
|
12764
|
+
'[class.mdc-evolution-chip--disabled]': 'disabled',
|
|
12765
|
+
'[class.mdc-evolution-chip--with-trailing-action]': '_hasTrailingIcon()',
|
|
12766
|
+
'[class.mdc-evolution-chip--with-primary-graphic]': 'leadingIcon',
|
|
12767
|
+
'[class.mdc-evolution-chip--with-primary-icon]': 'leadingIcon',
|
|
12768
|
+
'[class.mdc-evolution-chip--with-avatar]': 'leadingIcon',
|
|
12769
|
+
'[class.md-mdc-chip-with-avatar]': 'leadingIcon',
|
|
12770
|
+
'[class.md-mdc-chip-highlighted]': 'highlighted',
|
|
12771
|
+
'[class.md-mdc-chip-disabled]': 'disabled',
|
|
12772
|
+
'[class.md-mdc-basic-chip]': '_isBasicChip',
|
|
12773
|
+
'[class.md-mdc-standard-chip]': '!_isBasicChip',
|
|
12774
|
+
'[class.md-mdc-chip-with-trailing-icon]': '_hasTrailingIcon()',
|
|
12775
|
+
'[class._md-animation-noopable]': '_animationsDisabled',
|
|
12776
|
+
'[id]': 'id',
|
|
12777
|
+
'[attr.role]': 'role',
|
|
12778
|
+
'[attr.aria-label]': 'ariaLabel',
|
|
12779
|
+
'(keydown)': '_handleKeydown($event)',
|
|
12780
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MD_CHIP, useExisting: MDChip }], imports: [MDChipContent], template: "<span class=\"md-mdc-chip-focus-overlay\"></span>\r\n\r\n<span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--primary\">\r\n <span mdChipContent>\r\n @if (leadingIcon) {\r\n <span class=\"mdc-evolution-chip__graphic md-mdc-chip-graphic\">\r\n <ng-content select=\"md-chip-avatar, [mdChipAvatar]\"></ng-content>\r\n </span>\r\n }\r\n <span class=\"mdc-evolution-chip__text-label md-mdc-chip-action-label\">\r\n <ng-content></ng-content>\r\n <span class=\"md-mdc-chip-primary-focus-indicator md-focus-indicator\"></span>\r\n </span>\r\n </span>\r\n</span>\r\n\r\n@if (_hasTrailingIcon()) {\r\n <span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--trailing\">\r\n <ng-content select=\"md-chip-trailing-icon,[mdChipRemove],[mdChipTrailingIcon]\"></ng-content>\r\n </span>\r\n}", styles: [".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.md-mdc-standard-chip .mdc-evolution-chip__action--primary:before{border-width:1px;border-radius:8px;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.md-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary:before{border-color:#74777f}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):focus:before{border-color:#74777f}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:color-mix(in srgb,var(#1a1b1f) 12%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary:before{border-width:0}.md-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:#1a1b1f}.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.md-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:Montserrat;line-height:1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.006rem}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:color-mix(in srgb,#1a1b1f 38%,transparent)}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.md-mdc-standard-chip .mdc-evolution-chip__graphic{width:24px;height:24px;font-size:24px}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width .15s 0ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:#1a1b1f}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform .15s 0ms cubic-bezier(.4,0,.2,1);transform:translate(-75%,-50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%,-50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset .15s 45ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}.md-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove:focus{opacity:.38}.md-mdc-standard-chip{border-radius:8px;height:32px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:transparent}.md-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:24px;width:18px;height:18px;font-size:18px}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:#1a1b1f}.md-mdc-chip-highlighted{--md-chip-with-icon-icon-color: #3e4759;--md-chip-elevated-container-color: #3e4759;--md-chip-label-text-color: #3e4759;--md-chip-outline-width: 0}.md-mdc-chip-focus-overlay{background:#44474e}.md-mdc-chip-selected .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted .md-mdc-chip-focus-overlay{background:#3e4759}.md-mdc-chip:hover .md-mdc-chip-focus-overlay,.md-mdc-chip-focus-overlay .md-mdc-chip-selected:hover,.md-mdc-chip-highlighted:hover .md-mdc-chip-focus-overlay{background:#44474e;opacity:.08}.md-mdc-chip.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-selected.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted.cdk-focused .md-mdc-chip-focus-overlay{background:#44474e;opacity:.12}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .md-mdc-chip-avatar{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:.38}.md-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:1}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:#1a1b1f}.md-mdc-chip-edit:focus,.md-mdc-chip-remove:focus{opacity:1}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip-edit:hover:after,.md-mdc-chip-remove:hover:after{opacity:.2}.md-mdc-chip-edit:focus:after,.md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip-selected .md-mdc-chip-remove:after,.md-mdc-chip-highlighted .md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:focus:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:hover:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:hover:after{opacity:.08}.md-mdc-standard-chip{-webkit-tap-highlight-color:transparent}.md-mdc-standard-chip .md-mdc-chip-graphic,.md-mdc-standard-chip .md-mdc-chip-trailing-icon{box-sizing:content-box}.md-mdc-standard-chip._md-animation-noopable,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__graphic,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.md-mdc-chip-focus-overlay{inset:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .15s linear}._md-animation-noopable .md-mdc-chip-focus-overlay{transition:none}.md-mdc-basic-chip .md-mdc-chip-focus-overlay{display:none}.md-mdc-chip-avatar{text-align:center;line-height:1;color:var(--md-chip-with-icon-icon-color, currentColor)}.md-mdc-chip{position:relative;z-index:0}.md-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .md-mdc-chip-action-label{text-align:right}.md-mdc-chip.mdc-evolution-chip--with-trailing-action .md-mdc-chip-action-label{position:relative}.md-mdc-chip-action-label .md-mdc-chip-primary-focus-indicator{position:absolute;inset:0;pointer-events:none}.md-mdc-chip-action-label .md-focus-indicator:before{margin:calc(calc(var(--md-focus-indicator-border-width, 3px) + 2px) * -1)}.md-mdc-chip-edit:before,.md-mdc-chip-remove:before{margin:calc(var(--md-focus-indicator-border-width, 3px) * -1);left:8px;right:8px}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{content:\"\";display:block;opacity:0;position:absolute;inset:-3px 5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.md-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}.md-mdc-chip-action:focus .md-focus-indicator:before{content:\"\"}.mdc-evolution-chip__icon,.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{min-height:fit-content}\n"] }]
|
|
12781
|
+
}], ctorParameters: () => [], propDecorators: { role: [{
|
|
12782
|
+
type: Input
|
|
12783
|
+
}], _allLeadingIcons: [{
|
|
12784
|
+
type: ContentChildren,
|
|
12785
|
+
args: [MD_CHIP_AVATAR, { descendants: true }]
|
|
12786
|
+
}], _allTrailingIcons: [{
|
|
12787
|
+
type: ContentChildren,
|
|
12788
|
+
args: [MD_CHIP_TRAILING_ICON, { descendants: true }]
|
|
12789
|
+
}], _allEditIcons: [{
|
|
12790
|
+
type: ContentChildren,
|
|
12791
|
+
args: [MD_CHIP_EDIT, { descendants: true }]
|
|
12792
|
+
}], _allRemoveIcons: [{
|
|
12793
|
+
type: ContentChildren,
|
|
12794
|
+
args: [MD_CHIP_REMOVE, { descendants: true }]
|
|
12795
|
+
}], id: [{
|
|
12796
|
+
type: Input
|
|
12797
|
+
}], ariaLabel: [{
|
|
12798
|
+
type: Input,
|
|
12799
|
+
args: ['aria-label']
|
|
12800
|
+
}], ariaDescription: [{
|
|
12801
|
+
type: Input,
|
|
12802
|
+
args: ['aria-description']
|
|
12803
|
+
}], value: [{
|
|
12804
|
+
type: Input
|
|
12805
|
+
}], removable: [{
|
|
12806
|
+
type: Input,
|
|
12807
|
+
args: [{ transform: booleanAttribute }]
|
|
12808
|
+
}], highlighted: [{
|
|
12809
|
+
type: Input,
|
|
12810
|
+
args: [{ transform: booleanAttribute }]
|
|
12811
|
+
}], disabled: [{
|
|
12812
|
+
type: Input,
|
|
12813
|
+
args: [{ transform: booleanAttribute }]
|
|
12814
|
+
}], removed: [{
|
|
12815
|
+
type: Output
|
|
12816
|
+
}], destroyed: [{
|
|
12817
|
+
type: Output
|
|
12818
|
+
}], leadingIcon: [{
|
|
12819
|
+
type: ContentChild,
|
|
12820
|
+
args: [MD_CHIP_AVATAR]
|
|
12821
|
+
}], editIcon: [{
|
|
12822
|
+
type: ContentChild,
|
|
12823
|
+
args: [MD_CHIP_EDIT]
|
|
12824
|
+
}], trailingIcon: [{
|
|
12825
|
+
type: ContentChild,
|
|
12826
|
+
args: [MD_CHIP_TRAILING_ICON]
|
|
12827
|
+
}], removeIcon: [{
|
|
12828
|
+
type: ContentChild,
|
|
12829
|
+
args: [MD_CHIP_REMOVE]
|
|
12830
|
+
}], primaryAction: [{
|
|
12831
|
+
type: ViewChild,
|
|
12832
|
+
args: [MDChipAction]
|
|
12833
|
+
}] } });
|
|
12834
|
+
|
|
12835
|
+
class MDChipSelectionChange {
|
|
12836
|
+
source;
|
|
12837
|
+
selected;
|
|
12838
|
+
isUserInput;
|
|
12839
|
+
constructor(source, selected, isUserInput = false) {
|
|
12840
|
+
this.source = source;
|
|
12841
|
+
this.selected = selected;
|
|
12842
|
+
this.isUserInput = isUserInput;
|
|
12843
|
+
}
|
|
12844
|
+
}
|
|
12845
|
+
class MDChipOption extends MDChip {
|
|
12846
|
+
_defaultOptions = inject(MD_CHIPS_DEFAULT_OPTIONS, { optional: true });
|
|
12847
|
+
chipListSelectable = true;
|
|
12848
|
+
_chipListMultiple = false;
|
|
12849
|
+
_chipListHideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;
|
|
12850
|
+
get selectable() {
|
|
12851
|
+
return this._selectable && this.chipListSelectable;
|
|
12852
|
+
}
|
|
12853
|
+
set selectable(value) {
|
|
12854
|
+
this._selectable = value;
|
|
12855
|
+
this._changeDetectorRef.markForCheck();
|
|
12856
|
+
}
|
|
12857
|
+
_selectable = true;
|
|
12858
|
+
/** Whether the chip is selected. */
|
|
12859
|
+
get selected() {
|
|
12860
|
+
return this._selected;
|
|
12861
|
+
}
|
|
12862
|
+
set selected(value) {
|
|
12863
|
+
this._setSelectedState(value, false, true);
|
|
12864
|
+
}
|
|
12865
|
+
_selected = false;
|
|
12866
|
+
get ariaSelected() {
|
|
12867
|
+
return this.selectable ? this.selected.toString() : null;
|
|
12868
|
+
}
|
|
12869
|
+
basicChipAttrName = 'md-basic-chip-option';
|
|
12870
|
+
selectionChange = new EventEmitter();
|
|
12871
|
+
ngOnInit() {
|
|
12872
|
+
super.ngOnInit();
|
|
12873
|
+
this.role = 'presentation';
|
|
12874
|
+
}
|
|
12875
|
+
select() {
|
|
12876
|
+
this._setSelectedState(true, false, true);
|
|
12877
|
+
}
|
|
12878
|
+
deselect() {
|
|
12879
|
+
this._setSelectedState(false, false, true);
|
|
12880
|
+
}
|
|
12881
|
+
selectViaInteraction() {
|
|
12882
|
+
this._setSelectedState(true, true, true);
|
|
12883
|
+
}
|
|
12884
|
+
toggleSelected(isUserInput = false) {
|
|
12885
|
+
this._setSelectedState(!this.selected, isUserInput, true);
|
|
12886
|
+
return this.selected;
|
|
12887
|
+
}
|
|
12888
|
+
_handlePrimaryActionInteraction() {
|
|
12889
|
+
if (!this.disabled) {
|
|
12890
|
+
this.focus();
|
|
12891
|
+
if (this.selectable) {
|
|
12892
|
+
this.toggleSelected(true);
|
|
12893
|
+
}
|
|
12894
|
+
}
|
|
12895
|
+
}
|
|
12896
|
+
_hasLeadingGraphic() {
|
|
12897
|
+
if (this.leadingIcon) {
|
|
12898
|
+
return true;
|
|
12899
|
+
}
|
|
12900
|
+
return !this._chipListHideSingleSelectionIndicator || this._chipListMultiple;
|
|
12901
|
+
}
|
|
12902
|
+
_setSelectedState(isSelected, isUserInput, emitEvent) {
|
|
12903
|
+
if (isSelected !== this.selected) {
|
|
12904
|
+
this._selected = isSelected;
|
|
12905
|
+
if (emitEvent) {
|
|
12906
|
+
this.selectionChange.emit({
|
|
12907
|
+
source: this,
|
|
12908
|
+
isUserInput,
|
|
12909
|
+
selected: this.selected,
|
|
12910
|
+
});
|
|
12911
|
+
}
|
|
12912
|
+
this._changeDetectorRef.markForCheck();
|
|
12913
|
+
}
|
|
12914
|
+
}
|
|
12915
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipOption, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12916
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDChipOption, isStandalone: true, selector: "md-basic-chip-option, [md-basic-chip-option], md-chip-option, [md-chip-option]", inputs: { selectable: ["selectable", "selectable", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.mdc-evolution-chip": "!_isBasicChip", "class.mdc-evolution-chip--filter": "!_isBasicChip", "class.mdc-evolution-chip--selectable": "!_isBasicChip", "class.md-mdc-chip-selected": "selected", "class.md-mdc-chip-multiple": "_chipListMultiple", "class.md-mdc-chip-disabled": "disabled", "class.md-mdc-chip-with-avatar": "leadingIcon", "class.mdc-evolution-chip--disabled": "disabled", "class.mdc-evolution-chip--selected": "selected", "class.mdc-evolution-chip--selecting": "!_animationsDisabled", "class.mdc-evolution-chip--with-trailing-action": "_hasTrailingIcon()", "class.mdc-evolution-chip--with-primary-icon": "leadingIcon", "class.mdc-evolution-chip--with-primary-graphic": "_hasLeadingGraphic()", "class.mdc-evolution-chip--with-avatar": "leadingIcon", "class.md-mdc-chip-highlighted": "highlighted", "class.md-mdc-chip-with-trailing-icon": "_hasTrailingIcon()", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-description": "null", "attr.role": "role", "id": "id" }, classAttribute: "md-mdc-chip md-mdc-chip-option" }, providers: [
|
|
12917
|
+
{ provide: MDChip, useExisting: MDChipOption },
|
|
12918
|
+
{ provide: MD_CHIP, useExisting: MDChipOption },
|
|
12919
|
+
], usesInheritance: true, ngImport: i0, template: "<span class=\"md-mdc-chip-focus-overlay\"></span>\r\n\r\n<span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--primary\">\r\n <button\r\n mdChipAction\r\n [_allowFocusWhenDisabled]=\"true\"\r\n [attr.aria-description]=\"ariaDescription\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-selected]=\"ariaSelected\"\r\n role=\"option\">\r\n @if (_hasLeadingGraphic()) {\r\n <span class=\"mdc-evolution-chip__graphic md-mdc-chip-graphic\">\r\n <ng-content select=\"md-chip-avatar, [mdChipAvatar]\"></ng-content>\r\n <span class=\"mdc-evolution-chip__checkmark\">\r\n <svg\r\n class=\"mdc-evolution-chip__checkmark-svg\"\r\n viewBox=\"-2 -3 30 30\"\r\n focusable=\"false\"\r\n aria-hidden=\"true\">\r\n <path class=\"mdc-evolution-chip__checkmark-path\"\r\n fill=\"none\" stroke=\"currentColor\" d=\"M1.73,12.91 8.1,19.28 22.79,4.59\" />\r\n </svg>\r\n </span>\r\n </span>\r\n }\r\n <span class=\"mdc-evolution-chip__text-label md-mdc-chip-action-label\">\r\n <ng-content></ng-content>\r\n <span class=\"md-mdc-chip-primary-focus-indicator md-focus-indicator\"></span>\r\n </span>\r\n </button>\r\n</span>\r\n\r\n@if (_hasTrailingIcon()) {\r\n <span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--trailing\">\r\n <ng-content select=\"md-chip-trailing-icon,[mdChipRemove],[mdChipTrailingIcon]\"></ng-content>\r\n </span>\r\n}", styles: [".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.md-mdc-standard-chip .mdc-evolution-chip__action--primary:before{border-width:1px;border-radius:8px;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.md-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary:before{border-color:#74777f}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):focus:before{border-color:#74777f}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:color-mix(in srgb,var(#1a1b1f) 12%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary:before{border-width:0}.md-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:#1a1b1f}.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.md-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:Montserrat;line-height:1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.006rem}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:color-mix(in srgb,#1a1b1f 38%,transparent)}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.md-mdc-standard-chip .mdc-evolution-chip__graphic{width:24px;height:24px;font-size:24px}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width .15s 0ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:#1a1b1f}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform .15s 0ms cubic-bezier(.4,0,.2,1);transform:translate(-75%,-50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%,-50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset .15s 45ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}.md-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove:focus{opacity:.38}.md-mdc-standard-chip{border-radius:8px;height:32px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:transparent}.md-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:24px;width:18px;height:18px;font-size:18px}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:#1a1b1f}.md-mdc-chip-highlighted{--md-chip-with-icon-icon-color: #3e4759;--md-chip-elevated-container-color: #3e4759;--md-chip-label-text-color: #3e4759;--md-chip-outline-width: 0}.md-mdc-chip-focus-overlay{background:#44474e}.md-mdc-chip-selected .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted .md-mdc-chip-focus-overlay{background:#3e4759}.md-mdc-chip:hover .md-mdc-chip-focus-overlay,.md-mdc-chip-focus-overlay .md-mdc-chip-selected:hover,.md-mdc-chip-highlighted:hover .md-mdc-chip-focus-overlay{background:#44474e;opacity:.08}.md-mdc-chip.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-selected.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted.cdk-focused .md-mdc-chip-focus-overlay{background:#44474e;opacity:.12}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .md-mdc-chip-avatar{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:.38}.md-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:1}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:#1a1b1f}.md-mdc-chip-edit:focus,.md-mdc-chip-remove:focus{opacity:1}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip-edit:hover:after,.md-mdc-chip-remove:hover:after{opacity:.2}.md-mdc-chip-edit:focus:after,.md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip-selected .md-mdc-chip-remove:after,.md-mdc-chip-highlighted .md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:focus:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:hover:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:hover:after{opacity:.08}.md-mdc-standard-chip{-webkit-tap-highlight-color:transparent}.md-mdc-standard-chip .md-mdc-chip-graphic,.md-mdc-standard-chip .md-mdc-chip-trailing-icon{box-sizing:content-box}.md-mdc-standard-chip._md-animation-noopable,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__graphic,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.md-mdc-chip-focus-overlay{inset:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .15s linear}._md-animation-noopable .md-mdc-chip-focus-overlay{transition:none}.md-mdc-basic-chip .md-mdc-chip-focus-overlay{display:none}.md-mdc-chip-avatar{text-align:center;line-height:1;color:var(--md-chip-with-icon-icon-color, currentColor)}.md-mdc-chip{position:relative;z-index:0}.md-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .md-mdc-chip-action-label{text-align:right}.md-mdc-chip.mdc-evolution-chip--with-trailing-action .md-mdc-chip-action-label{position:relative}.md-mdc-chip-action-label .md-mdc-chip-primary-focus-indicator{position:absolute;inset:0;pointer-events:none}.md-mdc-chip-action-label .md-focus-indicator:before{margin:calc(calc(var(--md-focus-indicator-border-width, 3px) + 2px) * -1)}.md-mdc-chip-edit:before,.md-mdc-chip-remove:before{margin:calc(var(--md-focus-indicator-border-width, 3px) * -1);left:8px;right:8px}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{content:\"\";display:block;opacity:0;position:absolute;inset:-3px 5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.md-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}.md-mdc-chip-action:focus .md-focus-indicator:before{content:\"\"}.mdc-evolution-chip__icon,.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{min-height:fit-content}\n"], dependencies: [{ kind: "directive", type: MDChipAction, selector: "[mdChipAction]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
12920
|
+
}
|
|
12921
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipOption, decorators: [{
|
|
12922
|
+
type: Component,
|
|
12923
|
+
args: [{ selector: 'md-basic-chip-option, [md-basic-chip-option], md-chip-option, [md-chip-option]', host: {
|
|
12924
|
+
'class': 'md-mdc-chip md-mdc-chip-option',
|
|
12925
|
+
'[class.mdc-evolution-chip]': '!_isBasicChip',
|
|
12926
|
+
'[class.mdc-evolution-chip--filter]': '!_isBasicChip',
|
|
12927
|
+
'[class.mdc-evolution-chip--selectable]': '!_isBasicChip',
|
|
12928
|
+
'[class.md-mdc-chip-selected]': 'selected',
|
|
12929
|
+
'[class.md-mdc-chip-multiple]': '_chipListMultiple',
|
|
12930
|
+
'[class.md-mdc-chip-disabled]': 'disabled',
|
|
12931
|
+
'[class.md-mdc-chip-with-avatar]': 'leadingIcon',
|
|
12932
|
+
'[class.mdc-evolution-chip--disabled]': 'disabled',
|
|
12933
|
+
'[class.mdc-evolution-chip--selected]': 'selected',
|
|
12934
|
+
'[class.mdc-evolution-chip--selecting]': '!_animationsDisabled',
|
|
12935
|
+
'[class.mdc-evolution-chip--with-trailing-action]': '_hasTrailingIcon()',
|
|
12936
|
+
'[class.mdc-evolution-chip--with-primary-icon]': 'leadingIcon',
|
|
12937
|
+
'[class.mdc-evolution-chip--with-primary-graphic]': '_hasLeadingGraphic()',
|
|
12938
|
+
'[class.mdc-evolution-chip--with-avatar]': 'leadingIcon',
|
|
12939
|
+
'[class.md-mdc-chip-highlighted]': 'highlighted',
|
|
12940
|
+
'[class.md-mdc-chip-with-trailing-icon]': '_hasTrailingIcon()',
|
|
12941
|
+
'[attr.tabindex]': 'null',
|
|
12942
|
+
'[attr.aria-label]': 'null',
|
|
12943
|
+
'[attr.aria-description]': 'null',
|
|
12944
|
+
'[attr.role]': 'role',
|
|
12945
|
+
'[id]': 'id',
|
|
12946
|
+
}, providers: [
|
|
12947
|
+
{ provide: MDChip, useExisting: MDChipOption },
|
|
12948
|
+
{ provide: MD_CHIP, useExisting: MDChipOption },
|
|
12949
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MDChipAction], template: "<span class=\"md-mdc-chip-focus-overlay\"></span>\r\n\r\n<span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--primary\">\r\n <button\r\n mdChipAction\r\n [_allowFocusWhenDisabled]=\"true\"\r\n [attr.aria-description]=\"ariaDescription\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-selected]=\"ariaSelected\"\r\n role=\"option\">\r\n @if (_hasLeadingGraphic()) {\r\n <span class=\"mdc-evolution-chip__graphic md-mdc-chip-graphic\">\r\n <ng-content select=\"md-chip-avatar, [mdChipAvatar]\"></ng-content>\r\n <span class=\"mdc-evolution-chip__checkmark\">\r\n <svg\r\n class=\"mdc-evolution-chip__checkmark-svg\"\r\n viewBox=\"-2 -3 30 30\"\r\n focusable=\"false\"\r\n aria-hidden=\"true\">\r\n <path class=\"mdc-evolution-chip__checkmark-path\"\r\n fill=\"none\" stroke=\"currentColor\" d=\"M1.73,12.91 8.1,19.28 22.79,4.59\" />\r\n </svg>\r\n </span>\r\n </span>\r\n }\r\n <span class=\"mdc-evolution-chip__text-label md-mdc-chip-action-label\">\r\n <ng-content></ng-content>\r\n <span class=\"md-mdc-chip-primary-focus-indicator md-focus-indicator\"></span>\r\n </span>\r\n </button>\r\n</span>\r\n\r\n@if (_hasTrailingIcon()) {\r\n <span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--trailing\">\r\n <ng-content select=\"md-chip-trailing-icon,[mdChipRemove],[mdChipTrailingIcon]\"></ng-content>\r\n </span>\r\n}", styles: [".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.md-mdc-standard-chip .mdc-evolution-chip__action--primary:before{border-width:1px;border-radius:8px;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.md-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary:before{border-color:#74777f}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):focus:before{border-color:#74777f}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:color-mix(in srgb,var(#1a1b1f) 12%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary:before{border-width:0}.md-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:#1a1b1f}.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.md-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:Montserrat;line-height:1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.006rem}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:color-mix(in srgb,#1a1b1f 38%,transparent)}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.md-mdc-standard-chip .mdc-evolution-chip__graphic{width:24px;height:24px;font-size:24px}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width .15s 0ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:#1a1b1f}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform .15s 0ms cubic-bezier(.4,0,.2,1);transform:translate(-75%,-50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%,-50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset .15s 45ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}.md-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove:focus{opacity:.38}.md-mdc-standard-chip{border-radius:8px;height:32px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:transparent}.md-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:24px;width:18px;height:18px;font-size:18px}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:#1a1b1f}.md-mdc-chip-highlighted{--md-chip-with-icon-icon-color: #3e4759;--md-chip-elevated-container-color: #3e4759;--md-chip-label-text-color: #3e4759;--md-chip-outline-width: 0}.md-mdc-chip-focus-overlay{background:#44474e}.md-mdc-chip-selected .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted .md-mdc-chip-focus-overlay{background:#3e4759}.md-mdc-chip:hover .md-mdc-chip-focus-overlay,.md-mdc-chip-focus-overlay .md-mdc-chip-selected:hover,.md-mdc-chip-highlighted:hover .md-mdc-chip-focus-overlay{background:#44474e;opacity:.08}.md-mdc-chip.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-selected.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted.cdk-focused .md-mdc-chip-focus-overlay{background:#44474e;opacity:.12}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .md-mdc-chip-avatar{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:.38}.md-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:1}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:#1a1b1f}.md-mdc-chip-edit:focus,.md-mdc-chip-remove:focus{opacity:1}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip-edit:hover:after,.md-mdc-chip-remove:hover:after{opacity:.2}.md-mdc-chip-edit:focus:after,.md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip-selected .md-mdc-chip-remove:after,.md-mdc-chip-highlighted .md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:focus:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:hover:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:hover:after{opacity:.08}.md-mdc-standard-chip{-webkit-tap-highlight-color:transparent}.md-mdc-standard-chip .md-mdc-chip-graphic,.md-mdc-standard-chip .md-mdc-chip-trailing-icon{box-sizing:content-box}.md-mdc-standard-chip._md-animation-noopable,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__graphic,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.md-mdc-chip-focus-overlay{inset:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .15s linear}._md-animation-noopable .md-mdc-chip-focus-overlay{transition:none}.md-mdc-basic-chip .md-mdc-chip-focus-overlay{display:none}.md-mdc-chip-avatar{text-align:center;line-height:1;color:var(--md-chip-with-icon-icon-color, currentColor)}.md-mdc-chip{position:relative;z-index:0}.md-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .md-mdc-chip-action-label{text-align:right}.md-mdc-chip.mdc-evolution-chip--with-trailing-action .md-mdc-chip-action-label{position:relative}.md-mdc-chip-action-label .md-mdc-chip-primary-focus-indicator{position:absolute;inset:0;pointer-events:none}.md-mdc-chip-action-label .md-focus-indicator:before{margin:calc(calc(var(--md-focus-indicator-border-width, 3px) + 2px) * -1)}.md-mdc-chip-edit:before,.md-mdc-chip-remove:before{margin:calc(var(--md-focus-indicator-border-width, 3px) * -1);left:8px;right:8px}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{content:\"\";display:block;opacity:0;position:absolute;inset:-3px 5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.md-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}.md-mdc-chip-action:focus .md-focus-indicator:before{content:\"\"}.mdc-evolution-chip__icon,.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{min-height:fit-content}\n"] }]
|
|
12950
|
+
}], propDecorators: { selectable: [{
|
|
12951
|
+
type: Input,
|
|
12952
|
+
args: [{ transform: booleanAttribute }]
|
|
12953
|
+
}], selected: [{
|
|
12954
|
+
type: Input,
|
|
12955
|
+
args: [{ transform: booleanAttribute }]
|
|
12956
|
+
}], selectionChange: [{
|
|
12957
|
+
type: Output
|
|
12958
|
+
}] } });
|
|
12959
|
+
|
|
12960
|
+
class MDChipEditInput {
|
|
12961
|
+
_elementRef = inject(ElementRef);
|
|
12962
|
+
_document = inject(DOCUMENT);
|
|
12963
|
+
constructor() { }
|
|
12964
|
+
initialize(initialValue) {
|
|
12965
|
+
this.getNativeElement().focus();
|
|
12966
|
+
this.setValue(initialValue);
|
|
12967
|
+
}
|
|
12968
|
+
getNativeElement() {
|
|
12969
|
+
return this._elementRef.nativeElement;
|
|
12970
|
+
}
|
|
12971
|
+
setValue(value) {
|
|
12972
|
+
this.getNativeElement().textContent = value;
|
|
12973
|
+
this._moveCursorToEndOfInput();
|
|
12974
|
+
}
|
|
12975
|
+
getValue() {
|
|
12976
|
+
return this.getNativeElement().textContent || '';
|
|
12977
|
+
}
|
|
12978
|
+
_moveCursorToEndOfInput() {
|
|
12979
|
+
const range = this._document.createRange();
|
|
12980
|
+
range.selectNodeContents(this.getNativeElement());
|
|
12981
|
+
range.collapse(false);
|
|
12982
|
+
const sel = window.getSelection();
|
|
12983
|
+
sel.removeAllRanges();
|
|
12984
|
+
sel.addRange(range);
|
|
12985
|
+
}
|
|
12986
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipEditInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12987
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDChipEditInput, isStandalone: true, selector: "span[mdChipEditInput]", host: { attributes: { "role": "textbox", "tabindex": "-1", "contenteditable": "true" }, classAttribute: "md-chip-edit-input" }, ngImport: i0 });
|
|
12988
|
+
}
|
|
12989
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipEditInput, decorators: [{
|
|
12990
|
+
type: Directive,
|
|
12991
|
+
args: [{
|
|
12992
|
+
selector: 'span[mdChipEditInput]',
|
|
12993
|
+
host: {
|
|
12994
|
+
'class': 'md-chip-edit-input',
|
|
12995
|
+
'role': 'textbox',
|
|
12996
|
+
'tabindex': '-1',
|
|
12997
|
+
'contenteditable': 'true',
|
|
12998
|
+
},
|
|
12999
|
+
}]
|
|
13000
|
+
}], ctorParameters: () => [] });
|
|
13001
|
+
|
|
13002
|
+
class MDChipRow extends MDChip {
|
|
13003
|
+
basicChipAttrName = 'md-basic-chip-row';
|
|
13004
|
+
_editStartPending = false;
|
|
13005
|
+
editable = false;
|
|
13006
|
+
edited = new EventEmitter();
|
|
13007
|
+
defaultEditInput;
|
|
13008
|
+
contentEditInput;
|
|
13009
|
+
_alreadyFocused = false;
|
|
13010
|
+
_isEditing = false;
|
|
13011
|
+
constructor() {
|
|
13012
|
+
super();
|
|
13013
|
+
this.role = 'row';
|
|
13014
|
+
this._onBlur.pipe(takeUntil(this.destroyed)).subscribe(() => {
|
|
13015
|
+
if (this._isEditing && !this._editStartPending) {
|
|
13016
|
+
this._onEditFinish();
|
|
13017
|
+
}
|
|
13018
|
+
this._alreadyFocused = false;
|
|
13019
|
+
});
|
|
13020
|
+
}
|
|
13021
|
+
ngAfterViewInit() {
|
|
13022
|
+
super.ngAfterViewInit();
|
|
13023
|
+
this._ngZone.runOutsideAngular(() => {
|
|
13024
|
+
this._elementRef.nativeElement.addEventListener('mousedown', () => (this._alreadyFocused = this._hasFocus()));
|
|
13025
|
+
});
|
|
13026
|
+
}
|
|
13027
|
+
_hasLeadingActionIcon() {
|
|
13028
|
+
return !this._isEditing && !!this.editIcon;
|
|
13029
|
+
}
|
|
13030
|
+
_hasTrailingIcon() {
|
|
13031
|
+
return !this._isEditing && super._hasTrailingIcon();
|
|
13032
|
+
}
|
|
13033
|
+
_handleFocus() {
|
|
13034
|
+
if (!this._isEditing && !this.disabled) {
|
|
13035
|
+
this.focus();
|
|
13036
|
+
}
|
|
13037
|
+
}
|
|
13038
|
+
_handleKeydown(event) {
|
|
13039
|
+
if (event.keyCode === ENTER && !this.disabled) {
|
|
13040
|
+
if (this._isEditing) {
|
|
13041
|
+
event.preventDefault();
|
|
13042
|
+
this._onEditFinish();
|
|
13043
|
+
}
|
|
13044
|
+
else if (this.editable) {
|
|
13045
|
+
this._startEditing(event);
|
|
13046
|
+
}
|
|
13047
|
+
}
|
|
13048
|
+
else if (this._isEditing) {
|
|
13049
|
+
event.stopPropagation();
|
|
13050
|
+
}
|
|
13051
|
+
else {
|
|
13052
|
+
super._handleKeydown(event);
|
|
13053
|
+
}
|
|
13054
|
+
}
|
|
13055
|
+
_handleClick(event) {
|
|
13056
|
+
if (!this.disabled && this.editable && !this._isEditing && this._alreadyFocused) {
|
|
13057
|
+
event.preventDefault();
|
|
13058
|
+
event.stopPropagation();
|
|
13059
|
+
this._startEditing(event);
|
|
13060
|
+
}
|
|
13061
|
+
}
|
|
13062
|
+
_handleDoubleclick(event) {
|
|
13063
|
+
if (!this.disabled && this.editable) {
|
|
13064
|
+
this._startEditing(event);
|
|
13065
|
+
}
|
|
13066
|
+
}
|
|
13067
|
+
_edit() {
|
|
13068
|
+
this._changeDetectorRef.markForCheck();
|
|
13069
|
+
this._startEditing();
|
|
13070
|
+
}
|
|
13071
|
+
_startEditing(event) {
|
|
13072
|
+
if (!this.primaryAction ||
|
|
13073
|
+
(this.removeIcon &&
|
|
13074
|
+
!!event &&
|
|
13075
|
+
this._getSourceAction(event.target) === this.removeIcon)) {
|
|
13076
|
+
return;
|
|
13077
|
+
}
|
|
13078
|
+
const value = this.value;
|
|
13079
|
+
this._isEditing = this._editStartPending = true;
|
|
13080
|
+
afterNextRender(() => {
|
|
13081
|
+
this._getEditInput().initialize(value);
|
|
13082
|
+
setTimeout(() => this._ngZone.run(() => (this._editStartPending = false)));
|
|
13083
|
+
}, { injector: this._injector });
|
|
13084
|
+
}
|
|
13085
|
+
_onEditFinish() {
|
|
13086
|
+
this._isEditing = this._editStartPending = false;
|
|
13087
|
+
this.edited.emit({ chip: this, value: this._getEditInput().getValue() });
|
|
13088
|
+
if (this._document.activeElement === this._getEditInput().getNativeElement() ||
|
|
13089
|
+
this._document.activeElement === this._document.body) {
|
|
13090
|
+
this.primaryAction.focus();
|
|
13091
|
+
}
|
|
13092
|
+
}
|
|
13093
|
+
_getEditInput() {
|
|
13094
|
+
return this.contentEditInput || this.defaultEditInput;
|
|
13095
|
+
}
|
|
13096
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13097
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: MDChipRow, isStandalone: true, selector: "md-chip-row, [md-chip-row], md-basic-chip-row, [md-basic-chip-row]", inputs: { editable: "editable" }, outputs: { edited: "edited" }, host: { listeners: { "focus": "_handleFocus()", "click": "this._hasInteractiveActions() ? _handleClick($event) : null", "dblclick": "_handleDoubleclick($event)" }, properties: { "class.md-mdc-chip-with-avatar": "leadingIcon", "class.md-mdc-chip-disabled": "disabled", "class.md-mdc-chip-editing": "_isEditing", "class.md-mdc-chip-editable": "editable", "class.mdc-evolution-chip--disabled": "disabled", "class.mdc-evolution-chip--with-leading-action": "_hasLeadingActionIcon()", "class.mdc-evolution-chip--with-trailing-action": "_hasTrailingIcon()", "class.mdc-evolution-chip--with-primary-graphic": "leadingIcon", "class.mdc-evolution-chip--with-primary-icon": "leadingIcon", "class.mdc-evolution-chip--with-avatar": "leadingIcon", "class.md-mdc-chip-highlighted": "highlighted", "class.md-mdc-chip-with-trailing-icon": "_hasTrailingIcon()", "id": "id", "attr.tabindex": "disabled ? null : -1", "attr.aria-label": "null", "attr.aria-description": "null", "attr.role": "role" }, classAttribute: "md-mdc-chip md-mdc-chip-row mdc-evolution-chip" }, providers: [
|
|
13098
|
+
{ provide: MDChip, useExisting: MDChipRow },
|
|
13099
|
+
{ provide: MD_CHIP, useExisting: MDChipRow },
|
|
13100
|
+
], queries: [{ propertyName: "contentEditInput", first: true, predicate: MDChipEditInput, descendants: true }], viewQueries: [{ propertyName: "defaultEditInput", first: true, predicate: MDChipEditInput, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (!_isEditing) {\r\n <span class=\"md-mdc-chip-focus-overlay\"></span>\r\n}\r\n\r\n@if (_hasLeadingActionIcon()) {\r\n <span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--leading\" role=\"gridcell\">\r\n <ng-content select=\"[mdChipEdit]\"></ng-content>\r\n </span>\r\n}\r\n<span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--primary\" role=\"gridcell\"\r\n mdChipAction\r\n [disabled]=\"disabled\"\r\n [attr.aria-description]=\"ariaDescription\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n @if (leadingIcon) {\r\n <span class=\"mdc-evolution-chip__graphic md-mdc-chip-graphic\">\r\n <ng-content select=\"md-chip-avatar, [mdChipAvatar]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <span class=\"mdc-evolution-chip__text-label md-mdc-chip-action-label\">\r\n @if (_isEditing) {\r\n @if (contentEditInput) {\r\n <ng-content select=\"[mdChipEditInput]\"></ng-content>\r\n } @else {\r\n <span mdChipEditInput></span>\r\n }\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n\r\n <span class=\"md-mdc-chip-primary-focus-indicator md-focus-indicator\" aria-hidden=\"true\"></span>\r\n </span>\r\n</span>\r\n\r\n@if (_hasTrailingIcon()) {\r\n <span\r\n class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--trailing\"\r\n role=\"gridcell\">\r\n <ng-content select=\"md-chip-trailing-icon,[mdChipRemove],[mdChipTrailingIcon]\"></ng-content>\r\n </span>\r\n}", styles: [".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.md-mdc-standard-chip .mdc-evolution-chip__action--primary:before{border-width:1px;border-radius:8px;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.md-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary:before{border-color:#74777f}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):focus:before{border-color:#74777f}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:color-mix(in srgb,var(#1a1b1f) 12%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary:before{border-width:0}.md-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:#1a1b1f}.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.md-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:Montserrat;line-height:1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.006rem}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:color-mix(in srgb,#1a1b1f 38%,transparent)}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.md-mdc-standard-chip .mdc-evolution-chip__graphic{width:24px;height:24px;font-size:24px}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width .15s 0ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:#1a1b1f}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform .15s 0ms cubic-bezier(.4,0,.2,1);transform:translate(-75%,-50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%,-50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset .15s 45ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}.md-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove:focus{opacity:.38}.md-mdc-standard-chip{border-radius:8px;height:32px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:transparent}.md-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:24px;width:18px;height:18px;font-size:18px}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:#1a1b1f}.md-mdc-chip-highlighted{--md-chip-with-icon-icon-color: #3e4759;--md-chip-elevated-container-color: #3e4759;--md-chip-label-text-color: #3e4759;--md-chip-outline-width: 0}.md-mdc-chip-focus-overlay{background:#44474e}.md-mdc-chip-selected .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted .md-mdc-chip-focus-overlay{background:#3e4759}.md-mdc-chip:hover .md-mdc-chip-focus-overlay,.md-mdc-chip-focus-overlay .md-mdc-chip-selected:hover,.md-mdc-chip-highlighted:hover .md-mdc-chip-focus-overlay{background:#44474e;opacity:.08}.md-mdc-chip.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-selected.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted.cdk-focused .md-mdc-chip-focus-overlay{background:#44474e;opacity:.12}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .md-mdc-chip-avatar{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:.38}.md-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:1}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:#1a1b1f}.md-mdc-chip-edit:focus,.md-mdc-chip-remove:focus{opacity:1}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip-edit:hover:after,.md-mdc-chip-remove:hover:after{opacity:.2}.md-mdc-chip-edit:focus:after,.md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip-selected .md-mdc-chip-remove:after,.md-mdc-chip-highlighted .md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:focus:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:hover:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:hover:after{opacity:.08}.md-mdc-standard-chip{-webkit-tap-highlight-color:transparent}.md-mdc-standard-chip .md-mdc-chip-graphic,.md-mdc-standard-chip .md-mdc-chip-trailing-icon{box-sizing:content-box}.md-mdc-standard-chip._md-animation-noopable,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__graphic,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.md-mdc-chip-focus-overlay{inset:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .15s linear}._md-animation-noopable .md-mdc-chip-focus-overlay{transition:none}.md-mdc-basic-chip .md-mdc-chip-focus-overlay{display:none}.md-mdc-chip-avatar{text-align:center;line-height:1;color:var(--md-chip-with-icon-icon-color, currentColor)}.md-mdc-chip{position:relative;z-index:0}.md-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .md-mdc-chip-action-label{text-align:right}.md-mdc-chip.mdc-evolution-chip--with-trailing-action .md-mdc-chip-action-label{position:relative}.md-mdc-chip-action-label .md-mdc-chip-primary-focus-indicator{position:absolute;inset:0;pointer-events:none}.md-mdc-chip-action-label .md-focus-indicator:before{margin:calc(calc(var(--md-focus-indicator-border-width, 3px) + 2px) * -1)}.md-mdc-chip-edit:before,.md-mdc-chip-remove:before{margin:calc(var(--md-focus-indicator-border-width, 3px) * -1);left:8px;right:8px}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{content:\"\";display:block;opacity:0;position:absolute;inset:-3px 5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.md-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}.md-mdc-chip-action:focus .md-focus-indicator:before{content:\"\"}.mdc-evolution-chip__icon,.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{min-height:fit-content}\n"], dependencies: [{ kind: "directive", type: MDChipAction, selector: "[mdChipAction]" }, { kind: "directive", type: MDChipEditInput, selector: "span[mdChipEditInput]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
13101
|
+
}
|
|
13102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipRow, decorators: [{
|
|
13103
|
+
type: Component,
|
|
13104
|
+
args: [{ selector: 'md-chip-row, [md-chip-row], md-basic-chip-row, [md-basic-chip-row]', host: {
|
|
13105
|
+
'class': 'md-mdc-chip md-mdc-chip-row mdc-evolution-chip',
|
|
13106
|
+
'[class.md-mdc-chip-with-avatar]': 'leadingIcon',
|
|
13107
|
+
'[class.md-mdc-chip-disabled]': 'disabled',
|
|
13108
|
+
'[class.md-mdc-chip-editing]': '_isEditing',
|
|
13109
|
+
'[class.md-mdc-chip-editable]': 'editable',
|
|
13110
|
+
'[class.mdc-evolution-chip--disabled]': 'disabled',
|
|
13111
|
+
'[class.mdc-evolution-chip--with-leading-action]': '_hasLeadingActionIcon()',
|
|
13112
|
+
'[class.mdc-evolution-chip--with-trailing-action]': '_hasTrailingIcon()',
|
|
13113
|
+
'[class.mdc-evolution-chip--with-primary-graphic]': 'leadingIcon',
|
|
13114
|
+
'[class.mdc-evolution-chip--with-primary-icon]': 'leadingIcon',
|
|
13115
|
+
'[class.mdc-evolution-chip--with-avatar]': 'leadingIcon',
|
|
13116
|
+
'[class.md-mdc-chip-highlighted]': 'highlighted',
|
|
13117
|
+
'[class.md-mdc-chip-with-trailing-icon]': '_hasTrailingIcon()',
|
|
13118
|
+
'[id]': 'id',
|
|
13119
|
+
'[attr.tabindex]': 'disabled ? null : -1',
|
|
13120
|
+
'[attr.aria-label]': 'null',
|
|
13121
|
+
'[attr.aria-description]': 'null',
|
|
13122
|
+
'[attr.role]': 'role',
|
|
13123
|
+
'(focus)': '_handleFocus()',
|
|
13124
|
+
'(click)': 'this._hasInteractiveActions() ? _handleClick($event) : null',
|
|
13125
|
+
'(dblclick)': '_handleDoubleclick($event)',
|
|
13126
|
+
}, providers: [
|
|
13127
|
+
{ provide: MDChip, useExisting: MDChipRow },
|
|
13128
|
+
{ provide: MD_CHIP, useExisting: MDChipRow },
|
|
13129
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MDChipAction, MDChipEditInput], template: "@if (!_isEditing) {\r\n <span class=\"md-mdc-chip-focus-overlay\"></span>\r\n}\r\n\r\n@if (_hasLeadingActionIcon()) {\r\n <span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--leading\" role=\"gridcell\">\r\n <ng-content select=\"[mdChipEdit]\"></ng-content>\r\n </span>\r\n}\r\n<span class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--primary\" role=\"gridcell\"\r\n mdChipAction\r\n [disabled]=\"disabled\"\r\n [attr.aria-description]=\"ariaDescription\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n @if (leadingIcon) {\r\n <span class=\"mdc-evolution-chip__graphic md-mdc-chip-graphic\">\r\n <ng-content select=\"md-chip-avatar, [mdChipAvatar]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <span class=\"mdc-evolution-chip__text-label md-mdc-chip-action-label\">\r\n @if (_isEditing) {\r\n @if (contentEditInput) {\r\n <ng-content select=\"[mdChipEditInput]\"></ng-content>\r\n } @else {\r\n <span mdChipEditInput></span>\r\n }\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n\r\n <span class=\"md-mdc-chip-primary-focus-indicator md-focus-indicator\" aria-hidden=\"true\"></span>\r\n </span>\r\n</span>\r\n\r\n@if (_hasTrailingIcon()) {\r\n <span\r\n class=\"mdc-evolution-chip__cell mdc-evolution-chip__cell--trailing\"\r\n role=\"gridcell\">\r\n <ng-content select=\"md-chip-trailing-icon,[mdChipRemove],[mdChipTrailingIcon]\"></ng-content>\r\n </span>\r\n}", styles: [".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.md-mdc-standard-chip .mdc-evolution-chip__action--primary:before{border-width:1px;border-radius:8px;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.md-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary:before{border-color:#74777f}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):focus:before{border-color:#74777f}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary:before{border-color:color-mix(in srgb,var(#1a1b1f) 12%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary:before{border-width:0}.md-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.md-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:#1a1b1f}.md-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary,[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.md-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:Montserrat;line-height:1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.006rem}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:color-mix(in srgb,#1a1b1f 38%,transparent)}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.md-mdc-standard-chip .mdc-evolution-chip__graphic{width:24px;height:24px;font-size:24px}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width .15s 0ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.md-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:#1a1b1f}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform .15s 0ms cubic-bezier(.4,0,.2,1);transform:translate(-75%,-50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%,-50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset .15s 45ms cubic-bezier(.4,0,.2,1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}.md-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.md-mdc-chip-remove:focus{opacity:.38}.md-mdc-standard-chip{border-radius:8px;height:32px}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:transparent}.md-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:#3e4759}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:color-mix(in srgb,#1a1b1f 38%,transparent)}.md-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:24px;width:18px;height:18px;font-size:18px}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.md-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:#1a1b1f}.md-mdc-chip-highlighted{--md-chip-with-icon-icon-color: #3e4759;--md-chip-elevated-container-color: #3e4759;--md-chip-label-text-color: #3e4759;--md-chip-outline-width: 0}.md-mdc-chip-focus-overlay{background:#44474e}.md-mdc-chip-selected .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted .md-mdc-chip-focus-overlay{background:#3e4759}.md-mdc-chip:hover .md-mdc-chip-focus-overlay,.md-mdc-chip-focus-overlay .md-mdc-chip-selected:hover,.md-mdc-chip-highlighted:hover .md-mdc-chip-focus-overlay{background:#44474e;opacity:.08}.md-mdc-chip.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-selected.cdk-focused .md-mdc-chip-focus-overlay,.md-mdc-chip-highlighted.cdk-focused .md-mdc-chip-focus-overlay{background:#44474e;opacity:.12}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .md-mdc-chip-avatar{opacity:.38}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:.38}.md-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:1}.md-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:#44474e}.md-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.md-mdc-standard-chip.md-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:#1a1b1f}.md-mdc-chip-edit:focus,.md-mdc-chip-remove:focus{opacity:1}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip-edit:hover:after,.md-mdc-chip-remove:hover:after{opacity:.2}.md-mdc-chip-edit:focus:after,.md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip-selected .md-mdc-chip-remove:after,.md-mdc-chip-highlighted .md-mdc-chip-remove:after{background-color:#44474e}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:focus:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:focus:after{opacity:.12}.md-mdc-chip.cdk-focused .md-mdc-chip-edit:hover:after,.md-mdc-chip.cdk-focused .md-mdc-chip-remove:hover:after{opacity:.08}.md-mdc-standard-chip{-webkit-tap-highlight-color:transparent}.md-mdc-standard-chip .md-mdc-chip-graphic,.md-mdc-standard-chip .md-mdc-chip-trailing-icon{box-sizing:content-box}.md-mdc-standard-chip._md-animation-noopable,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__graphic,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark,.md-mdc-standard-chip._md-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.md-mdc-chip-focus-overlay{inset:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .15s linear}._md-animation-noopable .md-mdc-chip-focus-overlay{transition:none}.md-mdc-basic-chip .md-mdc-chip-focus-overlay{display:none}.md-mdc-chip-avatar{text-align:center;line-height:1;color:var(--md-chip-with-icon-icon-color, currentColor)}.md-mdc-chip{position:relative;z-index:0}.md-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .md-mdc-chip-action-label{text-align:right}.md-mdc-chip.mdc-evolution-chip--with-trailing-action .md-mdc-chip-action-label{position:relative}.md-mdc-chip-action-label .md-mdc-chip-primary-focus-indicator{position:absolute;inset:0;pointer-events:none}.md-mdc-chip-action-label .md-focus-indicator:before{margin:calc(calc(var(--md-focus-indicator-border-width, 3px) + 2px) * -1)}.md-mdc-chip-edit:before,.md-mdc-chip-remove:before{margin:calc(var(--md-focus-indicator-border-width, 3px) * -1);left:8px;right:8px}.md-mdc-chip-edit:after,.md-mdc-chip-remove:after{content:\"\";display:block;opacity:0;position:absolute;inset:-3px 5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.md-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}.md-mdc-chip-action:focus .md-focus-indicator:before{content:\"\"}.mdc-evolution-chip__icon,.md-mdc-chip-edit .md-icon,.md-mdc-chip-remove .md-icon{min-height:fit-content}\n"] }]
|
|
13130
|
+
}], ctorParameters: () => [], propDecorators: { editable: [{
|
|
13131
|
+
type: Input
|
|
13132
|
+
}], edited: [{
|
|
13133
|
+
type: Output
|
|
13134
|
+
}], defaultEditInput: [{
|
|
13135
|
+
type: ViewChild,
|
|
13136
|
+
args: [MDChipEditInput]
|
|
13137
|
+
}], contentEditInput: [{
|
|
13138
|
+
type: ContentChild,
|
|
13139
|
+
args: [MDChipEditInput]
|
|
13140
|
+
}] } });
|
|
13141
|
+
|
|
13142
|
+
class MDChipSet {
|
|
13143
|
+
_elementRef = inject(ElementRef);
|
|
13144
|
+
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
13145
|
+
_dir = inject(Directionality, { optional: true });
|
|
13146
|
+
_lastDestroyedFocusedChipIndex = null;
|
|
13147
|
+
_keyManager;
|
|
13148
|
+
_destroyed = new Subject();
|
|
13149
|
+
_defaultRole = 'presentation';
|
|
13150
|
+
get chipFocusChanges() {
|
|
13151
|
+
return this._getChipStream(chip => chip._onFocus);
|
|
13152
|
+
}
|
|
13153
|
+
get chipDestroyedChanges() {
|
|
13154
|
+
return this._getChipStream(chip => chip.destroyed);
|
|
13155
|
+
}
|
|
13156
|
+
get chipRemovedChanges() {
|
|
13157
|
+
return this._getChipStream(chip => chip.removed);
|
|
13158
|
+
}
|
|
13159
|
+
get disabled() {
|
|
13160
|
+
return this._disabled;
|
|
13161
|
+
}
|
|
13162
|
+
set disabled(value) {
|
|
13163
|
+
this._disabled = value;
|
|
13164
|
+
this._syncChipsState();
|
|
13165
|
+
}
|
|
13166
|
+
_disabled = false;
|
|
13167
|
+
get empty() {
|
|
13168
|
+
return !this._chips || this._chips.length === 0;
|
|
13169
|
+
}
|
|
13170
|
+
get role() {
|
|
13171
|
+
if (this._explicitRole) {
|
|
13172
|
+
return this._explicitRole;
|
|
13173
|
+
}
|
|
13174
|
+
return this.empty ? null : this._defaultRole;
|
|
13175
|
+
}
|
|
13176
|
+
tabIndex = 0;
|
|
13177
|
+
set role(value) {
|
|
13178
|
+
this._explicitRole = value;
|
|
13179
|
+
}
|
|
13180
|
+
_explicitRole = null;
|
|
13181
|
+
get focused() {
|
|
13182
|
+
return this._hasFocusedChip();
|
|
13183
|
+
}
|
|
13184
|
+
_chips;
|
|
13185
|
+
_chipActions = new QueryList();
|
|
13186
|
+
constructor() { }
|
|
13187
|
+
ngAfterViewInit() {
|
|
13188
|
+
this._setUpFocusManagement();
|
|
13189
|
+
this._trackChipSetChanges();
|
|
13190
|
+
this._trackDestroyedFocusedChip();
|
|
13191
|
+
}
|
|
13192
|
+
ngOnDestroy() {
|
|
13193
|
+
this._keyManager?.destroy();
|
|
13194
|
+
this._chipActions.destroy();
|
|
13195
|
+
this._destroyed.next();
|
|
13196
|
+
this._destroyed.complete();
|
|
13197
|
+
}
|
|
13198
|
+
_hasFocusedChip() {
|
|
13199
|
+
return this._chips && this._chips.some(chip => chip._hasFocus());
|
|
13200
|
+
}
|
|
13201
|
+
_syncChipsState() {
|
|
13202
|
+
this._chips?.forEach(chip => {
|
|
13203
|
+
chip._chipListDisabled = this._disabled;
|
|
13204
|
+
chip._changeDetectorRef.markForCheck();
|
|
13205
|
+
});
|
|
13206
|
+
}
|
|
13207
|
+
/** Dummy method for subclasses to override. Base chip set cannot be focused. */
|
|
13208
|
+
focus() { }
|
|
13209
|
+
_handleKeydown(event) {
|
|
13210
|
+
if (this._originatesFromChip(event)) {
|
|
13211
|
+
this._keyManager.onKeydown(event);
|
|
13212
|
+
}
|
|
13213
|
+
}
|
|
13214
|
+
_isValidIndex(index) {
|
|
13215
|
+
return index >= 0 && index < this._chips.length;
|
|
13216
|
+
}
|
|
13217
|
+
_allowFocusEscape() {
|
|
13218
|
+
const previous = this._elementRef.nativeElement.tabIndex;
|
|
13219
|
+
if (previous !== -1) {
|
|
13220
|
+
this._elementRef.nativeElement.tabIndex = -1;
|
|
13221
|
+
setTimeout(() => (this._elementRef.nativeElement.tabIndex = previous));
|
|
13222
|
+
}
|
|
13223
|
+
}
|
|
13224
|
+
_getChipStream(mappingFunction) {
|
|
13225
|
+
return this._chips.changes.pipe(startWith(null), switchMap(() => merge(...this._chips.map(mappingFunction))));
|
|
13226
|
+
}
|
|
13227
|
+
_originatesFromChip(event) {
|
|
13228
|
+
let currentElement = event.target;
|
|
13229
|
+
while (currentElement && currentElement !== this._elementRef.nativeElement) {
|
|
13230
|
+
if (currentElement.classList.contains('md-mdc-chip')) {
|
|
13231
|
+
return true;
|
|
13232
|
+
}
|
|
13233
|
+
currentElement = currentElement.parentElement;
|
|
13234
|
+
}
|
|
13235
|
+
return false;
|
|
13236
|
+
}
|
|
13237
|
+
_setUpFocusManagement() {
|
|
13238
|
+
this._chips.changes.pipe(startWith(this._chips)).subscribe((chips) => {
|
|
13239
|
+
const actions = [];
|
|
13240
|
+
chips.forEach(chip => chip._getActions().forEach(action => actions.push(action)));
|
|
13241
|
+
this._chipActions.reset(actions);
|
|
13242
|
+
this._chipActions.notifyOnChanges();
|
|
13243
|
+
});
|
|
13244
|
+
this._keyManager = new FocusKeyManager(this._chipActions)
|
|
13245
|
+
.withVerticalOrientation()
|
|
13246
|
+
.withHorizontalOrientation(this._dir ? this._dir.value : 'ltr')
|
|
13247
|
+
.withHomeAndEnd()
|
|
13248
|
+
.skipPredicate(action => this._skipPredicate(action));
|
|
13249
|
+
this.chipFocusChanges.pipe(takeUntil(this._destroyed)).subscribe(({ chip }) => {
|
|
13250
|
+
const action = chip._getSourceAction(document.activeElement);
|
|
13251
|
+
if (action) {
|
|
13252
|
+
this._keyManager.updateActiveItem(action);
|
|
13253
|
+
}
|
|
13254
|
+
});
|
|
13255
|
+
this._dir?.change
|
|
13256
|
+
.pipe(takeUntil(this._destroyed))
|
|
13257
|
+
.subscribe(direction => this._keyManager.withHorizontalOrientation(direction));
|
|
13258
|
+
}
|
|
13259
|
+
_skipPredicate(action) {
|
|
13260
|
+
return action.disabled;
|
|
13261
|
+
}
|
|
13262
|
+
_trackChipSetChanges() {
|
|
13263
|
+
this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {
|
|
13264
|
+
if (this.disabled) {
|
|
13265
|
+
Promise.resolve().then(() => this._syncChipsState());
|
|
13266
|
+
}
|
|
13267
|
+
this._redirectDestroyedChipFocus();
|
|
13268
|
+
});
|
|
13269
|
+
}
|
|
13270
|
+
_trackDestroyedFocusedChip() {
|
|
13271
|
+
this.chipDestroyedChanges.pipe(takeUntil(this._destroyed)).subscribe((event) => {
|
|
13272
|
+
const chipArray = this._chips.toArray();
|
|
13273
|
+
const chipIndex = chipArray.indexOf(event.chip);
|
|
13274
|
+
const hasFocus = event.chip._hasFocus();
|
|
13275
|
+
const wasLastFocused = event.chip._hadFocusOnRemove &&
|
|
13276
|
+
this._keyManager.activeItem &&
|
|
13277
|
+
event.chip._getActions().includes(this._keyManager.activeItem);
|
|
13278
|
+
const shouldMoveFocus = hasFocus || wasLastFocused;
|
|
13279
|
+
if (this._isValidIndex(chipIndex) && shouldMoveFocus) {
|
|
13280
|
+
this._lastDestroyedFocusedChipIndex = chipIndex;
|
|
13281
|
+
}
|
|
13282
|
+
});
|
|
13283
|
+
}
|
|
13284
|
+
_redirectDestroyedChipFocus() {
|
|
13285
|
+
if (this._lastDestroyedFocusedChipIndex == null) {
|
|
13286
|
+
return;
|
|
13287
|
+
}
|
|
13288
|
+
if (this._chips.length) {
|
|
13289
|
+
const newIndex = Math.min(this._lastDestroyedFocusedChipIndex, this._chips.length - 1);
|
|
13290
|
+
const chipToFocus = this._chips.toArray()[newIndex];
|
|
13291
|
+
if (chipToFocus.disabled) {
|
|
13292
|
+
if (this._chips.length === 1) {
|
|
13293
|
+
this.focus();
|
|
13294
|
+
}
|
|
13295
|
+
else {
|
|
13296
|
+
this._keyManager.setPreviousItemActive();
|
|
13297
|
+
}
|
|
13298
|
+
}
|
|
13299
|
+
else {
|
|
13300
|
+
chipToFocus.focus();
|
|
13301
|
+
}
|
|
13302
|
+
}
|
|
13303
|
+
else {
|
|
13304
|
+
this.focus();
|
|
13305
|
+
}
|
|
13306
|
+
this._lastDestroyedFocusedChipIndex = null;
|
|
13307
|
+
}
|
|
13308
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipSet, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13309
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDChipSet, isStandalone: true, selector: "md-chip-set", inputs: { disabled: ["disabled", "disabled", booleanAttribute], role: "role", tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))] }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "attr.role": "role" }, classAttribute: "md-mdc-chip-set mdc-evolution-chip-set" }, queries: [{ propertyName: "_chips", predicate: MDChip, descendants: true }], ngImport: i0, template: `
|
|
13310
|
+
<div class="mdc-evolution-chip-set__chips" role="presentation">
|
|
13311
|
+
<ng-content></ng-content>
|
|
13312
|
+
</div>
|
|
13313
|
+
`, isInline: true, styles: [".md-mdc-chip-set{display:flex}.md-mdc-chip-set:focus{outline:none}.md-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.md-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.md-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.md-mdc-chip-set-stacked .md-mdc-chip{width:100%}.md-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.md-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.md-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.md-mdc-chip-input{margin-left:0;margin-right:8px}.md-mdc-form-field input.md-mdc-chip-input::placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-moz-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-webkit-input-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input:-ms-input-placeholder{opacity:1}.md-mdc-chip-set+input.md-mdc-chip-input{margin-left:0;margin-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
13314
|
+
}
|
|
13315
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipSet, decorators: [{
|
|
13316
|
+
type: Component,
|
|
13317
|
+
args: [{ selector: 'md-chip-set', template: `
|
|
13318
|
+
<div class="mdc-evolution-chip-set__chips" role="presentation">
|
|
13319
|
+
<ng-content></ng-content>
|
|
13320
|
+
</div>
|
|
13321
|
+
`, host: {
|
|
13322
|
+
'class': 'md-mdc-chip-set mdc-evolution-chip-set',
|
|
13323
|
+
'(keydown)': '_handleKeydown($event)',
|
|
13324
|
+
'[attr.role]': 'role',
|
|
13325
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".md-mdc-chip-set{display:flex}.md-mdc-chip-set:focus{outline:none}.md-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.md-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.md-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.md-mdc-chip-set-stacked .md-mdc-chip{width:100%}.md-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.md-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.md-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.md-mdc-chip-input{margin-left:0;margin-right:8px}.md-mdc-form-field input.md-mdc-chip-input::placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-moz-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-webkit-input-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input:-ms-input-placeholder{opacity:1}.md-mdc-chip-set+input.md-mdc-chip-input{margin-left:0;margin-right:0}\n"] }]
|
|
13326
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
13327
|
+
type: Input,
|
|
13328
|
+
args: [{ transform: booleanAttribute }]
|
|
13329
|
+
}], role: [{
|
|
13330
|
+
type: Input
|
|
13331
|
+
}], tabIndex: [{
|
|
13332
|
+
type: Input,
|
|
13333
|
+
args: [{
|
|
13334
|
+
transform: (value) => (value == null ? 0 : numberAttribute(value)),
|
|
13335
|
+
}]
|
|
13336
|
+
}], _chips: [{
|
|
13337
|
+
type: ContentChildren,
|
|
13338
|
+
args: [MDChip, {
|
|
13339
|
+
descendants: true,
|
|
13340
|
+
}]
|
|
13341
|
+
}] } });
|
|
13342
|
+
|
|
13343
|
+
class MDChipListboxChange {
|
|
13344
|
+
source;
|
|
13345
|
+
value;
|
|
13346
|
+
constructor(source, value) {
|
|
13347
|
+
this.source = source;
|
|
13348
|
+
this.value = value;
|
|
13349
|
+
}
|
|
13350
|
+
}
|
|
13351
|
+
const MD_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR = {
|
|
13352
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13353
|
+
useExisting: forwardRef(() => MDChipListbox),
|
|
13354
|
+
multi: true,
|
|
13355
|
+
};
|
|
13356
|
+
class MDChipListbox extends MDChipSet {
|
|
13357
|
+
_onTouched = () => { };
|
|
13358
|
+
_onChange = () => { };
|
|
13359
|
+
_defaultRole = 'listbox';
|
|
13360
|
+
_defaultOptions = inject(MD_CHIPS_DEFAULT_OPTIONS, { optional: true });
|
|
13361
|
+
get multiple() {
|
|
13362
|
+
return this._multiple;
|
|
13363
|
+
}
|
|
13364
|
+
set multiple(value) {
|
|
13365
|
+
this._multiple = value;
|
|
13366
|
+
this._syncListboxProperties();
|
|
13367
|
+
}
|
|
13368
|
+
_multiple = false;
|
|
13369
|
+
get selected() {
|
|
13370
|
+
const selectedChips = this._chips.toArray().filter((chip) => chip.selected);
|
|
13371
|
+
return this.multiple ? selectedChips : selectedChips[0];
|
|
13372
|
+
}
|
|
13373
|
+
ariaOrientation = 'horizontal';
|
|
13374
|
+
get selectable() {
|
|
13375
|
+
return this._selectable;
|
|
13376
|
+
}
|
|
13377
|
+
set selectable(value) {
|
|
13378
|
+
this._selectable = value;
|
|
13379
|
+
this._syncListboxProperties();
|
|
13380
|
+
}
|
|
13381
|
+
_selectable = true;
|
|
13382
|
+
compareWith = (o1, o2) => o1 === o2;
|
|
13383
|
+
required = false;
|
|
13384
|
+
get hideSingleSelectionIndicator() {
|
|
13385
|
+
return this._hideSingleSelectionIndicator;
|
|
13386
|
+
}
|
|
13387
|
+
set hideSingleSelectionIndicator(value) {
|
|
13388
|
+
this._hideSingleSelectionIndicator = value;
|
|
13389
|
+
this._syncListboxProperties();
|
|
13390
|
+
}
|
|
13391
|
+
_hideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;
|
|
13392
|
+
get chipSelectionChanges() {
|
|
13393
|
+
return this._getChipStream((chip) => chip.selectionChange);
|
|
13394
|
+
}
|
|
13395
|
+
get chipBlurChanges() {
|
|
13396
|
+
return this._getChipStream((chip) => chip._onBlur);
|
|
13397
|
+
}
|
|
13398
|
+
get value() {
|
|
13399
|
+
return this._value;
|
|
13400
|
+
}
|
|
13401
|
+
set value(value) {
|
|
13402
|
+
if (this._chips && this._chips.length) {
|
|
13403
|
+
this._setSelectionByValue(value, false);
|
|
13404
|
+
}
|
|
13405
|
+
this._value = value;
|
|
13406
|
+
}
|
|
13407
|
+
_value;
|
|
13408
|
+
change = new EventEmitter();
|
|
13409
|
+
_chips = undefined;
|
|
13410
|
+
ngAfterContentInit() {
|
|
13411
|
+
this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {
|
|
13412
|
+
if (this.value !== undefined) {
|
|
13413
|
+
Promise.resolve().then(() => {
|
|
13414
|
+
this._setSelectionByValue(this.value, false);
|
|
13415
|
+
});
|
|
13416
|
+
}
|
|
13417
|
+
this._syncListboxProperties();
|
|
13418
|
+
});
|
|
13419
|
+
this.chipBlurChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this._blur());
|
|
13420
|
+
this.chipSelectionChanges.pipe(takeUntil(this._destroyed)).subscribe((event) => {
|
|
13421
|
+
if (!this.multiple) {
|
|
13422
|
+
this._chips.forEach((chip) => {
|
|
13423
|
+
if (chip !== event.source) {
|
|
13424
|
+
chip._setSelectedState(false, false, false);
|
|
13425
|
+
}
|
|
13426
|
+
});
|
|
13427
|
+
}
|
|
13428
|
+
if (event.isUserInput) {
|
|
13429
|
+
this._propagateChanges();
|
|
13430
|
+
}
|
|
13431
|
+
});
|
|
13432
|
+
}
|
|
13433
|
+
focus() {
|
|
13434
|
+
if (this.disabled) {
|
|
13435
|
+
return;
|
|
13436
|
+
}
|
|
13437
|
+
const firstSelectedChip = this._getFirstSelectedChip();
|
|
13438
|
+
if (firstSelectedChip && !firstSelectedChip.disabled) {
|
|
13439
|
+
firstSelectedChip.focus();
|
|
13440
|
+
}
|
|
13441
|
+
else if (this._chips.length > 0) {
|
|
13442
|
+
this._keyManager.setFirstItemActive();
|
|
13443
|
+
}
|
|
13444
|
+
else {
|
|
13445
|
+
this._elementRef.nativeElement.focus();
|
|
13446
|
+
}
|
|
13447
|
+
}
|
|
13448
|
+
writeValue(value) {
|
|
13449
|
+
if (value != null) {
|
|
13450
|
+
this.value = value;
|
|
13451
|
+
}
|
|
13452
|
+
else {
|
|
13453
|
+
this.value = undefined;
|
|
13454
|
+
}
|
|
13455
|
+
}
|
|
13456
|
+
registerOnChange(fn) {
|
|
13457
|
+
this._onChange = fn;
|
|
13458
|
+
}
|
|
13459
|
+
registerOnTouched(fn) {
|
|
13460
|
+
this._onTouched = fn;
|
|
13461
|
+
}
|
|
13462
|
+
setDisabledState(isDisabled) {
|
|
13463
|
+
this.disabled = isDisabled;
|
|
13464
|
+
}
|
|
13465
|
+
_setSelectionByValue(value, isUserInput = true) {
|
|
13466
|
+
this._clearSelection();
|
|
13467
|
+
if (Array.isArray(value)) {
|
|
13468
|
+
value.forEach((currentValue) => this._selectValue(currentValue, isUserInput));
|
|
13469
|
+
}
|
|
13470
|
+
else {
|
|
13471
|
+
this._selectValue(value, isUserInput);
|
|
13472
|
+
}
|
|
13473
|
+
}
|
|
13474
|
+
_blur() {
|
|
13475
|
+
if (!this.disabled) {
|
|
13476
|
+
setTimeout(() => {
|
|
13477
|
+
if (!this.focused) {
|
|
13478
|
+
this._markAsTouched();
|
|
13479
|
+
}
|
|
13480
|
+
});
|
|
13481
|
+
}
|
|
13482
|
+
}
|
|
13483
|
+
_keydown(event) {
|
|
13484
|
+
if (event.keyCode === TAB) {
|
|
13485
|
+
super._allowFocusEscape();
|
|
13486
|
+
}
|
|
13487
|
+
}
|
|
13488
|
+
_markAsTouched() {
|
|
13489
|
+
this._onTouched();
|
|
13490
|
+
this._changeDetectorRef.markForCheck();
|
|
13491
|
+
}
|
|
13492
|
+
_propagateChanges() {
|
|
13493
|
+
let valueToEmit = null;
|
|
13494
|
+
if (Array.isArray(this.selected)) {
|
|
13495
|
+
valueToEmit = this.selected.map((chip) => chip.value);
|
|
13496
|
+
}
|
|
13497
|
+
else {
|
|
13498
|
+
valueToEmit = this.selected ? this.selected.value : undefined;
|
|
13499
|
+
}
|
|
13500
|
+
this._value = valueToEmit;
|
|
13501
|
+
this.change.emit(new MDChipListboxChange(this, valueToEmit));
|
|
13502
|
+
this._onChange(valueToEmit);
|
|
13503
|
+
this._changeDetectorRef.markForCheck();
|
|
13504
|
+
}
|
|
13505
|
+
_clearSelection(skip) {
|
|
13506
|
+
this._chips.forEach((chip) => {
|
|
13507
|
+
if (chip !== skip) {
|
|
13508
|
+
chip.deselect();
|
|
13509
|
+
}
|
|
13510
|
+
});
|
|
13511
|
+
}
|
|
13512
|
+
_selectValue(value, isUserInput) {
|
|
13513
|
+
const correspondingChip = this._chips.find((chip) => {
|
|
13514
|
+
return chip.value != null && this.compareWith(chip.value, value);
|
|
13515
|
+
});
|
|
13516
|
+
if (correspondingChip) {
|
|
13517
|
+
isUserInput ? correspondingChip.selectViaInteraction() : correspondingChip.select();
|
|
13518
|
+
}
|
|
13519
|
+
return correspondingChip;
|
|
13520
|
+
}
|
|
13521
|
+
_syncListboxProperties() {
|
|
13522
|
+
if (this._chips) {
|
|
13523
|
+
Promise.resolve().then(() => {
|
|
13524
|
+
this._chips.forEach((chip) => {
|
|
13525
|
+
chip._chipListMultiple = this.multiple;
|
|
13526
|
+
chip.chipListSelectable = this._selectable;
|
|
13527
|
+
chip._chipListHideSingleSelectionIndicator = this.hideSingleSelectionIndicator;
|
|
13528
|
+
chip._changeDetectorRef.markForCheck();
|
|
13529
|
+
});
|
|
13530
|
+
});
|
|
13531
|
+
}
|
|
13532
|
+
}
|
|
13533
|
+
_getFirstSelectedChip() {
|
|
13534
|
+
if (Array.isArray(this.selected)) {
|
|
13535
|
+
return this.selected.length ? this.selected[0] : undefined;
|
|
13536
|
+
}
|
|
13537
|
+
else {
|
|
13538
|
+
return this.selected;
|
|
13539
|
+
}
|
|
13540
|
+
}
|
|
13541
|
+
_skipPredicate(action) {
|
|
13542
|
+
return false;
|
|
13543
|
+
}
|
|
13544
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipListbox, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13545
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDChipListbox, isStandalone: true, selector: "md-chip-listbox", inputs: { multiple: ["multiple", "multiple", booleanAttribute], ariaOrientation: ["aria-orientation", "ariaOrientation"], selectable: ["selectable", "selectable", booleanAttribute], compareWith: "compareWith", required: ["required", "required", booleanAttribute], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute], value: "value" }, outputs: { change: "change" }, host: { listeners: { "focus": "focus()", "blur": "_blur()", "keydown": "_keydown($event)" }, properties: { "attr.role": "role", "tabIndex": "(disabled || empty) ? -1 : tabIndex", "attr.aria-required": "role ? required : null", "attr.aria-disabled": "disabled.toString()", "attr.aria-multiselectable": "multiple", "attr.aria-orientation": "ariaOrientation", "class.md-mdc-chip-list-disabled": "disabled", "class.md-mdc-chip-list-required": "required" }, classAttribute: "mdc-evolution-chip-set md-mdc-chip-listbox" }, providers: [MD_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "_chips", predicate: MDChipOption, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
13546
|
+
<div class="mdc-evolution-chip-set__chips" role="presentation">
|
|
13547
|
+
<ng-content></ng-content>
|
|
13548
|
+
</div>
|
|
13549
|
+
`, isInline: true, styles: [".md-mdc-chip-set{display:flex}.md-mdc-chip-set:focus{outline:none}.md-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.md-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.md-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.md-mdc-chip-set-stacked .md-mdc-chip{width:100%}.md-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.md-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.md-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.md-mdc-chip-input{margin-left:0;margin-right:8px}.md-mdc-form-field input.md-mdc-chip-input::placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-moz-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-webkit-input-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input:-ms-input-placeholder{opacity:1}.md-mdc-chip-set+input.md-mdc-chip-input{margin-left:0;margin-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
13550
|
+
}
|
|
13551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipListbox, decorators: [{
|
|
13552
|
+
type: Component,
|
|
13553
|
+
args: [{ selector: 'md-chip-listbox', template: `
|
|
13554
|
+
<div class="mdc-evolution-chip-set__chips" role="presentation">
|
|
13555
|
+
<ng-content></ng-content>
|
|
13556
|
+
</div>
|
|
13557
|
+
`, host: {
|
|
13558
|
+
class: 'mdc-evolution-chip-set md-mdc-chip-listbox',
|
|
13559
|
+
'[attr.role]': 'role',
|
|
13560
|
+
'[tabIndex]': '(disabled || empty) ? -1 : tabIndex',
|
|
13561
|
+
'[attr.aria-required]': 'role ? required : null',
|
|
13562
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
13563
|
+
'[attr.aria-multiselectable]': 'multiple',
|
|
13564
|
+
'[attr.aria-orientation]': 'ariaOrientation',
|
|
13565
|
+
'[class.md-mdc-chip-list-disabled]': 'disabled',
|
|
13566
|
+
'[class.md-mdc-chip-list-required]': 'required',
|
|
13567
|
+
'(focus)': 'focus()',
|
|
13568
|
+
'(blur)': '_blur()',
|
|
13569
|
+
'(keydown)': '_keydown($event)',
|
|
13570
|
+
}, providers: [MD_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".md-mdc-chip-set{display:flex}.md-mdc-chip-set:focus{outline:none}.md-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.md-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.md-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.md-mdc-chip-set-stacked .md-mdc-chip{width:100%}.md-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.md-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.md-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.md-mdc-chip-input{margin-left:0;margin-right:8px}.md-mdc-form-field input.md-mdc-chip-input::placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-moz-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-webkit-input-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input:-ms-input-placeholder{opacity:1}.md-mdc-chip-set+input.md-mdc-chip-input{margin-left:0;margin-right:0}\n"] }]
|
|
13571
|
+
}], propDecorators: { multiple: [{
|
|
13572
|
+
type: Input,
|
|
13573
|
+
args: [{ transform: booleanAttribute }]
|
|
13574
|
+
}], ariaOrientation: [{
|
|
13575
|
+
type: Input,
|
|
13576
|
+
args: ['aria-orientation']
|
|
13577
|
+
}], selectable: [{
|
|
13578
|
+
type: Input,
|
|
13579
|
+
args: [{ transform: booleanAttribute }]
|
|
13580
|
+
}], compareWith: [{
|
|
13581
|
+
type: Input
|
|
13582
|
+
}], required: [{
|
|
13583
|
+
type: Input,
|
|
13584
|
+
args: [{ transform: booleanAttribute }]
|
|
13585
|
+
}], hideSingleSelectionIndicator: [{
|
|
13586
|
+
type: Input,
|
|
13587
|
+
args: [{ transform: booleanAttribute }]
|
|
13588
|
+
}], value: [{
|
|
13589
|
+
type: Input
|
|
13590
|
+
}], change: [{
|
|
13591
|
+
type: Output
|
|
13592
|
+
}], _chips: [{
|
|
13593
|
+
type: ContentChildren,
|
|
13594
|
+
args: [MDChipOption, {
|
|
13595
|
+
descendants: true,
|
|
13596
|
+
}]
|
|
13597
|
+
}] } });
|
|
13598
|
+
|
|
13599
|
+
class MDChipGridChange {
|
|
13600
|
+
source;
|
|
13601
|
+
value;
|
|
13602
|
+
constructor(source, value) {
|
|
13603
|
+
this.source = source;
|
|
13604
|
+
this.value = value;
|
|
13605
|
+
}
|
|
13606
|
+
}
|
|
13607
|
+
class MDChipGrid extends MDChipSet {
|
|
13608
|
+
ngControl = inject(NgControl, { optional: true, self: true });
|
|
13609
|
+
controlType = 'md-chip-grid';
|
|
13610
|
+
_chipInput;
|
|
13611
|
+
_defaultRole = 'grid';
|
|
13612
|
+
_errorStateTracker;
|
|
13613
|
+
_uid = inject(_IdGenerator).getId('md-chip-grid-');
|
|
13614
|
+
_ariaDescribedbyIds = [];
|
|
13615
|
+
_onTouched = () => { };
|
|
13616
|
+
_onChange = () => { };
|
|
13617
|
+
get disabled() {
|
|
13618
|
+
return this.ngControl ? !!this.ngControl.disabled : this._disabled;
|
|
13619
|
+
}
|
|
13620
|
+
set disabled(value) {
|
|
13621
|
+
this._disabled = value;
|
|
13622
|
+
this._syncChipsState();
|
|
13623
|
+
this.stateChanges.next();
|
|
13624
|
+
}
|
|
13625
|
+
get id() {
|
|
13626
|
+
return this._chipInput ? this._chipInput.id : this._uid;
|
|
13627
|
+
}
|
|
13628
|
+
get empty() {
|
|
13629
|
+
return (!this._chipInput || this._chipInput.empty) && (!this._chips || this._chips.length === 0);
|
|
13630
|
+
}
|
|
13631
|
+
get placeholder() {
|
|
13632
|
+
return this._chipInput ? this._chipInput.placeholder : this._placeholder;
|
|
13633
|
+
}
|
|
13634
|
+
set placeholder(value) {
|
|
13635
|
+
this._placeholder = value;
|
|
13636
|
+
this.stateChanges.next();
|
|
13637
|
+
}
|
|
13638
|
+
_placeholder;
|
|
13639
|
+
get focused() {
|
|
13640
|
+
return this._chipInput?.focused || this._hasFocusedChip();
|
|
13641
|
+
}
|
|
13642
|
+
get required() {
|
|
13643
|
+
return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
|
|
13644
|
+
}
|
|
13645
|
+
set required(value) {
|
|
13646
|
+
this._required = value;
|
|
13647
|
+
this.stateChanges.next();
|
|
13648
|
+
}
|
|
13649
|
+
_required;
|
|
13650
|
+
get shouldLabelFloat() {
|
|
13651
|
+
return !this.empty || this.focused;
|
|
13652
|
+
}
|
|
13653
|
+
get value() {
|
|
13654
|
+
return this._value;
|
|
13655
|
+
}
|
|
13656
|
+
set value(value) {
|
|
13657
|
+
this._value = value;
|
|
13658
|
+
}
|
|
13659
|
+
_value = [];
|
|
13660
|
+
get errorStateMatcher() {
|
|
13661
|
+
return this._errorStateTracker.matcher;
|
|
13662
|
+
}
|
|
13663
|
+
set errorStateMatcher(value) {
|
|
13664
|
+
this._errorStateTracker.matcher = value;
|
|
13665
|
+
}
|
|
13666
|
+
get chipBlurChanges() {
|
|
13667
|
+
return this._getChipStream((chip) => chip._onBlur);
|
|
13668
|
+
}
|
|
13669
|
+
change = new EventEmitter();
|
|
13670
|
+
valueChange = new EventEmitter();
|
|
13671
|
+
_chips = undefined;
|
|
13672
|
+
stateChanges = new Subject();
|
|
13673
|
+
get errorState() {
|
|
13674
|
+
return this._errorStateTracker.errorState;
|
|
13675
|
+
}
|
|
13676
|
+
set errorState(value) {
|
|
13677
|
+
this._errorStateTracker.errorState = value;
|
|
13678
|
+
}
|
|
13679
|
+
constructor() {
|
|
13680
|
+
super();
|
|
13681
|
+
const parentForm = inject(NgForm, { optional: true });
|
|
13682
|
+
const parentFormGroup = inject(FormGroupDirective, { optional: true });
|
|
13683
|
+
const defaultErrorStateMatcher = inject(ErrorStateMatcher);
|
|
13684
|
+
if (this.ngControl) {
|
|
13685
|
+
this.ngControl.valueAccessor = this;
|
|
13686
|
+
}
|
|
13687
|
+
this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, this.ngControl, parentFormGroup, parentForm, this.stateChanges);
|
|
13688
|
+
}
|
|
13689
|
+
ngAfterContentInit() {
|
|
13690
|
+
this.chipBlurChanges.pipe(takeUntil$1(this._destroyed)).subscribe(() => {
|
|
13691
|
+
this._blur();
|
|
13692
|
+
this.stateChanges.next();
|
|
13693
|
+
});
|
|
13694
|
+
merge(this.chipFocusChanges, this._chips.changes)
|
|
13695
|
+
.pipe(takeUntil$1(this._destroyed))
|
|
13696
|
+
.subscribe(() => this.stateChanges.next());
|
|
13697
|
+
}
|
|
13698
|
+
ngDoCheck() {
|
|
13699
|
+
if (this.ngControl) {
|
|
13700
|
+
this.updateErrorState();
|
|
13701
|
+
}
|
|
13702
|
+
}
|
|
13703
|
+
ngOnDestroy() {
|
|
13704
|
+
super.ngOnDestroy();
|
|
13705
|
+
this.stateChanges.complete();
|
|
13706
|
+
}
|
|
13707
|
+
registerInput(inputElement) {
|
|
13708
|
+
this._chipInput = inputElement;
|
|
13709
|
+
this._chipInput.setDescribedByIds(this._ariaDescribedbyIds);
|
|
13710
|
+
this._elementRef.nativeElement.removeAttribute('aria-describedby');
|
|
13711
|
+
}
|
|
13712
|
+
onContainerClick(event) {
|
|
13713
|
+
if (!this.disabled && !this._originatesFromChip(event)) {
|
|
13714
|
+
this.focus();
|
|
13715
|
+
}
|
|
13716
|
+
}
|
|
13717
|
+
focus() {
|
|
13718
|
+
if (this.disabled || this._chipInput?.focused) {
|
|
13719
|
+
return;
|
|
13720
|
+
}
|
|
13721
|
+
if (!this._chips.length || this._chips.first.disabled) {
|
|
13722
|
+
if (!this._chipInput) {
|
|
13723
|
+
return;
|
|
13724
|
+
}
|
|
13725
|
+
Promise.resolve().then(() => this._chipInput.focus());
|
|
13726
|
+
}
|
|
13727
|
+
else {
|
|
13728
|
+
const activeItem = this._keyManager.activeItem;
|
|
13729
|
+
if (activeItem) {
|
|
13730
|
+
activeItem.focus();
|
|
13731
|
+
}
|
|
13732
|
+
else {
|
|
13733
|
+
this._keyManager.setFirstItemActive();
|
|
13734
|
+
}
|
|
13735
|
+
}
|
|
13736
|
+
this.stateChanges.next();
|
|
13737
|
+
}
|
|
13738
|
+
get describedByIds() {
|
|
13739
|
+
if (this._chipInput) {
|
|
13740
|
+
return this._chipInput.describedByIds || [];
|
|
13741
|
+
}
|
|
13742
|
+
const existing = this._elementRef.nativeElement.getAttribute('aria-describedby');
|
|
13743
|
+
return existing ? existing.split(' ') : [];
|
|
13744
|
+
}
|
|
13745
|
+
setDescribedByIds(ids) {
|
|
13746
|
+
this._ariaDescribedbyIds = ids;
|
|
13747
|
+
if (this._chipInput) {
|
|
13748
|
+
this._chipInput.setDescribedByIds(ids);
|
|
13749
|
+
}
|
|
13750
|
+
else if (ids.length) {
|
|
13751
|
+
this._elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));
|
|
13752
|
+
}
|
|
13753
|
+
else {
|
|
13754
|
+
this._elementRef.nativeElement.removeAttribute('aria-describedby');
|
|
13755
|
+
}
|
|
13756
|
+
}
|
|
13757
|
+
writeValue(value) {
|
|
13758
|
+
this._value = value;
|
|
13759
|
+
}
|
|
13760
|
+
registerOnChange(fn) {
|
|
13761
|
+
this._onChange = fn;
|
|
13762
|
+
}
|
|
13763
|
+
registerOnTouched(fn) {
|
|
13764
|
+
this._onTouched = fn;
|
|
13765
|
+
}
|
|
13766
|
+
setDisabledState(isDisabled) {
|
|
13767
|
+
this.disabled = isDisabled;
|
|
13768
|
+
this.stateChanges.next();
|
|
13769
|
+
}
|
|
13770
|
+
updateErrorState() {
|
|
13771
|
+
this._errorStateTracker.updateErrorState();
|
|
13772
|
+
}
|
|
13773
|
+
_blur() {
|
|
13774
|
+
if (!this.disabled) {
|
|
13775
|
+
setTimeout(() => {
|
|
13776
|
+
if (!this.focused) {
|
|
13777
|
+
this._propagateChanges();
|
|
13778
|
+
this._markAsTouched();
|
|
13779
|
+
}
|
|
13780
|
+
});
|
|
13781
|
+
}
|
|
13782
|
+
}
|
|
13783
|
+
_allowFocusEscape() {
|
|
13784
|
+
if (!this._chipInput?.focused) {
|
|
13785
|
+
super._allowFocusEscape();
|
|
13786
|
+
}
|
|
13787
|
+
}
|
|
13788
|
+
_handleKeydown(event) {
|
|
13789
|
+
const keyCode = event.keyCode;
|
|
13790
|
+
const activeItem = this._keyManager.activeItem;
|
|
13791
|
+
if (keyCode === TAB) {
|
|
13792
|
+
if (this._chipInput?.focused &&
|
|
13793
|
+
hasModifierKey(event, 'shiftKey') &&
|
|
13794
|
+
this._chips.length &&
|
|
13795
|
+
!this._chips.last.disabled) {
|
|
13796
|
+
event.preventDefault();
|
|
13797
|
+
if (activeItem) {
|
|
13798
|
+
this._keyManager.setActiveItem(activeItem);
|
|
13799
|
+
}
|
|
13800
|
+
else {
|
|
13801
|
+
this._focusLastChip();
|
|
13802
|
+
}
|
|
13803
|
+
}
|
|
13804
|
+
else {
|
|
13805
|
+
super._allowFocusEscape();
|
|
13806
|
+
}
|
|
13807
|
+
}
|
|
13808
|
+
else if (!this._chipInput?.focused) {
|
|
13809
|
+
if ((keyCode === UP_ARROW || keyCode === DOWN_ARROW) && activeItem) {
|
|
13810
|
+
const eligibleActions = this._chipActions.filter((action) => action._isPrimary === activeItem._isPrimary && !this._skipPredicate(action));
|
|
13811
|
+
const currentIndex = eligibleActions.indexOf(activeItem);
|
|
13812
|
+
const delta = event.keyCode === UP_ARROW ? -1 : 1;
|
|
13813
|
+
event.preventDefault();
|
|
13814
|
+
if (currentIndex > -1 && this._isValidIndex(currentIndex + delta)) {
|
|
13815
|
+
this._keyManager.setActiveItem(eligibleActions[currentIndex + delta]);
|
|
13816
|
+
}
|
|
13817
|
+
}
|
|
13818
|
+
else {
|
|
13819
|
+
super._handleKeydown(event);
|
|
13820
|
+
}
|
|
13821
|
+
}
|
|
13822
|
+
this.stateChanges.next();
|
|
13823
|
+
}
|
|
13824
|
+
_focusLastChip() {
|
|
13825
|
+
if (this._chips.length) {
|
|
13826
|
+
this._chips.last.focus();
|
|
13827
|
+
}
|
|
13828
|
+
}
|
|
13829
|
+
_propagateChanges() {
|
|
13830
|
+
const valueToEmit = this._chips.length ? this._chips.toArray().map((chip) => chip.value) : [];
|
|
13831
|
+
this._value = valueToEmit;
|
|
13832
|
+
this.change.emit(new MDChipGridChange(this, valueToEmit));
|
|
13833
|
+
this.valueChange.emit(valueToEmit);
|
|
13834
|
+
this._onChange(valueToEmit);
|
|
13835
|
+
this._changeDetectorRef.markForCheck();
|
|
13836
|
+
}
|
|
13837
|
+
_markAsTouched() {
|
|
13838
|
+
this._onTouched();
|
|
13839
|
+
this._changeDetectorRef.markForCheck();
|
|
13840
|
+
this.stateChanges.next();
|
|
13841
|
+
}
|
|
13842
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipGrid, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13843
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.6", type: MDChipGrid, isStandalone: true, selector: "md-chip-grid", inputs: { disabled: ["disabled", "disabled", booleanAttribute], placeholder: "placeholder", required: ["required", "required", booleanAttribute], value: "value", errorStateMatcher: "errorStateMatcher" }, outputs: { change: "change", valueChange: "valueChange" }, host: { listeners: { "focus": "focus()", "blur": "_blur()" }, properties: { "attr.role": "role", "attr.tabindex": "(disabled || (_chips && _chips.length === 0)) ? -1 : tabIndex", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.md-mdc-chip-list-disabled": "disabled", "class.md-mdc-chip-list-invalid": "errorState", "class.md-mdc-chip-list-required": "required" }, classAttribute: "md-mdc-chip-set md-mdc-chip-grid mdc-evolution-chip-set" }, queries: [{ propertyName: "_chips", predicate: MDChipRow, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
13844
|
+
<div class="mdc-evolution-chip-set__chips" role="presentation">
|
|
13845
|
+
<ng-content></ng-content>
|
|
13846
|
+
</div>
|
|
13847
|
+
`, isInline: true, styles: [".md-mdc-chip-set{display:flex}.md-mdc-chip-set:focus{outline:none}.md-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.md-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.md-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.md-mdc-chip-set-stacked .md-mdc-chip{width:100%}.md-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.md-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.md-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.md-mdc-chip-input{margin-left:0;margin-right:8px}.md-mdc-form-field input.md-mdc-chip-input::placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-moz-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-webkit-input-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input:-ms-input-placeholder{opacity:1}.md-mdc-chip-set+input.md-mdc-chip-input{margin-left:0;margin-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
13848
|
+
}
|
|
13849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipGrid, decorators: [{
|
|
13850
|
+
type: Component,
|
|
13851
|
+
args: [{ selector: 'md-chip-grid', template: `
|
|
13852
|
+
<div class="mdc-evolution-chip-set__chips" role="presentation">
|
|
13853
|
+
<ng-content></ng-content>
|
|
13854
|
+
</div>
|
|
13855
|
+
`, host: {
|
|
13856
|
+
class: 'md-mdc-chip-set md-mdc-chip-grid mdc-evolution-chip-set',
|
|
13857
|
+
'[attr.role]': 'role',
|
|
13858
|
+
'[attr.tabindex]': '(disabled || (_chips && _chips.length === 0)) ? -1 : tabIndex',
|
|
13859
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
13860
|
+
'[attr.aria-invalid]': 'errorState',
|
|
13861
|
+
'[class.md-mdc-chip-list-disabled]': 'disabled',
|
|
13862
|
+
'[class.md-mdc-chip-list-invalid]': 'errorState',
|
|
13863
|
+
'[class.md-mdc-chip-list-required]': 'required',
|
|
13864
|
+
'(focus)': 'focus()',
|
|
13865
|
+
'(blur)': '_blur()',
|
|
13866
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".md-mdc-chip-set{display:flex}.md-mdc-chip-set:focus{outline:none}.md-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.md-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .md-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.md-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.md-mdc-chip-set-stacked .md-mdc-chip{width:100%}.md-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.md-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.md-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.md-mdc-chip-input{margin-left:0;margin-right:8px}.md-mdc-form-field input.md-mdc-chip-input::placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-moz-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input::-webkit-input-placeholder{opacity:1}.md-mdc-form-field input.md-mdc-chip-input:-ms-input-placeholder{opacity:1}.md-mdc-chip-set+input.md-mdc-chip-input{margin-left:0;margin-right:0}\n"] }]
|
|
13867
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
13868
|
+
type: Input,
|
|
13869
|
+
args: [{ transform: booleanAttribute }]
|
|
13870
|
+
}], placeholder: [{
|
|
13871
|
+
type: Input
|
|
13872
|
+
}], required: [{
|
|
13873
|
+
type: Input,
|
|
13874
|
+
args: [{ transform: booleanAttribute }]
|
|
13875
|
+
}], value: [{
|
|
13876
|
+
type: Input
|
|
13877
|
+
}], errorStateMatcher: [{
|
|
13878
|
+
type: Input
|
|
13879
|
+
}], change: [{
|
|
13880
|
+
type: Output
|
|
13881
|
+
}], valueChange: [{
|
|
13882
|
+
type: Output
|
|
13883
|
+
}], _chips: [{
|
|
13884
|
+
type: ContentChildren,
|
|
13885
|
+
args: [MDChipRow, {
|
|
13886
|
+
descendants: true,
|
|
13887
|
+
}]
|
|
13888
|
+
}] } });
|
|
13889
|
+
class ErrorStateMatcher {
|
|
13890
|
+
isErrorState(control, form) {
|
|
13891
|
+
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
13892
|
+
}
|
|
13893
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13894
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
|
|
13895
|
+
}
|
|
13896
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ErrorStateMatcher, decorators: [{
|
|
13897
|
+
type: Injectable,
|
|
13898
|
+
args: [{ providedIn: 'root' }]
|
|
13899
|
+
}] });
|
|
13900
|
+
class _ErrorStateTracker {
|
|
13901
|
+
_defaultMatcher;
|
|
13902
|
+
ngControl;
|
|
13903
|
+
_parentFormGroup;
|
|
13904
|
+
_parentForm;
|
|
13905
|
+
_stateChanges;
|
|
13906
|
+
errorState = false;
|
|
13907
|
+
matcher;
|
|
13908
|
+
constructor(_defaultMatcher, ngControl, _parentFormGroup, _parentForm, _stateChanges) {
|
|
13909
|
+
this._defaultMatcher = _defaultMatcher;
|
|
13910
|
+
this.ngControl = ngControl;
|
|
13911
|
+
this._parentFormGroup = _parentFormGroup;
|
|
13912
|
+
this._parentForm = _parentForm;
|
|
13913
|
+
this._stateChanges = _stateChanges;
|
|
13914
|
+
}
|
|
13915
|
+
updateErrorState() {
|
|
13916
|
+
const oldState = this.errorState;
|
|
13917
|
+
const parent = this._parentFormGroup || this._parentForm;
|
|
13918
|
+
const matcher = this.matcher || this._defaultMatcher;
|
|
13919
|
+
const control = this.ngControl ? this.ngControl.control : null;
|
|
13920
|
+
const newState = matcher?.isErrorState(control, parent) ?? false;
|
|
13921
|
+
if (newState !== oldState) {
|
|
13922
|
+
this.errorState = newState;
|
|
13923
|
+
this._stateChanges.next();
|
|
13924
|
+
}
|
|
13925
|
+
}
|
|
13926
|
+
}
|
|
13927
|
+
|
|
13928
|
+
class MDChipAvatar {
|
|
13929
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13930
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDChipAvatar, isStandalone: true, selector: "md-chip-avatar, [mdChipAvatar]", host: { attributes: { "role": "img" }, classAttribute: "md-mdc-chip-avatar mdc-evolution-chip__icon mdc-evolution-chip__icon--primary" }, providers: [{ provide: MD_CHIP_AVATAR, useExisting: MDChipAvatar }], ngImport: i0 });
|
|
13931
|
+
}
|
|
13932
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipAvatar, decorators: [{
|
|
13933
|
+
type: Directive,
|
|
13934
|
+
args: [{
|
|
13935
|
+
selector: 'md-chip-avatar, [mdChipAvatar]',
|
|
13936
|
+
host: {
|
|
13937
|
+
'class': 'md-mdc-chip-avatar mdc-evolution-chip__icon mdc-evolution-chip__icon--primary',
|
|
13938
|
+
'role': 'img',
|
|
13939
|
+
},
|
|
13940
|
+
providers: [{ provide: MD_CHIP_AVATAR, useExisting: MDChipAvatar }],
|
|
13941
|
+
}]
|
|
13942
|
+
}] });
|
|
13943
|
+
class MDChipTrailingIcon extends MDChipContent {
|
|
13944
|
+
_isPrimary = false;
|
|
13945
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipTrailingIcon, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
13946
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDChipTrailingIcon, isStandalone: true, selector: "md-chip-trailing-icon, [mdChipTrailingIcon]", host: { attributes: { "aria-hidden": "true" }, classAttribute: "md-mdc-chip-trailing-icon mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing" }, providers: [{ provide: MD_CHIP_TRAILING_ICON, useExisting: MDChipTrailingIcon }], usesInheritance: true, ngImport: i0 });
|
|
13947
|
+
}
|
|
13948
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipTrailingIcon, decorators: [{
|
|
13949
|
+
type: Directive,
|
|
13950
|
+
args: [{
|
|
13951
|
+
selector: 'md-chip-trailing-icon, [mdChipTrailingIcon]',
|
|
13952
|
+
host: {
|
|
13953
|
+
'class': 'md-mdc-chip-trailing-icon mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing',
|
|
13954
|
+
'aria-hidden': 'true',
|
|
13955
|
+
},
|
|
13956
|
+
providers: [{ provide: MD_CHIP_TRAILING_ICON, useExisting: MDChipTrailingIcon }],
|
|
13957
|
+
}]
|
|
13958
|
+
}] });
|
|
13959
|
+
class MDChipEdit extends MDChipAction {
|
|
13960
|
+
_isPrimary = false;
|
|
13961
|
+
_isLeading = true;
|
|
13962
|
+
_handleClick(event) {
|
|
13963
|
+
if (!this.disabled) {
|
|
13964
|
+
event.stopPropagation();
|
|
13965
|
+
event.preventDefault();
|
|
13966
|
+
this._parentChip._edit();
|
|
13967
|
+
}
|
|
13968
|
+
}
|
|
13969
|
+
_handleKeydown(event) {
|
|
13970
|
+
if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled) {
|
|
13971
|
+
event.stopPropagation();
|
|
13972
|
+
event.preventDefault();
|
|
13973
|
+
this._parentChip._edit();
|
|
13974
|
+
}
|
|
13975
|
+
}
|
|
13976
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipEdit, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
13977
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDChipEdit, isStandalone: true, selector: "[mdChipEdit]", host: { attributes: { "role": "button" }, properties: { "attr.aria-hidden": "null" }, classAttribute: "md-mdc-chip-edit md-mdc-chip-avatar md-focus-indicator mdc-evolution-chip__icon mdc-evolution-chip__icon--primary" }, providers: [{ provide: MD_CHIP_EDIT, useExisting: MDChipEdit }], usesInheritance: true, ngImport: i0 });
|
|
13978
|
+
}
|
|
13979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipEdit, decorators: [{
|
|
13980
|
+
type: Directive,
|
|
13981
|
+
args: [{
|
|
13982
|
+
selector: '[mdChipEdit]',
|
|
13983
|
+
host: {
|
|
13984
|
+
'class': 'md-mdc-chip-edit md-mdc-chip-avatar md-focus-indicator ' +
|
|
13985
|
+
'mdc-evolution-chip__icon mdc-evolution-chip__icon--primary',
|
|
13986
|
+
'role': 'button',
|
|
13987
|
+
'[attr.aria-hidden]': 'null',
|
|
13988
|
+
},
|
|
13989
|
+
providers: [{ provide: MD_CHIP_EDIT, useExisting: MDChipEdit }],
|
|
13990
|
+
}]
|
|
13991
|
+
}] });
|
|
13992
|
+
class MDChipRemove extends MDChipAction {
|
|
13993
|
+
_isPrimary = false;
|
|
13994
|
+
_handleClick(event) {
|
|
13995
|
+
if (!this.disabled) {
|
|
13996
|
+
event.stopPropagation();
|
|
13997
|
+
event.preventDefault();
|
|
13998
|
+
this._parentChip.remove();
|
|
13999
|
+
}
|
|
14000
|
+
}
|
|
14001
|
+
_handleKeydown(event) {
|
|
14002
|
+
if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled) {
|
|
14003
|
+
event.stopPropagation();
|
|
14004
|
+
event.preventDefault();
|
|
14005
|
+
this._parentChip.remove();
|
|
14006
|
+
}
|
|
14007
|
+
}
|
|
14008
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipRemove, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14009
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: MDChipRemove, isStandalone: true, selector: "[mdChipRemove]", host: { attributes: { "role": "button" }, properties: { "attr.aria-hidden": "null" }, classAttribute: "md-mdc-chip-remove md-mdc-chip-trailing-icon md-focus-indicator mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing" }, providers: [{ provide: MD_CHIP_REMOVE, useExisting: MDChipRemove }], usesInheritance: true, ngImport: i0 });
|
|
14010
|
+
}
|
|
14011
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipRemove, decorators: [{
|
|
14012
|
+
type: Directive,
|
|
14013
|
+
args: [{
|
|
14014
|
+
selector: '[mdChipRemove]',
|
|
14015
|
+
host: {
|
|
14016
|
+
'class': 'md-mdc-chip-remove md-mdc-chip-trailing-icon md-focus-indicator ' +
|
|
14017
|
+
'mdc-evolution-chip__icon mdc-evolution-chip__icon--trailing',
|
|
14018
|
+
'role': 'button',
|
|
14019
|
+
'[attr.aria-hidden]': 'null',
|
|
14020
|
+
},
|
|
14021
|
+
providers: [{ provide: MD_CHIP_REMOVE, useExisting: MDChipRemove }],
|
|
14022
|
+
}]
|
|
14023
|
+
}] });
|
|
14024
|
+
|
|
14025
|
+
class MDChipInput {
|
|
14026
|
+
_elementRef = inject(ElementRef);
|
|
14027
|
+
focused = false;
|
|
14028
|
+
get chipGrid() {
|
|
14029
|
+
return this._chipGrid;
|
|
14030
|
+
}
|
|
14031
|
+
set chipGrid(value) {
|
|
14032
|
+
if (value) {
|
|
14033
|
+
this._chipGrid = value;
|
|
14034
|
+
this._chipGrid.registerInput(this);
|
|
14035
|
+
}
|
|
14036
|
+
}
|
|
14037
|
+
_chipGrid;
|
|
14038
|
+
addOnBlur = false;
|
|
14039
|
+
separatorKeyCodes;
|
|
14040
|
+
chipEnd = new EventEmitter();
|
|
14041
|
+
placeholder = '';
|
|
14042
|
+
id = inject(_IdGenerator).getId('md-mdc-chip-list-input-');
|
|
14043
|
+
get disabled() {
|
|
14044
|
+
return this._disabled || (this._chipGrid && this._chipGrid.disabled);
|
|
14045
|
+
}
|
|
14046
|
+
set disabled(value) {
|
|
14047
|
+
this._disabled = value;
|
|
14048
|
+
}
|
|
14049
|
+
_disabled = false;
|
|
14050
|
+
readonly = false;
|
|
14051
|
+
disabledInteractive;
|
|
14052
|
+
get empty() {
|
|
14053
|
+
return !this.inputElement.value;
|
|
14054
|
+
}
|
|
14055
|
+
inputElement;
|
|
14056
|
+
constructor() {
|
|
14057
|
+
const defaultOptions = inject(MD_CHIPS_DEFAULT_OPTIONS);
|
|
14058
|
+
this.inputElement = this._elementRef.nativeElement;
|
|
14059
|
+
this.separatorKeyCodes = defaultOptions.separatorKeyCodes;
|
|
14060
|
+
this.disabledInteractive = defaultOptions.inputDisabledInteractive ?? false;
|
|
14061
|
+
}
|
|
14062
|
+
ngOnChanges() {
|
|
14063
|
+
this._chipGrid.stateChanges.next();
|
|
14064
|
+
}
|
|
14065
|
+
ngOnDestroy() {
|
|
14066
|
+
this.chipEnd.complete();
|
|
14067
|
+
}
|
|
14068
|
+
_keydown(event) {
|
|
14069
|
+
if (this.empty && event.keyCode === BACKSPACE) {
|
|
14070
|
+
if (!event.repeat) {
|
|
14071
|
+
this._chipGrid._focusLastChip();
|
|
14072
|
+
}
|
|
14073
|
+
event.preventDefault();
|
|
14074
|
+
}
|
|
14075
|
+
else {
|
|
14076
|
+
this._emitChipEnd(event);
|
|
14077
|
+
}
|
|
14078
|
+
}
|
|
14079
|
+
_blur() {
|
|
14080
|
+
if (this.addOnBlur) {
|
|
14081
|
+
this._emitChipEnd();
|
|
14082
|
+
}
|
|
14083
|
+
this.focused = false;
|
|
14084
|
+
if (!this._chipGrid.focused) {
|
|
14085
|
+
this._chipGrid._blur();
|
|
14086
|
+
}
|
|
14087
|
+
this._chipGrid.stateChanges.next();
|
|
14088
|
+
}
|
|
14089
|
+
_focus() {
|
|
14090
|
+
this.focused = true;
|
|
14091
|
+
this._chipGrid.stateChanges.next();
|
|
14092
|
+
}
|
|
14093
|
+
_emitChipEnd(event) {
|
|
14094
|
+
if (!event || (this._isSeparatorKey(event) && !event.repeat)) {
|
|
14095
|
+
this.chipEnd.emit({
|
|
14096
|
+
input: this.inputElement,
|
|
14097
|
+
value: this.inputElement.value,
|
|
14098
|
+
chipInput: this,
|
|
14099
|
+
});
|
|
14100
|
+
event?.preventDefault();
|
|
14101
|
+
}
|
|
14102
|
+
}
|
|
14103
|
+
_onInput() {
|
|
14104
|
+
this._chipGrid.stateChanges.next();
|
|
14105
|
+
}
|
|
14106
|
+
focus() {
|
|
14107
|
+
this.inputElement.focus();
|
|
14108
|
+
}
|
|
14109
|
+
clear() {
|
|
14110
|
+
this.inputElement.value = '';
|
|
14111
|
+
}
|
|
14112
|
+
get describedByIds() {
|
|
14113
|
+
const element = this._elementRef.nativeElement;
|
|
14114
|
+
const existingDescribedBy = element.getAttribute('aria-describedby');
|
|
14115
|
+
return existingDescribedBy?.split(' ') || [];
|
|
14116
|
+
}
|
|
14117
|
+
setDescribedByIds(ids) {
|
|
14118
|
+
const element = this._elementRef.nativeElement;
|
|
14119
|
+
if (ids.length) {
|
|
14120
|
+
element.setAttribute('aria-describedby', ids.join(' '));
|
|
14121
|
+
}
|
|
14122
|
+
else {
|
|
14123
|
+
element.removeAttribute('aria-describedby');
|
|
14124
|
+
}
|
|
14125
|
+
}
|
|
14126
|
+
_isSeparatorKey(event) {
|
|
14127
|
+
if (!this.separatorKeyCodes) {
|
|
14128
|
+
return false;
|
|
14129
|
+
}
|
|
14130
|
+
for (const key of this.separatorKeyCodes) {
|
|
14131
|
+
let keyCode;
|
|
14132
|
+
let modifiers;
|
|
14133
|
+
if (typeof key === 'number') {
|
|
14134
|
+
keyCode = key;
|
|
14135
|
+
modifiers = null;
|
|
14136
|
+
}
|
|
14137
|
+
else {
|
|
14138
|
+
keyCode = key.keyCode;
|
|
14139
|
+
modifiers = key.modifiers;
|
|
14140
|
+
}
|
|
14141
|
+
const modifiersMatch = !modifiers?.length ? !hasModifierKey(event) : hasModifierKey(event, ...modifiers);
|
|
14142
|
+
if (keyCode === event.keyCode && modifiersMatch) {
|
|
14143
|
+
return true;
|
|
14144
|
+
}
|
|
14145
|
+
}
|
|
14146
|
+
return false;
|
|
14147
|
+
}
|
|
14148
|
+
_getReadonlyAttribute() {
|
|
14149
|
+
return this.readonly || (this.disabled && this.disabledInteractive) ? 'true' : null;
|
|
14150
|
+
}
|
|
14151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
14152
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.6", type: MDChipInput, isStandalone: true, selector: "input[mdChipInputFor]", inputs: { chipGrid: ["mdChipInputFor", "chipGrid"], addOnBlur: ["mdChipInputAddOnBlur", "addOnBlur", booleanAttribute], separatorKeyCodes: ["mdChipInputSeparatorKeyCodes", "separatorKeyCodes"], placeholder: "placeholder", id: "id", disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], disabledInteractive: ["mdChipInputDisabledInteractive", "disabledInteractive", booleanAttribute] }, outputs: { chipEnd: "mdChipInputTokenEnd" }, host: { listeners: { "keydown": "_keydown($event)", "blur": "_blur()", "focus": "_focus()", "input": "_onInput()" }, properties: { "id": "id", "attr.disabled": "disabled && !disabledInteractive ? \"\" : null", "attr.placeholder": "placeholder || null", "attr.aria-invalid": "_chipGrid && _chipGrid.ngControl ? _chipGrid.ngControl.invalid : null", "attr.aria-required": "_chipGrid && _chipGrid.required || null", "attr.aria-disabled": "disabled && disabledInteractive ? \"true\" : null", "attr.readonly": "_getReadonlyAttribute()", "attr.required": "_chipGrid && _chipGrid.required || null" }, classAttribute: "md-mdc-chip-input md-mdc-input-element mdc-text-field__input md-input-element" }, exportAs: ["mdChipInput", "mdChipInputFor"], usesOnChanges: true, ngImport: i0 });
|
|
14153
|
+
}
|
|
14154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipInput, decorators: [{
|
|
14155
|
+
type: Directive,
|
|
14156
|
+
args: [{
|
|
14157
|
+
selector: 'input[mdChipInputFor]',
|
|
14158
|
+
exportAs: 'mdChipInput, mdChipInputFor',
|
|
14159
|
+
host: {
|
|
14160
|
+
class: 'md-mdc-chip-input md-mdc-input-element mdc-text-field__input md-input-element',
|
|
14161
|
+
'(keydown)': '_keydown($event)',
|
|
14162
|
+
'(blur)': '_blur()',
|
|
14163
|
+
'(focus)': '_focus()',
|
|
14164
|
+
'(input)': '_onInput()',
|
|
14165
|
+
'[id]': 'id',
|
|
14166
|
+
'[attr.disabled]': 'disabled && !disabledInteractive ? "" : null',
|
|
14167
|
+
'[attr.placeholder]': 'placeholder || null',
|
|
14168
|
+
'[attr.aria-invalid]': '_chipGrid && _chipGrid.ngControl ? _chipGrid.ngControl.invalid : null',
|
|
14169
|
+
'[attr.aria-required]': '_chipGrid && _chipGrid.required || null',
|
|
14170
|
+
'[attr.aria-disabled]': 'disabled && disabledInteractive ? "true" : null',
|
|
14171
|
+
'[attr.readonly]': '_getReadonlyAttribute()',
|
|
14172
|
+
'[attr.required]': '_chipGrid && _chipGrid.required || null',
|
|
14173
|
+
},
|
|
14174
|
+
}]
|
|
14175
|
+
}], ctorParameters: () => [], propDecorators: { chipGrid: [{
|
|
14176
|
+
type: Input,
|
|
14177
|
+
args: ['mdChipInputFor']
|
|
14178
|
+
}], addOnBlur: [{
|
|
14179
|
+
type: Input,
|
|
14180
|
+
args: [{ alias: 'mdChipInputAddOnBlur', transform: booleanAttribute }]
|
|
14181
|
+
}], separatorKeyCodes: [{
|
|
14182
|
+
type: Input,
|
|
14183
|
+
args: ['mdChipInputSeparatorKeyCodes']
|
|
14184
|
+
}], chipEnd: [{
|
|
14185
|
+
type: Output,
|
|
14186
|
+
args: ['mdChipInputTokenEnd']
|
|
14187
|
+
}], placeholder: [{
|
|
14188
|
+
type: Input
|
|
14189
|
+
}], id: [{
|
|
14190
|
+
type: Input
|
|
14191
|
+
}], disabled: [{
|
|
14192
|
+
type: Input,
|
|
14193
|
+
args: [{ transform: booleanAttribute }]
|
|
14194
|
+
}], readonly: [{
|
|
14195
|
+
type: Input,
|
|
14196
|
+
args: [{ transform: booleanAttribute }]
|
|
14197
|
+
}], disabledInteractive: [{
|
|
14198
|
+
type: Input,
|
|
14199
|
+
args: [{ alias: 'mdChipInputDisabledInteractive', transform: booleanAttribute }]
|
|
14200
|
+
}] } });
|
|
14201
|
+
|
|
14202
|
+
const CHIP_DECLARATIONS = [
|
|
14203
|
+
MDChip,
|
|
14204
|
+
MDChipAvatar,
|
|
14205
|
+
MDChipEdit,
|
|
14206
|
+
MDChipEditInput,
|
|
14207
|
+
MDChipGrid,
|
|
14208
|
+
MDChipInput,
|
|
14209
|
+
MDChipListbox,
|
|
14210
|
+
MDChipOption,
|
|
14211
|
+
MDChipRemove,
|
|
14212
|
+
MDChipRow,
|
|
14213
|
+
MDChipSet,
|
|
14214
|
+
MDChipTrailingIcon,
|
|
14215
|
+
];
|
|
14216
|
+
class MDChipsModule {
|
|
14217
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14218
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MDChipsModule, imports: [MDChipAction, MDChip,
|
|
14219
|
+
MDChipAvatar,
|
|
14220
|
+
MDChipEdit,
|
|
14221
|
+
MDChipEditInput,
|
|
14222
|
+
MDChipGrid,
|
|
14223
|
+
MDChipInput,
|
|
14224
|
+
MDChipListbox,
|
|
14225
|
+
MDChipOption,
|
|
14226
|
+
MDChipRemove,
|
|
14227
|
+
MDChipRow,
|
|
14228
|
+
MDChipSet,
|
|
14229
|
+
MDChipTrailingIcon], exports: [BidiModule, MDChip,
|
|
14230
|
+
MDChipAvatar,
|
|
14231
|
+
MDChipEdit,
|
|
14232
|
+
MDChipEditInput,
|
|
14233
|
+
MDChipGrid,
|
|
14234
|
+
MDChipInput,
|
|
14235
|
+
MDChipListbox,
|
|
14236
|
+
MDChipOption,
|
|
14237
|
+
MDChipRemove,
|
|
14238
|
+
MDChipRow,
|
|
14239
|
+
MDChipSet,
|
|
14240
|
+
MDChipTrailingIcon] });
|
|
14241
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipsModule, providers: [
|
|
14242
|
+
ErrorStateMatcher,
|
|
14243
|
+
{
|
|
14244
|
+
provide: MD_CHIPS_DEFAULT_OPTIONS,
|
|
14245
|
+
useValue: {
|
|
14246
|
+
separatorKeyCodes: [ENTER],
|
|
14247
|
+
},
|
|
14248
|
+
},
|
|
14249
|
+
], imports: [BidiModule] });
|
|
14250
|
+
}
|
|
14251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MDChipsModule, decorators: [{
|
|
14252
|
+
type: NgModule,
|
|
14253
|
+
args: [{
|
|
14254
|
+
imports: [MDChipAction, CHIP_DECLARATIONS],
|
|
14255
|
+
exports: [BidiModule, CHIP_DECLARATIONS],
|
|
14256
|
+
providers: [
|
|
14257
|
+
ErrorStateMatcher,
|
|
14258
|
+
{
|
|
14259
|
+
provide: MD_CHIPS_DEFAULT_OPTIONS,
|
|
14260
|
+
useValue: {
|
|
14261
|
+
separatorKeyCodes: [ENTER],
|
|
14262
|
+
},
|
|
14263
|
+
},
|
|
14264
|
+
],
|
|
14265
|
+
}]
|
|
14266
|
+
}] });
|
|
14267
|
+
|
|
11100
14268
|
/**
|
|
11101
14269
|
* Generated bundle index. Do not edit.
|
|
11102
14270
|
*/
|
|
11103
14271
|
|
|
11104
|
-
export { ACCORDION, CARD_CONFIG, CardSimpleComponent, CentralPageComponent, CentralPageRowComponent, CollapseComponent, CollapseSetComponent, DIALOG_DATA, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DialogState, EXPANSION_PANEL_DEFAULT_OPTIONS, ErrorStateMatcher, ExpansionPanelActionRow, ExpansionPanelDescription, ExpansionPanelTitle, FillComponent, FilteredFieldContainerComponent, FilteredFieldItemComponent, FilteredFieldService, FiltredItemModel, INK_BAR_POSITIONER, INK_BAR_POSITIONER_FACTORY, InkBar, MDAccordion, MDCard, MDCardActions, MDCardAvatar, MDCardContent, MDCardFooter, MDCardHeader, MDCardImage, MDCardLgImage, MDCardMdImage, MDCardModule, MDCardSmImage, MDCardSubtitle, MDCardTitle, MDCardTitleGroup, MDCardXlImage, MDCheckBox, MDCheckBoxModule, MDCheckboxChange, MDCollapseModule, MDContextMenuTrigger, MDDialog, MDDialogActions, MDDialogClose, MDDialogContainer, MDDialogContent, MDDialogTitle, MDExpansionPanel, MDExpansionPanelContent, MDExpansionPanelHeader, MDMenu, MDMenuContent, MDMenuItem, MDMenuModule, MDMenuTrigger, MDModalModule, MDOption, MDOptionGroup, MDOptionSelectionChange, MDSelect, MDSelectModule, MDSelectTrigger, MDStep, MDStepContent, MDStepExecutorModule, MDStepFooter, MDStepHeader, MDStepLabel, MDStepper, MDStepperIcon, MDStepperNext, MDStepperPrevious, MDSwitch, MDSwitchModule, MDTab, MDTabBody, MDTabChangeEvent, MDTabContent, MDTabGroup, MDTabHeader, MDTabLabel, MDTabLabelWrapper, MDTabsModule, MD_EXPANSION_PANEL, MD_MENU_CONTENT, MD_MENU_DEFAULT_OPTIONS, MD_MENU_PANEL, MD_MENU_SCROLL_STRATEGY, MD_SELECT_TRIGGER, MD_TAB, MD_TAB_LABEL, MENU_PANEL_TOP_PADDING, ManagePageComponent, MefDevCardModule, MefDevCollapseModule, MefDevDialogConfig, MefDevDialogRef, MefDevDropDownMenuModule, MefDevFilteredFieldModule, MefDevModalModule, MefDevOptionComponent, MefDevPageLayoutsModule, MefDevProgressComponent, MefDevProgressModule, MefDevSelectComponent, MefDevSelectModule, MefDevStepExecutorModule, MefDevSwitchComponent, MefDevSwitchModule, MefDevTabBodyComponent, MefDevTabComponent, MefDevTabLabelDirective, MefDevTabSetComponent, MefDevTabsInkBarDirective, MefDevTabsModule, MefDevTabsNavComponent, MefdevDropdownMenuComponent, MefdevExecutorPageComponent, OptionPipe, PaginatedTabHeader, ProgressConfig, PseudoCheckbox, RightFilterComponent, STEPPER_INTL_PROVIDER, STEPPER_INTL_PROVIDER_FACTORY, SelectChange, ShowOnDirtyErrorStateMatcher, SlideRightComponent, SlideUpComponent, StageComponent, StepExecutorComponent, StepperIntl, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TabBodyPortal, TabChangeEvent, TablePageComponent, TransitionCheckState, _closeDialogVia, _countGroupLabelsBeforeOption, _getOptionScrollPosition, components, mefDevCardComponents, mefDevCollapseModuleComponents };
|
|
14272
|
+
export { ACCORDION, CARD_CONFIG, CardSimpleComponent, CentralPageComponent, CentralPageRowComponent, CollapseComponent, CollapseSetComponent, DIALOG_DATA, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DialogState, EXPANSION_PANEL_DEFAULT_OPTIONS, ErrorStateMatcher, ExpansionPanelActionRow, ExpansionPanelDescription, ExpansionPanelTitle, FillComponent, FilteredFieldContainerComponent, FilteredFieldItemComponent, FilteredFieldService, FiltredItemModel, INK_BAR_POSITIONER, INK_BAR_POSITIONER_FACTORY, InkBar, MDAccordion, MDAutocomplete, MDAutocompleteModule, MDAutocompleteOrigin, MDAutocompleteSelectedEvent, MDAutocompleteTrigger, MDCard, MDCardActions, MDCardAvatar, MDCardContent, MDCardFooter, MDCardHeader, MDCardImage, MDCardLgImage, MDCardMdImage, MDCardModule, MDCardSmImage, MDCardSubtitle, MDCardTitle, MDCardTitleGroup, MDCardXlImage, MDCheckBox, MDCheckBoxModule, MDCheckboxChange, MDChip, MDChipAvatar, MDChipEdit, MDChipEditInput, MDChipGrid, MDChipGridChange, MDChipInput, MDChipListbox, MDChipListboxChange, MDChipOption, MDChipRemove, MDChipRow, MDChipSelectionChange, MDChipSet, MDChipTrailingIcon, MDChipsModule, MDCollapseModule, MDContextMenuTrigger, MDDialog, MDDialogActions, MDDialogClose, MDDialogContainer, MDDialogContent, MDDialogTitle, MDExpansionPanel, MDExpansionPanelContent, MDExpansionPanelHeader, MDMenu, MDMenuContent, MDMenuItem, MDMenuModule, MDMenuTrigger, MDModalModule, MDOption, MDOptionGroup, MDOptionModule, MDOptionSelectionChange, MDPseudoCheckboxModule, MDRadioButton, MDRadioGroup, MDRadioModule, MDSelect, MDSelectModule, MDSelectTrigger, MDStep, MDStepContent, MDStepExecutorModule, MDStepFooter, MDStepHeader, MDStepLabel, MDStepper, MDStepperIcon, MDStepperNext, MDStepperPrevious, MDSwitch, MDSwitchModule, MDTab, MDTabBody, MDTabChangeEvent, MDTabContent, MDTabGroup, MDTabHeader, MDTabLabel, MDTabLabelWrapper, MDTabsModule, MD_AUTOCOMPLETE_DEFAULT_OPTIONS, MD_AUTOCOMPLETE_SCROLL_STRATEGY, MD_AUTOCOMPLETE_VALUE_ACCESSOR, MD_CHIP, MD_CHIPS_DEFAULT_OPTIONS, MD_CHIP_AVATAR, MD_CHIP_EDIT, MD_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR, MD_CHIP_REMOVE, MD_CHIP_TRAILING_ICON, MD_EXPANSION_PANEL, MD_MENU_CONTENT, MD_MENU_DEFAULT_OPTIONS, MD_MENU_PANEL, MD_MENU_SCROLL_STRATEGY, MD_OPTION_PARENT_COMPONENT, MD_RADIO_GROUP, MD_SELECT_TRIGGER, MD_TAB, MD_TAB_LABEL, MENU_PANEL_TOP_PADDING, ManagePageComponent, MefDevCardModule, MefDevCollapseModule, MefDevDialogConfig, MefDevDialogRef, MefDevDropDownMenuModule, MefDevFilteredFieldModule, MefDevModalModule, MefDevOptionComponent, MefDevPageLayoutsModule, MefDevProgressComponent, MefDevProgressModule, MefDevSelectComponent, MefDevSelectModule, MefDevStepExecutorModule, MefDevSwitchComponent, MefDevSwitchModule, MefDevTabBodyComponent, MefDevTabComponent, MefDevTabLabelDirective, MefDevTabSetComponent, MefDevTabsInkBarDirective, MefDevTabsModule, MefDevTabsNavComponent, MefdevDropdownMenuComponent, MefdevExecutorPageComponent, OptionPipe, PaginatedTabHeader, ProgressConfig, PseudoCheckbox, RADIO_GROUP_CONTROL_VALUE_ACCESSOR, RadioChange, RightFilterComponent, STEPPER_INTL_PROVIDER, STEPPER_INTL_PROVIDER_FACTORY, SelectChange, ShowOnDirtyErrorStateMatcher, SlideRightComponent, SlideUpComponent, StageComponent, StepExecutorComponent, StepperErrorStateMatcher, StepperIntl, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TabBodyPortal, TabChangeEvent, TablePageComponent, TransitionCheckState, _ErrorStateTracker, _closeDialogVia, _countGroupLabelsBeforeOption, _getOptionScrollPosition, components, getMDAutocompleteMissingPanelError, getMDSelectDynamicMultipleError, getMDSelectNonArrayValueError, getMDSelectNonFunctionValueError, mefDevCardComponents, mefDevCollapseModuleComponents };
|
|
11105
14273
|
//# sourceMappingURL=natec-mef-dev-ui-kit.mjs.map
|