@angular/material 22.0.0-next.8 → 22.0.0-rc.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.
Files changed (94) hide show
  1. package/fesm2022/_error-options-chunk.mjs +6 -6
  2. package/fesm2022/_form-field-chunk.mjs +31 -35
  3. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  4. package/fesm2022/_icon-button-chunk.mjs +7 -9
  5. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  6. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  7. package/fesm2022/_internal-form-field-chunk.mjs +4 -6
  8. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  9. package/fesm2022/_line-chunk.mjs +7 -7
  10. package/fesm2022/_option-chunk.mjs +7 -11
  11. package/fesm2022/_option-chunk.mjs.map +1 -1
  12. package/fesm2022/_option-module-chunk.mjs +4 -4
  13. package/fesm2022/_pseudo-checkbox-chunk.mjs +4 -6
  14. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  15. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  16. package/fesm2022/_ripple-chunk.mjs +7 -9
  17. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  18. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  19. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  20. package/fesm2022/_structural-styles-chunk.mjs +4 -6
  21. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  22. package/fesm2022/_tooltip-chunk.mjs +7 -9
  23. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  24. package/fesm2022/autocomplete.mjs +14 -16
  25. package/fesm2022/autocomplete.mjs.map +1 -1
  26. package/fesm2022/badge.mjs +11 -13
  27. package/fesm2022/badge.mjs.map +1 -1
  28. package/fesm2022/bottom-sheet.mjs +10 -10
  29. package/fesm2022/button-toggle.mjs +11 -13
  30. package/fesm2022/button-toggle.mjs.map +1 -1
  31. package/fesm2022/button.mjs +14 -20
  32. package/fesm2022/button.mjs.map +1 -1
  33. package/fesm2022/card.mjs +47 -53
  34. package/fesm2022/card.mjs.map +1 -1
  35. package/fesm2022/checkbox.mjs +8 -10
  36. package/fesm2022/checkbox.mjs.map +1 -1
  37. package/fesm2022/chips.mjs +47 -59
  38. package/fesm2022/chips.mjs.map +1 -1
  39. package/fesm2022/core.mjs +12 -12
  40. package/fesm2022/core.mjs.map +1 -1
  41. package/fesm2022/datepicker.mjs +83 -107
  42. package/fesm2022/datepicker.mjs.map +1 -1
  43. package/fesm2022/dialog-testing.mjs +1 -2
  44. package/fesm2022/dialog-testing.mjs.map +1 -1
  45. package/fesm2022/dialog.mjs +25 -25
  46. package/fesm2022/divider.mjs +8 -10
  47. package/fesm2022/divider.mjs.map +1 -1
  48. package/fesm2022/expansion.mjs +26 -30
  49. package/fesm2022/expansion.mjs.map +1 -1
  50. package/fesm2022/form-field.mjs +4 -4
  51. package/fesm2022/grid-list.mjs +23 -29
  52. package/fesm2022/grid-list.mjs.map +1 -1
  53. package/fesm2022/icon-testing.mjs +7 -7
  54. package/fesm2022/icon.mjs +8 -10
  55. package/fesm2022/icon.mjs.map +1 -1
  56. package/fesm2022/input.mjs +7 -7
  57. package/fesm2022/list.mjs +50 -62
  58. package/fesm2022/list.mjs.map +1 -1
  59. package/fesm2022/menu.mjs +23 -27
  60. package/fesm2022/menu.mjs.map +1 -1
  61. package/fesm2022/paginator.mjs +11 -13
  62. package/fesm2022/paginator.mjs.map +1 -1
  63. package/fesm2022/progress-bar.mjs +8 -10
  64. package/fesm2022/progress-bar.mjs.map +1 -1
  65. package/fesm2022/progress-spinner.mjs +8 -10
  66. package/fesm2022/progress-spinner.mjs.map +1 -1
  67. package/fesm2022/radio.mjs +11 -13
  68. package/fesm2022/radio.mjs.map +1 -1
  69. package/fesm2022/select.mjs +11 -13
  70. package/fesm2022/select.mjs.map +1 -1
  71. package/fesm2022/sidenav.mjs +56 -45
  72. package/fesm2022/sidenav.mjs.map +1 -1
  73. package/fesm2022/slide-toggle.mjs +8 -10
  74. package/fesm2022/slide-toggle.mjs.map +1 -1
  75. package/fesm2022/slider.mjs +17 -21
  76. package/fesm2022/slider.mjs.map +1 -1
  77. package/fesm2022/snack-bar.mjs +23 -25
  78. package/fesm2022/snack-bar.mjs.map +1 -1
  79. package/fesm2022/sort.mjs +14 -16
  80. package/fesm2022/sort.mjs.map +1 -1
  81. package/fesm2022/stepper.mjs +32 -38
  82. package/fesm2022/stepper.mjs.map +1 -1
  83. package/fesm2022/table.mjs +55 -55
  84. package/fesm2022/tabs.mjs +44 -48
  85. package/fesm2022/tabs.mjs.map +1 -1
  86. package/fesm2022/timepicker.mjs +14 -18
  87. package/fesm2022/timepicker.mjs.map +1 -1
  88. package/fesm2022/toolbar.mjs +11 -13
  89. package/fesm2022/toolbar.mjs.map +1 -1
  90. package/fesm2022/tooltip.mjs +4 -4
  91. package/fesm2022/tree.mjs +25 -25
  92. package/package.json +2 -2
  93. package/schematics/ng-add/index.js +1 -1
  94. package/types/sidenav.d.ts +4 -6
@@ -1 +1 @@
1
- {"version":3,"file":"_icon-button-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button-base.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.html"],"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 {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport {_animationsDisabled, _StructuralStylesLoader, MatRippleLoader, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Possible appearances for a `MatButton`.\n * See https://m3.material.io/components/buttons/overview\n */\nexport type MatButtonAppearance = 'text' | 'filled' | 'elevated' | 'outlined' | 'tonal';\n\n/** Object that can be used to configure the default options for the button component. */\nexport interface MatButtonConfig {\n /** Whether disabled buttons should be interactive. */\n disabledInteractive?: boolean;\n\n /** Default palette color to apply to buttons. */\n color?: ThemePalette;\n\n /** Default appearance for plain buttons (not icon buttons or FABs). */\n defaultAppearance?: MatButtonAppearance;\n}\n\n/** Injection token that can be used to provide the default options the button component. */\nexport const MAT_BUTTON_CONFIG = new InjectionToken<MatButtonConfig>('MAT_BUTTON_CONFIG');\n\nfunction transformTabIndex(value: unknown): number | undefined {\n return value == null ? undefined : numberAttribute(value);\n}\n\n/** Base class for all buttons. */\n@Directive({\n host: {\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n 'class': 'mat-mdc-button-base',\n '[class]': 'color ? \"mat-\" + color : \"\"',\n '[class.mat-mdc-button-progress-indicator-shown]': 'showProgress()',\n '[attr.disabled]': '_getDisabledAttribute()',\n '[attr.aria-disabled]': '_getAriaDisabled()',\n '[attr.tabindex]': '_getTabIndex()',\n '[class.mat-mdc-button-disabled]': 'disabled',\n '[class.mat-mdc-button-disabled-interactive]': 'disabledInteractive',\n '[class.mat-unthemed]': '!color',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n },\n})\nexport class MatButtonBase implements AfterViewInit, OnDestroy {\n _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n\n protected readonly _config = inject(MAT_BUTTON_CONFIG, {optional: true});\n private readonly _focusMonitor = inject(FocusMonitor);\n private _cleanupClick: (() => void) | undefined;\n private _renderer = inject(Renderer2);\n\n /**\n * Handles the lazy creation of the MatButton ripple.\n * Used to improve initial load time of large applications.\n */\n protected _rippleLoader: MatRippleLoader = inject(MatRippleLoader);\n\n /** Whether the button is set on an anchor node. */\n protected _isAnchor: boolean;\n\n /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n protected _isFab = false;\n\n /**\n * Theme color of the button. This API is supported in M2 themes only, it has\n * no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/button/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 | null;\n\n /** Whether the ripple effect is disabled or not. */\n @Input({transform: booleanAttribute})\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: any) {\n this._disableRipple = value;\n this._updateRippleDisabled();\n }\n private _disableRipple: boolean = false;\n\n /** Whether the button is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value;\n this._updateRippleDisabled();\n }\n private _disabled: boolean = false;\n\n /** `aria-disabled` value of the button. */\n @Input({transform: booleanAttribute, alias: 'aria-disabled'})\n ariaDisabled: boolean | undefined;\n\n /**\n * Natively disabled buttons prevent focus and any pointer events from reaching the button.\n * In some scenarios this might not be desirable, because it can prevent users from finding out\n * why the button is disabled (e.g. via tooltip). This is also useful for buttons that may\n * become disabled when activated, which would cause focus to be transferred to the document\n * body instead of remaining on the button.\n *\n * Enabling this input will change the button so that it is styled to be disabled and will be\n * marked as `aria-disabled`, but it will allow the button to receive events and focus.\n *\n * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\n * meant to be tabbable and you have to prevent the button action (e.g. form submissions).\n */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /** Tab index for the button. */\n @Input({transform: transformTabIndex})\n tabIndex!: number;\n\n /**\n * Backwards-compatibility input that handles pre-existing `[tabindex]` bindings.\n * @docs-private\n */\n @Input({alias: 'tabindex', transform: transformTabIndex})\n set _tabindex(value: number) {\n this.tabIndex = value;\n }\n\n /** Whether the button is showing a progress indicator. */\n readonly showProgress = input(false, {transform: booleanAttribute});\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const element = this._elementRef.nativeElement;\n\n this._isAnchor = element.tagName === 'A';\n this.disabledInteractive = this._config?.disabledInteractive ?? false;\n this.color = this._config?.color ?? null;\n this._rippleLoader?.configureRipple(element, {className: 'mat-mdc-button-ripple'});\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n\n // Some internal tests depend on the timing of this,\n // otherwise we could bind it in the constructor.\n if (this._isAnchor) {\n this._setupAsAnchor();\n }\n }\n\n ngOnDestroy() {\n this._cleanupClick?.();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n }\n\n /** Focuses the button. */\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef.nativeElement, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n protected _getAriaDisabled() {\n if (this.ariaDisabled != null) {\n return this.ariaDisabled;\n }\n\n if (this._isAnchor) {\n return this.disabled || null;\n }\n\n return this.disabled && this.disabledInteractive ? true : null;\n }\n\n protected _getDisabledAttribute() {\n return this.disabledInteractive || !this.disabled ? null : true;\n }\n\n private _updateRippleDisabled(): void {\n this._rippleLoader?.setDisabled(\n this._elementRef.nativeElement,\n this.disableRipple || this.disabled,\n );\n }\n\n protected _getTabIndex() {\n if (this._isAnchor) {\n return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\n }\n return this.tabIndex;\n }\n\n private _setupAsAnchor() {\n this._cleanupClick = this._ngZone.runOutsideAngular(() =>\n this._renderer.listen(this._elementRef.nativeElement, 'click', (event: Event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }),\n );\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Anchor button base.\n */\nexport const MatAnchorBase = MatButtonBase;\nexport type MatAnchorBase = MatButtonBase;\n// tslint:enable:variable-name\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 {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatButtonBase} from './button-base';\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]`,\n templateUrl: 'icon-button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n host: {\n 'class': 'mdc-icon-button mat-mdc-icon-button',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatIconButton extends MatButtonBase {\n constructor() {\n super();\n this._rippleLoader.configureRipple(this._elementRef.nativeElement, {centered: true});\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\nexport const MatIconAnchor = MatIconButton;\nexport type MatIconAnchor = MatIconButton;\n// tslint:enable:variable-name\n","<span class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"></span>\n\n<ng-content></ng-content>\n\n@if (showProgress()) {\n <div class=\"mat-mdc-button-progress-indicator-container\">\n <ng-content select=\"[progressIndicator]\" />\n </div>\n}\n\n<!--\n The indicator can't be directly on the button, because MDC uses ::before for high contrast\n indication and it can't be on the ripple, because it has a border radius and overflow: hidden.\n-->\n<span class=\"mat-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n"],"names":["MAT_BUTTON_CONFIG","InjectionToken","transformTabIndex","value","undefined","numberAttribute","MatButtonBase","_elementRef","inject","ElementRef","_ngZone","NgZone","_animationsDisabled","_config","optional","_focusMonitor","FocusMonitor","_cleanupClick","_renderer","Renderer2","_rippleLoader","MatRippleLoader","_isAnchor","_isFab","color","disableRipple","_disableRipple","_updateRippleDisabled","disabled","_disabled","ariaDisabled","disabledInteractive","tabIndex","_tabindex","showProgress","input","transform","booleanAttribute","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","element","nativeElement","tagName","configureRipple","className","ngAfterViewInit","monitor","_setupAsAnchor","ngOnDestroy","stopMonitoring","destroyRipple","focus","origin","options","focusVia","_getAriaDisabled","_getDisabledAttribute","setDisabled","_getTabIndex","runOutsideAngular","listen","event","preventDefault","stopImmediatePropagation","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","properties","classAttribute","ngImport","decorators","args","Input","alias","MatIconButton","centered","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","selector","exportAs","template","MatIconAnchor"],"mappings":"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"}
1
+ {"version":3,"file":"_icon-button-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button-base.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.html"],"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 {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport {_animationsDisabled, _StructuralStylesLoader, MatRippleLoader, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Possible appearances for a `MatButton`.\n * See https://m3.material.io/components/buttons/overview\n */\nexport type MatButtonAppearance = 'text' | 'filled' | 'elevated' | 'outlined' | 'tonal';\n\n/** Object that can be used to configure the default options for the button component. */\nexport interface MatButtonConfig {\n /** Whether disabled buttons should be interactive. */\n disabledInteractive?: boolean;\n\n /** Default palette color to apply to buttons. */\n color?: ThemePalette;\n\n /** Default appearance for plain buttons (not icon buttons or FABs). */\n defaultAppearance?: MatButtonAppearance;\n}\n\n/** Injection token that can be used to provide the default options the button component. */\nexport const MAT_BUTTON_CONFIG = new InjectionToken<MatButtonConfig>('MAT_BUTTON_CONFIG');\n\nfunction transformTabIndex(value: unknown): number | undefined {\n return value == null ? undefined : numberAttribute(value);\n}\n\n/** Base class for all buttons. */\n@Directive({\n host: {\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n 'class': 'mat-mdc-button-base',\n '[class]': 'color ? \"mat-\" + color : \"\"',\n '[class.mat-mdc-button-progress-indicator-shown]': 'showProgress()',\n '[attr.disabled]': '_getDisabledAttribute()',\n '[attr.aria-disabled]': '_getAriaDisabled()',\n '[attr.tabindex]': '_getTabIndex()',\n '[class.mat-mdc-button-disabled]': 'disabled',\n '[class.mat-mdc-button-disabled-interactive]': 'disabledInteractive',\n '[class.mat-unthemed]': '!color',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n },\n})\nexport class MatButtonBase implements AfterViewInit, OnDestroy {\n _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n\n protected readonly _config = inject(MAT_BUTTON_CONFIG, {optional: true});\n private readonly _focusMonitor = inject(FocusMonitor);\n private _cleanupClick: (() => void) | undefined;\n private _renderer = inject(Renderer2);\n\n /**\n * Handles the lazy creation of the MatButton ripple.\n * Used to improve initial load time of large applications.\n */\n protected _rippleLoader: MatRippleLoader = inject(MatRippleLoader);\n\n /** Whether the button is set on an anchor node. */\n protected _isAnchor: boolean;\n\n /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n protected _isFab = false;\n\n /**\n * Theme color of the button. This API is supported in M2 themes only, it has\n * no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/button/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 | null;\n\n /** Whether the ripple effect is disabled or not. */\n @Input({transform: booleanAttribute})\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: any) {\n this._disableRipple = value;\n this._updateRippleDisabled();\n }\n private _disableRipple: boolean = false;\n\n /** Whether the button is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value;\n this._updateRippleDisabled();\n }\n private _disabled: boolean = false;\n\n /** `aria-disabled` value of the button. */\n @Input({transform: booleanAttribute, alias: 'aria-disabled'})\n ariaDisabled: boolean | undefined;\n\n /**\n * Natively disabled buttons prevent focus and any pointer events from reaching the button.\n * In some scenarios this might not be desirable, because it can prevent users from finding out\n * why the button is disabled (e.g. via tooltip). This is also useful for buttons that may\n * become disabled when activated, which would cause focus to be transferred to the document\n * body instead of remaining on the button.\n *\n * Enabling this input will change the button so that it is styled to be disabled and will be\n * marked as `aria-disabled`, but it will allow the button to receive events and focus.\n *\n * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\n * meant to be tabbable and you have to prevent the button action (e.g. form submissions).\n */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /** Tab index for the button. */\n @Input({transform: transformTabIndex})\n tabIndex!: number;\n\n /**\n * Backwards-compatibility input that handles pre-existing `[tabindex]` bindings.\n * @docs-private\n */\n @Input({alias: 'tabindex', transform: transformTabIndex})\n set _tabindex(value: number) {\n this.tabIndex = value;\n }\n\n /** Whether the button is showing a progress indicator. */\n readonly showProgress = input(false, {transform: booleanAttribute});\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const element = this._elementRef.nativeElement;\n\n this._isAnchor = element.tagName === 'A';\n this.disabledInteractive = this._config?.disabledInteractive ?? false;\n this.color = this._config?.color ?? null;\n this._rippleLoader?.configureRipple(element, {className: 'mat-mdc-button-ripple'});\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n\n // Some internal tests depend on the timing of this,\n // otherwise we could bind it in the constructor.\n if (this._isAnchor) {\n this._setupAsAnchor();\n }\n }\n\n ngOnDestroy() {\n this._cleanupClick?.();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n }\n\n /** Focuses the button. */\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef.nativeElement, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n protected _getAriaDisabled() {\n if (this.ariaDisabled != null) {\n return this.ariaDisabled;\n }\n\n if (this._isAnchor) {\n return this.disabled || null;\n }\n\n return this.disabled && this.disabledInteractive ? true : null;\n }\n\n protected _getDisabledAttribute() {\n return this.disabledInteractive || !this.disabled ? null : true;\n }\n\n private _updateRippleDisabled(): void {\n this._rippleLoader?.setDisabled(\n this._elementRef.nativeElement,\n this.disableRipple || this.disabled,\n );\n }\n\n protected _getTabIndex() {\n if (this._isAnchor) {\n return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\n }\n return this.tabIndex;\n }\n\n private _setupAsAnchor() {\n this._cleanupClick = this._ngZone.runOutsideAngular(() =>\n this._renderer.listen(this._elementRef.nativeElement, 'click', (event: Event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }),\n );\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Anchor button base.\n */\nexport const MatAnchorBase = MatButtonBase;\nexport type MatAnchorBase = MatButtonBase;\n// tslint:enable:variable-name\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 {Component, ViewEncapsulation} from '@angular/core';\nimport {MatButtonBase} from './button-base';\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]`,\n templateUrl: 'icon-button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n host: {\n 'class': 'mdc-icon-button mat-mdc-icon-button',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatIconButton extends MatButtonBase {\n constructor() {\n super();\n this._rippleLoader.configureRipple(this._elementRef.nativeElement, {centered: true});\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\nexport const MatIconAnchor = MatIconButton;\nexport type MatIconAnchor = MatIconButton;\n// tslint:enable:variable-name\n","<span class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"></span>\n\n<ng-content></ng-content>\n\n@if (showProgress()) {\n <div class=\"mat-mdc-button-progress-indicator-container\">\n <ng-content select=\"[progressIndicator]\" />\n </div>\n}\n\n<!--\n The indicator can't be directly on the button, because MDC uses ::before for high contrast\n indication and it can't be on the ripple, because it has a border radius and overflow: hidden.\n-->\n<span class=\"mat-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n"],"names":["MAT_BUTTON_CONFIG","InjectionToken","transformTabIndex","value","undefined","numberAttribute","MatButtonBase","_elementRef","inject","ElementRef","_ngZone","NgZone","_animationsDisabled","_config","optional","_focusMonitor","FocusMonitor","_cleanupClick","_renderer","Renderer2","_rippleLoader","MatRippleLoader","_isAnchor","_isFab","color","disableRipple","_disableRipple","_updateRippleDisabled","disabled","_disabled","ariaDisabled","disabledInteractive","tabIndex","_tabindex","showProgress","input","transform","booleanAttribute","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","element","nativeElement","tagName","configureRipple","className","ngAfterViewInit","monitor","_setupAsAnchor","ngOnDestroy","stopMonitoring","destroyRipple","focus","origin","options","focusVia","_getAriaDisabled","_getDisabledAttribute","setDisabled","_getTabIndex","runOutsideAngular","listen","event","preventDefault","stopImmediatePropagation","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","properties","classAttribute","ngImport","decorators","args","Input","alias","MatIconButton","centered","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","encapsulation","ViewEncapsulation","None","selector","exportAs","template","MatIconAnchor"],"mappings":"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"}
@@ -300,7 +300,7 @@ class MatIconRegistry {
300
300
  }
301
301
  static ɵfac = i0.ɵɵngDeclareFactory({
302
302
  minVersion: "12.0.0",
303
- version: "22.0.0-next.10",
303
+ version: "22.0.0-next.12",
304
304
  ngImport: i0,
305
305
  type: MatIconRegistry,
306
306
  deps: [{
@@ -318,7 +318,7 @@ class MatIconRegistry {
318
318
  });
319
319
  static ɵprov = i0.ɵɵngDeclareInjectable({
320
320
  minVersion: "12.0.0",
321
- version: "22.0.0-next.10",
321
+ version: "22.0.0-next.12",
322
322
  ngImport: i0,
323
323
  type: MatIconRegistry,
324
324
  providedIn: 'root'
@@ -326,7 +326,7 @@ class MatIconRegistry {
326
326
  }
327
327
  i0.ɵɵngDeclareClassMetadata({
328
328
  minVersion: "12.0.0",
329
- version: "22.0.0-next.10",
329
+ version: "22.0.0-next.12",
330
330
  ngImport: i0,
331
331
  type: MatIconRegistry,
332
332
  decorators: [{
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
2
+ import { Input, ViewEncapsulation, Component } from '@angular/core';
3
3
 
4
4
  class _MatInternalFormField {
5
5
  labelPosition = 'after';
6
6
  static ɵfac = i0.ɵɵngDeclareFactory({
7
7
  minVersion: "12.0.0",
8
- version: "22.0.0-next.10",
8
+ version: "22.0.0-next.12",
9
9
  ngImport: i0,
10
10
  type: _MatInternalFormField,
11
11
  deps: [],
@@ -13,7 +13,7 @@ class _MatInternalFormField {
13
13
  });
14
14
  static ɵcmp = i0.ɵɵngDeclareComponent({
15
15
  minVersion: "14.0.0",
16
- version: "22.0.0-next.10",
16
+ version: "22.0.0-next.12",
17
17
  type: _MatInternalFormField,
18
18
  isStandalone: true,
19
19
  selector: "div[mat-internal-form-field]",
@@ -30,13 +30,12 @@ class _MatInternalFormField {
30
30
  template: '<ng-content></ng-content>',
31
31
  isInline: true,
32
32
  styles: [".mat-internal-form-field {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n}\n.mat-internal-form-field > label {\n margin-left: 0;\n margin-right: auto;\n padding-left: 4px;\n padding-right: 0;\n order: 0;\n}\n[dir=rtl] .mat-internal-form-field > label {\n margin-left: auto;\n margin-right: 0;\n padding-left: 0;\n padding-right: 4px;\n}\n\n.mdc-form-field--align-end > label {\n margin-left: auto;\n margin-right: 0;\n padding-left: 0;\n padding-right: 4px;\n order: -1;\n}\n[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label {\n margin-left: 0;\n margin-right: auto;\n padding-left: 4px;\n padding-right: 0;\n}\n"],
33
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
34
33
  encapsulation: i0.ViewEncapsulation.None
35
34
  });
36
35
  }
37
36
  i0.ɵɵngDeclareClassMetadata({
38
37
  minVersion: "12.0.0",
39
- version: "22.0.0-next.10",
38
+ version: "22.0.0-next.12",
40
39
  ngImport: i0,
41
40
  type: _MatInternalFormField,
42
41
  decorators: [{
@@ -45,7 +44,6 @@ i0.ɵɵngDeclareClassMetadata({
45
44
  selector: 'div[mat-internal-form-field]',
46
45
  template: '<ng-content></ng-content>',
47
46
  encapsulation: ViewEncapsulation.None,
48
- changeDetection: ChangeDetectionStrategy.OnPush,
49
47
  host: {
50
48
  'class': 'mdc-form-field mat-internal-form-field',
51
49
  '[class.mdc-form-field--align-end]': 'labelPosition === "before"'
@@ -1 +1 @@
1
- {"version":3,"file":"_internal-form-field-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/internal-form-field/internal-form-field.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 {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\n\n/**\n * Internal shared component used as a container in form field controls.\n * Not to be confused with `mat-form-field` which MDC calls a \"text field\".\n * @docs-private\n */\n@Component({\n // Use a `div` selector to match the old markup closer.\n selector: 'div[mat-internal-form-field]',\n template: '<ng-content></ng-content>',\n styleUrl: 'internal-form-field.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mdc-form-field mat-internal-form-field',\n '[class.mdc-form-field--align-end]': 'labelPosition === \"before\"',\n },\n})\nexport class _MatInternalFormField {\n /** Position of the label relative to the content. */\n @Input({required: true}) labelPosition: 'before' | 'after' = 'after';\n}\n"],"names":["_MatInternalFormField","labelPosition","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","template","host","Input","required"],"mappings":";;;MA2BaA,qBAAqB,CAAA;AAEPC,EAAAA,aAAa,GAAuB,OAAO;;;;;UAFzDD,qBAAqB;AAAAE,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAArB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,IAAA,EAAAX,qBAAqB;;;;;;;;;;;;;cATtB,2BAA2B;AAAAY,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,0vBAAA,CAAA;AAAAC,IAAAA,eAAA,EAAAV,EAAA,CAAAW,uBAAA,CAAAC,MAAA;AAAAC,IAAAA,aAAA,EAAAb,EAAA,CAAAc,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAS1BnB,qBAAqB;AAAAoB,EAAAA,UAAA,EAAA,CAAA;UAZjCd,SAAS;;gBAEE,8BAA8B;AAAAe,MAAAA,QAAA,EAC9B,2BAA2B;MAAAJ,aAAA,EAEtBC,iBAAiB,CAACC,IAAI;MAAAL,eAAA,EACpBC,uBAAuB,CAACC,MAAM;AAAAM,MAAAA,IAAA,EACzC;AACJ,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,mCAAmC,EAAE;OACtC;MAAAT,MAAA,EAAA,CAAA,0vBAAA;KAAA;;;;YAIAU,KAAK;aAAC;AAACC,QAAAA,QAAQ,EAAE;OAAK;;;;;;;"}
1
+ {"version":3,"file":"_internal-form-field-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/internal-form-field/internal-form-field.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 {Component, Input, ViewEncapsulation} from '@angular/core';\n\n/**\n * Internal shared component used as a container in form field controls.\n * Not to be confused with `mat-form-field` which MDC calls a \"text field\".\n * @docs-private\n */\n@Component({\n // Use a `div` selector to match the old markup closer.\n selector: 'div[mat-internal-form-field]',\n template: '<ng-content></ng-content>',\n styleUrl: 'internal-form-field.css',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'mdc-form-field mat-internal-form-field',\n '[class.mdc-form-field--align-end]': 'labelPosition === \"before\"',\n },\n})\nexport class _MatInternalFormField {\n /** Position of the label relative to the content. */\n @Input({required: true}) labelPosition: 'before' | 'after' = 'after';\n}\n"],"names":["_MatInternalFormField","labelPosition","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","encapsulation","ViewEncapsulation","None","decorators","args","selector","host","Input","required"],"mappings":";;;MA0BaA,qBAAqB,CAAA;AAEPC,EAAAA,aAAa,GAAuB,OAAO;;;;;UAFzDD,qBAAqB;AAAAE,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAArB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,IAAA,EAAAX,qBAAqB;;;;;;;;;;;;;cARtB,2BAA2B;AAAAY,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,0vBAAA,CAAA;AAAAC,IAAAA,aAAA,EAAAV,EAAA,CAAAW,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAQ1BhB,qBAAqB;AAAAiB,EAAAA,UAAA,EAAA,CAAA;UAXjCX,SAAS;AAEEY,IAAAA,IAAA,EAAA,CAAA;AAAAC,MAAAA,QAAA,EAAA,8BAA8B;gBAC9B,2BAA2B;MAAAL,aAAA,EAEtBC,iBAAiB,CAACC,IAAI;AAAAI,MAAAA,IAAA,EAC/B;AACJ,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,mCAAmC,EAAE;OACtC;MAAAP,MAAA,EAAA,CAAA,0vBAAA;KAAA;;;;YAIAQ,KAAK;aAAC;AAACC,QAAAA,QAAQ,EAAE;OAAK;;;;;;;"}
@@ -6,7 +6,7 @@ import { startWith } from 'rxjs/operators';
6
6
  class MatLine {
7
7
  static ɵfac = i0.ɵɵngDeclareFactory({
8
8
  minVersion: "12.0.0",
9
- version: "22.0.0-next.10",
9
+ version: "22.0.0-next.12",
10
10
  ngImport: i0,
11
11
  type: MatLine,
12
12
  deps: [],
@@ -14,7 +14,7 @@ class MatLine {
14
14
  });
15
15
  static ɵdir = i0.ɵɵngDeclareDirective({
16
16
  minVersion: "14.0.0",
17
- version: "22.0.0-next.10",
17
+ version: "22.0.0-next.12",
18
18
  type: MatLine,
19
19
  isStandalone: true,
20
20
  selector: "[mat-line], [matLine]",
@@ -26,7 +26,7 @@ class MatLine {
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({
28
28
  minVersion: "12.0.0",
29
- version: "22.0.0-next.10",
29
+ version: "22.0.0-next.12",
30
30
  ngImport: i0,
31
31
  type: MatLine,
32
32
  decorators: [{
@@ -59,7 +59,7 @@ function setClass(element, className, isAdd) {
59
59
  class MatLineModule {
60
60
  static ɵfac = i0.ɵɵngDeclareFactory({
61
61
  minVersion: "12.0.0",
62
- version: "22.0.0-next.10",
62
+ version: "22.0.0-next.12",
63
63
  ngImport: i0,
64
64
  type: MatLineModule,
65
65
  deps: [],
@@ -67,7 +67,7 @@ class MatLineModule {
67
67
  });
68
68
  static ɵmod = i0.ɵɵngDeclareNgModule({
69
69
  minVersion: "14.0.0",
70
- version: "22.0.0-next.10",
70
+ version: "22.0.0-next.12",
71
71
  ngImport: i0,
72
72
  type: MatLineModule,
73
73
  imports: [MatLine],
@@ -75,7 +75,7 @@ class MatLineModule {
75
75
  });
76
76
  static ɵinj = i0.ɵɵngDeclareInjector({
77
77
  minVersion: "12.0.0",
78
- version: "22.0.0-next.10",
78
+ version: "22.0.0-next.12",
79
79
  ngImport: i0,
80
80
  type: MatLineModule,
81
81
  imports: [BidiModule]
@@ -83,7 +83,7 @@ class MatLineModule {
83
83
  }
84
84
  i0.ɵɵngDeclareClassMetadata({
85
85
  minVersion: "12.0.0",
86
- version: "22.0.0-next.10",
86
+ version: "22.0.0-next.12",
87
87
  ngImport: i0,
88
88
  type: MatLineModule,
89
89
  decorators: [{
@@ -1,7 +1,7 @@
1
1
  import { _IdGenerator } from '@angular/cdk/a11y';
2
2
  import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, inject, booleanAttribute, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, ElementRef, ChangeDetectorRef, signal, EventEmitter, isSignal, ViewChild, Output } from '@angular/core';
4
+ import { InjectionToken, inject, booleanAttribute, Input, ViewEncapsulation, Component, ElementRef, ChangeDetectorRef, signal, EventEmitter, isSignal, ViewChild, Output } from '@angular/core';
5
5
  import { Subject } from 'rxjs';
6
6
  import { MatRipple } from './_ripple-chunk.mjs';
7
7
  import { MatPseudoCheckbox } from './_pseudo-checkbox-chunk.mjs';
@@ -24,7 +24,7 @@ class MatOptgroup {
24
24
  }
25
25
  static ɵfac = i0.ɵɵngDeclareFactory({
26
26
  minVersion: "12.0.0",
27
- version: "22.0.0-next.10",
27
+ version: "22.0.0-next.12",
28
28
  ngImport: i0,
29
29
  type: MatOptgroup,
30
30
  deps: [],
@@ -32,7 +32,7 @@ class MatOptgroup {
32
32
  });
33
33
  static ɵcmp = i0.ɵɵngDeclareComponent({
34
34
  minVersion: "16.1.0",
35
- version: "22.0.0-next.10",
35
+ version: "22.0.0-next.12",
36
36
  type: MatOptgroup,
37
37
  isStandalone: true,
38
38
  selector: "mat-optgroup",
@@ -56,13 +56,12 @@ class MatOptgroup {
56
56
  ngImport: i0,
57
57
  template: "<span\n class=\"mat-mdc-optgroup-label\"\n role=\"presentation\"\n [class.mdc-list-item--disabled]=\"disabled\"\n [id]=\"_labelId\">\n <span class=\"mdc-list-item__primary-text\">{{ label }} <ng-content></ng-content></span>\n</span>\n\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n",
58
58
  styles: [".mat-mdc-optgroup {\n color: var(--mat-optgroup-label-text-color, var(--mat-sys-on-surface-variant));\n font-family: var(--mat-optgroup-label-text-font, var(--mat-sys-title-small-font));\n line-height: var(--mat-optgroup-label-text-line-height, var(--mat-sys-title-small-line-height));\n font-size: var(--mat-optgroup-label-text-size, var(--mat-sys-title-small-size));\n letter-spacing: var(--mat-optgroup-label-text-tracking, var(--mat-sys-title-small-tracking));\n font-weight: var(--mat-optgroup-label-text-weight, var(--mat-sys-title-small-weight));\n}\n\n.mat-mdc-optgroup-label {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n min-height: 48px;\n padding: 0 16px;\n outline: none;\n}\n.mat-mdc-optgroup-label.mdc-list-item--disabled {\n opacity: 0.38;\n}\n.mat-mdc-optgroup-label .mdc-list-item__primary-text {\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n font-family: inherit;\n text-decoration: inherit;\n text-transform: inherit;\n white-space: normal;\n color: inherit;\n}\n"],
59
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
60
59
  encapsulation: i0.ViewEncapsulation.None
61
60
  });
62
61
  }
63
62
  i0.ɵɵngDeclareClassMetadata({
64
63
  minVersion: "12.0.0",
65
- version: "22.0.0-next.10",
64
+ version: "22.0.0-next.12",
66
65
  ngImport: i0,
67
66
  type: MatOptgroup,
68
67
  decorators: [{
@@ -71,7 +70,6 @@ i0.ɵɵngDeclareClassMetadata({
71
70
  selector: 'mat-optgroup',
72
71
  exportAs: 'matOptgroup',
73
72
  encapsulation: ViewEncapsulation.None,
74
- changeDetection: ChangeDetectionStrategy.OnPush,
75
73
  host: {
76
74
  'class': 'mat-mdc-optgroup',
77
75
  '[attr.role]': '_inert ? null : "group"',
@@ -236,7 +234,7 @@ class MatOption {
236
234
  }
237
235
  static ɵfac = i0.ɵɵngDeclareFactory({
238
236
  minVersion: "12.0.0",
239
- version: "22.0.0-next.10",
237
+ version: "22.0.0-next.12",
240
238
  ngImport: i0,
241
239
  type: MatOption,
242
240
  deps: [],
@@ -244,7 +242,7 @@ class MatOption {
244
242
  });
245
243
  static ɵcmp = i0.ɵɵngDeclareComponent({
246
244
  minVersion: "17.0.0",
247
- version: "22.0.0-next.10",
245
+ version: "22.0.0-next.12",
248
246
  type: MatOption,
249
247
  isStandalone: true,
250
248
  selector: "mat-option",
@@ -298,13 +296,12 @@ class MatOption {
298
296
  inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"],
299
297
  exportAs: ["matRipple"]
300
298
  }],
301
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
302
299
  encapsulation: i0.ViewEncapsulation.None
303
300
  });
304
301
  }
305
302
  i0.ɵɵngDeclareClassMetadata({
306
303
  minVersion: "12.0.0",
307
- version: "22.0.0-next.10",
304
+ version: "22.0.0-next.12",
308
305
  ngImport: i0,
309
306
  type: MatOption,
310
307
  decorators: [{
@@ -326,7 +323,6 @@ i0.ɵɵngDeclareClassMetadata({
326
323
  'class': 'mat-mdc-option mdc-list-item'
327
324
  },
328
325
  encapsulation: ViewEncapsulation.None,
329
- changeDetection: ChangeDetectionStrategy.OnPush,
330
326
  imports: [MatPseudoCheckbox, MatRipple],
331
327
  template: "<!-- Set aria-hidden=\"true\" to this DOM node and other decorative nodes in this file. This might\n be contributing to issue where sometimes VoiceOver focuses on a TextNode in the a11y tree instead\n of the Option node (#23202). Most assistive technology will generally ignore non-role,\n non-text-content elements. Adding aria-hidden seems to make VoiceOver behave more consistently. -->\n@if (multiple) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n aria-hidden=\"true\"></mat-pseudo-checkbox>\n}\n\n<ng-content select=\"mat-icon\"></ng-content>\n\n<span class=\"mdc-list-item__primary-text\" #text><ng-content></ng-content></span>\n\n<!-- Render checkmark at the end for single-selection. -->\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n state=\"checked\"\n aria-hidden=\"true\"\n appearance=\"minimal\"></mat-pseudo-checkbox>\n}\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n@if (group && group._inert) {\n <span class=\"cdk-visually-hidden\">({{ group.label }})</span>\n}\n\n<div class=\"mat-mdc-option-ripple mat-focus-indicator\" aria-hidden=\"true\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\" [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n",
332
328
  styles: [".mat-mdc-option {\n -webkit-user-select: none;\n user-select: none;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n min-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--mat-option-label-text-color, var(--mat-sys-on-surface));\n font-family: var(--mat-option-label-text-font, var(--mat-sys-label-large-font));\n line-height: var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));\n font-size: var(--mat-option-label-text-size, var(--mat-sys-body-large-size));\n letter-spacing: var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));\n font-weight: var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight));\n}\n.mat-mdc-option:hover:not(.mdc-list-item--disabled) {\n background-color: var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-option:focus.mdc-list-item, .mat-mdc-option.mat-mdc-option-active.mdc-list-item {\n background-color: var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));\n outline: 0;\n}\n.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active, .mat-mdc-option-multiple, :focus, :hover) {\n background-color: var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container));\n}\n.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active, .mat-mdc-option-multiple, :focus, :hover) .mdc-list-item__primary-text {\n color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container));\n}\n.mat-mdc-option .mat-pseudo-checkbox {\n --mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container));\n}\n.mat-mdc-option.mdc-list-item {\n align-items: center;\n background: transparent;\n}\n.mat-mdc-option.mdc-list-item--disabled {\n cursor: default;\n pointer-events: none;\n}\n.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox, .mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text, .mat-mdc-option.mdc-list-item--disabled > mat-icon {\n opacity: 0.38;\n}\n.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple) {\n padding-left: 32px;\n}\n[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple) {\n padding-left: 16px;\n padding-right: 32px;\n}\n.mat-mdc-option .mat-icon,\n.mat-mdc-option .mat-pseudo-checkbox-full {\n margin-right: 16px;\n flex-shrink: 0;\n}\n[dir=rtl] .mat-mdc-option .mat-icon,\n[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full {\n margin-right: 0;\n margin-left: 16px;\n}\n.mat-mdc-option .mat-pseudo-checkbox-minimal {\n margin-left: 16px;\n flex-shrink: 0;\n}\n[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal {\n margin-right: 16px;\n margin-left: 0;\n}\n.mat-mdc-option .mat-mdc-option-ripple {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n}\n.mat-mdc-option .mdc-list-item__primary-text {\n white-space: normal;\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n font-family: inherit;\n text-decoration: inherit;\n text-transform: inherit;\n margin-right: auto;\n}\n[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text {\n margin-right: 0;\n margin-left: auto;\n}\n@media (forced-colors: active) {\n .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: 16px;\n transform: translateY(-50%);\n width: 10px;\n height: 0;\n border-bottom: solid 10px;\n border-radius: 10px;\n }\n [dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after {\n right: auto;\n left: 16px;\n }\n}\n\n.mat-mdc-option-multiple {\n --mat-list-list-item-selected-container-color: var(--mat-list-list-item-container-color, transparent);\n}\n\n.mat-mdc-option-active .mat-focus-indicator::before {\n content: \"\";\n}\n"]
@@ -1 +1 @@
1
- {"version":3,"file":"_option-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option-parent.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.html"],"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 {InjectionToken, Signal} from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface MatOptionParentComponent {\n disableRipple?: boolean | Signal<boolean>;\n multiple?: boolean;\n inertGroups?: boolean;\n hideSingleSelectionIndicator?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MAT_OPTION_PARENT_COMPONENT = new InjectionToken<MatOptionParentComponent>(\n 'MAT_OPTION_PARENT_COMPONENT',\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 Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n InjectionToken,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\n\n// Notes on the accessibility pattern used for `mat-optgroup`.\n// The option group has two different \"modes\": regular and inert. The regular mode uses the\n// recommended a11y pattern which has `role=\"group\"` on the group element with `aria-labelledby`\n// pointing to the label. This works for `mat-select`, but it seems to hit a bug for autocomplete\n// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if\n// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),\n// VoiceOver on Safari won't read it out.\n// We've introduced the `inert` mode as a workaround. Under this mode, all a11y attributes are\n// removed from the group, and we get the screen reader to read out the group label by mirroring it\n// inside an invisible element in the option. This is sub-optimal, because the screen reader will\n// repeat the group label on each navigation, whereas the default pattern only reads the group when\n// the user enters a new group. The following alternate approaches were considered:\n// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control\n// when the text will be read out so sometimes it comes in too late or never if the user\n// navigates quickly.\n// 2. `<mat-option aria-describedby=\"groupLabel\"` - This works on Safari, but VoiceOver in Chrome\n// won't read out the description at all.\n// 3. `<mat-option aria-labelledby=\"optionLabel groupLabel\"` - This works on Chrome, but Safari\n// doesn't read out the text at all. Furthermore, on\n\n/**\n * Injection token that can be used to reference instances of `MatOptgroup`. It serves as\n * alternative token to the actual `MatOptgroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport const MAT_OPTGROUP = new InjectionToken<MatOptgroup>('MatOptgroup');\n\n/**\n * Component that is used to group instances of `mat-option`.\n */\n@Component({\n selector: 'mat-optgroup',\n exportAs: 'matOptgroup',\n templateUrl: 'optgroup.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: 'optgroup.css',\n host: {\n 'class': 'mat-mdc-optgroup',\n '[attr.role]': '_inert ? null : \"group\"',\n '[attr.aria-disabled]': '_inert ? null : disabled.toString()',\n '[attr.aria-labelledby]': '_inert ? null : _labelId',\n },\n providers: [{provide: MAT_OPTGROUP, useExisting: MatOptgroup}],\n})\nexport class MatOptgroup {\n /** Label for the option group. */\n @Input() label!: string;\n\n /** whether the option group is disabled. */\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n /** Unique id for the underlying label. */\n _labelId: string = inject(_IdGenerator).getId('mat-optgroup-label-');\n\n /** Whether the group is in inert a11y mode. */\n _inert: boolean;\n\n constructor() {\n const parent = inject<MatOptionParentComponent>(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n this._inert = parent?.inertGroups ?? false;\n }\n}\n","<span\n class=\"mat-mdc-optgroup-label\"\n role=\"presentation\"\n [class.mdc-list-item--disabled]=\"disabled\"\n [id]=\"_labelId\">\n <span class=\"mdc-list-item__primary-text\">{{ label }} <ng-content></ng-content></span>\n</span>\n\n<ng-content select=\"mat-option, ng-container\"></ng-content>\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, FocusOrigin} from '@angular/cdk/a11y';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n AfterViewChecked,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n QueryList,\n ViewChild,\n booleanAttribute,\n inject,\n isSignal,\n Signal,\n signal,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {MAT_OPTGROUP, MatOptgroup} from './optgroup';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\nimport {MatRipple} from '../ripple/ripple';\nimport {MatPseudoCheckbox} from '../selection/pseudo-checkbox/pseudo-checkbox';\nimport {_StructuralStylesLoader} from '../focus-indicators/structural-styles';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport class MatOptionSelectionChange<T = any> {\n constructor(\n /** Reference to the option that emitted the event. */\n public source: MatOption<T>,\n /** Whether the change in the option's value was a result of a user action. */\n public isUserInput = false,\n ) {}\n}\n\n/**\n * Single option inside of a `<mat-select>` element.\n */\n@Component({\n selector: 'mat-option',\n exportAs: 'matOption',\n host: {\n 'role': 'option',\n '[class.mdc-list-item--selected]': 'selected',\n '[class.mat-mdc-option-multiple]': 'multiple',\n '[class.mat-mdc-option-active]': 'active',\n '[class.mdc-list-item--disabled]': 'disabled',\n '[id]': 'id',\n // Set aria-selected to false for non-selected items and true for selected items. Conform to\n // [WAI ARIA Listbox authoring practices guide](\n // https://www.w3.org/WAI/ARIA/apg/patterns/listbox/), \"If any options are selected, each\n // selected option has either aria-selected or aria-checked set to true. All options that are\n // selectable but not selected have either aria-selected or aria-checked set to false.\" Align\n // aria-selected implementation of Chips and List components.\n //\n // Set `aria-selected=\"false\"` on not-selected listbox options to fix VoiceOver announcing\n // every option as \"selected\" (#21491).\n '[attr.aria-selected]': 'selected',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_selectViaInteraction()',\n '(keydown)': '_handleKeydown($event)',\n 'class': 'mat-mdc-option mdc-list-item',\n },\n styleUrl: 'option.css',\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatPseudoCheckbox, MatRipple],\n})\nexport class MatOption<T = any> implements FocusableOption, AfterViewChecked, OnDestroy {\n private _element = inject<ElementRef<HTMLElement>>(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n private _parent = inject<MatOptionParentComponent>(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n group = inject<MatOptgroup>(MAT_OPTGROUP, {optional: true});\n\n private _signalDisableRipple = false;\n private _selected = false;\n private _active = false;\n private _mostRecentViewValue = '';\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this._parent && this._parent.multiple;\n }\n\n /** Whether or not the option is currently selected. */\n get selected(): boolean {\n return this._selected;\n }\n\n /** The form value of the option. */\n @Input() value!: T;\n\n /** The unique ID of the option. */\n @Input() id: string = inject(_IdGenerator).getId('mat-option-');\n\n /** Whether the option is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return (this.group && this.group.disabled) || this._disabled();\n }\n set disabled(value: boolean) {\n this._disabled.set(value);\n }\n private _disabled = signal(false);\n\n /** Whether ripples for the option are disabled. */\n get disableRipple(): boolean {\n return this._signalDisableRipple\n ? (this._parent!.disableRipple as Signal<boolean>)()\n : !!this._parent?.disableRipple;\n }\n\n /** Whether to display checkmark for single-selection. */\n get hideSingleSelectionIndicator(): boolean {\n return !!(this._parent && this._parent.hideSingleSelectionIndicator);\n }\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter<MatOptionSelectionChange<T>>();\n\n /** Element containing the option's text. */\n @ViewChild('text', {static: true}) _text: ElementRef<HTMLElement> | undefined;\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly _stateChanges = new Subject<void>();\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n this._signalDisableRipple = !!this._parent && isSignal(this._parent.disableRipple);\n }\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO(kara): Add input property alternative for node envs.\n return (this._text?.nativeElement.textContent || '').trim();\n }\n\n /** Selects the option. */\n select(emitEvent = true): void {\n if (!this._selected) {\n this._selected = true;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Deselects the option. */\n deselect(emitEvent = true): void {\n if (this._selected) {\n this._selected = false;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Sets focus onto this option. */\n focus(_origin?: FocusOrigin, options?: FocusOptions): void {\n // Note that we aren't using `_origin`, but we need to keep it because some internal consumers\n // use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.\n const element = this._getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus(options);\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n _handleKeydown(event: KeyboardEvent): void {\n if ((event.keyCode === ENTER || event.keyCode === SPACE) && !hasModifierKey(event)) {\n this._selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n _selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n this._changeDetectorRef.markForCheck();\n this._emitSelectionChangeEvent(true);\n }\n }\n\n /** Returns the correct tabindex for the option depending on disabled state. */\n // This method is only used by `MatLegacyOption`. Keeping it here to avoid breaking the types.\n // That's because `MatLegacyOption` use `MatOption` type in a few places such as\n // `MatOptionSelectionChange`. It is safe to delete this when `MatLegacyOption` is deleted.\n _getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mat-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this._mostRecentViewValue) {\n if (this._mostRecentViewValue) {\n this._stateChanges.next();\n }\n\n this._mostRecentViewValue = viewValue;\n }\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n\n /** Emits the selection change event. */\n private _emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new MatOptionSelectionChange<T>(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function _countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<MatOption>,\n optionGroups: QueryList<MatOptgroup>,\n): number {\n if (optionGroups.length) {\n let optionsArray = options.toArray();\n let groups = optionGroups.toArray();\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionOffset Offset of the option from the top of the panel.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function _getOptionScrollPosition(\n optionOffset: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number,\n): number {\n if (optionOffset < currentScrollPosition) {\n return optionOffset;\n }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n","<!-- Set aria-hidden=\"true\" to this DOM node and other decorative nodes in this file. This might\n be contributing to issue where sometimes VoiceOver focuses on a TextNode in the a11y tree instead\n of the Option node (#23202). Most assistive technology will generally ignore non-role,\n non-text-content elements. Adding aria-hidden seems to make VoiceOver behave more consistently. -->\n@if (multiple) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n aria-hidden=\"true\"></mat-pseudo-checkbox>\n}\n\n<ng-content select=\"mat-icon\"></ng-content>\n\n<span class=\"mdc-list-item__primary-text\" #text><ng-content></ng-content></span>\n\n<!-- Render checkmark at the end for single-selection. -->\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n state=\"checked\"\n aria-hidden=\"true\"\n appearance=\"minimal\"></mat-pseudo-checkbox>\n}\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n@if (group && group._inert) {\n <span class=\"cdk-visually-hidden\">({{ group.label }})</span>\n}\n\n<div class=\"mat-mdc-option-ripple mat-focus-indicator\" aria-hidden=\"true\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\" [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n"],"names":["MAT_OPTION_PARENT_COMPONENT","InjectionToken","MAT_OPTGROUP","MatOptgroup","label","disabled","_labelId","inject","_IdGenerator","getId","_inert","constructor","parent","optional","inertGroups","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","host","properties","classAttribute","providers","provide","useExisting","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","exportAs","template","Input","transform","MatOptionSelectionChange","source","isUserInput","MatOption","_element","ElementRef","_changeDetectorRef","ChangeDetectorRef","_parent","group","_signalDisableRipple","_selected","_active","_mostRecentViewValue","multiple","selected","value","id","_disabled","set","signal","disableRipple","hideSingleSelectionIndicator","onSelectionChange","EventEmitter","_text","_stateChanges","Subject","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","isSignal","active","viewValue","nativeElement","textContent","trim","select","emitEvent","markForCheck","_emitSelectionChangeEvent","deselect","focus","_origin","options","element","_getHostElement","setActiveStyles","setInactiveStyles","getLabel","_handleKeydown","event","keyCode","ENTER","SPACE","hasModifierKey","_selectViaInteraction","preventDefault","_getTabIndex","ngAfterViewChecked","next","ngOnDestroy","complete","emit","outputs","attributes","listeners","viewQueries","propertyName","first","predicate","descendants","static","ngImport","dependencies","kind","MatPseudoCheckbox","MatRipple","imports","Output","ViewChild","args","_countGroupLabelsBeforeOption","optionIndex","optionGroups","length","optionsArray","toArray","groups","groupCounter","i","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","Math","max"],"mappings":"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"}
1
+ {"version":3,"file":"_option-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option-parent.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.html"],"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 {InjectionToken, Signal} from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface MatOptionParentComponent {\n disableRipple?: boolean | Signal<boolean>;\n multiple?: boolean;\n inertGroups?: boolean;\n hideSingleSelectionIndicator?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MAT_OPTION_PARENT_COMPONENT = new InjectionToken<MatOptionParentComponent>(\n 'MAT_OPTION_PARENT_COMPONENT',\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 Component,\n ViewEncapsulation,\n Input,\n InjectionToken,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\n\n// Notes on the accessibility pattern used for `mat-optgroup`.\n// The option group has two different \"modes\": regular and inert. The regular mode uses the\n// recommended a11y pattern which has `role=\"group\"` on the group element with `aria-labelledby`\n// pointing to the label. This works for `mat-select`, but it seems to hit a bug for autocomplete\n// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if\n// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),\n// VoiceOver on Safari won't read it out.\n// We've introduced the `inert` mode as a workaround. Under this mode, all a11y attributes are\n// removed from the group, and we get the screen reader to read out the group label by mirroring it\n// inside an invisible element in the option. This is sub-optimal, because the screen reader will\n// repeat the group label on each navigation, whereas the default pattern only reads the group when\n// the user enters a new group. The following alternate approaches were considered:\n// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control\n// when the text will be read out so sometimes it comes in too late or never if the user\n// navigates quickly.\n// 2. `<mat-option aria-describedby=\"groupLabel\"` - This works on Safari, but VoiceOver in Chrome\n// won't read out the description at all.\n// 3. `<mat-option aria-labelledby=\"optionLabel groupLabel\"` - This works on Chrome, but Safari\n// doesn't read out the text at all. Furthermore, on\n\n/**\n * Injection token that can be used to reference instances of `MatOptgroup`. It serves as\n * alternative token to the actual `MatOptgroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nexport const MAT_OPTGROUP = new InjectionToken<MatOptgroup>('MatOptgroup');\n\n/**\n * Component that is used to group instances of `mat-option`.\n */\n@Component({\n selector: 'mat-optgroup',\n exportAs: 'matOptgroup',\n templateUrl: 'optgroup.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: 'optgroup.css',\n host: {\n 'class': 'mat-mdc-optgroup',\n '[attr.role]': '_inert ? null : \"group\"',\n '[attr.aria-disabled]': '_inert ? null : disabled.toString()',\n '[attr.aria-labelledby]': '_inert ? null : _labelId',\n },\n providers: [{provide: MAT_OPTGROUP, useExisting: MatOptgroup}],\n})\nexport class MatOptgroup {\n /** Label for the option group. */\n @Input() label!: string;\n\n /** whether the option group is disabled. */\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n /** Unique id for the underlying label. */\n _labelId: string = inject(_IdGenerator).getId('mat-optgroup-label-');\n\n /** Whether the group is in inert a11y mode. */\n _inert: boolean;\n\n constructor() {\n const parent = inject<MatOptionParentComponent>(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n this._inert = parent?.inertGroups ?? false;\n }\n}\n","<span\n class=\"mat-mdc-optgroup-label\"\n role=\"presentation\"\n [class.mdc-list-item--disabled]=\"disabled\"\n [id]=\"_labelId\">\n <span class=\"mdc-list-item__primary-text\">{{ label }} <ng-content></ng-content></span>\n</span>\n\n<ng-content select=\"mat-option, ng-container\"></ng-content>\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, FocusOrigin} from '@angular/cdk/a11y';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {\n Component,\n ViewEncapsulation,\n ElementRef,\n ChangeDetectorRef,\n AfterViewChecked,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n QueryList,\n ViewChild,\n booleanAttribute,\n inject,\n isSignal,\n Signal,\n signal,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {MAT_OPTGROUP, MatOptgroup} from './optgroup';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\nimport {MatRipple} from '../ripple/ripple';\nimport {MatPseudoCheckbox} from '../selection/pseudo-checkbox/pseudo-checkbox';\nimport {_StructuralStylesLoader} from '../focus-indicators/structural-styles';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport class MatOptionSelectionChange<T = any> {\n constructor(\n /** Reference to the option that emitted the event. */\n public source: MatOption<T>,\n /** Whether the change in the option's value was a result of a user action. */\n public isUserInput = false,\n ) {}\n}\n\n/**\n * Single option inside of a `<mat-select>` element.\n */\n@Component({\n selector: 'mat-option',\n exportAs: 'matOption',\n host: {\n 'role': 'option',\n '[class.mdc-list-item--selected]': 'selected',\n '[class.mat-mdc-option-multiple]': 'multiple',\n '[class.mat-mdc-option-active]': 'active',\n '[class.mdc-list-item--disabled]': 'disabled',\n '[id]': 'id',\n // Set aria-selected to false for non-selected items and true for selected items. Conform to\n // [WAI ARIA Listbox authoring practices guide](\n // https://www.w3.org/WAI/ARIA/apg/patterns/listbox/), \"If any options are selected, each\n // selected option has either aria-selected or aria-checked set to true. All options that are\n // selectable but not selected have either aria-selected or aria-checked set to false.\" Align\n // aria-selected implementation of Chips and List components.\n //\n // Set `aria-selected=\"false\"` on not-selected listbox options to fix VoiceOver announcing\n // every option as \"selected\" (#21491).\n '[attr.aria-selected]': 'selected',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_selectViaInteraction()',\n '(keydown)': '_handleKeydown($event)',\n 'class': 'mat-mdc-option mdc-list-item',\n },\n styleUrl: 'option.css',\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n imports: [MatPseudoCheckbox, MatRipple],\n})\nexport class MatOption<T = any> implements FocusableOption, AfterViewChecked, OnDestroy {\n private _element = inject<ElementRef<HTMLElement>>(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n private _parent = inject<MatOptionParentComponent>(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n group = inject<MatOptgroup>(MAT_OPTGROUP, {optional: true});\n\n private _signalDisableRipple = false;\n private _selected = false;\n private _active = false;\n private _mostRecentViewValue = '';\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this._parent && this._parent.multiple;\n }\n\n /** Whether or not the option is currently selected. */\n get selected(): boolean {\n return this._selected;\n }\n\n /** The form value of the option. */\n @Input() value!: T;\n\n /** The unique ID of the option. */\n @Input() id: string = inject(_IdGenerator).getId('mat-option-');\n\n /** Whether the option is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return (this.group && this.group.disabled) || this._disabled();\n }\n set disabled(value: boolean) {\n this._disabled.set(value);\n }\n private _disabled = signal(false);\n\n /** Whether ripples for the option are disabled. */\n get disableRipple(): boolean {\n return this._signalDisableRipple\n ? (this._parent!.disableRipple as Signal<boolean>)()\n : !!this._parent?.disableRipple;\n }\n\n /** Whether to display checkmark for single-selection. */\n get hideSingleSelectionIndicator(): boolean {\n return !!(this._parent && this._parent.hideSingleSelectionIndicator);\n }\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter<MatOptionSelectionChange<T>>();\n\n /** Element containing the option's text. */\n @ViewChild('text', {static: true}) _text: ElementRef<HTMLElement> | undefined;\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly _stateChanges = new Subject<void>();\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n this._signalDisableRipple = !!this._parent && isSignal(this._parent.disableRipple);\n }\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO(kara): Add input property alternative for node envs.\n return (this._text?.nativeElement.textContent || '').trim();\n }\n\n /** Selects the option. */\n select(emitEvent = true): void {\n if (!this._selected) {\n this._selected = true;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Deselects the option. */\n deselect(emitEvent = true): void {\n if (this._selected) {\n this._selected = false;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Sets focus onto this option. */\n focus(_origin?: FocusOrigin, options?: FocusOptions): void {\n // Note that we aren't using `_origin`, but we need to keep it because some internal consumers\n // use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.\n const element = this._getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus(options);\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n _handleKeydown(event: KeyboardEvent): void {\n if ((event.keyCode === ENTER || event.keyCode === SPACE) && !hasModifierKey(event)) {\n this._selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n _selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n this._changeDetectorRef.markForCheck();\n this._emitSelectionChangeEvent(true);\n }\n }\n\n /** Returns the correct tabindex for the option depending on disabled state. */\n // This method is only used by `MatLegacyOption`. Keeping it here to avoid breaking the types.\n // That's because `MatLegacyOption` use `MatOption` type in a few places such as\n // `MatOptionSelectionChange`. It is safe to delete this when `MatLegacyOption` is deleted.\n _getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mat-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this._mostRecentViewValue) {\n if (this._mostRecentViewValue) {\n this._stateChanges.next();\n }\n\n this._mostRecentViewValue = viewValue;\n }\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n\n /** Emits the selection change event. */\n private _emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new MatOptionSelectionChange<T>(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function _countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<MatOption>,\n optionGroups: QueryList<MatOptgroup>,\n): number {\n if (optionGroups.length) {\n let optionsArray = options.toArray();\n let groups = optionGroups.toArray();\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionOffset Offset of the option from the top of the panel.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function _getOptionScrollPosition(\n optionOffset: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number,\n): number {\n if (optionOffset < currentScrollPosition) {\n return optionOffset;\n }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n","<!-- Set aria-hidden=\"true\" to this DOM node and other decorative nodes in this file. This might\n be contributing to issue where sometimes VoiceOver focuses on a TextNode in the a11y tree instead\n of the Option node (#23202). Most assistive technology will generally ignore non-role,\n non-text-content elements. Adding aria-hidden seems to make VoiceOver behave more consistently. -->\n@if (multiple) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n aria-hidden=\"true\"></mat-pseudo-checkbox>\n}\n\n<ng-content select=\"mat-icon\"></ng-content>\n\n<span class=\"mdc-list-item__primary-text\" #text><ng-content></ng-content></span>\n\n<!-- Render checkmark at the end for single-selection. -->\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n state=\"checked\"\n aria-hidden=\"true\"\n appearance=\"minimal\"></mat-pseudo-checkbox>\n}\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n@if (group && group._inert) {\n <span class=\"cdk-visually-hidden\">({{ group.label }})</span>\n}\n\n<div class=\"mat-mdc-option-ripple mat-focus-indicator\" aria-hidden=\"true\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\" [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n"],"names":["MAT_OPTION_PARENT_COMPONENT","InjectionToken","MAT_OPTGROUP","MatOptgroup","label","disabled","_labelId","inject","_IdGenerator","getId","_inert","constructor","parent","optional","inertGroups","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","host","properties","classAttribute","providers","provide","useExisting","styles","encapsulation","ViewEncapsulation","None","decorators","args","template","Input","transform","MatOptionSelectionChange","source","isUserInput","MatOption","_element","ElementRef","_changeDetectorRef","ChangeDetectorRef","_parent","group","_signalDisableRipple","_selected","_active","_mostRecentViewValue","multiple","selected","value","id","_disabled","set","signal","disableRipple","hideSingleSelectionIndicator","onSelectionChange","EventEmitter","_text","_stateChanges","Subject","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","isSignal","active","viewValue","nativeElement","textContent","trim","select","emitEvent","markForCheck","_emitSelectionChangeEvent","deselect","focus","_origin","options","element","_getHostElement","setActiveStyles","setInactiveStyles","getLabel","_handleKeydown","event","keyCode","ENTER","SPACE","hasModifierKey","_selectViaInteraction","preventDefault","_getTabIndex","ngAfterViewChecked","next","ngOnDestroy","complete","emit","outputs","attributes","listeners","viewQueries","propertyName","first","predicate","descendants","static","exportAs","ngImport","dependencies","kind","MatPseudoCheckbox","MatRipple","imports","Output","ViewChild","_countGroupLabelsBeforeOption","optionIndex","optionGroups","length","optionsArray","toArray","groups","groupCounter","i","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","Math","max"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { MatOption, MatOptgroup } from './_option-chunk.mjs';
8
8
  class MatOptionModule {
9
9
  static ɵfac = i0.ɵɵngDeclareFactory({
10
10
  minVersion: "12.0.0",
11
- version: "22.0.0-next.10",
11
+ version: "22.0.0-next.12",
12
12
  ngImport: i0,
13
13
  type: MatOptionModule,
14
14
  deps: [],
@@ -16,7 +16,7 @@ class MatOptionModule {
16
16
  });
17
17
  static ɵmod = i0.ɵɵngDeclareNgModule({
18
18
  minVersion: "14.0.0",
19
- version: "22.0.0-next.10",
19
+ version: "22.0.0-next.12",
20
20
  ngImport: i0,
21
21
  type: MatOptionModule,
22
22
  imports: [MatRippleModule, MatPseudoCheckboxModule, MatOption, MatOptgroup],
@@ -24,7 +24,7 @@ class MatOptionModule {
24
24
  });
25
25
  static ɵinj = i0.ɵɵngDeclareInjector({
26
26
  minVersion: "12.0.0",
27
- version: "22.0.0-next.10",
27
+ version: "22.0.0-next.12",
28
28
  ngImport: i0,
29
29
  type: MatOptionModule,
30
30
  imports: [MatRippleModule, MatPseudoCheckboxModule, MatOption, BidiModule]
@@ -32,7 +32,7 @@ class MatOptionModule {
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({
34
34
  minVersion: "12.0.0",
35
- version: "22.0.0-next.10",
35
+ version: "22.0.0-next.12",
36
36
  ngImport: i0,
37
37
  type: MatOptionModule,
38
38
  decorators: [{
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
2
+ import { Input, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { _animationsDisabled } from './_animation-chunk.mjs';
4
4
 
5
5
  class MatPseudoCheckbox {
@@ -9,7 +9,7 @@ class MatPseudoCheckbox {
9
9
  appearance = 'full';
10
10
  static ɵfac = i0.ɵɵngDeclareFactory({
11
11
  minVersion: "12.0.0",
12
- version: "22.0.0-next.10",
12
+ version: "22.0.0-next.12",
13
13
  ngImport: i0,
14
14
  type: MatPseudoCheckbox,
15
15
  deps: [],
@@ -17,7 +17,7 @@ class MatPseudoCheckbox {
17
17
  });
18
18
  static ɵcmp = i0.ɵɵngDeclareComponent({
19
19
  minVersion: "14.0.0",
20
- version: "22.0.0-next.10",
20
+ version: "22.0.0-next.12",
21
21
  type: MatPseudoCheckbox,
22
22
  isStandalone: true,
23
23
  selector: "mat-pseudo-checkbox",
@@ -41,20 +41,18 @@ class MatPseudoCheckbox {
41
41
  template: '',
42
42
  isInline: true,
43
43
  styles: [".mat-pseudo-checkbox {\n border-radius: 2px;\n cursor: pointer;\n display: inline-block;\n vertical-align: middle;\n box-sizing: border-box;\n position: relative;\n flex-shrink: 0;\n transition: border-color 90ms cubic-bezier(0, 0, 0.2, 0.1), background-color 90ms cubic-bezier(0, 0, 0.2, 0.1);\n}\n.mat-pseudo-checkbox::after {\n position: absolute;\n opacity: 0;\n content: \"\";\n border-bottom: 2px solid currentColor;\n transition: opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);\n}\n.mat-pseudo-checkbox._mat-animation-noopable {\n transition: none !important;\n animation: none !important;\n}\n.mat-pseudo-checkbox._mat-animation-noopable::after {\n transition: none;\n}\n\n.mat-pseudo-checkbox-disabled {\n cursor: default;\n}\n\n.mat-pseudo-checkbox-indeterminate::after {\n left: 1px;\n opacity: 1;\n border-radius: 2px;\n}\n\n.mat-pseudo-checkbox-checked::after {\n left: 1px;\n border-left: 2px solid currentColor;\n transform: rotate(-45deg);\n opacity: 1;\n box-sizing: content-box;\n}\n\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after, .mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after {\n color: var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary));\n}\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after, .mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after {\n color: var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n\n.mat-pseudo-checkbox-full {\n border-color: var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));\n border-width: 2px;\n border-style: solid;\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled {\n border-color: var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate {\n background-color: var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));\n border-color: transparent;\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after {\n color: var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary));\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background-color: var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after {\n color: var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface));\n}\n\n.mat-pseudo-checkbox {\n width: 18px;\n height: 18px;\n}\n\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after {\n width: 14px;\n height: 6px;\n transform-origin: center;\n top: -4.2426406871px;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n}\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after {\n top: 8px;\n width: 16px;\n}\n\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after {\n width: 10px;\n height: 4px;\n transform-origin: center;\n top: -2.8284271247px;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after {\n top: 6px;\n width: 12px;\n}\n"],
44
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
45
44
  encapsulation: i0.ViewEncapsulation.None
46
45
  });
47
46
  }
48
47
  i0.ɵɵngDeclareClassMetadata({
49
48
  minVersion: "12.0.0",
50
- version: "22.0.0-next.10",
49
+ version: "22.0.0-next.12",
51
50
  ngImport: i0,
52
51
  type: MatPseudoCheckbox,
53
52
  decorators: [{
54
53
  type: Component,
55
54
  args: [{
56
55
  encapsulation: ViewEncapsulation.None,
57
- changeDetection: ChangeDetectionStrategy.OnPush,
58
56
  selector: 'mat-pseudo-checkbox',
59
57
  template: '',
60
58
  host: {