source: trip-planner-front/node_modules/@angular/material/__ivy_ngcc__/fesm2015/chips.js.map

Last change on this file was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 81.3 KB
Line 
1{"version":3,"file":"chips.js","sources":["../../../../../../src/material/chips/chip.ts","../../../../../../src/material/chips/chip-default-options.ts","../../../../../../src/material/chips/chip-list.ts","../../../../../../src/material/chips/chip-input.ts","../../../../../../src/material/chips/chips-module.ts","../../../../../../src/material/chips/public-api.ts","../../../../../../src/material/chips/index.ts"],"names":["nextUniqueId"],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusableOption} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty, NumberInput} from '@angular/cdk/coercion';\nimport {BACKSPACE, DELETE, SPACE} from '@angular/cdk/keycodes';\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n Attribute,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n} from '@angular/core';\nimport {\n CanColor,\n CanDisable,\n CanDisableRipple,\n HasTabIndex,\n MAT_RIPPLE_GLOBAL_OPTIONS,\n mixinColor,\n mixinDisableRipple,\n mixinTabIndex,\n RippleConfig,\n RippleGlobalOptions,\n RippleRenderer,\n RippleTarget,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\n\n/** Represents an event fired on an individual `mat-chip`. */\nexport interface MatChipEvent {\n /** The chip the event was fired on. */\n chip: MatChip;\n}\n\n/** Event object emitted by MatChip when selected or deselected. */\nexport class MatChipSelectionChange {\n constructor(\n /** Reference to the chip that emitted the event. */\n public source: MatChip,\n /** Whether the chip that emitted the event is selected. */\n public selected: boolean,\n /** Whether the selection change was a result of a user interaction. */\n public isUserInput = false) { }\n}\n\n/**\n * Injection token that can be used to reference instances of `MatChipRemove`. It serves as\n * alternative token to the actual `MatChipRemove` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_CHIP_REMOVE = new InjectionToken<MatChipRemove>('MatChipRemove');\n\n/**\n * Injection token that can be used to reference instances of `MatChipAvatar`. It serves as\n * alternative token to the actual `MatChipAvatar` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_CHIP_AVATAR = new InjectionToken<MatChipAvatar>('MatChipAvatar');\n\n/**\n * Injection token that can be used to reference instances of `MatChipTrailingIcon`. It serves as\n * alternative token to the actual `MatChipTrailingIcon` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_CHIP_TRAILING_ICON =\n new InjectionToken<MatChipTrailingIcon>('MatChipTrailingIcon');\n\n// Boilerplate for applying mixins to MatChip.\n/** @docs-private */\nabstract class MatChipBase {\n abstract disabled: boolean;\n constructor(public _elementRef: ElementRef) {}\n}\n\nconst _MatChipMixinBase = mixinTabIndex(mixinColor(mixinDisableRipple(MatChipBase), 'primary'), -1);\n\n/**\n * Dummy directive to add CSS class to chip avatar.\n * @docs-private\n */\n@Directive({\n selector: 'mat-chip-avatar, [matChipAvatar]',\n host: {'class': 'mat-chip-avatar'},\n providers: [{provide: MAT_CHIP_AVATAR, useExisting: MatChipAvatar}]\n})\nexport class MatChipAvatar {}\n\n/**\n * Dummy directive to add CSS class to chip trailing icon.\n * @docs-private\n */\n@Directive({\n selector: 'mat-chip-trailing-icon, [matChipTrailingIcon]',\n host: {'class': 'mat-chip-trailing-icon'},\n providers: [{provide: MAT_CHIP_TRAILING_ICON, useExisting: MatChipTrailingIcon}],\n})\nexport class MatChipTrailingIcon {}\n\n\n/**\n * Material design styled Chip component. Used inside the MatChipList component.\n */\n@Directive({\n selector: `mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]`,\n inputs: ['color', 'disableRipple', 'tabIndex'],\n exportAs: 'matChip',\n host: {\n 'class': 'mat-chip mat-focus-indicator',\n '[attr.tabindex]': 'disabled ? null : tabIndex',\n 'role': 'option',\n '[class.mat-chip-selected]': 'selected',\n '[class.mat-chip-with-avatar]': 'avatar',\n '[class.mat-chip-with-trailing-icon]': 'trailingIcon || removeIcon',\n '[class.mat-chip-disabled]': 'disabled',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-selected]': 'ariaSelected',\n '(click)': '_handleClick($event)',\n '(keydown)': '_handleKeydown($event)',\n '(focus)': 'focus()',\n '(blur)': '_blur()',\n },\n})\nexport class MatChip extends _MatChipMixinBase implements FocusableOption, OnDestroy, CanColor,\n CanDisableRipple, RippleTarget, HasTabIndex, CanDisable {\n\n /** Reference to the RippleRenderer for the chip. */\n private _chipRipple: RippleRenderer;\n\n /**\n * Reference to the element that acts as the chip's ripple target. This element is\n * dynamically added as a child node of the chip. The chip itself cannot be used as the\n * ripple target because it must be the host of the focus indicator.\n */\n private _chipRippleTarget: HTMLElement;\n\n /**\n * Ripple configuration for ripples that are launched on pointer down. The ripple config\n * is set to the global ripple options since we don't have any configurable options for\n * the chip ripples.\n * @docs-private\n */\n rippleConfig: RippleConfig & RippleGlobalOptions;\n\n /**\n * Whether ripples are disabled on interaction\n * @docs-private\n */\n get rippleDisabled(): boolean {\n return this.disabled || this.disableRipple || this._animationsDisabled ||\n !!this.rippleConfig.disabled;\n }\n\n /** Whether the chip has focus. */\n _hasFocus: boolean = false;\n\n /** Whether animations for the chip are enabled. */\n _animationsDisabled: boolean;\n\n /** Whether the chip list is selectable */\n chipListSelectable: boolean = true;\n\n /** Whether the chip list is in multi-selection mode. */\n _chipListMultiple: boolean = false;\n\n /** Whether the chip list as a whole is disabled. */\n _chipListDisabled: boolean = false;\n\n /** The chip avatar */\n @ContentChild(MAT_CHIP_AVATAR) avatar: MatChipAvatar;\n\n /** The chip's trailing icon. */\n @ContentChild(MAT_CHIP_TRAILING_ICON) trailingIcon: MatChipTrailingIcon;\n\n /** The chip's remove toggler. */\n @ContentChild(MAT_CHIP_REMOVE) removeIcon: MatChipRemove;\n\n /** Whether the chip is selected. */\n @Input()\n get selected(): boolean { return this._selected; }\n set selected(value: boolean) {\n const coercedValue = coerceBooleanProperty(value);\n\n if (coercedValue !== this._selected) {\n this._selected = coercedValue;\n this._dispatchSelectionChange();\n }\n }\n protected _selected: boolean = false;\n\n /** The value of the chip. Defaults to the content inside `<mat-chip>` tags. */\n @Input()\n get value(): any {\n return this._value !== undefined\n ? this._value\n : this._elementRef.nativeElement.textContent;\n }\n set value(value: any) { this._value = value; }\n protected _value: any;\n\n /**\n * Whether or not the chip is selectable. When a chip is not selectable,\n * changes to its selected state are always ignored. By default a chip is\n * selectable, and it becomes non-selectable if its parent chip list is\n * not selectable.\n */\n @Input()\n get selectable(): boolean { return this._selectable && this.chipListSelectable; }\n set selectable(value: boolean) {\n this._selectable = coerceBooleanProperty(value);\n }\n protected _selectable: boolean = true;\n\n /** Whether the chip is disabled. */\n @Input()\n get disabled(): boolean { return this._chipListDisabled || this._disabled; }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n protected _disabled: boolean = false;\n\n /**\n * Determines whether or not the chip displays the remove styling and emits (removed) events.\n */\n @Input()\n get removable(): boolean { return this._removable; }\n set removable(value: boolean) {\n this._removable = coerceBooleanProperty(value);\n }\n protected _removable: boolean = true;\n\n /** Emits when the chip is focused. */\n readonly _onFocus = new Subject<MatChipEvent>();\n\n /** Emits when the chip is blured. */\n readonly _onBlur = new Subject<MatChipEvent>();\n\n /** Emitted when the chip is selected or deselected. */\n @Output() readonly selectionChange: EventEmitter<MatChipSelectionChange> =\n new EventEmitter<MatChipSelectionChange>();\n\n /** Emitted when the chip is destroyed. */\n @Output() readonly destroyed: EventEmitter<MatChipEvent> = new EventEmitter<MatChipEvent>();\n\n /** Emitted when a chip is to be removed. */\n @Output() readonly removed: EventEmitter<MatChipEvent> = new EventEmitter<MatChipEvent>();\n\n /** The ARIA selected applied to the chip. */\n get ariaSelected(): string | null {\n // Remove the `aria-selected` when the chip is deselected in single-selection mode, because\n // it adds noise to NVDA users where \"not selected\" will be read out for each chip.\n return this.selectable && (this._chipListMultiple || this.selected) ?\n this.selected.toString() : null;\n }\n\n constructor(elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n platform: Platform,\n @Optional() @Inject(MAT_RIPPLE_GLOBAL_OPTIONS)\n globalRippleOptions: RippleGlobalOptions | null,\n private _changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) _document: any,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Attribute('tabindex') tabIndex?: string) {\n super(elementRef);\n\n this._addHostClassName();\n\n // Dynamically create the ripple target, append it within the chip, and use it as the\n // chip's ripple target. Adding the class '.mat-chip-ripple' ensures that it will have\n // the proper styles.\n this._chipRippleTarget = _document.createElement('div');\n this._chipRippleTarget.classList.add('mat-chip-ripple');\n this._elementRef.nativeElement.appendChild(this._chipRippleTarget);\n this._chipRipple = new RippleRenderer(this, _ngZone, this._chipRippleTarget, platform);\n this._chipRipple.setupTriggerEvents(elementRef);\n\n this.rippleConfig = globalRippleOptions || {};\n this._animationsDisabled = animationMode === 'NoopAnimations';\n this.tabIndex = tabIndex != null ? (parseInt(tabIndex) || -1) : -1;\n }\n\n _addHostClassName() {\n const basicChipAttrName = 'mat-basic-chip';\n const element = this._elementRef.nativeElement as HTMLElement;\n\n if (element.hasAttribute(basicChipAttrName) ||\n element.tagName.toLowerCase() === basicChipAttrName) {\n element.classList.add(basicChipAttrName);\n return;\n } else {\n element.classList.add('mat-standard-chip');\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({chip: this});\n this._chipRipple._removeTriggerEvents();\n }\n\n /** Selects the chip. */\n select(): void {\n if (!this._selected) {\n this._selected = true;\n this._dispatchSelectionChange();\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Deselects the chip. */\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n this._dispatchSelectionChange();\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Select this chip and emit selected event */\n selectViaInteraction(): void {\n if (!this._selected) {\n this._selected = true;\n this._dispatchSelectionChange(true);\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Toggles the current selected state of this chip. */\n toggleSelected(isUserInput: boolean = false): boolean {\n this._selected = !this.selected;\n this._dispatchSelectionChange(isUserInput);\n this._changeDetectorRef.markForCheck();\n return this.selected;\n }\n\n /** Allows for programmatic focusing of the chip. */\n focus(): void {\n if (!this._hasFocus) {\n this._elementRef.nativeElement.focus();\n this._onFocus.next({chip: this});\n }\n this._hasFocus = true;\n }\n\n /**\n * Allows for programmatic removal of the chip. Called by the MatChipList when the DELETE or\n * BACKSPACE keys are pressed.\n *\n * Informs any listeners of the removal request. Does not remove the chip from the DOM.\n */\n remove(): void {\n if (this.removable) {\n this.removed.emit({chip: this});\n }\n }\n\n /** Handles click events on the chip. */\n _handleClick(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n } else {\n event.stopPropagation();\n }\n }\n\n /** Handle custom key presses. */\n _handleKeydown(event: KeyboardEvent): void {\n if (this.disabled) {\n return;\n }\n\n switch (event.keyCode) {\n case DELETE:\n case BACKSPACE:\n // If we are removable, remove the focused chip\n this.remove();\n // Always prevent so page navigation does not occur\n event.preventDefault();\n break;\n case SPACE:\n // If we are selectable, toggle the focused chip\n if (this.selectable) {\n this.toggleSelected(true);\n }\n\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n break;\n }\n }\n\n _blur(): void {\n // When animations are enabled, Angular may end up removing the chip from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the chip list\n // that moves focus not the next item. To work around the issue, we defer marking the chip\n // as not focused until the next time the zone stabilizes.\n this._ngZone.onStable\n .pipe(take(1))\n .subscribe(() => {\n this._ngZone.run(() => {\n this._hasFocus = false;\n this._onBlur.next({chip: this});\n });\n });\n }\n\n private _dispatchSelectionChange(isUserInput = false) {\n this.selectionChange.emit({\n source: this,\n isUserInput,\n selected: this._selected\n });\n }\n\n static ngAcceptInputType_selected: BooleanInput;\n static ngAcceptInputType_selectable: BooleanInput;\n static ngAcceptInputType_removable: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n static ngAcceptInputType_tabIndex: NumberInput;\n}\n\n/**\n * Applies proper (click) support and adds styling for use with the Material Design \"cancel\" icon\n * available at https://material.io/icons/#ic_cancel.\n *\n * Example:\n *\n * `<mat-chip>\n * <mat-icon matChipRemove>cancel</mat-icon>\n * </mat-chip>`\n *\n * You *may* use a custom icon, but you may need to override the `mat-chip-remove` positioning\n * styles to properly center the icon within the chip.\n */\n@Directive({\n selector: '[matChipRemove]',\n host: {\n 'class': 'mat-chip-remove mat-chip-trailing-icon',\n '(click)': '_handleClick($event)',\n },\n providers: [{provide: MAT_CHIP_REMOVE, useExisting: MatChipRemove}],\n})\nexport class MatChipRemove {\n constructor(\n protected _parentChip: MatChip,\n elementRef: ElementRef<HTMLElement>) {\n if (elementRef.nativeElement.nodeName === 'BUTTON') {\n elementRef.nativeElement.setAttribute('type', 'button');\n }\n }\n\n /** Calls the parent chip's public `remove()` method if applicable. */\n _handleClick(event: Event): void {\n const parentChip = this._parentChip;\n\n if (parentChip.removable && !parentChip.disabled) {\n parentChip.remove();\n }\n\n // We need to stop event propagation because otherwise the event will bubble up to the\n // form field and cause the `onContainerClick` method to be invoked. This method would then\n // reset the focused chip that has been focused after chip removal. Usually the parent\n // the parent click listener of the `MatChip` would prevent propagation, but it can happen\n // that the chip is being removed before the event bubbles up.\n event.stopPropagation();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/** Default options, for the chips module, that can be overridden. */\nexport interface MatChipsDefaultOptions {\n /** The list of key codes that will trigger a chipEnd event. */\n separatorKeyCodes: readonly number[] | ReadonlySet<number>;\n}\n\n/** Injection token to be used to override the default options for the chips module. */\nexport const MAT_CHIPS_DEFAULT_OPTIONS =\n new InjectionToken<MatChipsDefaultOptions>('mat-chips-default-options');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusKeyManager} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Self,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, FormGroupDirective, NgControl, NgForm} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n ErrorStateMatcher,\n mixinErrorState,\n} from '@angular/material/core';\nimport {MatFormFieldControl} from '@angular/material/form-field';\nimport {merge, Observable, Subject, Subscription} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {MatChip, MatChipEvent, MatChipSelectionChange} from './chip';\nimport {MatChipTextControl} from './chip-text-control';\n\n// Boilerplate for applying mixins to MatChipList.\n/** @docs-private */\nconst _MatChipListBase = mixinErrorState(class {\n constructor(public _defaultErrorStateMatcher: ErrorStateMatcher,\n public _parentForm: NgForm,\n public _parentFormGroup: FormGroupDirective,\n /** @docs-private */\n public ngControl: NgControl) {}\n});\n\n\n// Increasing integer for generating unique ids for chip-list components.\nlet nextUniqueId = 0;\n\n/** Change event object that is emitted when the chip list value has changed. */\nexport class MatChipListChange {\n constructor(\n /** Chip list that emitted the event. */\n public source: MatChipList,\n /** Value of the chip list when the event was emitted. */\n public value: any) { }\n}\n\n/**\n * A material design chips component (named ChipList for its similarity to the List component).\n */\n@Component({\n selector: 'mat-chip-list',\n template: `<div class=\"mat-chip-list-wrapper\"><ng-content></ng-content></div>`,\n exportAs: 'matChipList',\n host: {\n '[attr.tabindex]': 'disabled ? null : _tabIndex',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[attr.aria-required]': 'role ? required : null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-invalid]': 'errorState',\n '[attr.aria-multiselectable]': 'multiple',\n '[attr.role]': 'role',\n '[class.mat-chip-list-disabled]': 'disabled',\n '[class.mat-chip-list-invalid]': 'errorState',\n '[class.mat-chip-list-required]': 'required',\n '[attr.aria-orientation]': 'ariaOrientation',\n 'class': 'mat-chip-list',\n '(focus)': 'focus()',\n '(blur)': '_blur()',\n '(keydown)': '_keydown($event)',\n '[id]': '_uid',\n },\n providers: [{provide: MatFormFieldControl, useExisting: MatChipList}],\n styleUrls: ['chips.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatChipList extends _MatChipListBase implements MatFormFieldControl<any>,\n ControlValueAccessor, AfterContentInit, DoCheck, OnInit, OnDestroy, CanUpdateErrorState {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n readonly controlType: string = 'mat-chip-list';\n\n /**\n * When a chip is destroyed, we store the index of the destroyed chip until the chips\n * query list notifies about the update. This is necessary because we cannot determine an\n * appropriate chip that should receive focus until the array of chips updated completely.\n */\n private _lastDestroyedChipIndex: number | null = null;\n\n /** Subject that emits when the component has been destroyed. */\n private readonly _destroyed = new Subject<void>();\n\n /** Subscription to focus changes in the chips. */\n private _chipFocusSubscription: Subscription | null;\n\n /** Subscription to blur changes in the chips. */\n private _chipBlurSubscription: Subscription | null;\n\n /** Subscription to selection changes in chips. */\n private _chipSelectionSubscription: Subscription | null;\n\n /** Subscription to remove changes in chips. */\n private _chipRemoveSubscription: Subscription | null;\n\n /** The chip input to add more chips */\n protected _chipInput: MatChipTextControl;\n\n /** Uid of the chip list */\n _uid: string = `mat-chip-list-${nextUniqueId++}`;\n\n /** The aria-describedby attribute on the chip list for improved a11y. */\n _ariaDescribedby: string;\n\n /** Tab index for the chip list. */\n _tabIndex = 0;\n\n /**\n * User defined tab index.\n * When it is not null, use user defined tab index. Otherwise use _tabIndex\n */\n _userTabIndex: number | null = null;\n\n /** The FocusKeyManager which handles focus. */\n _keyManager: FocusKeyManager<MatChip>;\n\n /** Function when touched */\n _onTouched = () => {};\n\n /** Function when changed */\n _onChange: (value: any) => void = () => {};\n\n _selectionModel: SelectionModel<MatChip>;\n\n /** The array of selected chips inside chip list. */\n get selected(): MatChip[] | MatChip {\n return this.multiple ? (this._selectionModel?.selected || []) :\n this._selectionModel?.selected[0];\n }\n\n /** The ARIA role applied to the chip list. */\n get role(): string | null { return this.empty ? null : 'listbox'; }\n\n /** An object used to control when error messages are shown. */\n @Input() override errorStateMatcher: ErrorStateMatcher;\n\n /** Whether the user should be allowed to select multiple chips. */\n @Input()\n get multiple(): boolean { return this._multiple; }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n this._syncChipsState();\n }\n private _multiple: boolean = false;\n\n /**\n * A function to compare the option values with the selected values. The first argument\n * is a value from an option. The second is a value from the selection. A boolean\n * should be returned.\n */\n @Input()\n get compareWith(): (o1: any, o2: any) => boolean { return this._compareWith; }\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n this._compareWith = fn;\n if (this._selectionModel) {\n // A different comparator means the selection could change.\n this._initializeSelection();\n }\n }\n private _compareWith = (o1: any, o2: any) => o1 === o2;\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): any { return this._value; }\n set value(value: any) {\n this.writeValue(value);\n this._value = value;\n }\n protected _value: any;\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get id(): string {\n return this._chipInput ? this._chipInput.id : this._uid;\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean { return this._required; }\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n protected _required: boolean = false;\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._chipInput ? this._chipInput.placeholder : this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n protected _placeholder: string;\n\n /** Whether any chips or the matChipInput inside of this chip-list has focus. */\n get focused(): boolean {\n return (this._chipInput && this._chipInput.focused) || this._hasFocusedChip();\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return (!this._chipInput || this._chipInput.empty) && (!this.chips || this.chips.length === 0);\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat(): boolean { return !this.empty || this.focused; }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean { return this.ngControl ? !!this.ngControl.disabled : this._disabled; }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this._syncChipsState();\n }\n protected _disabled: boolean = false;\n\n /** Orientation of the chip list. */\n @Input('aria-orientation') ariaOrientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Whether or not this chip list is selectable. When a chip list is not selectable,\n * the selected states for all the chips inside the chip list are always ignored.\n */\n @Input()\n get selectable(): boolean { return this._selectable; }\n set selectable(value: boolean) {\n this._selectable = coerceBooleanProperty(value);\n\n if (this.chips) {\n this.chips.forEach(chip => chip.chipListSelectable = this._selectable);\n }\n }\n protected _selectable: boolean = true;\n\n @Input()\n set tabIndex(value: number) {\n this._userTabIndex = value;\n this._tabIndex = value;\n }\n\n /** Combined stream of all of the child chips' selection change events. */\n get chipSelectionChanges(): Observable<MatChipSelectionChange> {\n return merge(...this.chips.map(chip => chip.selectionChange));\n }\n\n /** Combined stream of all of the child chips' focus change events. */\n get chipFocusChanges(): Observable<MatChipEvent> {\n return merge(...this.chips.map(chip => chip._onFocus));\n }\n\n /** Combined stream of all of the child chips' blur change events. */\n get chipBlurChanges(): Observable<MatChipEvent> {\n return merge(...this.chips.map(chip => chip._onBlur));\n }\n\n /** Combined stream of all of the child chips' remove change events. */\n get chipRemoveChanges(): Observable<MatChipEvent> {\n return merge(...this.chips.map(chip => chip.destroyed));\n }\n\n /** Event emitted when the selected chip list value has been changed by the user. */\n @Output() readonly change = new EventEmitter<MatChipListChange>();\n\n /**\n * Event that emits whenever the raw value of the chip-list changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** The chip components contained within this chip list. */\n @ContentChildren(MatChip, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n }) chips: QueryList<MatChip>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _dir: Directionality,\n @Optional() _parentForm: NgForm,\n @Optional() _parentFormGroup: FormGroupDirective,\n _defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() ngControl: NgControl) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl);\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngAfterContentInit() {\n this._keyManager = new FocusKeyManager<MatChip>(this.chips)\n .withWrap()\n .withVerticalOrientation()\n .withHomeAndEnd()\n .withHorizontalOrientation(this._dir ? this._dir.value : 'ltr');\n\n if (this._dir) {\n this._dir.change\n .pipe(takeUntil(this._destroyed))\n .subscribe(dir => this._keyManager.withHorizontalOrientation(dir));\n }\n\n this._keyManager.tabOut.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._allowFocusEscape();\n });\n\n // When the list changes, re-subscribe\n this.chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n if (this.disabled) {\n // Since this happens after the content has been\n // checked, we need to defer it to the next tick.\n Promise.resolve().then(() => {\n this._syncChipsState();\n });\n }\n\n this._resetChips();\n\n // Reset chips selected/deselected status\n this._initializeSelection();\n\n // Check to see if we need to update our tab index\n this._updateTabIndex();\n\n // Check to see if we have a destroyed chip and need to refocus\n this._updateFocusForDestroyedChips();\n\n this.stateChanges.next();\n });\n }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<MatChip>(this.multiple, undefined, false);\n this.stateChanges.next();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n\n if (this.ngControl.disabled !== this._disabled) {\n this.disabled = !!this.ngControl.disabled;\n }\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n this.stateChanges.complete();\n\n this._dropSubscriptions();\n }\n\n /** Associates an HTML input element with this chip list. */\n registerInput(inputElement: MatChipTextControl): void {\n this._chipInput = inputElement;\n\n // We use this attribute to match the chip list to its input in test harnesses.\n // Set the attribute directly here to avoid \"changed after checked\" errors.\n this._elementRef.nativeElement.setAttribute('data-mat-chip-input', inputElement.id);\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n setDescribedByIds(ids: string[]) { this._ariaDescribedby = ids.join(' '); }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any): void {\n if (this.chips) {\n this._setSelectionByValue(value, false);\n }\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.stateChanges.next();\n }\n\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n onContainerClick(event: MouseEvent) {\n if (!this._originatesFromChip(event)) {\n this.focus();\n }\n }\n\n /**\n * Focuses the first non-disabled chip in this chip list, or the associated input when there\n * are no eligible chips.\n */\n focus(options?: FocusOptions): void {\n if (this.disabled) {\n return;\n }\n\n // TODO: ARIA says this should focus the first `selected` chip if any are selected.\n // Focus on first element if there's no chipInput inside chip-list\n if (this._chipInput && this._chipInput.focused) {\n // do nothing\n } else if (this.chips.length > 0) {\n this._keyManager.setFirstItemActive();\n this.stateChanges.next();\n } else {\n this._focusInput(options);\n this.stateChanges.next();\n }\n }\n\n /** Attempt to focus an input if we have one. */\n _focusInput(options?: FocusOptions) {\n if (this._chipInput) {\n this._chipInput.focus(options);\n }\n }\n\n /**\n * Pass events to the keyboard manager. Available here for tests.\n */\n _keydown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n\n if (target && target.classList.contains('mat-chip')) {\n this._keyManager.onKeydown(event);\n this.stateChanges.next();\n }\n }\n\n /**\n * Check the tab index as you should not be allowed to focus an empty list.\n */\n protected _updateTabIndex(): void {\n // If we have 0 chips, we should not allow keyboard focus\n this._tabIndex = this._userTabIndex || (this.chips.length === 0 ? -1 : 0);\n }\n\n /**\n * If the amount of chips changed, we need to update the\n * key manager state and focus the next closest chip.\n */\n protected _updateFocusForDestroyedChips() {\n // Move focus to the closest chip. If no other chips remain, focus the chip-list itself.\n if (this._lastDestroyedChipIndex != null) {\n if (this.chips.length) {\n const newChipIndex = Math.min(this._lastDestroyedChipIndex, this.chips.length - 1);\n this._keyManager.setActiveItem(newChipIndex);\n } else {\n this.focus();\n }\n }\n\n this._lastDestroyedChipIndex = null;\n }\n\n /**\n * Utility to ensure all indexes are valid.\n *\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of chips.\n */\n private _isValidIndex(index: number): boolean {\n return index >= 0 && index < this.chips.length;\n }\n\n _setSelectionByValue(value: any, isUserInput: boolean = true) {\n this._clearSelection();\n this.chips.forEach(chip => chip.deselect());\n\n if (Array.isArray(value)) {\n value.forEach(currentValue => this._selectValue(currentValue, isUserInput));\n this._sortValues();\n } else {\n const correspondingChip = this._selectValue(value, isUserInput);\n\n // Shift focus to the active item. Note that we shouldn't do this in multiple\n // mode, because we don't know what chip the user interacted with last.\n if (correspondingChip) {\n if (isUserInput) {\n this._keyManager.setActiveItem(correspondingChip);\n }\n }\n }\n }\n\n /**\n * Finds and selects the chip based on its value.\n * @returns Chip that has the corresponding value.\n */\n private _selectValue(value: any, isUserInput: boolean = true): MatChip | undefined {\n\n const correspondingChip = this.chips.find(chip => {\n return chip.value != null && this._compareWith(chip.value, value);\n });\n\n if (correspondingChip) {\n isUserInput ? correspondingChip.selectViaInteraction() : correspondingChip.select();\n this._selectionModel.select(correspondingChip);\n }\n\n return correspondingChip;\n }\n\n private _initializeSelection(): void {\n // Defer setting the value in order to avoid the \"Expression\n // has changed after it was checked\" errors from Angular.\n Promise.resolve().then(() => {\n if (this.ngControl || this._value) {\n this._setSelectionByValue(this.ngControl ? this.ngControl.value : this._value, false);\n this.stateChanges.next();\n }\n });\n }\n\n /**\n * Deselects every chip in the list.\n * @param skip Chip that should not be deselected.\n */\n private _clearSelection(skip?: MatChip): void {\n this._selectionModel.clear();\n this.chips.forEach(chip => {\n if (chip !== skip) {\n chip.deselect();\n }\n });\n this.stateChanges.next();\n }\n\n /**\n * Sorts the model values, ensuring that they keep the same\n * order that they have in the panel.\n */\n private _sortValues(): void {\n if (this._multiple) {\n this._selectionModel.clear();\n\n this.chips.forEach(chip => {\n if (chip.selected) {\n this._selectionModel.select(chip);\n }\n });\n this.stateChanges.next();\n }\n }\n\n /** Emits change event to set the model value. */\n private _propagateChanges(fallbackValue?: any): void {\n let valueToEmit: any = null;\n\n if (Array.isArray(this.selected)) {\n valueToEmit = this.selected.map(chip => chip.value);\n } else {\n valueToEmit = this.selected ? this.selected.value : fallbackValue;\n }\n this._value = valueToEmit;\n this.change.emit(new MatChipListChange(this, valueToEmit));\n this.valueChange.emit(valueToEmit);\n this._onChange(valueToEmit);\n this._changeDetectorRef.markForCheck();\n }\n\n /** When blurred, mark the field as touched when focus moved outside the chip list. */\n _blur() {\n if (!this._hasFocusedChip()) {\n this._keyManager.setActiveItem(-1);\n }\n\n if (!this.disabled) {\n if (this._chipInput) {\n // If there's a chip input, we should check whether the focus moved to chip input.\n // If the focus is not moved to chip input, mark the field as touched. If the focus moved\n // to chip input, do nothing.\n // Timeout is needed to wait for the focus() event trigger on chip input.\n setTimeout(() => {\n if (!this.focused) {\n this._markAsTouched();\n }\n });\n } else {\n // If there's no chip input, then mark the field as touched.\n this._markAsTouched();\n }\n }\n }\n\n /** Mark the field as touched */\n _markAsTouched() {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n\n /**\n * Removes the `tabindex` from the chip list and resets it back afterwards, allowing the\n * user to tab out of it. This prevents the list from capturing focus and redirecting\n * it back to the first chip, creating a focus trap, if it user tries to tab away.\n */\n _allowFocusEscape() {\n if (this._tabIndex !== -1) {\n this._tabIndex = -1;\n\n setTimeout(() => {\n this._tabIndex = this._userTabIndex || 0;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _resetChips() {\n this._dropSubscriptions();\n this._listenToChipsFocus();\n this._listenToChipsSelection();\n this._listenToChipsRemoved();\n }\n\n private _dropSubscriptions() {\n if (this._chipFocusSubscription) {\n this._chipFocusSubscription.unsubscribe();\n this._chipFocusSubscription = null;\n }\n\n if (this._chipBlurSubscription) {\n this._chipBlurSubscription.unsubscribe();\n this._chipBlurSubscription = null;\n }\n\n if (this._chipSelectionSubscription) {\n this._chipSelectionSubscription.unsubscribe();\n this._chipSelectionSubscription = null;\n }\n\n if (this._chipRemoveSubscription) {\n this._chipRemoveSubscription.unsubscribe();\n this._chipRemoveSubscription = null;\n }\n }\n\n /** Listens to user-generated selection events on each chip. */\n private _listenToChipsSelection(): void {\n this._chipSelectionSubscription = this.chipSelectionChanges.subscribe(event => {\n event.source.selected\n ? this._selectionModel.select(event.source)\n : this._selectionModel.deselect(event.source);\n\n // For single selection chip list, make sure the deselected value is unselected.\n if (!this.multiple) {\n this.chips.forEach(chip => {\n if (!this._selectionModel.isSelected(chip) && chip.selected) {\n chip.deselect();\n }\n });\n }\n\n if (event.isUserInput) {\n this._propagateChanges();\n }\n });\n }\n\n /** Listens to user-generated selection events on each chip. */\n private _listenToChipsFocus(): void {\n this._chipFocusSubscription = this.chipFocusChanges.subscribe(event => {\n let chipIndex: number = this.chips.toArray().indexOf(event.chip);\n\n if (this._isValidIndex(chipIndex)) {\n this._keyManager.updateActiveItem(chipIndex);\n }\n this.stateChanges.next();\n });\n\n this._chipBlurSubscription = this.chipBlurChanges.subscribe(() => {\n this._blur();\n this.stateChanges.next();\n });\n }\n\n private _listenToChipsRemoved(): void {\n this._chipRemoveSubscription = this.chipRemoveChanges.subscribe(event => {\n const chip = event.chip;\n const chipIndex = this.chips.toArray().indexOf(event.chip);\n\n // In case the chip that will be removed is currently focused, we temporarily store\n // the index in order to be able to determine an appropriate sibling chip that will\n // receive focus.\n if (this._isValidIndex(chipIndex) && chip._hasFocus) {\n this._lastDestroyedChipIndex = chipIndex;\n }\n });\n }\n\n /** Checks whether an event comes from inside a chip element. */\n private _originatesFromChip(event: Event): boolean {\n let currentElement = event.target as HTMLElement | null;\n\n while (currentElement && currentElement !== this._elementRef.nativeElement) {\n if (currentElement.classList.contains('mat-chip')) {\n return true;\n }\n\n currentElement = currentElement.parentElement;\n }\n\n return false;\n }\n\n /** Checks whether any of the chips is focused. */\n private _hasFocusedChip() {\n return this.chips && this.chips.some(chip => chip._hasFocus);\n }\n\n /** Syncs the list's state with the individual chips. */\n private _syncChipsState() {\n if (this.chips) {\n this.chips.forEach(chip => {\n chip._chipListDisabled = this._disabled;\n chip._chipListMultiple = this.multiple;\n });\n }\n }\n\n static ngAcceptInputType_multiple: BooleanInput;\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_selectable: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {BACKSPACE, hasModifierKey, TAB} from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Output\n} from '@angular/core';\nimport {MatChipsDefaultOptions, MAT_CHIPS_DEFAULT_OPTIONS} from './chip-default-options';\nimport {MatChipList} from './chip-list';\nimport {MatChipTextControl} from './chip-text-control';\n\n/** Represents an input event on a `matChipInput`. */\nexport interface MatChipInputEvent {\n /**\n * The native `<input>` element that the event is being fired for.\n * @deprecated Use `MatChipInputEvent#chipInput.inputElement` instead.\n * @breaking-change 13.0.0 This property will be removed.\n */\n input: HTMLInputElement;\n\n /** The value of the input. */\n value: string;\n\n /**\n * Reference to the chip input that emitted the event.\n * @breaking-change 13.0.0 This property will be made required.\n */\n chipInput?: MatChipInput;\n}\n\n// Increasing integer for generating unique ids.\nlet nextUniqueId = 0;\n\n/**\n * Directive that adds chip-specific behaviors to an input element inside `<mat-form-field>`.\n * May be placed inside or outside of an `<mat-chip-list>`.\n */\n@Directive({\n selector: 'input[matChipInputFor]',\n exportAs: 'matChipInput, matChipInputFor',\n host: {\n 'class': 'mat-chip-input mat-input-element',\n '(keydown)': '_keydown($event)',\n '(keyup)': '_keyup($event)',\n '(blur)': '_blur()',\n '(focus)': '_focus()',\n '(input)': '_onInput()',\n '[id]': 'id',\n '[attr.disabled]': 'disabled || null',\n '[attr.placeholder]': 'placeholder || null',\n '[attr.aria-invalid]': '_chipList && _chipList.ngControl ? _chipList.ngControl.invalid : null',\n '[attr.aria-required]': '_chipList && _chipList.required || null',\n }\n})\nexport class MatChipInput implements MatChipTextControl, OnChanges, OnDestroy, AfterContentInit {\n /** Used to prevent focus moving to chips while user is holding backspace */\n private _focusLastChipOnBackspace: boolean;\n\n /** Whether the control is focused. */\n focused: boolean = false;\n _chipList: MatChipList;\n\n /** Register input for chip list */\n @Input('matChipInputFor')\n set chipList(value: MatChipList) {\n if (value) {\n this._chipList = value;\n this._chipList.registerInput(this);\n }\n }\n\n /**\n * Whether or not the chipEnd event will be emitted when the input is blurred.\n */\n @Input('matChipInputAddOnBlur')\n get addOnBlur(): boolean { return this._addOnBlur; }\n set addOnBlur(value: boolean) { this._addOnBlur = coerceBooleanProperty(value); }\n _addOnBlur: boolean = false;\n\n /**\n * The list of key codes that will trigger a chipEnd event.\n *\n * Defaults to `[ENTER]`.\n */\n @Input('matChipInputSeparatorKeyCodes')\n separatorKeyCodes: readonly number[] | ReadonlySet<number> =\n this._defaultOptions.separatorKeyCodes;\n\n /** Emitted when a chip is to be added. */\n @Output('matChipInputTokenEnd') readonly chipEnd = new EventEmitter<MatChipInputEvent>();\n\n /** The input's placeholder text. */\n @Input() placeholder: string = '';\n\n /** Unique id for the input. */\n @Input() id: string = `mat-chip-list-input-${nextUniqueId++}`;\n\n /** Whether the input is disabled. */\n @Input()\n get disabled(): boolean { return this._disabled || (this._chipList && this._chipList.disabled); }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled: boolean = false;\n\n /** Whether the input is empty. */\n get empty(): boolean { return !this.inputElement.value; }\n\n /** The native input element to which this directive is attached. */\n readonly inputElement: HTMLInputElement;\n\n constructor(\n protected _elementRef: ElementRef<HTMLInputElement>,\n @Inject(MAT_CHIPS_DEFAULT_OPTIONS) private _defaultOptions: MatChipsDefaultOptions) {\n this.inputElement = this._elementRef.nativeElement as HTMLInputElement;\n }\n\n ngOnChanges(): void {\n this._chipList.stateChanges.next();\n }\n\n ngOnDestroy(): void {\n this.chipEnd.complete();\n }\n\n ngAfterContentInit(): void {\n this._focusLastChipOnBackspace = this.empty;\n }\n\n /** Utility method to make host definition/tests more clear. */\n _keydown(event?: KeyboardEvent) {\n if (event) {\n // Allow the user's focus to escape when they're tabbing forward. Note that we don't\n // want to do this when going backwards, because focus should go back to the first chip.\n if (event.keyCode === TAB && !hasModifierKey(event, 'shiftKey')) {\n this._chipList._allowFocusEscape();\n }\n\n // To prevent the user from accidentally deleting chips when pressing BACKSPACE continuously,\n // We focus the last chip on backspace only after the user has released the backspace button,\n // and the input is empty (see behaviour in _keyup)\n if (event.keyCode === BACKSPACE && this._focusLastChipOnBackspace) {\n this._chipList._keyManager.setLastItemActive();\n event.preventDefault();\n return;\n } else {\n this._focusLastChipOnBackspace = false;\n }\n }\n\n this._emitChipEnd(event);\n }\n\n /**\n * Pass events to the keyboard manager. Available here for tests.\n */\n _keyup(event: KeyboardEvent) {\n // Allow user to move focus to chips next time he presses backspace\n if (!this._focusLastChipOnBackspace && event.keyCode === BACKSPACE && this.empty) {\n this._focusLastChipOnBackspace = true;\n event.preventDefault();\n }\n }\n\n /** Checks to see if the blur should emit the (chipEnd) event. */\n _blur() {\n if (this.addOnBlur) {\n this._emitChipEnd();\n }\n this.focused = false;\n // Blur the chip list if it is not focused\n if (!this._chipList.focused) {\n this._chipList._blur();\n }\n this._chipList.stateChanges.next();\n }\n\n _focus() {\n this.focused = true;\n this._focusLastChipOnBackspace = this.empty;\n this._chipList.stateChanges.next();\n }\n\n /** Checks to see if the (chipEnd) event needs to be emitted. */\n _emitChipEnd(event?: KeyboardEvent) {\n if (!this.inputElement.value && !!event) {\n this._chipList._keydown(event);\n }\n\n if (!event || this._isSeparatorKey(event)) {\n this.chipEnd.emit({\n input: this.inputElement,\n value: this.inputElement.value,\n chipInput: this,\n });\n\n event?.preventDefault();\n }\n }\n\n _onInput() {\n // Let chip list know whenever the value changes.\n this._chipList.stateChanges.next();\n }\n\n /** Focuses the input. */\n focus(options?: FocusOptions): void {\n this.inputElement.focus(options);\n }\n\n /** Clears the input */\n clear(): void {\n this.inputElement.value = '';\n this._focusLastChipOnBackspace = true;\n }\n\n /** Checks whether a keycode is one of the configured separators. */\n private _isSeparatorKey(event: KeyboardEvent) {\n return !hasModifierKey(event) && new Set(this.separatorKeyCodes).has(event.keyCode);\n }\n\n static ngAcceptInputType_addOnBlur: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ENTER} from '@angular/cdk/keycodes';\nimport {NgModule} from '@angular/core';\nimport {ErrorStateMatcher, MatCommonModule} from '@angular/material/core';\nimport {MatChip, MatChipAvatar, MatChipRemove, MatChipTrailingIcon} from './chip';\nimport {MAT_CHIPS_DEFAULT_OPTIONS, MatChipsDefaultOptions} from './chip-default-options';\nimport {MatChipInput} from './chip-input';\nimport {MatChipList} from './chip-list';\n\nconst CHIP_DECLARATIONS = [\n MatChipList,\n MatChip,\n MatChipInput,\n MatChipRemove,\n MatChipAvatar,\n MatChipTrailingIcon,\n];\n\n@NgModule({\n imports: [MatCommonModule],\n exports: CHIP_DECLARATIONS,\n declarations: CHIP_DECLARATIONS,\n providers: [\n ErrorStateMatcher,\n {\n provide: MAT_CHIPS_DEFAULT_OPTIONS,\n useValue: {\n separatorKeyCodes: [ENTER]\n } as MatChipsDefaultOptions\n }\n ]\n})\nexport class MatChipsModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './chips-module';\nexport * from './chip-list';\nexport * from './chip';\nexport * from './chip-input';\nexport * from './chip-default-options';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"]}
Note: See TracBrowser for help on using the repository browser.