@angular/material 21.0.0-rc.3 → 21.0.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/_animation-chunk.mjs.map +1 -1
- package/fesm2022/_date-formats-chunk.mjs.map +1 -1
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_error-options-chunk.mjs.map +1 -1
- package/fesm2022/_error-state-chunk.mjs.map +1 -1
- package/fesm2022/_form-field-chunk.mjs.map +1 -1
- package/fesm2022/_icon-button-chunk.mjs.map +1 -1
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
- package/fesm2022/_input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
- package/fesm2022/_line-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_option-harness-chunk.mjs.map +1 -1
- package/fesm2022/_option-module-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
- package/fesm2022/_public-api-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
- package/fesm2022/_tooltip-chunk.mjs.map +1 -1
- package/fesm2022/autocomplete-testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge-testing.mjs.map +1 -1
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-testing.mjs.map +1 -1
- package/fesm2022/button-toggle-testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card-testing.mjs.map +1 -1
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox-testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips-testing.mjs.map +1 -1
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core-testing.mjs.map +1 -1
- package/fesm2022/core.mjs +1 -1
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker-testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog-testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider-testing.mjs.map +1 -1
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion-testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field-testing-control.mjs.map +1 -1
- package/fesm2022/form-field-testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list-testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon-testing.mjs.map +1 -1
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input-testing.mjs.map +1 -1
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list-testing.mjs.map +1 -1
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/material.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator-testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar-testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner-testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio-testing.mjs.map +1 -1
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select-testing.mjs.map +1 -1
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav-testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle-testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider-testing.mjs.map +1 -1
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar-testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort-testing.mjs.map +1 -1
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper-testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table-testing.mjs.map +1 -1
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker-testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip-testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +6 -6
- package/schematics/ng-add/index.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox-config.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox-module.ts"],"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.dev/license\n */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '../core';\n\n/** Default `mat-checkbox` options that can be overridden. */\nexport interface MatCheckboxDefaultOptions {\n /**\n * Default theme color of the checkbox. This API is supported in M2 themes\n * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/checkbox/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n color?: ThemePalette;\n\n /** Default checkbox click action for checkboxes. */\n clickAction?: MatCheckboxClickAction;\n\n /** Whether disabled checkboxes should be interactive. */\n disabledInteractive?: boolean;\n}\n\nexport const checkboxDefaults: MatCheckboxDefaultOptions = {\n color: 'accent',\n clickAction: 'check-indeterminate',\n disabledInteractive: false,\n};\n\n/** Injection token to be used to override the default options for `mat-checkbox`. */\nexport const MAT_CHECKBOX_DEFAULT_OPTIONS = new InjectionToken<MatCheckboxDefaultOptions>(\n 'mat-checkbox-default-options',\n {\n providedIn: 'root',\n factory: () => checkboxDefaults,\n },\n);\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\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.dev/license\n */\n\nimport {_IdGenerator, FocusableOption} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n inject,\n HostAttributeToken,\n signal,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport {\n MatRipple,\n _MatInternalFormField,\n _StructuralStylesLoader,\n _animationsDisabled,\n} from '../core';\nimport {\n checkboxDefaults,\n MAT_CHECKBOX_DEFAULT_OPTIONS,\n MatCheckboxDefaultOptions,\n} from './checkbox-config';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate,\n}\n\n/** Change event object emitted by checkbox. */\nexport class MatCheckboxChange {\n /** The source checkbox of the event. */\n source: MatCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n@Component({\n selector: 'mat-checkbox',\n templateUrl: 'checkbox.html',\n styleUrl: 'checkbox.css',\n host: {\n 'class': 'mat-mdc-checkbox',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n '[class.mdc-checkbox--disabled]': 'disabled',\n '[id]': 'id',\n // Add classes that users can use to more easily target disabled or checked checkboxes.\n '[class.mat-mdc-checkbox-disabled]': 'disabled',\n '[class.mat-mdc-checkbox-checked]': 'checked',\n '[class.mat-mdc-checkbox-disabled-interactive]': 'disabledInteractive',\n '[class]': 'color ? \"mat-\" + color : \"mat-accent\"',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: MatCheckbox,\n multi: true,\n },\n ],\n exportAs: 'matCheckbox',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatRipple, _MatInternalFormField],\n})\nexport class MatCheckbox\n implements AfterViewInit, OnChanges, ControlValueAccessor, Validator, FocusableOption\n{\n _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n private _options = inject<MatCheckboxDefaultOptions>(MAT_CHECKBOX_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n /** Focuses the checkbox. */\n focus() {\n this._inputElement.nativeElement.focus();\n }\n\n /** Creates the change event that will be emitted by the checkbox. */\n protected _createChangeEvent(isChecked: boolean) {\n const event = new MatCheckboxChange();\n event.source = this;\n event.checked = isChecked;\n return event;\n }\n\n /** Gets the element on which to add the animation CSS classes. */\n protected _getAnimationTargetElement() {\n return this._inputElement?.nativeElement;\n }\n\n /** CSS classes to add when transitioning between the different checkbox states. */\n protected _animationClasses = {\n uncheckedToChecked: 'mdc-checkbox--anim-unchecked-checked',\n uncheckedToIndeterminate: 'mdc-checkbox--anim-unchecked-indeterminate',\n checkedToUnchecked: 'mdc-checkbox--anim-checked-unchecked',\n checkedToIndeterminate: 'mdc-checkbox--anim-checked-indeterminate',\n indeterminateToChecked: 'mdc-checkbox--anim-indeterminate-checked',\n indeterminateToUnchecked: 'mdc-checkbox--anim-indeterminate-unchecked',\n };\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string = '';\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** The 'aria-describedby' attribute is read after the element's label and field type. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /**\n * Users can specify the `aria-expanded` attribute which will be forwarded to the input element\n */\n @Input({alias: 'aria-expanded', transform: booleanAttribute}) ariaExpanded: boolean;\n\n /**\n * Users can specify the `aria-controls` attribute which will be forwarded to the input element\n */\n @Input('aria-controls') ariaControls: string;\n\n /** Users can specify the `aria-owns` attribute which will be forwarded to the input element */\n @Input('aria-owns') ariaOwns: string;\n\n private _uniqueId: string;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string {\n return `${this.id || this._uniqueId}-input`;\n }\n\n /** Whether the checkbox is required. */\n @Input({transform: booleanAttribute}) required: boolean;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change = new EventEmitter<MatCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** Whether the checkbox has a ripple. */\n @Input({transform: booleanAttribute}) disableRipple: boolean;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input') _inputElement: ElementRef<HTMLInputElement>;\n\n /** The native `<label>` element */\n @ViewChild('label') _labelElement: ElementRef<HTMLInputElement>;\n\n /** Tabindex for the checkbox. */\n @Input({transform: (value: unknown) => (value == null ? undefined : numberAttribute(value))})\n tabIndex: number;\n\n // TODO(crisbeto): this should be a ThemePalette, but some internal apps were abusing\n // the lack of type checking previously and assigning random strings.\n /**\n * Theme color of the checkbox. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/checkbox/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: string | undefined;\n\n /** Whether the checkbox should remain interactive when it is disabled. */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n _onTouched: () => any = () => {};\n\n private _currentAnimationClass: string = '';\n private _currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n private _validatorChangeFn = () => {};\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this._options = this._options || checkboxDefaults;\n this.color = this._options.color || checkboxDefaults.color;\n this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;\n this.id = this._uniqueId = inject(_IdGenerator).getId('mat-mdc-checkbox-');\n this.disabledInteractive = this._options?.disabledInteractive ?? false;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['required']) {\n this._validatorChangeFn();\n }\n }\n\n ngAfterViewInit() {\n this._syncIndeterminate(this.indeterminate);\n }\n\n /** Whether the checkbox is checked. */\n @Input({transform: booleanAttribute})\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n if (value != this.checked) {\n this._checked = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _checked: boolean = false;\n\n /** Whether the checkbox is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this._disabled = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input({transform: booleanAttribute})\n get indeterminate(): boolean {\n return this._indeterminate();\n }\n set indeterminate(value: boolean) {\n const changed = value != this._indeterminate();\n this._indeterminate.set(value);\n\n if (changed) {\n if (value) {\n this._transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this._transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n );\n }\n this.indeterminateChange.emit(value);\n }\n\n this._syncIndeterminate(value);\n }\n private _indeterminate = signal(false);\n\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the checkbox\n // component will be only marked for check, but no actual change detection runs automatically.\n // Instead of going back into the zone in order to trigger a change detection which causes\n // *all* components to be checked (if explicitly marked or not using OnPush), we only trigger\n // an explicit change detection for the checkbox view and its children.\n this._changeDetectorRef.detectChanges();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n // Implemented as a part of Validator.\n validate(control: AbstractControl<boolean>): ValidationErrors | null {\n return this.required && control.value !== true ? {'required': true} : null;\n }\n\n // Implemented as a part of Validator.\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChangeFn = fn;\n }\n\n private _transitionCheckState(newState: TransitionCheckState) {\n let oldState = this._currentCheckState;\n let element = this._getAnimationTargetElement();\n\n if (oldState === newState || !element) {\n return;\n }\n if (this._currentAnimationClass) {\n element.classList.remove(this._currentAnimationClass);\n }\n\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(\n oldState,\n newState,\n );\n this._currentCheckState = newState;\n\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element!.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n\n private _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(this._createChangeEvent(this.checked));\n\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this._inputElement) {\n this._inputElement.nativeElement.checked = this.checked;\n }\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n this._controlValueAccessorChangeFn(this.checked);\n }\n\n protected _handleInputClick() {\n const clickAction = this._options?.clickAction;\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && clickAction !== 'check') {\n Promise.resolve().then(() => {\n this._indeterminate.set(false);\n this.indeterminateChange.emit(false);\n });\n }\n\n this._checked = !this._checked;\n this._transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n );\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent();\n } else if (\n (this.disabled && this.disabledInteractive) ||\n (!this.disabled && clickAction === 'noop')\n ) {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mat-checkbox`.\n this._inputElement.nativeElement.checked = this.checked;\n this._inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n\n _onBlur() {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _getAnimationClassForCheckStateTransition(\n oldState: TransitionCheckState,\n newState: TransitionCheckState,\n ): string {\n // Don't transition if animations are disabled.\n if (this._animationsDisabled) {\n return '';\n }\n\n switch (oldState) {\n case TransitionCheckState.Init:\n // Handle edge case where user interacts with checkbox that does not have [(ngModel)] or\n // [checked] bound to it.\n if (newState === TransitionCheckState.Checked) {\n return this._animationClasses.uncheckedToChecked;\n } else if (newState == TransitionCheckState.Indeterminate) {\n return this._checked\n ? this._animationClasses.checkedToIndeterminate\n : this._animationClasses.uncheckedToIndeterminate;\n }\n break;\n case TransitionCheckState.Unchecked:\n return newState === TransitionCheckState.Checked\n ? this._animationClasses.uncheckedToChecked\n : this._animationClasses.uncheckedToIndeterminate;\n case TransitionCheckState.Checked:\n return newState === TransitionCheckState.Unchecked\n ? this._animationClasses.checkedToUnchecked\n : this._animationClasses.checkedToIndeterminate;\n case TransitionCheckState.Indeterminate:\n return newState === TransitionCheckState.Checked\n ? this._animationClasses.indeterminateToChecked\n : this._animationClasses.indeterminateToUnchecked;\n }\n\n return '';\n }\n\n /**\n * Syncs the indeterminate value with the checkbox DOM node.\n *\n * We sync `indeterminate` directly on the DOM node, because in Ivy the check for whether a\n * property is supported on an element boils down to `if (propName in element)`. Domino's\n * HTMLInputElement doesn't have an `indeterminate` property so Ivy will warn during\n * server-side rendering.\n */\n private _syncIndeterminate(value: boolean) {\n const nativeCheckbox = this._inputElement;\n\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n }\n\n _onInputClick() {\n this._handleInputClick();\n }\n\n _onTouchTargetClick() {\n this._handleInputClick();\n\n if (!this.disabled) {\n // Normally the input should be focused already, but if the click\n // comes from the touch target, then we might have to focus it ourselves.\n this._inputElement.nativeElement.focus();\n }\n }\n\n /**\n * Prevent click events that come from the `<label/>` element from bubbling. This prevents the\n * click handler on the host from triggering twice when clicking on the `<label/>` element. After\n * the click event on the `<label/>` propagates, the browsers dispatches click on the associated\n * `<input/>`. By preventing clicks on the label by bubbling, we ensure only one click event\n * bubbles when the label is clicked.\n */\n _preventBubblingFromLabel(event: MouseEvent) {\n if (!!event.target && this._labelElement.nativeElement.contains(event.target as HTMLElement)) {\n event.stopPropagation();\n }\n }\n}\n","<div mat-internal-form-field [labelPosition]=\"labelPosition\" (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"mdc-checkbox\">\n <!-- Render this element first so the input is on top. -->\n <div class=\"mat-mdc-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n [class.mdc-checkbox--selected]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"indeterminate ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled && disabledInteractive ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled && !disabledInteractive\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"disabled && !disabledInteractive ? -1 : tabIndex\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"mdc-checkbox__ripple\"></div>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n <div class=\"mat-mdc-checkbox-ripple mat-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"checkbox\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <!--\n Avoid putting a click handler on the <label/> to fix duplicate navigation stop on Talk Back\n (#14385). Putting a click handler on the <label/> caused this bug because the browser produced\n an unnecessary accessibility tree node.\n -->\n <label class=\"mdc-label\" #label [for]=\"inputId\">\n <ng-content></ng-content>\n </label>\n</div>\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.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\nimport {MatCheckbox} from './checkbox';\n\n@NgModule({\n imports: [MatCheckbox],\n exports: [MatCheckbox, BidiModule],\n})\nexport class MatCheckboxModule {}\n"],"names":["checkboxDefaults","color","clickAction","disabledInteractive","MAT_CHECKBOX_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","TransitionCheckState","MatCheckboxChange","source","checked","MatCheckbox","_elementRef","inject","ElementRef","_changeDetectorRef","ChangeDetectorRef","_ngZone","NgZone","_animationsDisabled","_options","optional","focus","_inputElement","nativeElement","_createChangeEvent","isChecked","event","_getAnimationTargetElement","_animationClasses","uncheckedToChecked","uncheckedToIndeterminate","checkedToUnchecked","checkedToIndeterminate","indeterminateToChecked","indeterminateToUnchecked","ariaLabel","ariaLabelledby","ariaDescribedby","ariaExpanded","ariaControls","ariaOwns","_uniqueId","id","inputId","required","labelPosition","name","change","EventEmitter","indeterminateChange","value","disableRipple","_labelElement","tabIndex","_onTouched","_currentAnimationClass","_currentCheckState","Init","_controlValueAccessorChangeFn","_validatorChangeFn","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","HostAttributeToken","parseInt","_IdGenerator","getId","ngOnChanges","changes","ngAfterViewInit","_syncIndeterminate","indeterminate","_checked","markForCheck","disabled","_disabled","_indeterminate","changed","set","_transitionCheckState","Indeterminate","Checked","Unchecked","emit","signal","_isRippleDisabled","_onLabelTextChange","detectChanges","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","validate","control","registerOnValidatorChange","newState","oldState","element","classList","remove","_getAnimationClassForCheckStateTransition","length","add","animationClass","runOutsideAngular","setTimeout","_emitChangeEvent","toggle","_handleInputClick","Promise","resolve","then","_onInteractionEvent","stopPropagation","_onBlur","nativeCheckbox","_onInputClick","_onTouchTargetClick","_preventBubblingFromLabel","target","contains","deps","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","booleanAttribute","undefined","numberAttribute","outputs","host","properties","classAttribute","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","NG_VALIDATORS","viewQueries","propertyName","first","predicate","descendants","exportAs","usesOnChanges","ngImport","template","styles","dependencies","kind","MatRipple","selector","inputs","_MatInternalFormField","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","imports","Input","alias","transform","Output","ViewChild","MatCheckboxModule","NgModule","ɵmod","ɵɵngDeclareNgModule","exports","BidiModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox-config.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/checkbox-module.ts"],"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.dev/license\n */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '../core';\n\n/** Default `mat-checkbox` options that can be overridden. */\nexport interface MatCheckboxDefaultOptions {\n /**\n * Default theme color of the checkbox. This API is supported in M2 themes\n * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/checkbox/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n color?: ThemePalette;\n\n /** Default checkbox click action for checkboxes. */\n clickAction?: MatCheckboxClickAction;\n\n /** Whether disabled checkboxes should be interactive. */\n disabledInteractive?: boolean;\n}\n\nexport const checkboxDefaults: MatCheckboxDefaultOptions = {\n color: 'accent',\n clickAction: 'check-indeterminate',\n disabledInteractive: false,\n};\n\n/** Injection token to be used to override the default options for `mat-checkbox`. */\nexport const MAT_CHECKBOX_DEFAULT_OPTIONS = new InjectionToken<MatCheckboxDefaultOptions>(\n 'mat-checkbox-default-options',\n {\n providedIn: 'root',\n factory: () => checkboxDefaults,\n },\n);\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\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.dev/license\n */\n\nimport {_IdGenerator, FocusableOption} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n inject,\n HostAttributeToken,\n signal,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport {\n MatRipple,\n _MatInternalFormField,\n _StructuralStylesLoader,\n _animationsDisabled,\n} from '../core';\nimport {\n checkboxDefaults,\n MAT_CHECKBOX_DEFAULT_OPTIONS,\n MatCheckboxDefaultOptions,\n} from './checkbox-config';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate,\n}\n\n/** Change event object emitted by checkbox. */\nexport class MatCheckboxChange {\n /** The source checkbox of the event. */\n source: MatCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n@Component({\n selector: 'mat-checkbox',\n templateUrl: 'checkbox.html',\n styleUrl: 'checkbox.css',\n host: {\n 'class': 'mat-mdc-checkbox',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n '[class.mdc-checkbox--disabled]': 'disabled',\n '[id]': 'id',\n // Add classes that users can use to more easily target disabled or checked checkboxes.\n '[class.mat-mdc-checkbox-disabled]': 'disabled',\n '[class.mat-mdc-checkbox-checked]': 'checked',\n '[class.mat-mdc-checkbox-disabled-interactive]': 'disabledInteractive',\n '[class]': 'color ? \"mat-\" + color : \"mat-accent\"',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: MatCheckbox,\n multi: true,\n },\n ],\n exportAs: 'matCheckbox',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatRipple, _MatInternalFormField],\n})\nexport class MatCheckbox\n implements AfterViewInit, OnChanges, ControlValueAccessor, Validator, FocusableOption\n{\n _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n private _options = inject<MatCheckboxDefaultOptions>(MAT_CHECKBOX_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n /** Focuses the checkbox. */\n focus() {\n this._inputElement.nativeElement.focus();\n }\n\n /** Creates the change event that will be emitted by the checkbox. */\n protected _createChangeEvent(isChecked: boolean) {\n const event = new MatCheckboxChange();\n event.source = this;\n event.checked = isChecked;\n return event;\n }\n\n /** Gets the element on which to add the animation CSS classes. */\n protected _getAnimationTargetElement() {\n return this._inputElement?.nativeElement;\n }\n\n /** CSS classes to add when transitioning between the different checkbox states. */\n protected _animationClasses = {\n uncheckedToChecked: 'mdc-checkbox--anim-unchecked-checked',\n uncheckedToIndeterminate: 'mdc-checkbox--anim-unchecked-indeterminate',\n checkedToUnchecked: 'mdc-checkbox--anim-checked-unchecked',\n checkedToIndeterminate: 'mdc-checkbox--anim-checked-indeterminate',\n indeterminateToChecked: 'mdc-checkbox--anim-indeterminate-checked',\n indeterminateToUnchecked: 'mdc-checkbox--anim-indeterminate-unchecked',\n };\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string = '';\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** The 'aria-describedby' attribute is read after the element's label and field type. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /**\n * Users can specify the `aria-expanded` attribute which will be forwarded to the input element\n */\n @Input({alias: 'aria-expanded', transform: booleanAttribute}) ariaExpanded: boolean;\n\n /**\n * Users can specify the `aria-controls` attribute which will be forwarded to the input element\n */\n @Input('aria-controls') ariaControls: string;\n\n /** Users can specify the `aria-owns` attribute which will be forwarded to the input element */\n @Input('aria-owns') ariaOwns: string;\n\n private _uniqueId: string;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string {\n return `${this.id || this._uniqueId}-input`;\n }\n\n /** Whether the checkbox is required. */\n @Input({transform: booleanAttribute}) required: boolean;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change = new EventEmitter<MatCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** Whether the checkbox has a ripple. */\n @Input({transform: booleanAttribute}) disableRipple: boolean;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input') _inputElement: ElementRef<HTMLInputElement>;\n\n /** The native `<label>` element */\n @ViewChild('label') _labelElement: ElementRef<HTMLInputElement>;\n\n /** Tabindex for the checkbox. */\n @Input({transform: (value: unknown) => (value == null ? undefined : numberAttribute(value))})\n tabIndex: number;\n\n // TODO(crisbeto): this should be a ThemePalette, but some internal apps were abusing\n // the lack of type checking previously and assigning random strings.\n /**\n * Theme color of the checkbox. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/checkbox/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: string | undefined;\n\n /** Whether the checkbox should remain interactive when it is disabled. */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n _onTouched: () => any = () => {};\n\n private _currentAnimationClass: string = '';\n private _currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n private _validatorChangeFn = () => {};\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this._options = this._options || checkboxDefaults;\n this.color = this._options.color || checkboxDefaults.color;\n this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;\n this.id = this._uniqueId = inject(_IdGenerator).getId('mat-mdc-checkbox-');\n this.disabledInteractive = this._options?.disabledInteractive ?? false;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['required']) {\n this._validatorChangeFn();\n }\n }\n\n ngAfterViewInit() {\n this._syncIndeterminate(this.indeterminate);\n }\n\n /** Whether the checkbox is checked. */\n @Input({transform: booleanAttribute})\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n if (value != this.checked) {\n this._checked = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _checked: boolean = false;\n\n /** Whether the checkbox is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n if (value !== this.disabled) {\n this._disabled = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input({transform: booleanAttribute})\n get indeterminate(): boolean {\n return this._indeterminate();\n }\n set indeterminate(value: boolean) {\n const changed = value != this._indeterminate();\n this._indeterminate.set(value);\n\n if (changed) {\n if (value) {\n this._transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this._transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n );\n }\n this.indeterminateChange.emit(value);\n }\n\n this._syncIndeterminate(value);\n }\n private _indeterminate = signal(false);\n\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the checkbox\n // component will be only marked for check, but no actual change detection runs automatically.\n // Instead of going back into the zone in order to trigger a change detection which causes\n // *all* components to be checked (if explicitly marked or not using OnPush), we only trigger\n // an explicit change detection for the checkbox view and its children.\n this._changeDetectorRef.detectChanges();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n // Implemented as a part of Validator.\n validate(control: AbstractControl<boolean>): ValidationErrors | null {\n return this.required && control.value !== true ? {'required': true} : null;\n }\n\n // Implemented as a part of Validator.\n registerOnValidatorChange(fn: () => void): void {\n this._validatorChangeFn = fn;\n }\n\n private _transitionCheckState(newState: TransitionCheckState) {\n let oldState = this._currentCheckState;\n let element = this._getAnimationTargetElement();\n\n if (oldState === newState || !element) {\n return;\n }\n if (this._currentAnimationClass) {\n element.classList.remove(this._currentAnimationClass);\n }\n\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(\n oldState,\n newState,\n );\n this._currentCheckState = newState;\n\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element!.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n\n private _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(this._createChangeEvent(this.checked));\n\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this._inputElement) {\n this._inputElement.nativeElement.checked = this.checked;\n }\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n this._controlValueAccessorChangeFn(this.checked);\n }\n\n protected _handleInputClick() {\n const clickAction = this._options?.clickAction;\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && clickAction !== 'check') {\n Promise.resolve().then(() => {\n this._indeterminate.set(false);\n this.indeterminateChange.emit(false);\n });\n }\n\n this._checked = !this._checked;\n this._transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked,\n );\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent();\n } else if (\n (this.disabled && this.disabledInteractive) ||\n (!this.disabled && clickAction === 'noop')\n ) {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mat-checkbox`.\n this._inputElement.nativeElement.checked = this.checked;\n this._inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n\n _onBlur() {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private _getAnimationClassForCheckStateTransition(\n oldState: TransitionCheckState,\n newState: TransitionCheckState,\n ): string {\n // Don't transition if animations are disabled.\n if (this._animationsDisabled) {\n return '';\n }\n\n switch (oldState) {\n case TransitionCheckState.Init:\n // Handle edge case where user interacts with checkbox that does not have [(ngModel)] or\n // [checked] bound to it.\n if (newState === TransitionCheckState.Checked) {\n return this._animationClasses.uncheckedToChecked;\n } else if (newState == TransitionCheckState.Indeterminate) {\n return this._checked\n ? this._animationClasses.checkedToIndeterminate\n : this._animationClasses.uncheckedToIndeterminate;\n }\n break;\n case TransitionCheckState.Unchecked:\n return newState === TransitionCheckState.Checked\n ? this._animationClasses.uncheckedToChecked\n : this._animationClasses.uncheckedToIndeterminate;\n case TransitionCheckState.Checked:\n return newState === TransitionCheckState.Unchecked\n ? this._animationClasses.checkedToUnchecked\n : this._animationClasses.checkedToIndeterminate;\n case TransitionCheckState.Indeterminate:\n return newState === TransitionCheckState.Checked\n ? this._animationClasses.indeterminateToChecked\n : this._animationClasses.indeterminateToUnchecked;\n }\n\n return '';\n }\n\n /**\n * Syncs the indeterminate value with the checkbox DOM node.\n *\n * We sync `indeterminate` directly on the DOM node, because in Ivy the check for whether a\n * property is supported on an element boils down to `if (propName in element)`. Domino's\n * HTMLInputElement doesn't have an `indeterminate` property so Ivy will warn during\n * server-side rendering.\n */\n private _syncIndeterminate(value: boolean) {\n const nativeCheckbox = this._inputElement;\n\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n }\n\n _onInputClick() {\n this._handleInputClick();\n }\n\n _onTouchTargetClick() {\n this._handleInputClick();\n\n if (!this.disabled) {\n // Normally the input should be focused already, but if the click\n // comes from the touch target, then we might have to focus it ourselves.\n this._inputElement.nativeElement.focus();\n }\n }\n\n /**\n * Prevent click events that come from the `<label/>` element from bubbling. This prevents the\n * click handler on the host from triggering twice when clicking on the `<label/>` element. After\n * the click event on the `<label/>` propagates, the browsers dispatches click on the associated\n * `<input/>`. By preventing clicks on the label by bubbling, we ensure only one click event\n * bubbles when the label is clicked.\n */\n _preventBubblingFromLabel(event: MouseEvent) {\n if (!!event.target && this._labelElement.nativeElement.contains(event.target as HTMLElement)) {\n event.stopPropagation();\n }\n }\n}\n","<div mat-internal-form-field [labelPosition]=\"labelPosition\" (click)=\"_preventBubblingFromLabel($event)\">\n <div #checkbox class=\"mdc-checkbox\">\n <!-- Render this element first so the input is on top. -->\n <div class=\"mat-mdc-checkbox-touch-target\" (click)=\"_onTouchTargetClick()\"></div>\n <input #input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n [class.mdc-checkbox--selected]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"indeterminate ? 'mixed' : null\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled && disabledInteractive ? true : null\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-owns]=\"ariaOwns\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled && !disabledInteractive\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"disabled && !disabledInteractive ? -1 : tabIndex\"\n (blur)=\"_onBlur()\"\n (click)=\"_onInputClick()\"\n (change)=\"_onInteractionEvent($event)\"/>\n <div class=\"mdc-checkbox__ripple\"></div>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n focusable=\"false\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n <div class=\"mat-mdc-checkbox-ripple mat-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"checkbox\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <!--\n Avoid putting a click handler on the <label/> to fix duplicate navigation stop on Talk Back\n (#14385). Putting a click handler on the <label/> caused this bug because the browser produced\n an unnecessary accessibility tree node.\n -->\n <label class=\"mdc-label\" #label [for]=\"inputId\">\n <ng-content></ng-content>\n </label>\n</div>\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.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\nimport {MatCheckbox} from './checkbox';\n\n@NgModule({\n imports: [MatCheckbox],\n exports: [MatCheckbox, BidiModule],\n})\nexport class MatCheckboxModule {}\n"],"names":["checkboxDefaults","color","clickAction","disabledInteractive","MAT_CHECKBOX_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","TransitionCheckState","MatCheckboxChange","source","checked","MatCheckbox","_elementRef","inject","ElementRef","_changeDetectorRef","ChangeDetectorRef","_ngZone","NgZone","_animationsDisabled","_options","optional","focus","_inputElement","nativeElement","_createChangeEvent","isChecked","event","_getAnimationTargetElement","_animationClasses","uncheckedToChecked","uncheckedToIndeterminate","checkedToUnchecked","checkedToIndeterminate","indeterminateToChecked","indeterminateToUnchecked","ariaLabel","ariaLabelledby","ariaDescribedby","ariaExpanded","ariaControls","ariaOwns","_uniqueId","id","inputId","required","labelPosition","name","change","EventEmitter","indeterminateChange","value","disableRipple","_labelElement","tabIndex","_onTouched","_currentAnimationClass","_currentCheckState","Init","_controlValueAccessorChangeFn","_validatorChangeFn","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","HostAttributeToken","parseInt","_IdGenerator","getId","ngOnChanges","changes","ngAfterViewInit","_syncIndeterminate","indeterminate","_checked","markForCheck","disabled","_disabled","_indeterminate","changed","set","_transitionCheckState","Indeterminate","Checked","Unchecked","emit","signal","_isRippleDisabled","_onLabelTextChange","detectChanges","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","validate","control","registerOnValidatorChange","newState","oldState","element","classList","remove","_getAnimationClassForCheckStateTransition","length","add","animationClass","runOutsideAngular","setTimeout","_emitChangeEvent","toggle","_handleInputClick","Promise","resolve","then","_onInteractionEvent","stopPropagation","_onBlur","nativeCheckbox","_onInputClick","_onTouchTargetClick","_preventBubblingFromLabel","target","contains","deps","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","booleanAttribute","undefined","numberAttribute","outputs","host","properties","classAttribute","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","NG_VALIDATORS","viewQueries","propertyName","first","predicate","descendants","exportAs","usesOnChanges","ngImport","template","styles","dependencies","kind","MatRipple","selector","inputs","_MatInternalFormField","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","imports","Input","alias","transform","Output","ViewChild","MatCheckboxModule","NgModule","ɵmod","ɵɵngDeclareNgModule","exports","BidiModule"],"mappings":";;;;;;;;;;;;;;AA4BO,MAAMA,gBAAgB,GAA8B;AACzDC,EAAAA,KAAK,EAAE,QAAQ;AACfC,EAAAA,WAAW,EAAE,qBAAqB;AAClCC,EAAAA,mBAAmB,EAAE;CACtB;MAGYC,4BAA4B,GAAG,IAAIC,cAAc,CAC5D,8BAA8B,EAC9B;AACEC,EAAAA,UAAU,EAAE,MAAM;EAClBC,OAAO,EAAEA,MAAMP;AAChB,CAAA;;ICeSQ;AAAZ,CAAA,UAAYA,oBAAoB,EAAA;EAE9BA,oBAAA,CAAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;EAEJA,oBAAA,CAAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;EAEPA,oBAAA,CAAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;EAETA,oBAAA,CAAAA,oBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAa;AACf,CAAC,EATWA,oBAAoB,KAApBA,oBAAoB,GAS/B,EAAA,CAAA,CAAA;MAGYC,iBAAiB,CAAA;EAE5BC,MAAM;EAENC,OAAO;AACR;MAqCYC,WAAW,CAAA;AAGtBC,EAAAA,WAAW,GAAGC,MAAM,CAA0BC,UAAU,CAAC;AACjDC,EAAAA,kBAAkB,GAAGF,MAAM,CAACG,iBAAiB,CAAC;AAC9CC,EAAAA,OAAO,GAAGJ,MAAM,CAACK,MAAM,CAAC;EACtBC,mBAAmB,GAAGA,mBAAmB,EAAE;AAC7CC,EAAAA,QAAQ,GAAGP,MAAM,CAA4BV,4BAA4B,EAAE;AACjFkB,IAAAA,QAAQ,EAAE;AACX,GAAA,CAAC;AAGFC,EAAAA,KAAKA,GAAA;AACH,IAAA,IAAI,CAACC,aAAa,CAACC,aAAa,CAACF,KAAK,EAAE;AAC1C;EAGUG,kBAAkBA,CAACC,SAAkB,EAAA;AAC7C,IAAA,MAAMC,KAAK,GAAG,IAAInB,iBAAiB,EAAE;IACrCmB,KAAK,CAAClB,MAAM,GAAG,IAAI;IACnBkB,KAAK,CAACjB,OAAO,GAAGgB,SAAS;AACzB,IAAA,OAAOC,KAAK;AACd;AAGUC,EAAAA,0BAA0BA,GAAA;AAClC,IAAA,OAAO,IAAI,CAACL,aAAa,EAAEC,aAAa;AAC1C;AAGUK,EAAAA,iBAAiB,GAAG;AAC5BC,IAAAA,kBAAkB,EAAE,sCAAsC;AAC1DC,IAAAA,wBAAwB,EAAE,4CAA4C;AACtEC,IAAAA,kBAAkB,EAAE,sCAAsC;AAC1DC,IAAAA,sBAAsB,EAAE,0CAA0C;AAClEC,IAAAA,sBAAsB,EAAE,0CAA0C;AAClEC,IAAAA,wBAAwB,EAAE;GAC3B;AAMoBC,EAAAA,SAAS,GAAW,EAAE;AAKjBC,EAAAA,cAAc,GAAkB,IAAI;EAGnCC,eAAe;EAKoBC,YAAY;EAKlDC,YAAY;EAGhBC,QAAQ;EAEpBC,SAAS;EAGRC,EAAE;EAGX,IAAIC,OAAOA,GAAA;IACT,OAAO,CAAA,EAAG,IAAI,CAACD,EAAE,IAAI,IAAI,CAACD,SAAS,CAAQ,MAAA,CAAA;AAC7C;EAGsCG,QAAQ;AAGrCC,EAAAA,aAAa,GAAuB,OAAO;AAG3CC,EAAAA,IAAI,GAAkB,IAAI;AAGhBC,EAAAA,MAAM,GAAG,IAAIC,YAAY,EAAqB;AAG9CC,EAAAA,mBAAmB,GAA0B,IAAID,YAAY,EAAW;EAGlFE,KAAK;EAGwBC,aAAa;EAG/B7B,aAAa;EAGb8B,aAAa;EAIjCC,QAAQ;EAWCtD,KAAK;EAIdE,mBAAmB;AAMnBqD,EAAAA,UAAU,GAAcA,MAAK,EAAG;AAExBC,EAAAA,sBAAsB,GAAW,EAAE;EACnCC,kBAAkB,GAAyBlD,oBAAoB,CAACmD,IAAI;AACpEC,EAAAA,6BAA6B,GAAyBA,MAAK,EAAG;AAC9DC,EAAAA,kBAAkB,GAAGA,MAAK,EAAG;AAIrCC,EAAAA,WAAAA,GAAA;AACEhD,IAAAA,MAAM,CAACiD,sBAAsB,CAAC,CAACC,IAAI,CAACC,uBAAuB,CAAC;IAC5D,MAAMV,QAAQ,GAAGzC,MAAM,CAAC,IAAIoD,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAAC5C,MAAAA,QAAQ,EAAE;AAAI,KAAC,CAAC;AAC7E,IAAA,IAAI,CAACD,QAAQ,GAAG,IAAI,CAACA,QAAQ,IAAIrB,gBAAgB;IACjD,IAAI,CAACC,KAAK,GAAG,IAAI,CAACoB,QAAQ,CAACpB,KAAK,IAAID,gBAAgB,CAACC,KAAK;AAC1D,IAAA,IAAI,CAACsD,QAAQ,GAAGA,QAAQ,IAAI,IAAI,GAAG,CAAC,GAAGY,QAAQ,CAACZ,QAAQ,CAAC,IAAI,CAAC;AAC9D,IAAA,IAAI,CAACX,EAAE,GAAG,IAAI,CAACD,SAAS,GAAG7B,MAAM,CAACsD,YAAY,CAAC,CAACC,KAAK,CAAC,mBAAmB,CAAC;IAC1E,IAAI,CAAClE,mBAAmB,GAAG,IAAI,CAACkB,QAAQ,EAAElB,mBAAmB,IAAI,KAAK;AACxE;EAEAmE,WAAWA,CAACC,OAAsB,EAAA;AAChC,IAAA,IAAIA,OAAO,CAAC,UAAU,CAAC,EAAE;MACvB,IAAI,CAACV,kBAAkB,EAAE;AAC3B;AACF;AAEAW,EAAAA,eAAeA,GAAA;AACb,IAAA,IAAI,CAACC,kBAAkB,CAAC,IAAI,CAACC,aAAa,CAAC;AAC7C;EAGA,IACI/D,OAAOA,GAAA;IACT,OAAO,IAAI,CAACgE,QAAQ;AACtB;EACA,IAAIhE,OAAOA,CAACyC,KAAc,EAAA;AACxB,IAAA,IAAIA,KAAK,IAAI,IAAI,CAACzC,OAAO,EAAE;MACzB,IAAI,CAACgE,QAAQ,GAAGvB,KAAK;AACrB,MAAA,IAAI,CAACpC,kBAAkB,CAAC4D,YAAY,EAAE;AACxC;AACF;AACQD,EAAAA,QAAQ,GAAY,KAAK;EAGjC,IACIE,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,SAAS;AACvB;EACA,IAAID,QAAQA,CAACzB,KAAc,EAAA;AACzB,IAAA,IAAIA,KAAK,KAAK,IAAI,CAACyB,QAAQ,EAAE;MAC3B,IAAI,CAACC,SAAS,GAAG1B,KAAK;AACtB,MAAA,IAAI,CAACpC,kBAAkB,CAAC4D,YAAY,EAAE;AACxC;AACF;AACQE,EAAAA,SAAS,GAAY,KAAK;EAQlC,IACIJ,aAAaA,GAAA;AACf,IAAA,OAAO,IAAI,CAACK,cAAc,EAAE;AAC9B;EACA,IAAIL,aAAaA,CAACtB,KAAc,EAAA;IAC9B,MAAM4B,OAAO,GAAG5B,KAAK,IAAI,IAAI,CAAC2B,cAAc,EAAE;AAC9C,IAAA,IAAI,CAACA,cAAc,CAACE,GAAG,CAAC7B,KAAK,CAAC;AAE9B,IAAA,IAAI4B,OAAO,EAAE;AACX,MAAA,IAAI5B,KAAK,EAAE;AACT,QAAA,IAAI,CAAC8B,qBAAqB,CAAC1E,oBAAoB,CAAC2E,aAAa,CAAC;AAChE,OAAA,MAAO;AACL,QAAA,IAAI,CAACD,qBAAqB,CACxB,IAAI,CAACvE,OAAO,GAAGH,oBAAoB,CAAC4E,OAAO,GAAG5E,oBAAoB,CAAC6E,SAAS,CAC7E;AACH;AACA,MAAA,IAAI,CAAClC,mBAAmB,CAACmC,IAAI,CAAClC,KAAK,CAAC;AACtC;AAEA,IAAA,IAAI,CAACqB,kBAAkB,CAACrB,KAAK,CAAC;AAChC;EACQ2B,cAAc,GAAGQ,MAAM,CAAC,KAAK;;WAAC;AAEtCC,EAAAA,iBAAiBA,GAAA;AACf,IAAA,OAAO,IAAI,CAACnC,aAAa,IAAI,IAAI,CAACwB,QAAQ;AAC5C;AAGAY,EAAAA,kBAAkBA,GAAA;AAMhB,IAAA,IAAI,CAACzE,kBAAkB,CAAC0E,aAAa,EAAE;AACzC;EAGAC,UAAUA,CAACvC,KAAU,EAAA;AACnB,IAAA,IAAI,CAACzC,OAAO,GAAG,CAAC,CAACyC,KAAK;AACxB;EAGAwC,gBAAgBA,CAACC,EAAwB,EAAA;IACvC,IAAI,CAACjC,6BAA6B,GAAGiC,EAAE;AACzC;EAGAC,iBAAiBA,CAACD,EAAO,EAAA;IACvB,IAAI,CAACrC,UAAU,GAAGqC,EAAE;AACtB;EAGAE,gBAAgBA,CAACC,UAAmB,EAAA;IAClC,IAAI,CAACnB,QAAQ,GAAGmB,UAAU;AAC5B;EAGAC,QAAQA,CAACC,OAAiC,EAAA;IACxC,OAAO,IAAI,CAACpD,QAAQ,IAAIoD,OAAO,CAAC9C,KAAK,KAAK,IAAI,GAAG;AAAC,MAAA,UAAU,EAAE;KAAK,GAAG,IAAI;AAC5E;EAGA+C,yBAAyBA,CAACN,EAAc,EAAA;IACtC,IAAI,CAAChC,kBAAkB,GAAGgC,EAAE;AAC9B;EAEQX,qBAAqBA,CAACkB,QAA8B,EAAA;AAC1D,IAAA,IAAIC,QAAQ,GAAG,IAAI,CAAC3C,kBAAkB;AACtC,IAAA,IAAI4C,OAAO,GAAG,IAAI,CAACzE,0BAA0B,EAAE;AAE/C,IAAA,IAAIwE,QAAQ,KAAKD,QAAQ,IAAI,CAACE,OAAO,EAAE;AACrC,MAAA;AACF;IACA,IAAI,IAAI,CAAC7C,sBAAsB,EAAE;MAC/B6C,OAAO,CAACC,SAAS,CAACC,MAAM,CAAC,IAAI,CAAC/C,sBAAsB,CAAC;AACvD;IAEA,IAAI,CAACA,sBAAsB,GAAG,IAAI,CAACgD,yCAAyC,CAC1EJ,QAAQ,EACRD,QAAQ,CACT;IACD,IAAI,CAAC1C,kBAAkB,GAAG0C,QAAQ;AAElC,IAAA,IAAI,IAAI,CAAC3C,sBAAsB,CAACiD,MAAM,GAAG,CAAC,EAAE;MAC1CJ,OAAO,CAACC,SAAS,CAACI,GAAG,CAAC,IAAI,CAAClD,sBAAsB,CAAC;AAGlD,MAAA,MAAMmD,cAAc,GAAG,IAAI,CAACnD,sBAAsB;AAElD,MAAA,IAAI,CAACvC,OAAO,CAAC2F,iBAAiB,CAAC,MAAK;AAClCC,QAAAA,UAAU,CAAC,MAAK;AACdR,UAAAA,OAAQ,CAACC,SAAS,CAACC,MAAM,CAACI,cAAc,CAAC;SAC1C,EAAE,IAAI,CAAC;AACV,OAAC,CAAC;AACJ;AACF;AAEQG,EAAAA,gBAAgBA,GAAA;AACtB,IAAA,IAAI,CAACnD,6BAA6B,CAAC,IAAI,CAACjD,OAAO,CAAC;AAChD,IAAA,IAAI,CAACsC,MAAM,CAACqC,IAAI,CAAC,IAAI,CAAC5D,kBAAkB,CAAC,IAAI,CAACf,OAAO,CAAC,CAAC;IAIvD,IAAI,IAAI,CAACa,aAAa,EAAE;MACtB,IAAI,CAACA,aAAa,CAACC,aAAa,CAACd,OAAO,GAAG,IAAI,CAACA,OAAO;AACzD;AACF;AAGAqG,EAAAA,MAAMA,GAAA;AACJ,IAAA,IAAI,CAACrG,OAAO,GAAG,CAAC,IAAI,CAACA,OAAO;AAC5B,IAAA,IAAI,CAACiD,6BAA6B,CAAC,IAAI,CAACjD,OAAO,CAAC;AAClD;AAEUsG,EAAAA,iBAAiBA,GAAA;AACzB,IAAA,MAAM/G,WAAW,GAAG,IAAI,CAACmB,QAAQ,EAAEnB,WAAW;IAG9C,IAAI,CAAC,IAAI,CAAC2E,QAAQ,IAAI3E,WAAW,KAAK,MAAM,EAAE;AAE5C,MAAA,IAAI,IAAI,CAACwE,aAAa,IAAIxE,WAAW,KAAK,OAAO,EAAE;AACjDgH,QAAAA,OAAO,CAACC,OAAO,EAAE,CAACC,IAAI,CAAC,MAAK;AAC1B,UAAA,IAAI,CAACrC,cAAc,CAACE,GAAG,CAAC,KAAK,CAAC;AAC9B,UAAA,IAAI,CAAC9B,mBAAmB,CAACmC,IAAI,CAAC,KAAK,CAAC;AACtC,SAAC,CAAC;AACJ;AAEA,MAAA,IAAI,CAACX,QAAQ,GAAG,CAAC,IAAI,CAACA,QAAQ;AAC9B,MAAA,IAAI,CAACO,qBAAqB,CACxB,IAAI,CAACP,QAAQ,GAAGnE,oBAAoB,CAAC4E,OAAO,GAAG5E,oBAAoB,CAAC6E,SAAS,CAC9E;MAKD,IAAI,CAAC0B,gBAAgB,EAAE;AACzB,KAAA,MAAO,IACJ,IAAI,CAAClC,QAAQ,IAAI,IAAI,CAAC1E,mBAAmB,IACzC,CAAC,IAAI,CAAC0E,QAAQ,IAAI3E,WAAW,KAAK,MAAO,EAC1C;MAGA,IAAI,CAACsB,aAAa,CAACC,aAAa,CAACd,OAAO,GAAG,IAAI,CAACA,OAAO;MACvD,IAAI,CAACa,aAAa,CAACC,aAAa,CAACiD,aAAa,GAAG,IAAI,CAACA,aAAa;AACrE;AACF;EAEA2C,mBAAmBA,CAACzF,KAAY,EAAA;IAI9BA,KAAK,CAAC0F,eAAe,EAAE;AACzB;AAEAC,EAAAA,OAAOA,GAAA;AAMLL,IAAAA,OAAO,CAACC,OAAO,EAAE,CAACC,IAAI,CAAC,MAAK;MAC1B,IAAI,CAAC5D,UAAU,EAAE;AACjB,MAAA,IAAI,CAACxC,kBAAkB,CAAC4D,YAAY,EAAE;AACxC,KAAC,CAAC;AACJ;AAEQ6B,EAAAA,yCAAyCA,CAC/CJ,QAA8B,EAC9BD,QAA8B,EAAA;IAG9B,IAAI,IAAI,CAAChF,mBAAmB,EAAE;AAC5B,MAAA,OAAO,EAAE;AACX;AAEA,IAAA,QAAQiF,QAAQ;MACd,KAAK7F,oBAAoB,CAACmD,IAAI;AAG5B,QAAA,IAAIyC,QAAQ,KAAK5F,oBAAoB,CAAC4E,OAAO,EAAE;AAC7C,UAAA,OAAO,IAAI,CAACtD,iBAAiB,CAACC,kBAAkB;AAClD,SAAA,MAAO,IAAIqE,QAAQ,IAAI5F,oBAAoB,CAAC2E,aAAa,EAAE;AACzD,UAAA,OAAO,IAAI,CAACR,QAAQ,GAChB,IAAI,CAAC7C,iBAAiB,CAACI,sBAAsB,GAC7C,IAAI,CAACJ,iBAAiB,CAACE,wBAAwB;AACrD;AACA,QAAA;MACF,KAAKxB,oBAAoB,CAAC6E,SAAS;AACjC,QAAA,OAAOe,QAAQ,KAAK5F,oBAAoB,CAAC4E,OAAO,GAC5C,IAAI,CAACtD,iBAAiB,CAACC,kBAAkB,GACzC,IAAI,CAACD,iBAAiB,CAACE,wBAAwB;MACrD,KAAKxB,oBAAoB,CAAC4E,OAAO;AAC/B,QAAA,OAAOgB,QAAQ,KAAK5F,oBAAoB,CAAC6E,SAAS,GAC9C,IAAI,CAACvD,iBAAiB,CAACG,kBAAkB,GACzC,IAAI,CAACH,iBAAiB,CAACI,sBAAsB;MACnD,KAAK1B,oBAAoB,CAAC2E,aAAa;AACrC,QAAA,OAAOiB,QAAQ,KAAK5F,oBAAoB,CAAC4E,OAAO,GAC5C,IAAI,CAACtD,iBAAiB,CAACK,sBAAsB,GAC7C,IAAI,CAACL,iBAAiB,CAACM,wBAAwB;AACvD;AAEA,IAAA,OAAO,EAAE;AACX;EAUQqC,kBAAkBA,CAACrB,KAAc,EAAA;AACvC,IAAA,MAAMoE,cAAc,GAAG,IAAI,CAAChG,aAAa;AAEzC,IAAA,IAAIgG,cAAc,EAAE;AAClBA,MAAAA,cAAc,CAAC/F,aAAa,CAACiD,aAAa,GAAGtB,KAAK;AACpD;AACF;AAEAqE,EAAAA,aAAaA,GAAA;IACX,IAAI,CAACR,iBAAiB,EAAE;AAC1B;AAEAS,EAAAA,mBAAmBA,GAAA;IACjB,IAAI,CAACT,iBAAiB,EAAE;AAExB,IAAA,IAAI,CAAC,IAAI,CAACpC,QAAQ,EAAE;AAGlB,MAAA,IAAI,CAACrD,aAAa,CAACC,aAAa,CAACF,KAAK,EAAE;AAC1C;AACF;EASAoG,yBAAyBA,CAAC/F,KAAiB,EAAA;AACzC,IAAA,IAAI,CAAC,CAACA,KAAK,CAACgG,MAAM,IAAI,IAAI,CAACtE,aAAa,CAAC7B,aAAa,CAACoG,QAAQ,CAACjG,KAAK,CAACgG,MAAqB,CAAC,EAAE;MAC5FhG,KAAK,CAAC0F,eAAe,EAAE;AACzB;AACF;;;;;UAjbW1G,WAAW;AAAAkH,IAAAA,IAAA,EAAA,EAAA;AAAAF,IAAAA,MAAA,EAAAG,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAX,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAA1H,WAAW;;;;;;;sDAwDqB2H,gBAAgB,CAAA;AAAA9F,MAAAA,YAAA,EAAA,CAAA,eAAA,EAAA,cAAA,CAAA;AAAAC,MAAAA,QAAA,EAAA,CAAA,WAAA,EAAA,UAAA,CAAA;AAAAE,MAAAA,EAAA,EAAA,IAAA;AAAAE,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAqBxCyF,gBAAgB,CAAA;AAAAxF,MAAAA,aAAA,EAAA,eAAA;AAAAC,MAAAA,IAAA,EAAA,MAAA;AAAAI,MAAAA,KAAA,EAAA,OAAA;AAAAC,MAAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAkBhBkF,gBAAgB,CAShB;AAAAhF,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAACH,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAGoF,SAAS,GAAGC,eAAe,CAACrF,KAAK,CAAE,CAexE;AAAAnD,MAAAA,KAAA,EAAA,OAAA;AAAAE,MAAAA,mBAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAAAoI,gBAAgB;sCAqChBA,gBAAgB,CAAA;AAAA1D,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAahB0D,gBAAgB,CAAA;AAAA7D,MAAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAkBhB6D,gBAAgB;KA5MxB;AAAAG,IAAAA,OAAA,EAAA;AAAAzF,MAAAA,MAAA,EAAA,QAAA;AAAAE,MAAAA,mBAAA,EAAA;KAAA;AAAAwF,IAAAA,IAAA,EAAA;AAAAC,MAAAA,UAAA,EAAA;AAAA,QAAA,eAAA,EAAA,MAAA;AAAA,QAAA,iBAAA,EAAA,MAAA;AAAA,QAAA,sBAAA,EAAA,MAAA;AAAA,QAAA,+BAAA,EAAA,qBAAA;AAAA,QAAA,8BAAA,EAAA,UAAA;AAAA,QAAA,IAAA,EAAA,IAAA;AAAA,QAAA,iCAAA,EAAA,UAAA;AAAA,QAAA,gCAAA,EAAA,SAAA;AAAA,QAAA,6CAAA,EAAA,qBAAA;AAAA,QAAA,OAAA,EAAA;OAAA;AAAAC,MAAAA,cAAA,EAAA;KAAA;AAAAC,IAAAA,SAAA,EAAA,CACT;AACEC,MAAAA,OAAO,EAAEC,iBAAiB;AAC1BC,MAAAA,WAAW,EAAEC,UAAU,CAAC,MAAMtI,WAAW,CAAC;AAC1CuI,MAAAA,KAAK,EAAE;AACR,KAAA,EACD;AACEJ,MAAAA,OAAO,EAAEK,aAAa;AACtBH,MAAAA,WAAW,EAAErI,WAAW;AACxBuI,MAAAA,KAAK,EAAE;AACR,KAAA,CACF;AAAAE,IAAAA,WAAA,EAAA,CAAA;AAAAC,MAAAA,YAAA,EAAA,eAAA;AAAAC,MAAAA,KAAA,EAAA,IAAA;MAAAC,SAAA,EAAA,CAAA,OAAA,CAAA;AAAAC,MAAAA,WAAA,EAAA;AAAA,KAAA,EAAA;AAAAH,MAAAA,YAAA,EAAA,eAAA;AAAAC,MAAAA,KAAA,EAAA,IAAA;MAAAC,SAAA,EAAA,CAAA,OAAA,CAAA;AAAAC,MAAAA,WAAA,EAAA;AAAA,KAAA,CAAA;IAAAC,QAAA,EAAA,CAAA,aAAA,CAAA;AAAAC,IAAAA,aAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA7B,EAAA;AAAA8B,IAAAA,QAAA,ECvGH,04EAqDA;IAAAC,MAAA,EAAA,CAAA,q6hBAAA,CAAA;AAAAC,IAAAA,YAAA,EAAA,CAAA;AAAAC,MAAAA,IAAA,EAAA,WAAA;AAAA1B,MAAAA,IAAA,EDsDY2B,SAAS;AAAAC,MAAAA,QAAA,EAAA,2BAAA;AAAAC,MAAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA;MAAAT,QAAA,EAAA,CAAA,WAAA;AAAA,KAAA,EAAA;AAAAM,MAAAA,IAAA,EAAA,WAAA;AAAA1B,MAAAA,IAAA,EAAE8B,qBAAqB;AAAAF,MAAAA,QAAA,EAAA,8BAAA;MAAAC,MAAA,EAAA,CAAA,eAAA;AAAA,KAAA,CAAA;AAAAE,IAAAA,eAAA,EAAAtC,EAAA,CAAAuC,uBAAA,CAAAC,MAAA;AAAAC,IAAAA,aAAA,EAAAzC,EAAA,CAAA0C,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAE/B9J,WAAW;AAAA+J,EAAAA,UAAA,EAAA,CAAA;UAnCvB1C,SAAS;AACE2C,IAAAA,IAAA,EAAA,CAAA;AAAAV,MAAAA,QAAA,EAAA,cAAc;AAGlBvB,MAAAA,IAAA,EAAA;AACJ,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,iBAAiB,EAAE,MAAM;AACzB,QAAA,mBAAmB,EAAE,MAAM;AAC3B,QAAA,wBAAwB,EAAE,MAAM;AAChC,QAAA,iCAAiC,EAAE,qBAAqB;AACxD,QAAA,gCAAgC,EAAE,UAAU;AAC5C,QAAA,MAAM,EAAE,IAAI;AAEZ,QAAA,mCAAmC,EAAE,UAAU;AAC/C,QAAA,kCAAkC,EAAE,SAAS;AAC7C,QAAA,+CAA+C,EAAE,qBAAqB;AACtE,QAAA,SAAS,EAAE;OACZ;AACUG,MAAAA,SAAA,EAAA,CACT;AACEC,QAAAA,OAAO,EAAEC,iBAAiB;AAC1BC,QAAAA,WAAW,EAAEC,UAAU,CAAC,iBAAiB,CAAC;AAC1CC,QAAAA,KAAK,EAAE;AACR,OAAA,EACD;AACEJ,QAAAA,OAAO,EAAEK,aAAa;AACtBH,QAAAA,WAAW,EAAarI,WAAA;AACxBuI,QAAAA,KAAK,EAAE;AACR,OAAA,CACF;AAAAO,MAAAA,QAAA,EACS,aAAa;MAAAc,aAAA,EACRC,iBAAiB,CAACC,IAAI;MACpBL,eAAA,EAAAC,uBAAuB,CAACC,MAAM;AACtCM,MAAAA,OAAA,EAAA,CAACZ,SAAS,EAAEG,qBAAqB,CAAC;AAAAP,MAAAA,QAAA,EAAA,04EAAA;MAAAC,MAAA,EAAA,CAAA,q6hBAAA;KAAA;;;;AA6CtBzH,IAAAA,SAAS,EAAA,CAAA;YAA7ByI,KAAK;aAAC,YAAY;;AAKOxI,IAAAA,cAAc,EAAA,CAAA;YAAvCwI,KAAK;aAAC,iBAAiB;;AAGGvI,IAAAA,eAAe,EAAA,CAAA;YAAzCuI,KAAK;aAAC,kBAAkB;;AAKqCtI,IAAAA,YAAY,EAAA,CAAA;YAAzEsI,KAAK;AAACF,MAAAA,IAAA,EAAA,CAAA;AAACG,QAAAA,KAAK,EAAE,eAAe;AAAEC,QAAAA,SAAS,EAAEzC;OAAiB;;AAKpC9F,IAAAA,YAAY,EAAA,CAAA;YAAnCqI,KAAK;aAAC,eAAe;;AAGFpI,IAAAA,QAAQ,EAAA,CAAA;YAA3BoI,KAAK;aAAC,WAAW;;AAKTlI,IAAAA,EAAE,EAAA,CAAA;YAAVkI;;AAQqChI,IAAAA,QAAQ,EAAA,CAAA;YAA7CgI,KAAK;aAAC;AAACE,QAAAA,SAAS,EAAEzC;OAAiB;;AAG3BxF,IAAAA,aAAa,EAAA,CAAA;YAArB+H;;AAGQ9H,IAAAA,IAAI,EAAA,CAAA;YAAZ8H;;AAGkB7H,IAAAA,MAAM,EAAA,CAAA;YAAxBgI;;AAGkB9H,IAAAA,mBAAmB,EAAA,CAAA;YAArC8H;;AAGQ7H,IAAAA,KAAK,EAAA,CAAA;YAAb0H;;AAGqCzH,IAAAA,aAAa,EAAA,CAAA;YAAlDyH,KAAK;aAAC;AAACE,QAAAA,SAAS,EAAEzC;OAAiB;;AAGhB/G,IAAAA,aAAa,EAAA,CAAA;YAAhC0J,SAAS;aAAC,OAAO;;AAGE5H,IAAAA,aAAa,EAAA,CAAA;YAAhC4H,SAAS;aAAC,OAAO;;AAIlB3H,IAAAA,QAAQ,EAAA,CAAA;YADPuH,KAAK;aAAC;QAACE,SAAS,EAAG5H,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAGoF,SAAS,GAAGC,eAAe,CAACrF,KAAK;OAAG;;AAYnFnD,IAAAA,KAAK,EAAA,CAAA;YAAb6K;;AAID3K,IAAAA,mBAAmB,EAAA,CAAA;YADlB2K,KAAK;aAAC;AAACE,QAAAA,SAAS,EAAEzC;OAAiB;;AAsChC5H,IAAAA,OAAO,EAAA,CAAA;YADVmK,KAAK;aAAC;AAACE,QAAAA,SAAS,EAAEzC;OAAiB;;AAchC1D,IAAAA,QAAQ,EAAA,CAAA;YADXiG,KAAK;aAAC;AAACE,QAAAA,SAAS,EAAEzC;OAAiB;;AAmBhC7D,IAAAA,aAAa,EAAA,CAAA;YADhBoG,KAAK;aAAC;AAACE,QAAAA,SAAS,EAAEzC;OAAiB;;;;;MExRzB4C,iBAAiB,CAAA;;;;;UAAjBA,iBAAiB;AAAArD,IAAAA,IAAA,EAAA,EAAA;AAAAF,IAAAA,MAAA,EAAAG,EAAA,CAAAC,eAAA,CAAAoD;AAAA,GAAA,CAAA;AAAjB,EAAA,OAAAC,IAAA,GAAAtD,EAAA,CAAAuD,mBAAA,CAAA;AAAAlD,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAuB,IAAAA,QAAA,EAAA7B,EAAA;AAAAO,IAAAA,IAAA,EAAA6C,iBAAiB;IAHlBN,OAAA,EAAA,CAAAjK,WAAW,CACX;AAAA2K,IAAAA,OAAA,EAAA,CAAA3K,WAAW,EAAE4K,UAAU;AAAA,GAAA,CAAA;;;;;UAEtBL,iBAAiB;AAAAN,IAAAA,OAAA,EAAA,CAHlBjK,WAAW,EACE4K,UAAU;AAAA,GAAA,CAAA;;;;;;QAEtBL,iBAAiB;AAAAR,EAAAA,UAAA,EAAA,CAAA;UAJ7BS,QAAQ;AAACR,IAAAA,IAAA,EAAA,CAAA;MACRC,OAAO,EAAE,CAACjK,WAAW,CAAC;AACtB2K,MAAAA,OAAO,EAAE,CAAC3K,WAAW,EAAE4K,UAAU;KAClC;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chips-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-avatar-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-edit-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-remove-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-input-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-option-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-listbox-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-edit-input-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-row-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-grid-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-set-harness.ts"],"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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipAvatarHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip avatar in tests. */\nexport class MatChipAvatarHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-avatar';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip avatar with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipAvatarHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipAvatarHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipEditHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip edit button in tests. */\nexport class MatChipEditHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-edit';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip edit with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipEditHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipEditHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Clicks the edit button. */\n async click(): Promise<void> {\n return (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipRemoveHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip remove button in tests. */\nexport class MatChipRemoveHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-remove';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip remove with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipRemoveHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipRemoveHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Clicks the remove button. */\n async click(): Promise<void> {\n return (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {MatChipAvatarHarness} from './chip-avatar-harness';\nimport {\n ChipAvatarHarnessFilters,\n ChipEditHarnessFilters,\n ChipHarnessFilters,\n ChipRemoveHarnessFilters,\n} from './chip-harness-filters';\nimport {MatChipEditHarness} from './chip-edit-harness';\nimport {MatChipRemoveHarness} from './chip-remove-harness';\n\n/** Harness for interacting with a mat-chip in tests. */\nexport class MatChipHarness extends ContentContainerComponentHarness {\n protected _primaryAction = this.locatorFor('.mdc-evolution-chip__action--primary');\n\n static hostSelector = '.mat-mdc-basic-chip, .mat-mdc-chip';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip with specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, label) => {\n return HarnessPredicate.stringMatches(harness.getText(), label);\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets a promise for the text content the option. */\n async getText(): Promise<string> {\n return (await this.host()).text({\n exclude: '.mat-mdc-chip-avatar, .mat-mdc-chip-trailing-icon, .mat-icon',\n });\n }\n\n /** Whether the chip is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-disabled');\n }\n\n /** Delete a chip from the set. */\n async remove(): Promise<void> {\n const hostEl = await this.host();\n await hostEl.sendKeys(TestKey.DELETE);\n }\n\n /**\n * Gets the edit button inside of a chip.\n * @param filter Optionally filters which chips are included.\n */\n async geEditButton(filter: ChipEditHarnessFilters = {}): Promise<MatChipEditHarness> {\n return this.locatorFor(MatChipEditHarness.with(filter))();\n }\n\n /**\n * Gets the remove button inside of a chip.\n * @param filter Optionally filters which chips are included.\n */\n async getRemoveButton(filter: ChipRemoveHarnessFilters = {}): Promise<MatChipRemoveHarness> {\n return this.locatorFor(MatChipRemoveHarness.with(filter))();\n }\n\n /**\n * Gets the avatar inside a chip.\n * @param filter Optionally filters which avatars are included.\n */\n async getAvatar(filter: ChipAvatarHarnessFilters = {}): Promise<MatChipAvatarHarness | null> {\n return this.locatorForOptional(MatChipAvatarHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ChipInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a grid's chip input in tests. */\nexport class MatChipInputHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip input with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, async (harness, value) => {\n return (await harness.getValue()) === value;\n })\n .addOption('placeholder', options.placeholder, async (harness, placeholder) => {\n return (await harness.getPlaceholder()) === placeholder;\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n const disabled = await host.getAttribute('disabled');\n\n if (disabled !== null) {\n return coerceBooleanProperty(disabled);\n }\n\n return (await host.getAttribute('aria-disabled')) === 'true';\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is never undefined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n }\n\n /** Sends a chip separator key to the input element. */\n async sendSeparatorKey(key: TestKey | string): Promise<void> {\n const inputEl = await this.host();\n return inputEl.sendKeys(key);\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.dev/license\n */\n\nimport {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipOptionHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-option in tests. */\nexport class MatChipOptionHarness extends MatChipHarness {\n static override hostSelector = '.mat-mdc-chip-option';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip option with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with<T extends MatChipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipOptionHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(MatChipOptionHarness, options)\n .addOption('text', options.text, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getText(), label),\n )\n .addOption(\n 'selected',\n options.selected,\n async (harness, selected) => (await harness.isSelected()) === selected,\n ) as unknown as HarnessPredicate<T>;\n }\n\n /** Whether the chip is selected. */\n async isSelected(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-selected');\n }\n\n /** Selects the given chip. Only applies if it's selectable. */\n async select(): Promise<void> {\n if (!(await this.isSelected())) {\n await this.toggle();\n }\n }\n\n /** Deselects the given chip. Only applies if it's selectable. */\n async deselect(): Promise<void> {\n if (await this.isSelected()) {\n await this.toggle();\n }\n }\n\n /** Toggles the selected state of the given chip. */\n async toggle(): Promise<void> {\n return (await this._primaryAction()).click();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {ChipListboxHarnessFilters, ChipOptionHarnessFilters} from './chip-harness-filters';\nimport {MatChipOptionHarness} from './chip-option-harness';\n\n/** Harness for interacting with a mat-chip-listbox in tests. */\nexport class MatChipListboxHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-listbox';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip listbox with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipListboxHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipListboxHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets whether the chip listbox is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the chip listbox is required. */\n async isRequired(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-required')) === 'true';\n }\n\n /** Gets whether the chip listbox is in multi selection mode. */\n async isMultiple(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-multiselectable')) === 'true';\n }\n\n /** Gets whether the orientation of the chip list. */\n async getOrientation(): Promise<'horizontal' | 'vertical'> {\n const orientation = await (await this.host()).getAttribute('aria-orientation');\n return orientation === 'vertical' ? 'vertical' : 'horizontal';\n }\n\n /**\n * Gets the list of chips inside the chip list.\n * @param filter Optionally filters which chips are included.\n */\n async getChips(filter: ChipOptionHarnessFilters = {}): Promise<MatChipOptionHarness[]> {\n return this.locatorForAll(MatChipOptionHarness.with(filter))();\n }\n\n /**\n * Selects a chip inside the chip list.\n * @param filter An optional filter to apply to the child chips.\n * All the chips matching the filter will be selected.\n */\n async selectChips(filter: ChipOptionHarnessFilters = {}): Promise<void> {\n const chips = await this.getChips(filter);\n if (!chips.length) {\n throw Error(`Cannot find chip matching filter ${JSON.stringify(filter)}`);\n }\n await parallel(() => chips.map(chip => chip.select()));\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipEditInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with an editable chip's input in tests. */\nexport class MatChipEditInputHarness extends ComponentHarness {\n static hostSelector = '.mat-chip-edit-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip edit input with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipEditInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipEditInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Sets the value of the input. */\n async setValue(value: string): Promise<void> {\n const host = await this.host();\n return host.setContenteditableValue(value);\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.dev/license\n */\n\nimport {TestKey} from '@angular/cdk/testing';\nimport {MatChipEditInputHarness} from './chip-edit-input-harness';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipEditInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-row in tests. */\nexport class MatChipRowHarness extends MatChipHarness {\n static override hostSelector = '.mat-mdc-chip-row';\n\n /** Whether the chip is editable. */\n async isEditable(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-editable');\n }\n\n /** Whether the chip is currently being edited. */\n async isEditing(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-editing');\n }\n\n /** Sets the chip row into an editing state, if it is editable. */\n async startEditing(): Promise<void> {\n if (!(await this.isEditable())) {\n throw new Error('Cannot begin editing a chip that is not editable.');\n }\n return (await this.host()).dispatchEvent('dblclick');\n }\n\n /** Stops editing the chip, if it was in the editing state. */\n async finishEditing(): Promise<void> {\n if (await this.isEditing()) {\n await (await this.host()).sendKeys(TestKey.ENTER);\n }\n }\n\n /** Gets the edit input inside the chip row. */\n async getEditInput(filter: ChipEditInputHarnessFilters = {}): Promise<MatChipEditInputHarness> {\n return this.locatorFor(MatChipEditInputHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {\n ChipGridHarnessFilters,\n ChipInputHarnessFilters,\n ChipRowHarnessFilters,\n} from './chip-harness-filters';\nimport {MatChipInputHarness} from './chip-input-harness';\nimport {MatChipRowHarness} from './chip-row-harness';\n\n/** Harness for interacting with a mat-chip-grid in tests. */\nexport class MatChipGridHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-grid';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip grid with specific attributes.\n * @param options Options for filtering which chip grid instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipGridHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipGridHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets whether the chip grid is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the chip grid is required. */\n async isRequired(): Promise<boolean> {\n return await (await this.host()).hasClass('mat-mdc-chip-list-required');\n }\n\n /** Gets whether the chip grid is invalid. */\n async isInvalid(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-invalid')) === 'true';\n }\n\n /** Gets promise of the harnesses for the chip rows. */\n getRows(filter: ChipRowHarnessFilters = {}): Promise<MatChipRowHarness[]> {\n return this.locatorForAll(MatChipRowHarness.with(filter))();\n }\n\n /** Gets promise of the chip text input harness. */\n getInput(filter: ChipInputHarnessFilters = {}): Promise<MatChipInputHarness | null> {\n return this.locatorFor(MatChipInputHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipHarnessFilters, ChipSetHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-set in tests. */\nexport class MatChipSetHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-set';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip set with specific attributes.\n * @param options Options for filtering which chip set instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipSetHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipSetHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Gets promise of the harnesses for the chips. */\n async getChips(filter: ChipHarnessFilters = {}): Promise<MatChipHarness[]> {\n return await this.locatorForAll(MatChipHarness.with(filter))();\n }\n}\n"],"names":["MatChipAvatarHarness","ComponentHarness","hostSelector","with","options","HarnessPredicate","MatChipEditHarness","click","host","MatChipRemoveHarness","MatChipHarness","ContentContainerComponentHarness","_primaryAction","locatorFor","addOption","text","harness","label","stringMatches","getText","disabled","isDisabled","exclude","hasClass","remove","hostEl","sendKeys","TestKey","DELETE","geEditButton","filter","getRemoveButton","getAvatar","locatorForOptional","MatChipInputHarness","value","getValue","placeholder","getPlaceholder","getAttribute","coerceBooleanProperty","isRequired","getProperty","focus","blur","isFocused","setValue","newValue","inputEl","clear","sendSeparatorKey","key","MatChipOptionHarness","selected","isSelected","select","toggle","deselect","MatChipListboxHarness","isMultiple","getOrientation","orientation","getChips","locatorForAll","selectChips","chips","length","Error","JSON","stringify","parallel","map","chip","MatChipEditInputHarness","setContenteditableValue","MatChipRowHarness","isEditable","isEditing","startEditing","dispatchEvent","finishEditing","ENTER","getEditInput","MatChipGridHarness","isInvalid","getRows","getInput","MatChipSetHarness"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chips-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-avatar-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-edit-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-remove-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-input-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-option-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-listbox-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-edit-input-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-row-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-grid-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-set-harness.ts"],"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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipAvatarHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip avatar in tests. */\nexport class MatChipAvatarHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-avatar';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip avatar with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipAvatarHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipAvatarHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipEditHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip edit button in tests. */\nexport class MatChipEditHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-edit';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip edit with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipEditHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipEditHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Clicks the edit button. */\n async click(): Promise<void> {\n return (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipRemoveHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip remove button in tests. */\nexport class MatChipRemoveHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-remove';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip remove with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipRemoveHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipRemoveHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Clicks the remove button. */\n async click(): Promise<void> {\n return (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {MatChipAvatarHarness} from './chip-avatar-harness';\nimport {\n ChipAvatarHarnessFilters,\n ChipEditHarnessFilters,\n ChipHarnessFilters,\n ChipRemoveHarnessFilters,\n} from './chip-harness-filters';\nimport {MatChipEditHarness} from './chip-edit-harness';\nimport {MatChipRemoveHarness} from './chip-remove-harness';\n\n/** Harness for interacting with a mat-chip in tests. */\nexport class MatChipHarness extends ContentContainerComponentHarness {\n protected _primaryAction = this.locatorFor('.mdc-evolution-chip__action--primary');\n\n static hostSelector = '.mat-mdc-basic-chip, .mat-mdc-chip';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip with specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, label) => {\n return HarnessPredicate.stringMatches(harness.getText(), label);\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets a promise for the text content the option. */\n async getText(): Promise<string> {\n return (await this.host()).text({\n exclude: '.mat-mdc-chip-avatar, .mat-mdc-chip-trailing-icon, .mat-icon',\n });\n }\n\n /** Whether the chip is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-disabled');\n }\n\n /** Delete a chip from the set. */\n async remove(): Promise<void> {\n const hostEl = await this.host();\n await hostEl.sendKeys(TestKey.DELETE);\n }\n\n /**\n * Gets the edit button inside of a chip.\n * @param filter Optionally filters which chips are included.\n */\n async geEditButton(filter: ChipEditHarnessFilters = {}): Promise<MatChipEditHarness> {\n return this.locatorFor(MatChipEditHarness.with(filter))();\n }\n\n /**\n * Gets the remove button inside of a chip.\n * @param filter Optionally filters which chips are included.\n */\n async getRemoveButton(filter: ChipRemoveHarnessFilters = {}): Promise<MatChipRemoveHarness> {\n return this.locatorFor(MatChipRemoveHarness.with(filter))();\n }\n\n /**\n * Gets the avatar inside a chip.\n * @param filter Optionally filters which avatars are included.\n */\n async getAvatar(filter: ChipAvatarHarnessFilters = {}): Promise<MatChipAvatarHarness | null> {\n return this.locatorForOptional(MatChipAvatarHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ChipInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a grid's chip input in tests. */\nexport class MatChipInputHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip input with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, async (harness, value) => {\n return (await harness.getValue()) === value;\n })\n .addOption('placeholder', options.placeholder, async (harness, placeholder) => {\n return (await harness.getPlaceholder()) === placeholder;\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n const disabled = await host.getAttribute('disabled');\n\n if (disabled !== null) {\n return coerceBooleanProperty(disabled);\n }\n\n return (await host.getAttribute('aria-disabled')) === 'true';\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is never undefined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n }\n\n /** Sends a chip separator key to the input element. */\n async sendSeparatorKey(key: TestKey | string): Promise<void> {\n const inputEl = await this.host();\n return inputEl.sendKeys(key);\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.dev/license\n */\n\nimport {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipOptionHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-option in tests. */\nexport class MatChipOptionHarness extends MatChipHarness {\n static override hostSelector = '.mat-mdc-chip-option';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip option with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with<T extends MatChipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipOptionHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(MatChipOptionHarness, options)\n .addOption('text', options.text, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getText(), label),\n )\n .addOption(\n 'selected',\n options.selected,\n async (harness, selected) => (await harness.isSelected()) === selected,\n ) as unknown as HarnessPredicate<T>;\n }\n\n /** Whether the chip is selected. */\n async isSelected(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-selected');\n }\n\n /** Selects the given chip. Only applies if it's selectable. */\n async select(): Promise<void> {\n if (!(await this.isSelected())) {\n await this.toggle();\n }\n }\n\n /** Deselects the given chip. Only applies if it's selectable. */\n async deselect(): Promise<void> {\n if (await this.isSelected()) {\n await this.toggle();\n }\n }\n\n /** Toggles the selected state of the given chip. */\n async toggle(): Promise<void> {\n return (await this._primaryAction()).click();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {ChipListboxHarnessFilters, ChipOptionHarnessFilters} from './chip-harness-filters';\nimport {MatChipOptionHarness} from './chip-option-harness';\n\n/** Harness for interacting with a mat-chip-listbox in tests. */\nexport class MatChipListboxHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-listbox';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip listbox with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipListboxHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipListboxHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets whether the chip listbox is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the chip listbox is required. */\n async isRequired(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-required')) === 'true';\n }\n\n /** Gets whether the chip listbox is in multi selection mode. */\n async isMultiple(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-multiselectable')) === 'true';\n }\n\n /** Gets whether the orientation of the chip list. */\n async getOrientation(): Promise<'horizontal' | 'vertical'> {\n const orientation = await (await this.host()).getAttribute('aria-orientation');\n return orientation === 'vertical' ? 'vertical' : 'horizontal';\n }\n\n /**\n * Gets the list of chips inside the chip list.\n * @param filter Optionally filters which chips are included.\n */\n async getChips(filter: ChipOptionHarnessFilters = {}): Promise<MatChipOptionHarness[]> {\n return this.locatorForAll(MatChipOptionHarness.with(filter))();\n }\n\n /**\n * Selects a chip inside the chip list.\n * @param filter An optional filter to apply to the child chips.\n * All the chips matching the filter will be selected.\n */\n async selectChips(filter: ChipOptionHarnessFilters = {}): Promise<void> {\n const chips = await this.getChips(filter);\n if (!chips.length) {\n throw Error(`Cannot find chip matching filter ${JSON.stringify(filter)}`);\n }\n await parallel(() => chips.map(chip => chip.select()));\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipEditInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with an editable chip's input in tests. */\nexport class MatChipEditInputHarness extends ComponentHarness {\n static hostSelector = '.mat-chip-edit-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip edit input with specific\n * attributes.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipEditInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipEditInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Sets the value of the input. */\n async setValue(value: string): Promise<void> {\n const host = await this.host();\n return host.setContenteditableValue(value);\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.dev/license\n */\n\nimport {TestKey} from '@angular/cdk/testing';\nimport {MatChipEditInputHarness} from './chip-edit-input-harness';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipEditInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-row in tests. */\nexport class MatChipRowHarness extends MatChipHarness {\n static override hostSelector = '.mat-mdc-chip-row';\n\n /** Whether the chip is editable. */\n async isEditable(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-editable');\n }\n\n /** Whether the chip is currently being edited. */\n async isEditing(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-editing');\n }\n\n /** Sets the chip row into an editing state, if it is editable. */\n async startEditing(): Promise<void> {\n if (!(await this.isEditable())) {\n throw new Error('Cannot begin editing a chip that is not editable.');\n }\n return (await this.host()).dispatchEvent('dblclick');\n }\n\n /** Stops editing the chip, if it was in the editing state. */\n async finishEditing(): Promise<void> {\n if (await this.isEditing()) {\n await (await this.host()).sendKeys(TestKey.ENTER);\n }\n }\n\n /** Gets the edit input inside the chip row. */\n async getEditInput(filter: ChipEditInputHarnessFilters = {}): Promise<MatChipEditInputHarness> {\n return this.locatorFor(MatChipEditInputHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {\n ChipGridHarnessFilters,\n ChipInputHarnessFilters,\n ChipRowHarnessFilters,\n} from './chip-harness-filters';\nimport {MatChipInputHarness} from './chip-input-harness';\nimport {MatChipRowHarness} from './chip-row-harness';\n\n/** Harness for interacting with a mat-chip-grid in tests. */\nexport class MatChipGridHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-grid';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip grid with specific attributes.\n * @param options Options for filtering which chip grid instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipGridHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipGridHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets whether the chip grid is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the chip grid is required. */\n async isRequired(): Promise<boolean> {\n return await (await this.host()).hasClass('mat-mdc-chip-list-required');\n }\n\n /** Gets whether the chip grid is invalid. */\n async isInvalid(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-invalid')) === 'true';\n }\n\n /** Gets promise of the harnesses for the chip rows. */\n getRows(filter: ChipRowHarnessFilters = {}): Promise<MatChipRowHarness[]> {\n return this.locatorForAll(MatChipRowHarness.with(filter))();\n }\n\n /** Gets promise of the chip text input harness. */\n getInput(filter: ChipInputHarnessFilters = {}): Promise<MatChipInputHarness | null> {\n return this.locatorFor(MatChipInputHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipHarnessFilters, ChipSetHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-set in tests. */\nexport class MatChipSetHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-set';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip set with specific attributes.\n * @param options Options for filtering which chip set instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipSetHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipSetHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Gets promise of the harnesses for the chips. */\n async getChips(filter: ChipHarnessFilters = {}): Promise<MatChipHarness[]> {\n return await this.locatorForAll(MatChipHarness.with(filter))();\n }\n}\n"],"names":["MatChipAvatarHarness","ComponentHarness","hostSelector","with","options","HarnessPredicate","MatChipEditHarness","click","host","MatChipRemoveHarness","MatChipHarness","ContentContainerComponentHarness","_primaryAction","locatorFor","addOption","text","harness","label","stringMatches","getText","disabled","isDisabled","exclude","hasClass","remove","hostEl","sendKeys","TestKey","DELETE","geEditButton","filter","getRemoveButton","getAvatar","locatorForOptional","MatChipInputHarness","value","getValue","placeholder","getPlaceholder","getAttribute","coerceBooleanProperty","isRequired","getProperty","focus","blur","isFocused","setValue","newValue","inputEl","clear","sendSeparatorKey","key","MatChipOptionHarness","selected","isSelected","select","toggle","deselect","MatChipListboxHarness","isMultiple","getOrientation","orientation","getChips","locatorForAll","selectChips","chips","length","Error","JSON","stringify","parallel","map","chip","MatChipEditInputHarness","setContenteditableValue","MatChipRowHarness","isEditable","isEditing","startEditing","dispatchEvent","finishEditing","ENTER","getEditInput","MatChipGridHarness","isInvalid","getRows","getInput","MatChipSetHarness"],"mappings":"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"}
|