@angular/material 21.0.0-next.9 → 21.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 (202) hide show
  1. package/core/tokens/_classes.scss +1 -1
  2. package/core/tokens/m2/_md-sys-color.scss +17 -17
  3. package/fesm2022/_animation-chunk.mjs +10 -16
  4. package/fesm2022/_animation-chunk.mjs.map +1 -1
  5. package/fesm2022/_date-formats-chunk.mjs +68 -164
  6. package/fesm2022/_date-formats-chunk.mjs.map +1 -1
  7. package/fesm2022/_date-range-input-harness-chunk.mjs +284 -463
  8. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
  9. package/fesm2022/_error-options-chunk.mjs +56 -19
  10. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  11. package/fesm2022/_error-state-chunk.mjs +24 -31
  12. package/fesm2022/_error-state-chunk.mjs.map +1 -1
  13. package/fesm2022/_form-field-chunk.mjs +1224 -1017
  14. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  15. package/fesm2022/_icon-button-chunk.mjs +243 -187
  16. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  17. package/fesm2022/_icon-registry-chunk.mjs +350 -575
  18. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  19. package/fesm2022/_input-harness-chunk.mjs +56 -107
  20. package/fesm2022/_input-harness-chunk.mjs.map +1 -1
  21. package/fesm2022/_input-value-accessor-chunk.mjs +0 -6
  22. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
  23. package/fesm2022/_internal-form-field-chunk.mjs +59 -19
  24. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  25. package/fesm2022/_line-chunk.mjs +83 -43
  26. package/fesm2022/_line-chunk.mjs.map +1 -1
  27. package/fesm2022/_option-chunk.mjs +348 -311
  28. package/fesm2022/_option-chunk.mjs.map +1 -1
  29. package/fesm2022/_option-harness-chunk.mjs +23 -39
  30. package/fesm2022/_option-harness-chunk.mjs.map +1 -1
  31. package/fesm2022/_option-module-chunk.mjs +36 -10
  32. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  33. package/fesm2022/_pseudo-checkbox-chunk.mjs +79 -44
  34. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  35. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +36 -10
  36. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  37. package/fesm2022/_public-api-chunk.mjs +71 -134
  38. package/fesm2022/_public-api-chunk.mjs.map +1 -1
  39. package/fesm2022/_ripple-chunk.mjs +504 -600
  40. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  41. package/fesm2022/_ripple-loader-chunk.mjs +120 -138
  42. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  43. package/fesm2022/_ripple-module-chunk.mjs +36 -10
  44. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  45. package/fesm2022/_structural-styles-chunk.mjs +37 -10
  46. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  47. package/fesm2022/_tooltip-chunk.mjs +810 -888
  48. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  49. package/fesm2022/autocomplete-testing.mjs +62 -86
  50. package/fesm2022/autocomplete-testing.mjs.map +1 -1
  51. package/fesm2022/autocomplete.mjs +965 -1126
  52. package/fesm2022/autocomplete.mjs.map +1 -1
  53. package/fesm2022/badge-testing.mjs +38 -54
  54. package/fesm2022/badge-testing.mjs.map +1 -1
  55. package/fesm2022/badge.mjs +321 -272
  56. package/fesm2022/badge.mjs.map +1 -1
  57. package/fesm2022/bottom-sheet-testing.mjs +10 -24
  58. package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
  59. package/fesm2022/bottom-sheet.mjs +349 -344
  60. package/fesm2022/bottom-sheet.mjs.map +1 -1
  61. package/fesm2022/button-testing.mjs +60 -94
  62. package/fesm2022/button-testing.mjs.map +1 -1
  63. package/fesm2022/button-toggle-testing.mjs +76 -125
  64. package/fesm2022/button-toggle-testing.mjs.map +1 -1
  65. package/fesm2022/button-toggle.mjs +752 -662
  66. package/fesm2022/button-toggle.mjs.map +1 -1
  67. package/fesm2022/button.mjs +263 -158
  68. package/fesm2022/button.mjs.map +1 -1
  69. package/fesm2022/card-testing.mjs +19 -33
  70. package/fesm2022/card-testing.mjs.map +1 -1
  71. package/fesm2022/card.mjs +576 -272
  72. package/fesm2022/card.mjs.map +1 -1
  73. package/fesm2022/checkbox-testing.mjs +71 -123
  74. package/fesm2022/checkbox-testing.mjs.map +1 -1
  75. package/fesm2022/checkbox.mjs +515 -477
  76. package/fesm2022/checkbox.mjs.map +1 -1
  77. package/fesm2022/chips-testing.mjs +201 -344
  78. package/fesm2022/chips-testing.mjs.map +1 -1
  79. package/fesm2022/chips.mjs +2552 -2289
  80. package/fesm2022/chips.mjs.map +1 -1
  81. package/fesm2022/core-testing.mjs +14 -28
  82. package/fesm2022/core-testing.mjs.map +1 -1
  83. package/fesm2022/core.mjs +357 -328
  84. package/fesm2022/core.mjs.map +1 -1
  85. package/fesm2022/datepicker-testing.mjs +15 -25
  86. package/fesm2022/datepicker-testing.mjs.map +1 -1
  87. package/fesm2022/datepicker.mjs +4826 -4563
  88. package/fesm2022/datepicker.mjs.map +1 -1
  89. package/fesm2022/dialog-testing.mjs +93 -129
  90. package/fesm2022/dialog-testing.mjs.map +1 -1
  91. package/fesm2022/dialog.mjs +810 -829
  92. package/fesm2022/dialog.mjs.map +1 -1
  93. package/fesm2022/divider-testing.mjs +10 -11
  94. package/fesm2022/divider-testing.mjs.map +1 -1
  95. package/fesm2022/divider.mjs +119 -43
  96. package/fesm2022/divider.mjs.map +1 -1
  97. package/fesm2022/expansion-testing.mjs +74 -130
  98. package/fesm2022/expansion-testing.mjs.map +1 -1
  99. package/fesm2022/expansion.mjs +703 -515
  100. package/fesm2022/expansion.mjs.map +1 -1
  101. package/fesm2022/form-field-testing-control.mjs +16 -33
  102. package/fesm2022/form-field-testing-control.mjs.map +1 -1
  103. package/fesm2022/form-field-testing.mjs +118 -179
  104. package/fesm2022/form-field-testing.mjs.map +1 -1
  105. package/fesm2022/form-field.mjs +36 -10
  106. package/fesm2022/form-field.mjs.map +1 -1
  107. package/fesm2022/grid-list-testing.mjs +65 -113
  108. package/fesm2022/grid-list-testing.mjs.map +1 -1
  109. package/fesm2022/grid-list.mjs +559 -494
  110. package/fesm2022/grid-list.mjs.map +1 -1
  111. package/fesm2022/icon-testing.mjs +148 -127
  112. package/fesm2022/icon-testing.mjs.map +1 -1
  113. package/fesm2022/icon.mjs +325 -351
  114. package/fesm2022/icon.mjs.map +1 -1
  115. package/fesm2022/input-testing.mjs +59 -99
  116. package/fesm2022/input-testing.mjs.map +1 -1
  117. package/fesm2022/input.mjs +457 -520
  118. package/fesm2022/input.mjs.map +1 -1
  119. package/fesm2022/list-testing.mjs +251 -434
  120. package/fesm2022/list-testing.mjs.map +1 -1
  121. package/fesm2022/list.mjs +1522 -1204
  122. package/fesm2022/list.mjs.map +1 -1
  123. package/fesm2022/material.mjs +0 -5
  124. package/fesm2022/material.mjs.map +1 -1
  125. package/fesm2022/menu-testing.mjs +159 -228
  126. package/fesm2022/menu-testing.mjs.map +1 -1
  127. package/fesm2022/menu.mjs +1338 -1343
  128. package/fesm2022/menu.mjs.map +1 -1
  129. package/fesm2022/paginator-testing.mjs +55 -79
  130. package/fesm2022/paginator-testing.mjs.map +1 -1
  131. package/fesm2022/paginator.mjs +381 -309
  132. package/fesm2022/paginator.mjs.map +1 -1
  133. package/fesm2022/progress-bar-testing.mjs +12 -21
  134. package/fesm2022/progress-bar-testing.mjs.map +1 -1
  135. package/fesm2022/progress-bar.mjs +224 -169
  136. package/fesm2022/progress-bar.mjs.map +1 -1
  137. package/fesm2022/progress-spinner-testing.mjs +13 -23
  138. package/fesm2022/progress-spinner-testing.mjs.map +1 -1
  139. package/fesm2022/progress-spinner.mjs +235 -160
  140. package/fesm2022/progress-spinner.mjs.map +1 -1
  141. package/fesm2022/radio-testing.mjs +133 -208
  142. package/fesm2022/radio-testing.mjs.map +1 -1
  143. package/fesm2022/radio.mjs +712 -679
  144. package/fesm2022/radio.mjs.map +1 -1
  145. package/fesm2022/select-testing.mjs +83 -117
  146. package/fesm2022/select-testing.mjs.map +1 -1
  147. package/fesm2022/select.mjs +1116 -1246
  148. package/fesm2022/select.mjs.map +1 -1
  149. package/fesm2022/sidenav-testing.mjs +54 -120
  150. package/fesm2022/sidenav-testing.mjs.map +1 -1
  151. package/fesm2022/sidenav.mjs +1078 -995
  152. package/fesm2022/sidenav.mjs.map +1 -1
  153. package/fesm2022/slide-toggle-testing.mjs +57 -92
  154. package/fesm2022/slide-toggle-testing.mjs.map +1 -1
  155. package/fesm2022/slide-toggle.mjs +369 -279
  156. package/fesm2022/slide-toggle.mjs.map +1 -1
  157. package/fesm2022/slider-testing.mjs +90 -138
  158. package/fesm2022/slider-testing.mjs.map +1 -1
  159. package/fesm2022/slider.mjs +1651 -1716
  160. package/fesm2022/slider.mjs.map +1 -1
  161. package/fesm2022/snack-bar-testing.mjs +40 -87
  162. package/fesm2022/snack-bar-testing.mjs.map +1 -1
  163. package/fesm2022/snack-bar.mjs +763 -714
  164. package/fesm2022/snack-bar.mjs.map +1 -1
  165. package/fesm2022/sort-testing.mjs +45 -66
  166. package/fesm2022/sort-testing.mjs.map +1 -1
  167. package/fesm2022/sort.mjs +419 -344
  168. package/fesm2022/sort.mjs.map +1 -1
  169. package/fesm2022/stepper-testing.mjs +78 -154
  170. package/fesm2022/stepper-testing.mjs.map +1 -1
  171. package/fesm2022/stepper.mjs +790 -498
  172. package/fesm2022/stepper.mjs.map +1 -1
  173. package/fesm2022/table-testing.mjs +120 -213
  174. package/fesm2022/table-testing.mjs.map +1 -1
  175. package/fesm2022/table.mjs +1026 -684
  176. package/fesm2022/table.mjs.map +1 -1
  177. package/fesm2022/tabs-testing.mjs +125 -197
  178. package/fesm2022/tabs-testing.mjs.map +1 -1
  179. package/fesm2022/tabs.mjs +2351 -2028
  180. package/fesm2022/tabs.mjs.map +1 -1
  181. package/fesm2022/timepicker-testing.mjs +113 -172
  182. package/fesm2022/timepicker-testing.mjs.map +1 -1
  183. package/fesm2022/timepicker.mjs +1019 -826
  184. package/fesm2022/timepicker.mjs.map +1 -1
  185. package/fesm2022/toolbar-testing.mjs +16 -27
  186. package/fesm2022/toolbar-testing.mjs.map +1 -1
  187. package/fesm2022/toolbar.mjs +163 -78
  188. package/fesm2022/toolbar.mjs.map +1 -1
  189. package/fesm2022/tooltip-testing.mjs +41 -52
  190. package/fesm2022/tooltip-testing.mjs.map +1 -1
  191. package/fesm2022/tooltip.mjs +36 -10
  192. package/fesm2022/tooltip.mjs.map +1 -1
  193. package/fesm2022/tree-testing.mjs +86 -162
  194. package/fesm2022/tree-testing.mjs.map +1 -1
  195. package/fesm2022/tree.mjs +638 -466
  196. package/fesm2022/tree.mjs.map +1 -1
  197. package/package.json +2 -2
  198. package/schematics/ng-add/index.js +1 -1
  199. package/types/expansion.d.ts +4 -2
  200. package/types/menu-testing.d.ts +2 -0
  201. package/types/select.d.ts +1 -1
  202. package/types/timepicker.d.ts +1 -0
@@ -13,549 +13,737 @@ import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
13
13
  import { _StructuralStylesLoader } from './_structural-styles-chunk.mjs';
14
14
  import '@angular/cdk/layout';
15
15
 
16
- /**
17
- * Token used to provide a `MatAccordion` to `MatExpansionPanel`.
18
- * Used primarily to avoid circular imports between `MatAccordion` and `MatExpansionPanel`.
19
- */
20
16
  const MAT_ACCORDION = new InjectionToken('MAT_ACCORDION');
21
17
 
22
- /**
23
- * Token used to provide a `MatExpansionPanel` to `MatExpansionPanelContent`.
24
- * Used to avoid circular imports between `MatExpansionPanel` and `MatExpansionPanelContent`.
25
- */
26
18
  const MAT_EXPANSION_PANEL = new InjectionToken('MAT_EXPANSION_PANEL');
27
19
 
28
- /**
29
- * Expansion panel content that will be rendered lazily
30
- * after the panel is opened for the first time.
31
- */
32
20
  class MatExpansionPanelContent {
33
- _template = inject(TemplateRef);
34
- _expansionPanel = inject(MAT_EXPANSION_PANEL, { optional: true });
35
- constructor() { }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatExpansionPanelContent, isStandalone: true, selector: "ng-template[matExpansionPanelContent]", ngImport: i0 });
21
+ _template = inject(TemplateRef);
22
+ _expansionPanel = inject(MAT_EXPANSION_PANEL, {
23
+ optional: true
24
+ });
25
+ constructor() {}
26
+ static ɵfac = i0.ɵɵngDeclareFactory({
27
+ minVersion: "12.0.0",
28
+ version: "20.2.0-next.2",
29
+ ngImport: i0,
30
+ type: MatExpansionPanelContent,
31
+ deps: [],
32
+ target: i0.ɵɵFactoryTarget.Directive
33
+ });
34
+ static ɵdir = i0.ɵɵngDeclareDirective({
35
+ minVersion: "14.0.0",
36
+ version: "20.2.0-next.2",
37
+ type: MatExpansionPanelContent,
38
+ isStandalone: true,
39
+ selector: "ng-template[matExpansionPanelContent]",
40
+ ngImport: i0
41
+ });
38
42
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelContent, decorators: [{
40
- type: Directive,
41
- args: [{
42
- selector: 'ng-template[matExpansionPanelContent]',
43
- }]
44
- }], ctorParameters: () => [] });
43
+ i0.ɵɵngDeclareClassMetadata({
44
+ minVersion: "12.0.0",
45
+ version: "20.2.0-next.2",
46
+ ngImport: i0,
47
+ type: MatExpansionPanelContent,
48
+ decorators: [{
49
+ type: Directive,
50
+ args: [{
51
+ selector: 'ng-template[matExpansionPanelContent]'
52
+ }]
53
+ }],
54
+ ctorParameters: () => []
55
+ });
45
56
 
46
- /**
47
- * Injection token that can be used to configure the default
48
- * options for the expansion panel component.
49
- */
50
57
  const MAT_EXPANSION_PANEL_DEFAULT_OPTIONS = new InjectionToken('MAT_EXPANSION_PANEL_DEFAULT_OPTIONS');
51
- /**
52
- * This component can be used as a single element to show expandable content, or as one of
53
- * multiple children of an element with the MatAccordion directive attached.
54
- */
55
58
  class MatExpansionPanel extends CdkAccordionItem {
56
- _viewContainerRef = inject(ViewContainerRef);
57
- _animationsDisabled = _animationsDisabled();
58
- _document = inject(DOCUMENT);
59
- _ngZone = inject(NgZone);
60
- _elementRef = inject(ElementRef);
61
- _renderer = inject(Renderer2);
62
- _cleanupTransitionEnd;
63
- /** Whether the toggle indicator should be hidden. */
64
- get hideToggle() {
65
- return this._hideToggle || (this.accordion && this.accordion.hideToggle);
66
- }
67
- set hideToggle(value) {
68
- this._hideToggle = value;
69
- }
70
- _hideToggle = false;
71
- /** The position of the expansion indicator. */
72
- get togglePosition() {
73
- return this._togglePosition || (this.accordion && this.accordion.togglePosition);
74
- }
75
- set togglePosition(value) {
76
- this._togglePosition = value;
77
- }
78
- _togglePosition;
79
- /** An event emitted after the body's expansion animation happens. */
80
- afterExpand = new EventEmitter();
81
- /** An event emitted after the body's collapse animation happens. */
82
- afterCollapse = new EventEmitter();
83
- /** Stream that emits for changes in `@Input` properties. */
84
- _inputChanges = new Subject();
85
- /** Optionally defined accordion the expansion panel belongs to. */
86
- accordion = inject(MAT_ACCORDION, { optional: true, skipSelf: true });
87
- /** Content that will be rendered lazily. */
88
- _lazyContent;
89
- /** Element containing the panel's user-provided content. */
90
- _body;
91
- /** Element wrapping the panel body. */
92
- _bodyWrapper;
93
- /** Portal holding the user's content. */
94
- _portal;
95
- /** ID for the associated header element. Used for a11y labelling. */
96
- _headerId = inject(_IdGenerator).getId('mat-expansion-panel-header-');
97
- constructor() {
98
- super();
99
- const defaultOptions = inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, { optional: true });
100
- this._expansionDispatcher = inject(UniqueSelectionDispatcher);
101
- if (defaultOptions) {
102
- this.hideToggle = defaultOptions.hideToggle;
103
- }
104
- }
105
- /** Determines whether the expansion panel should have spacing between it and its siblings. */
106
- _hasSpacing() {
107
- if (this.accordion) {
108
- return this.expanded && this.accordion.displayMode === 'default';
59
+ _viewContainerRef = inject(ViewContainerRef);
60
+ _animationsDisabled = _animationsDisabled();
61
+ _document = inject(DOCUMENT);
62
+ _ngZone = inject(NgZone);
63
+ _elementRef = inject(ElementRef);
64
+ _renderer = inject(Renderer2);
65
+ _cleanupTransitionEnd;
66
+ get hideToggle() {
67
+ return this._hideToggle || this.accordion && this.accordion.hideToggle;
68
+ }
69
+ set hideToggle(value) {
70
+ this._hideToggle = value;
71
+ }
72
+ _hideToggle = false;
73
+ get togglePosition() {
74
+ return this._togglePosition || this.accordion && this.accordion.togglePosition;
75
+ }
76
+ set togglePosition(value) {
77
+ this._togglePosition = value;
78
+ }
79
+ _togglePosition;
80
+ afterExpand = new EventEmitter();
81
+ afterCollapse = new EventEmitter();
82
+ _inputChanges = new Subject();
83
+ accordion = inject(MAT_ACCORDION, {
84
+ optional: true,
85
+ skipSelf: true
86
+ });
87
+ _lazyContent;
88
+ _body;
89
+ _bodyWrapper;
90
+ _portal;
91
+ _headerId = inject(_IdGenerator).getId('mat-expansion-panel-header-');
92
+ constructor() {
93
+ super();
94
+ const defaultOptions = inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, {
95
+ optional: true
96
+ });
97
+ this._expansionDispatcher = inject(UniqueSelectionDispatcher);
98
+ if (defaultOptions) {
99
+ this.hideToggle = defaultOptions.hideToggle;
100
+ }
101
+ }
102
+ _hasSpacing() {
103
+ if (this.accordion) {
104
+ return this.expanded && this.accordion.displayMode === 'default';
105
+ }
106
+ return false;
107
+ }
108
+ _getExpandedState() {
109
+ return this.expanded ? 'expanded' : 'collapsed';
110
+ }
111
+ toggle() {
112
+ this.expanded = !this.expanded;
113
+ }
114
+ close() {
115
+ this.expanded = false;
116
+ }
117
+ open() {
118
+ this.expanded = true;
119
+ }
120
+ ngAfterContentInit() {
121
+ if (this._lazyContent && this._lazyContent._expansionPanel === this) {
122
+ this.opened.pipe(startWith(null), filter(() => this.expanded && !this._portal), take(1)).subscribe(() => {
123
+ this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);
124
+ });
125
+ }
126
+ this._setupAnimationEvents();
127
+ }
128
+ ngOnChanges(changes) {
129
+ this._inputChanges.next(changes);
130
+ }
131
+ ngOnDestroy() {
132
+ super.ngOnDestroy();
133
+ this._cleanupTransitionEnd?.();
134
+ this._inputChanges.complete();
135
+ }
136
+ _containsFocus() {
137
+ if (this._body) {
138
+ const focusedElement = this._document.activeElement;
139
+ const bodyElement = this._body.nativeElement;
140
+ return focusedElement === bodyElement || bodyElement.contains(focusedElement);
141
+ }
142
+ return false;
143
+ }
144
+ _transitionEndListener = ({
145
+ target,
146
+ propertyName
147
+ }) => {
148
+ if (target === this._bodyWrapper?.nativeElement && propertyName === 'grid-template-rows') {
149
+ this._ngZone.run(() => {
150
+ if (this.expanded) {
151
+ this.afterExpand.emit();
152
+ } else {
153
+ this.afterCollapse.emit();
109
154
  }
110
- return false;
111
- }
112
- /** Gets the expanded state string. */
113
- _getExpandedState() {
114
- return this.expanded ? 'expanded' : 'collapsed';
115
- }
116
- /** Toggles the expanded state of the expansion panel. */
117
- toggle() {
118
- this.expanded = !this.expanded;
119
- }
120
- /** Sets the expanded state of the expansion panel to false. */
121
- close() {
122
- this.expanded = false;
123
- }
124
- /** Sets the expanded state of the expansion panel to true. */
125
- open() {
126
- this.expanded = true;
127
- }
128
- ngAfterContentInit() {
129
- if (this._lazyContent && this._lazyContent._expansionPanel === this) {
130
- // Render the content as soon as the panel becomes open.
131
- this.opened
132
- .pipe(startWith(null), filter(() => this.expanded && !this._portal), take(1))
133
- .subscribe(() => {
134
- this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);
135
- });
136
- }
137
- this._setupAnimationEvents();
138
- }
139
- ngOnChanges(changes) {
140
- this._inputChanges.next(changes);
141
- }
142
- ngOnDestroy() {
143
- super.ngOnDestroy();
144
- this._cleanupTransitionEnd?.();
145
- this._inputChanges.complete();
146
- }
147
- /** Checks whether the expansion panel's content contains the currently-focused element. */
148
- _containsFocus() {
149
- if (this._body) {
150
- const focusedElement = this._document.activeElement;
151
- const bodyElement = this._body.nativeElement;
152
- return focusedElement === bodyElement || bodyElement.contains(focusedElement);
153
- }
154
- return false;
155
- }
156
- _transitionEndListener = ({ target, propertyName }) => {
157
- if (target === this._bodyWrapper?.nativeElement && propertyName === 'grid-template-rows') {
158
- this._ngZone.run(() => {
159
- if (this.expanded) {
160
- this.afterExpand.emit();
161
- }
162
- else {
163
- this.afterCollapse.emit();
164
- }
165
- });
166
- }
167
- };
168
- _setupAnimationEvents() {
169
- // This method is defined separately, because we need to
170
- // disable this logic in some internal components.
171
- this._ngZone.runOutsideAngular(() => {
172
- if (this._animationsDisabled) {
173
- this.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));
174
- this.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));
175
- }
176
- else {
177
- setTimeout(() => {
178
- const element = this._elementRef.nativeElement;
179
- this._cleanupTransitionEnd = this._renderer.listen(element, 'transitionend', this._transitionEndListener);
180
- element.classList.add('mat-expansion-panel-animations-enabled');
181
- }, 200);
182
- }
183
- });
184
- }
185
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
186
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.0-next.2", type: MatExpansionPanel, isStandalone: true, selector: "mat-expansion-panel", inputs: { hideToggle: ["hideToggle", "hideToggle", booleanAttribute], togglePosition: "togglePosition" }, outputs: { afterExpand: "afterExpand", afterCollapse: "afterCollapse" }, host: { properties: { "class.mat-expanded": "expanded", "class.mat-expansion-panel-spacing": "_hasSpacing()" }, classAttribute: "mat-expansion-panel" }, providers: [
187
- // Provide MatAccordion as undefined to prevent nested expansion panels from registering
188
- // to the same accordion.
189
- { provide: MAT_ACCORDION, useValue: undefined },
190
- { provide: MAT_EXPANSION_PANEL, useExisting: MatExpansionPanel },
191
- ], queries: [{ propertyName: "_lazyContent", first: true, predicate: MatExpansionPanelContent, descendants: true }], viewQueries: [{ propertyName: "_body", first: true, predicate: ["body"], descendants: true }, { propertyName: "_bodyWrapper", first: true, predicate: ["bodyWrapper"], descendants: true }], exportAs: ["matExpansionPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"mat-expansion-panel-header\"></ng-content>\n<div class=\"mat-expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\n <div class=\"mat-expansion-panel-content\"\n role=\"region\"\n [attr.aria-labelledby]=\"_headerId\"\n [id]=\"id\"\n #body>\n <div class=\"mat-expansion-panel-body\">\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n </div>\n <ng-content select=\"mat-action-row\"></ng-content>\n </div>\n</div>\n", styles: [".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
155
+ });
156
+ }
157
+ };
158
+ _setupAnimationEvents() {
159
+ this._ngZone.runOutsideAngular(() => {
160
+ if (this._animationsDisabled) {
161
+ this.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));
162
+ this.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));
163
+ } else {
164
+ setTimeout(() => {
165
+ const element = this._elementRef.nativeElement;
166
+ this._cleanupTransitionEnd = this._renderer.listen(element, 'transitionend', this._transitionEndListener);
167
+ element.classList.add('mat-expansion-panel-animations-enabled');
168
+ }, 200);
169
+ }
170
+ });
171
+ }
172
+ static ɵfac = i0.ɵɵngDeclareFactory({
173
+ minVersion: "12.0.0",
174
+ version: "20.2.0-next.2",
175
+ ngImport: i0,
176
+ type: MatExpansionPanel,
177
+ deps: [],
178
+ target: i0.ɵɵFactoryTarget.Component
179
+ });
180
+ static ɵcmp = i0.ɵɵngDeclareComponent({
181
+ minVersion: "16.1.0",
182
+ version: "20.2.0-next.2",
183
+ type: MatExpansionPanel,
184
+ isStandalone: true,
185
+ selector: "mat-expansion-panel",
186
+ inputs: {
187
+ hideToggle: ["hideToggle", "hideToggle", booleanAttribute],
188
+ togglePosition: "togglePosition"
189
+ },
190
+ outputs: {
191
+ afterExpand: "afterExpand",
192
+ afterCollapse: "afterCollapse"
193
+ },
194
+ host: {
195
+ properties: {
196
+ "class.mat-expanded": "expanded",
197
+ "class.mat-expansion-panel-spacing": "_hasSpacing()"
198
+ },
199
+ classAttribute: "mat-expansion-panel"
200
+ },
201
+ providers: [{
202
+ provide: MAT_ACCORDION,
203
+ useValue: undefined
204
+ }, {
205
+ provide: MAT_EXPANSION_PANEL,
206
+ useExisting: MatExpansionPanel
207
+ }],
208
+ queries: [{
209
+ propertyName: "_lazyContent",
210
+ first: true,
211
+ predicate: MatExpansionPanelContent,
212
+ descendants: true
213
+ }],
214
+ viewQueries: [{
215
+ propertyName: "_body",
216
+ first: true,
217
+ predicate: ["body"],
218
+ descendants: true
219
+ }, {
220
+ propertyName: "_bodyWrapper",
221
+ first: true,
222
+ predicate: ["bodyWrapper"],
223
+ descendants: true
224
+ }],
225
+ exportAs: ["matExpansionPanel"],
226
+ usesInheritance: true,
227
+ usesOnChanges: true,
228
+ ngImport: i0,
229
+ template: "<ng-content select=\"mat-expansion-panel-header\"></ng-content>\n<div class=\"mat-expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\n <div class=\"mat-expansion-panel-content\"\n role=\"region\"\n [attr.aria-labelledby]=\"_headerId\"\n [id]=\"id\"\n #body>\n <div class=\"mat-expansion-panel-body\">\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n </div>\n <ng-content select=\"mat-action-row\"></ng-content>\n </div>\n</div>\n",
230
+ styles: [".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],
231
+ dependencies: [{
232
+ kind: "directive",
233
+ type: CdkPortalOutlet,
234
+ selector: "[cdkPortalOutlet]",
235
+ inputs: ["cdkPortalOutlet"],
236
+ outputs: ["attached"],
237
+ exportAs: ["cdkPortalOutlet"]
238
+ }],
239
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
240
+ encapsulation: i0.ViewEncapsulation.None
241
+ });
192
242
  }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanel, decorators: [{
194
- type: Component,
195
- args: [{ selector: 'mat-expansion-panel', exportAs: 'matExpansionPanel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
196
- // Provide MatAccordion as undefined to prevent nested expansion panels from registering
197
- // to the same accordion.
198
- { provide: MAT_ACCORDION, useValue: undefined },
199
- { provide: MAT_EXPANSION_PANEL, useExisting: MatExpansionPanel },
200
- ], host: {
201
- 'class': 'mat-expansion-panel',
202
- '[class.mat-expanded]': 'expanded',
203
- '[class.mat-expansion-panel-spacing]': '_hasSpacing()',
204
- }, imports: [CdkPortalOutlet], template: "<ng-content select=\"mat-expansion-panel-header\"></ng-content>\n<div class=\"mat-expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\n <div class=\"mat-expansion-panel-content\"\n role=\"region\"\n [attr.aria-labelledby]=\"_headerId\"\n [id]=\"id\"\n #body>\n <div class=\"mat-expansion-panel-body\">\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n </div>\n <ng-content select=\"mat-action-row\"></ng-content>\n </div>\n</div>\n", styles: [".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\n"] }]
205
- }], ctorParameters: () => [], propDecorators: { hideToggle: [{
206
- type: Input,
207
- args: [{ transform: booleanAttribute }]
208
- }], togglePosition: [{
209
- type: Input
210
- }], afterExpand: [{
211
- type: Output
212
- }], afterCollapse: [{
213
- type: Output
214
- }], _lazyContent: [{
215
- type: ContentChild,
216
- args: [MatExpansionPanelContent]
217
- }], _body: [{
218
- type: ViewChild,
219
- args: ['body']
220
- }], _bodyWrapper: [{
221
- type: ViewChild,
222
- args: ['bodyWrapper']
223
- }] } });
224
- /**
225
- * Actions of a `<mat-expansion-panel>`.
226
- */
243
+ i0.ɵɵngDeclareClassMetadata({
244
+ minVersion: "12.0.0",
245
+ version: "20.2.0-next.2",
246
+ ngImport: i0,
247
+ type: MatExpansionPanel,
248
+ decorators: [{
249
+ type: Component,
250
+ args: [{
251
+ selector: 'mat-expansion-panel',
252
+ exportAs: 'matExpansionPanel',
253
+ encapsulation: ViewEncapsulation.None,
254
+ changeDetection: ChangeDetectionStrategy.OnPush,
255
+ providers: [{
256
+ provide: MAT_ACCORDION,
257
+ useValue: undefined
258
+ }, {
259
+ provide: MAT_EXPANSION_PANEL,
260
+ useExisting: MatExpansionPanel
261
+ }],
262
+ host: {
263
+ 'class': 'mat-expansion-panel',
264
+ '[class.mat-expanded]': 'expanded',
265
+ '[class.mat-expansion-panel-spacing]': '_hasSpacing()'
266
+ },
267
+ imports: [CdkPortalOutlet],
268
+ template: "<ng-content select=\"mat-expansion-panel-header\"></ng-content>\n<div class=\"mat-expansion-panel-content-wrapper\" [attr.inert]=\"expanded ? null : ''\" #bodyWrapper>\n <div class=\"mat-expansion-panel-content\"\n role=\"region\"\n [attr.aria-labelledby]=\"_headerId\"\n [id]=\"id\"\n #body>\n <div class=\"mat-expansion-panel-body\">\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n </div>\n <ng-content select=\"mat-action-row\"></ng-content>\n </div>\n</div>\n",
269
+ styles: [".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\n"]
270
+ }]
271
+ }],
272
+ ctorParameters: () => [],
273
+ propDecorators: {
274
+ hideToggle: [{
275
+ type: Input,
276
+ args: [{
277
+ transform: booleanAttribute
278
+ }]
279
+ }],
280
+ togglePosition: [{
281
+ type: Input
282
+ }],
283
+ afterExpand: [{
284
+ type: Output
285
+ }],
286
+ afterCollapse: [{
287
+ type: Output
288
+ }],
289
+ _lazyContent: [{
290
+ type: ContentChild,
291
+ args: [MatExpansionPanelContent]
292
+ }],
293
+ _body: [{
294
+ type: ViewChild,
295
+ args: ['body']
296
+ }],
297
+ _bodyWrapper: [{
298
+ type: ViewChild,
299
+ args: ['bodyWrapper']
300
+ }]
301
+ }
302
+ });
227
303
  class MatExpansionPanelActionRow {
228
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelActionRow, deps: [], target: i0.ɵɵFactoryTarget.Directive });
229
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatExpansionPanelActionRow, isStandalone: true, selector: "mat-action-row", host: { classAttribute: "mat-action-row" }, ngImport: i0 });
304
+ static ɵfac = i0.ɵɵngDeclareFactory({
305
+ minVersion: "12.0.0",
306
+ version: "20.2.0-next.2",
307
+ ngImport: i0,
308
+ type: MatExpansionPanelActionRow,
309
+ deps: [],
310
+ target: i0.ɵɵFactoryTarget.Directive
311
+ });
312
+ static ɵdir = i0.ɵɵngDeclareDirective({
313
+ minVersion: "14.0.0",
314
+ version: "20.2.0-next.2",
315
+ type: MatExpansionPanelActionRow,
316
+ isStandalone: true,
317
+ selector: "mat-action-row",
318
+ host: {
319
+ classAttribute: "mat-action-row"
320
+ },
321
+ ngImport: i0
322
+ });
230
323
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelActionRow, decorators: [{
232
- type: Directive,
233
- args: [{
234
- selector: 'mat-action-row',
235
- host: {
236
- class: 'mat-action-row',
237
- },
238
- }]
239
- }] });
324
+ i0.ɵɵngDeclareClassMetadata({
325
+ minVersion: "12.0.0",
326
+ version: "20.2.0-next.2",
327
+ ngImport: i0,
328
+ type: MatExpansionPanelActionRow,
329
+ decorators: [{
330
+ type: Directive,
331
+ args: [{
332
+ selector: 'mat-action-row',
333
+ host: {
334
+ class: 'mat-action-row'
335
+ }
336
+ }]
337
+ }]
338
+ });
240
339
 
241
- /**
242
- * Header element of a `<mat-expansion-panel>`.
243
- */
244
340
  class MatExpansionPanelHeader {
245
- panel = inject(MatExpansionPanel, { host: true });
246
- _element = inject(ElementRef);
247
- _focusMonitor = inject(FocusMonitor);
248
- _changeDetectorRef = inject(ChangeDetectorRef);
249
- _parentChangeSubscription = Subscription.EMPTY;
250
- constructor() {
251
- inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);
252
- const panel = this.panel;
253
- const defaultOptions = inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, { optional: true });
254
- const tabIndex = inject(new HostAttributeToken('tabindex'), { optional: true });
255
- const accordionHideToggleChange = panel.accordion
256
- ? panel.accordion._stateChanges.pipe(filter(changes => !!(changes['hideToggle'] || changes['togglePosition'])))
257
- : EMPTY;
258
- this.tabIndex = parseInt(tabIndex || '') || 0;
259
- // Since the toggle state depends on an @Input on the panel, we
260
- // need to subscribe and trigger change detection manually.
261
- this._parentChangeSubscription = merge(panel.opened, panel.closed, accordionHideToggleChange, panel._inputChanges.pipe(filter(changes => {
262
- return !!(changes['hideToggle'] || changes['disabled'] || changes['togglePosition']);
263
- }))).subscribe(() => this._changeDetectorRef.markForCheck());
264
- // Avoids focus being lost if the panel contained the focused element and was closed.
265
- panel.closed
266
- .pipe(filter(() => panel._containsFocus()))
267
- .subscribe(() => this._focusMonitor.focusVia(this._element, 'program'));
268
- if (defaultOptions) {
269
- this.expandedHeight = defaultOptions.expandedHeight;
270
- this.collapsedHeight = defaultOptions.collapsedHeight;
341
+ panel = inject(MatExpansionPanel, {
342
+ host: true
343
+ });
344
+ _element = inject(ElementRef);
345
+ _focusMonitor = inject(FocusMonitor);
346
+ _changeDetectorRef = inject(ChangeDetectorRef);
347
+ _parentChangeSubscription = Subscription.EMPTY;
348
+ constructor() {
349
+ inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);
350
+ const panel = this.panel;
351
+ const defaultOptions = inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, {
352
+ optional: true
353
+ });
354
+ const tabIndex = inject(new HostAttributeToken('tabindex'), {
355
+ optional: true
356
+ });
357
+ const accordionHideToggleChange = panel.accordion ? panel.accordion._stateChanges.pipe(filter(changes => !!(changes['hideToggle'] || changes['togglePosition']))) : EMPTY;
358
+ this.tabIndex = parseInt(tabIndex || '') || 0;
359
+ this._parentChangeSubscription = merge(panel.opened, panel.closed, accordionHideToggleChange, panel._inputChanges.pipe(filter(changes => {
360
+ return !!(changes['hideToggle'] || changes['disabled'] || changes['togglePosition']);
361
+ }))).subscribe(() => this._changeDetectorRef.markForCheck());
362
+ panel.closed.pipe(filter(() => panel._containsFocus())).subscribe(() => this._focusMonitor.focusVia(this._element, 'program'));
363
+ if (defaultOptions) {
364
+ this.expandedHeight = defaultOptions.expandedHeight;
365
+ this.collapsedHeight = defaultOptions.collapsedHeight;
366
+ }
367
+ }
368
+ expandedHeight;
369
+ collapsedHeight;
370
+ tabIndex = 0;
371
+ get disabled() {
372
+ return this.panel.disabled;
373
+ }
374
+ _toggle() {
375
+ if (!this.disabled) {
376
+ this.panel.toggle();
377
+ }
378
+ }
379
+ _isExpanded() {
380
+ return this.panel.expanded;
381
+ }
382
+ _getExpandedState() {
383
+ return this.panel._getExpandedState();
384
+ }
385
+ _getPanelId() {
386
+ return this.panel.id;
387
+ }
388
+ _getTogglePosition() {
389
+ return this.panel.togglePosition;
390
+ }
391
+ _showToggle() {
392
+ return !this.panel.hideToggle && !this.panel.disabled;
393
+ }
394
+ _getHeaderHeight() {
395
+ const isExpanded = this._isExpanded();
396
+ if (isExpanded && this.expandedHeight) {
397
+ return this.expandedHeight;
398
+ } else if (!isExpanded && this.collapsedHeight) {
399
+ return this.collapsedHeight;
400
+ }
401
+ return null;
402
+ }
403
+ _keydown(event) {
404
+ switch (event.keyCode) {
405
+ case SPACE:
406
+ case ENTER:
407
+ if (!hasModifierKey(event)) {
408
+ event.preventDefault();
409
+ this._toggle();
271
410
  }
272
- }
273
- /** Height of the header while the panel is expanded. */
274
- expandedHeight;
275
- /** Height of the header while the panel is collapsed. */
276
- collapsedHeight;
277
- /** Tab index of the header. */
278
- tabIndex = 0;
279
- /**
280
- * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.
281
- * @docs-private
282
- */
283
- get disabled() {
284
- return this.panel.disabled;
285
- }
286
- /** Toggles the expanded state of the panel. */
287
- _toggle() {
288
- if (!this.disabled) {
289
- this.panel.toggle();
411
+ break;
412
+ default:
413
+ if (this.panel.accordion) {
414
+ this.panel.accordion._handleHeaderKeydown(event);
290
415
  }
291
- }
292
- /** Gets whether the panel is expanded. */
293
- _isExpanded() {
294
- return this.panel.expanded;
295
- }
296
- /** Gets the expanded state string of the panel. */
297
- _getExpandedState() {
298
- return this.panel._getExpandedState();
299
- }
300
- /** Gets the panel id. */
301
- _getPanelId() {
302
- return this.panel.id;
303
- }
304
- /** Gets the toggle position for the header. */
305
- _getTogglePosition() {
306
- return this.panel.togglePosition;
307
- }
308
- /** Gets whether the expand indicator should be shown. */
309
- _showToggle() {
310
- return !this.panel.hideToggle && !this.panel.disabled;
311
- }
312
- /**
313
- * Gets the current height of the header. Null if no custom height has been
314
- * specified, and if the default height from the stylesheet should be used.
315
- */
316
- _getHeaderHeight() {
317
- const isExpanded = this._isExpanded();
318
- if (isExpanded && this.expandedHeight) {
319
- return this.expandedHeight;
320
- }
321
- else if (!isExpanded && this.collapsedHeight) {
322
- return this.collapsedHeight;
323
- }
324
- return null;
325
- }
326
- /** Handle keydown event calling to toggle() if appropriate. */
327
- _keydown(event) {
328
- switch (event.keyCode) {
329
- // Toggle for space and enter keys.
330
- case SPACE:
331
- case ENTER:
332
- if (!hasModifierKey(event)) {
333
- event.preventDefault();
334
- this._toggle();
335
- }
336
- break;
337
- default:
338
- if (this.panel.accordion) {
339
- this.panel.accordion._handleHeaderKeydown(event);
340
- }
341
- return;
342
- }
343
- }
344
- /**
345
- * Focuses the panel header. Implemented as a part of `FocusableOption`.
346
- * @param origin Origin of the action that triggered the focus.
347
- * @docs-private
348
- */
349
- focus(origin, options) {
350
- if (origin) {
351
- this._focusMonitor.focusVia(this._element, origin, options);
352
- }
353
- else {
354
- this._element.nativeElement.focus(options);
355
- }
356
- }
357
- ngAfterViewInit() {
358
- this._focusMonitor.monitor(this._element).subscribe(origin => {
359
- if (origin && this.panel.accordion) {
360
- this.panel.accordion._handleHeaderFocus(this);
361
- }
362
- });
363
- }
364
- ngOnDestroy() {
365
- this._parentChangeSubscription.unsubscribe();
366
- this._focusMonitor.stopMonitoring(this._element);
367
- }
368
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
369
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0-next.2", type: MatExpansionPanelHeader, isStandalone: true, selector: "mat-expansion-panel-header", inputs: { expandedHeight: "expandedHeight", collapsedHeight: "collapsedHeight", tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))] }, host: { attributes: { "role": "button" }, listeners: { "click": "_toggle()", "keydown": "_keydown($event)" }, properties: { "attr.id": "panel._headerId", "attr.tabindex": "disabled ? -1 : tabIndex", "attr.aria-controls": "_getPanelId()", "attr.aria-expanded": "_isExpanded()", "attr.aria-disabled": "panel.disabled", "class.mat-expanded": "_isExpanded()", "class.mat-expansion-toggle-indicator-after": "_getTogglePosition() === 'after'", "class.mat-expansion-toggle-indicator-before": "_getTogglePosition() === 'before'", "style.height": "_getHeaderHeight()" }, classAttribute: "mat-expansion-panel-header mat-focus-indicator" }, ngImport: i0, template: "<span class=\"mat-content\" [class.mat-content-hide-toggle]=\"!_showToggle()\">\n <ng-content select=\"mat-panel-title\"></ng-content>\n <ng-content select=\"mat-panel-description\"></ng-content>\n <ng-content></ng-content>\n</span>\n\n@if (_showToggle()) {\n <span class=\"mat-expansion-indicator\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n aria-hidden=\"true\"\n focusable=\"false\">\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\n </svg>\n </span>\n}\n", styles: [".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:\"\";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
416
+ return;
417
+ }
418
+ }
419
+ focus(origin, options) {
420
+ if (origin) {
421
+ this._focusMonitor.focusVia(this._element, origin, options);
422
+ } else {
423
+ this._element.nativeElement.focus(options);
424
+ }
425
+ }
426
+ ngAfterViewInit() {
427
+ this._focusMonitor.monitor(this._element).subscribe(origin => {
428
+ if (origin && this.panel.accordion) {
429
+ this.panel.accordion._handleHeaderFocus(this);
430
+ }
431
+ });
432
+ }
433
+ ngOnDestroy() {
434
+ this._parentChangeSubscription.unsubscribe();
435
+ this._focusMonitor.stopMonitoring(this._element);
436
+ }
437
+ static ɵfac = i0.ɵɵngDeclareFactory({
438
+ minVersion: "12.0.0",
439
+ version: "20.2.0-next.2",
440
+ ngImport: i0,
441
+ type: MatExpansionPanelHeader,
442
+ deps: [],
443
+ target: i0.ɵɵFactoryTarget.Component
444
+ });
445
+ static ɵcmp = i0.ɵɵngDeclareComponent({
446
+ minVersion: "17.0.0",
447
+ version: "20.2.0-next.2",
448
+ type: MatExpansionPanelHeader,
449
+ isStandalone: true,
450
+ selector: "mat-expansion-panel-header",
451
+ inputs: {
452
+ expandedHeight: "expandedHeight",
453
+ collapsedHeight: "collapsedHeight",
454
+ tabIndex: ["tabIndex", "tabIndex", value => value == null ? 0 : numberAttribute(value)]
455
+ },
456
+ host: {
457
+ attributes: {
458
+ "role": "button"
459
+ },
460
+ listeners: {
461
+ "click": "_toggle()",
462
+ "keydown": "_keydown($event)"
463
+ },
464
+ properties: {
465
+ "attr.id": "panel._headerId",
466
+ "attr.tabindex": "disabled ? -1 : tabIndex",
467
+ "attr.aria-controls": "_getPanelId()",
468
+ "attr.aria-expanded": "_isExpanded()",
469
+ "attr.aria-disabled": "panel.disabled",
470
+ "class.mat-expanded": "_isExpanded()",
471
+ "class.mat-expansion-toggle-indicator-after": "_getTogglePosition() === 'after'",
472
+ "class.mat-expansion-toggle-indicator-before": "_getTogglePosition() === 'before'",
473
+ "style.height": "_getHeaderHeight()"
474
+ },
475
+ classAttribute: "mat-expansion-panel-header mat-focus-indicator"
476
+ },
477
+ ngImport: i0,
478
+ template: "<span class=\"mat-content\" [class.mat-content-hide-toggle]=\"!_showToggle()\">\n <ng-content select=\"mat-panel-title\"></ng-content>\n <ng-content select=\"mat-panel-description\"></ng-content>\n <ng-content></ng-content>\n</span>\n\n@if (_showToggle()) {\n <span class=\"mat-expansion-indicator\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n aria-hidden=\"true\"\n focusable=\"false\">\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\n </svg>\n </span>\n}\n",
479
+ styles: [".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:\"\";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"],
480
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
481
+ encapsulation: i0.ViewEncapsulation.None
482
+ });
370
483
  }
371
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelHeader, decorators: [{
372
- type: Component,
373
- args: [{ selector: 'mat-expansion-panel-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
374
- 'class': 'mat-expansion-panel-header mat-focus-indicator',
375
- 'role': 'button',
376
- '[attr.id]': 'panel._headerId',
377
- '[attr.tabindex]': 'disabled ? -1 : tabIndex',
378
- '[attr.aria-controls]': '_getPanelId()',
379
- '[attr.aria-expanded]': '_isExpanded()',
380
- '[attr.aria-disabled]': 'panel.disabled',
381
- '[class.mat-expanded]': '_isExpanded()',
382
- '[class.mat-expansion-toggle-indicator-after]': `_getTogglePosition() === 'after'`,
383
- '[class.mat-expansion-toggle-indicator-before]': `_getTogglePosition() === 'before'`,
384
- '[style.height]': '_getHeaderHeight()',
385
- '(click)': '_toggle()',
386
- '(keydown)': '_keydown($event)',
387
- }, template: "<span class=\"mat-content\" [class.mat-content-hide-toggle]=\"!_showToggle()\">\n <ng-content select=\"mat-panel-title\"></ng-content>\n <ng-content select=\"mat-panel-description\"></ng-content>\n <ng-content></ng-content>\n</span>\n\n@if (_showToggle()) {\n <span class=\"mat-expansion-indicator\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n aria-hidden=\"true\"\n focusable=\"false\">\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\n </svg>\n </span>\n}\n", styles: [".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:\"\";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"] }]
388
- }], ctorParameters: () => [], propDecorators: { expandedHeight: [{
389
- type: Input
390
- }], collapsedHeight: [{
391
- type: Input
392
- }], tabIndex: [{
393
- type: Input,
394
- args: [{
395
- transform: (value) => (value == null ? 0 : numberAttribute(value)),
396
- }]
397
- }] } });
398
- /**
399
- * Description element of a `<mat-expansion-panel-header>`.
400
- */
484
+ i0.ɵɵngDeclareClassMetadata({
485
+ minVersion: "12.0.0",
486
+ version: "20.2.0-next.2",
487
+ ngImport: i0,
488
+ type: MatExpansionPanelHeader,
489
+ decorators: [{
490
+ type: Component,
491
+ args: [{
492
+ selector: 'mat-expansion-panel-header',
493
+ encapsulation: ViewEncapsulation.None,
494
+ changeDetection: ChangeDetectionStrategy.OnPush,
495
+ host: {
496
+ 'class': 'mat-expansion-panel-header mat-focus-indicator',
497
+ 'role': 'button',
498
+ '[attr.id]': 'panel._headerId',
499
+ '[attr.tabindex]': 'disabled ? -1 : tabIndex',
500
+ '[attr.aria-controls]': '_getPanelId()',
501
+ '[attr.aria-expanded]': '_isExpanded()',
502
+ '[attr.aria-disabled]': 'panel.disabled',
503
+ '[class.mat-expanded]': '_isExpanded()',
504
+ '[class.mat-expansion-toggle-indicator-after]': `_getTogglePosition() === 'after'`,
505
+ '[class.mat-expansion-toggle-indicator-before]': `_getTogglePosition() === 'before'`,
506
+ '[style.height]': '_getHeaderHeight()',
507
+ '(click)': '_toggle()',
508
+ '(keydown)': '_keydown($event)'
509
+ },
510
+ template: "<span class=\"mat-content\" [class.mat-content-hide-toggle]=\"!_showToggle()\">\n <ng-content select=\"mat-panel-title\"></ng-content>\n <ng-content select=\"mat-panel-description\"></ng-content>\n <ng-content></ng-content>\n</span>\n\n@if (_showToggle()) {\n <span class=\"mat-expansion-indicator\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 -960 960 960\"\n aria-hidden=\"true\"\n focusable=\"false\">\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"/>\n </svg>\n </span>\n}\n",
511
+ styles: [".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:\"\";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\n"]
512
+ }]
513
+ }],
514
+ ctorParameters: () => [],
515
+ propDecorators: {
516
+ expandedHeight: [{
517
+ type: Input
518
+ }],
519
+ collapsedHeight: [{
520
+ type: Input
521
+ }],
522
+ tabIndex: [{
523
+ type: Input,
524
+ args: [{
525
+ transform: value => value == null ? 0 : numberAttribute(value)
526
+ }]
527
+ }]
528
+ }
529
+ });
401
530
  class MatExpansionPanelDescription {
402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
403
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatExpansionPanelDescription, isStandalone: true, selector: "mat-panel-description", host: { classAttribute: "mat-expansion-panel-header-description" }, ngImport: i0 });
531
+ static ɵfac = i0.ɵɵngDeclareFactory({
532
+ minVersion: "12.0.0",
533
+ version: "20.2.0-next.2",
534
+ ngImport: i0,
535
+ type: MatExpansionPanelDescription,
536
+ deps: [],
537
+ target: i0.ɵɵFactoryTarget.Directive
538
+ });
539
+ static ɵdir = i0.ɵɵngDeclareDirective({
540
+ minVersion: "14.0.0",
541
+ version: "20.2.0-next.2",
542
+ type: MatExpansionPanelDescription,
543
+ isStandalone: true,
544
+ selector: "mat-panel-description",
545
+ host: {
546
+ classAttribute: "mat-expansion-panel-header-description"
547
+ },
548
+ ngImport: i0
549
+ });
404
550
  }
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelDescription, decorators: [{
406
- type: Directive,
407
- args: [{
408
- selector: 'mat-panel-description',
409
- host: {
410
- class: 'mat-expansion-panel-header-description',
411
- },
412
- }]
413
- }] });
414
- /**
415
- * Title element of a `<mat-expansion-panel-header>`.
416
- */
551
+ i0.ɵɵngDeclareClassMetadata({
552
+ minVersion: "12.0.0",
553
+ version: "20.2.0-next.2",
554
+ ngImport: i0,
555
+ type: MatExpansionPanelDescription,
556
+ decorators: [{
557
+ type: Directive,
558
+ args: [{
559
+ selector: 'mat-panel-description',
560
+ host: {
561
+ class: 'mat-expansion-panel-header-description'
562
+ }
563
+ }]
564
+ }]
565
+ });
417
566
  class MatExpansionPanelTitle {
418
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
419
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: MatExpansionPanelTitle, isStandalone: true, selector: "mat-panel-title", host: { classAttribute: "mat-expansion-panel-header-title" }, ngImport: i0 });
567
+ static ɵfac = i0.ɵɵngDeclareFactory({
568
+ minVersion: "12.0.0",
569
+ version: "20.2.0-next.2",
570
+ ngImport: i0,
571
+ type: MatExpansionPanelTitle,
572
+ deps: [],
573
+ target: i0.ɵɵFactoryTarget.Directive
574
+ });
575
+ static ɵdir = i0.ɵɵngDeclareDirective({
576
+ minVersion: "14.0.0",
577
+ version: "20.2.0-next.2",
578
+ type: MatExpansionPanelTitle,
579
+ isStandalone: true,
580
+ selector: "mat-panel-title",
581
+ host: {
582
+ classAttribute: "mat-expansion-panel-header-title"
583
+ },
584
+ ngImport: i0
585
+ });
420
586
  }
421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionPanelTitle, decorators: [{
422
- type: Directive,
423
- args: [{
424
- selector: 'mat-panel-title',
425
- host: {
426
- class: 'mat-expansion-panel-header-title',
427
- },
428
- }]
429
- }] });
587
+ i0.ɵɵngDeclareClassMetadata({
588
+ minVersion: "12.0.0",
589
+ version: "20.2.0-next.2",
590
+ ngImport: i0,
591
+ type: MatExpansionPanelTitle,
592
+ decorators: [{
593
+ type: Directive,
594
+ args: [{
595
+ selector: 'mat-panel-title',
596
+ host: {
597
+ class: 'mat-expansion-panel-header-title'
598
+ }
599
+ }]
600
+ }]
601
+ });
430
602
 
431
- /**
432
- * Directive for a Material Design Accordion.
433
- */
434
603
  class MatAccordion extends CdkAccordion {
435
- _keyManager;
436
- /** Headers belonging to this accordion. */
437
- _ownHeaders = new QueryList();
438
- /** All headers inside the accordion. Includes headers inside nested accordions. */
439
- _headers;
440
- /** Whether the expansion indicator should be hidden. */
441
- hideToggle = false;
442
- /**
443
- * Display mode used for all expansion panels in the accordion. Currently two display
444
- * modes exist:
445
- * default - a gutter-like spacing is placed around any expanded panel, placing the expanded
446
- * panel at a different elevation from the rest of the accordion.
447
- * flat - no spacing is placed around expanded panels, showing all panels at the same
448
- * elevation.
449
- */
450
- displayMode = 'default';
451
- /** The position of the expansion indicator. */
452
- togglePosition = 'after';
453
- ngAfterContentInit() {
454
- this._headers.changes
455
- .pipe(startWith(this._headers))
456
- .subscribe((headers) => {
457
- this._ownHeaders.reset(headers.filter(header => header.panel.accordion === this));
458
- this._ownHeaders.notifyOnChanges();
459
- });
460
- this._keyManager = new FocusKeyManager(this._ownHeaders).withWrap().withHomeAndEnd();
461
- }
462
- /** Handles keyboard events coming in from the panel headers. */
463
- _handleHeaderKeydown(event) {
464
- this._keyManager.onKeydown(event);
465
- }
466
- _handleHeaderFocus(header) {
467
- this._keyManager.updateActiveItem(header);
468
- }
469
- ngOnDestroy() {
470
- super.ngOnDestroy();
471
- this._keyManager?.destroy();
472
- this._ownHeaders.destroy();
473
- }
474
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatAccordion, deps: null, target: i0.ɵɵFactoryTarget.Directive });
475
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.2.0-next.2", type: MatAccordion, isStandalone: true, selector: "mat-accordion", inputs: { hideToggle: ["hideToggle", "hideToggle", booleanAttribute], displayMode: "displayMode", togglePosition: "togglePosition" }, host: { properties: { "class.mat-accordion-multi": "this.multi" }, classAttribute: "mat-accordion" }, providers: [
476
- {
477
- provide: MAT_ACCORDION,
478
- useExisting: MatAccordion,
479
- },
480
- ], queries: [{ propertyName: "_headers", predicate: MatExpansionPanelHeader, descendants: true }], exportAs: ["matAccordion"], usesInheritance: true, ngImport: i0 });
604
+ _keyManager;
605
+ _ownHeaders = new QueryList();
606
+ _headers;
607
+ hideToggle = false;
608
+ displayMode = 'default';
609
+ togglePosition = 'after';
610
+ ngAfterContentInit() {
611
+ this._headers.changes.pipe(startWith(this._headers)).subscribe(headers => {
612
+ this._ownHeaders.reset(headers.filter(header => header.panel.accordion === this));
613
+ this._ownHeaders.notifyOnChanges();
614
+ });
615
+ this._keyManager = new FocusKeyManager(this._ownHeaders).withWrap().withHomeAndEnd();
616
+ }
617
+ _handleHeaderKeydown(event) {
618
+ this._keyManager.onKeydown(event);
619
+ }
620
+ _handleHeaderFocus(header) {
621
+ this._keyManager.updateActiveItem(header);
622
+ }
623
+ ngOnDestroy() {
624
+ super.ngOnDestroy();
625
+ this._keyManager?.destroy();
626
+ this._ownHeaders.destroy();
627
+ }
628
+ static ɵfac = i0.ɵɵngDeclareFactory({
629
+ minVersion: "12.0.0",
630
+ version: "20.2.0-next.2",
631
+ ngImport: i0,
632
+ type: MatAccordion,
633
+ deps: null,
634
+ target: i0.ɵɵFactoryTarget.Directive
635
+ });
636
+ static ɵdir = i0.ɵɵngDeclareDirective({
637
+ minVersion: "16.1.0",
638
+ version: "20.2.0-next.2",
639
+ type: MatAccordion,
640
+ isStandalone: true,
641
+ selector: "mat-accordion",
642
+ inputs: {
643
+ hideToggle: ["hideToggle", "hideToggle", booleanAttribute],
644
+ displayMode: "displayMode",
645
+ togglePosition: "togglePosition"
646
+ },
647
+ host: {
648
+ properties: {
649
+ "class.mat-accordion-multi": "this.multi"
650
+ },
651
+ classAttribute: "mat-accordion"
652
+ },
653
+ providers: [{
654
+ provide: MAT_ACCORDION,
655
+ useExisting: MatAccordion
656
+ }],
657
+ queries: [{
658
+ propertyName: "_headers",
659
+ predicate: MatExpansionPanelHeader,
660
+ descendants: true
661
+ }],
662
+ exportAs: ["matAccordion"],
663
+ usesInheritance: true,
664
+ ngImport: i0
665
+ });
481
666
  }
482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatAccordion, decorators: [{
483
- type: Directive,
484
- args: [{
485
- selector: 'mat-accordion',
486
- exportAs: 'matAccordion',
487
- providers: [
488
- {
489
- provide: MAT_ACCORDION,
490
- useExisting: MatAccordion,
491
- },
492
- ],
493
- host: {
494
- class: 'mat-accordion',
495
- // Class binding which is only used by the test harness as there is no other
496
- // way for the harness to detect if multiple panel support is enabled.
497
- '[class.mat-accordion-multi]': 'this.multi',
498
- },
499
- }]
500
- }], propDecorators: { _headers: [{
501
- type: ContentChildren,
502
- args: [MatExpansionPanelHeader, { descendants: true }]
503
- }], hideToggle: [{
504
- type: Input,
505
- args: [{ transform: booleanAttribute }]
506
- }], displayMode: [{
507
- type: Input
508
- }], togglePosition: [{
509
- type: Input
510
- }] } });
667
+ i0.ɵɵngDeclareClassMetadata({
668
+ minVersion: "12.0.0",
669
+ version: "20.2.0-next.2",
670
+ ngImport: i0,
671
+ type: MatAccordion,
672
+ decorators: [{
673
+ type: Directive,
674
+ args: [{
675
+ selector: 'mat-accordion',
676
+ exportAs: 'matAccordion',
677
+ providers: [{
678
+ provide: MAT_ACCORDION,
679
+ useExisting: MatAccordion
680
+ }],
681
+ host: {
682
+ class: 'mat-accordion',
683
+ '[class.mat-accordion-multi]': 'this.multi'
684
+ }
685
+ }]
686
+ }],
687
+ propDecorators: {
688
+ _headers: [{
689
+ type: ContentChildren,
690
+ args: [MatExpansionPanelHeader, {
691
+ descendants: true
692
+ }]
693
+ }],
694
+ hideToggle: [{
695
+ type: Input,
696
+ args: [{
697
+ transform: booleanAttribute
698
+ }]
699
+ }],
700
+ displayMode: [{
701
+ type: Input
702
+ }],
703
+ togglePosition: [{
704
+ type: Input
705
+ }]
706
+ }
707
+ });
511
708
 
512
709
  class MatExpansionModule {
513
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
514
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionModule, imports: [CdkAccordionModule,
515
- PortalModule,
516
- MatAccordion,
517
- MatExpansionPanel,
518
- MatExpansionPanelActionRow,
519
- MatExpansionPanelHeader,
520
- MatExpansionPanelTitle,
521
- MatExpansionPanelDescription,
522
- MatExpansionPanelContent], exports: [BidiModule,
523
- MatAccordion,
524
- MatExpansionPanel,
525
- MatExpansionPanelActionRow,
526
- MatExpansionPanelHeader,
527
- MatExpansionPanelTitle,
528
- MatExpansionPanelDescription,
529
- MatExpansionPanelContent] });
530
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionModule, imports: [CdkAccordionModule,
531
- PortalModule, BidiModule] });
710
+ static ɵfac = i0.ɵɵngDeclareFactory({
711
+ minVersion: "12.0.0",
712
+ version: "20.2.0-next.2",
713
+ ngImport: i0,
714
+ type: MatExpansionModule,
715
+ deps: [],
716
+ target: i0.ɵɵFactoryTarget.NgModule
717
+ });
718
+ static ɵmod = i0.ɵɵngDeclareNgModule({
719
+ minVersion: "14.0.0",
720
+ version: "20.2.0-next.2",
721
+ ngImport: i0,
722
+ type: MatExpansionModule,
723
+ imports: [CdkAccordionModule, PortalModule, MatAccordion, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent],
724
+ exports: [BidiModule, MatAccordion, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent]
725
+ });
726
+ static ɵinj = i0.ɵɵngDeclareInjector({
727
+ minVersion: "12.0.0",
728
+ version: "20.2.0-next.2",
729
+ ngImport: i0,
730
+ type: MatExpansionModule,
731
+ imports: [CdkAccordionModule, PortalModule, BidiModule]
732
+ });
532
733
  }
533
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatExpansionModule, decorators: [{
534
- type: NgModule,
535
- args: [{
536
- imports: [
537
- CdkAccordionModule,
538
- PortalModule,
539
- MatAccordion,
540
- MatExpansionPanel,
541
- MatExpansionPanelActionRow,
542
- MatExpansionPanelHeader,
543
- MatExpansionPanelTitle,
544
- MatExpansionPanelDescription,
545
- MatExpansionPanelContent,
546
- ],
547
- exports: [
548
- BidiModule,
549
- MatAccordion,
550
- MatExpansionPanel,
551
- MatExpansionPanelActionRow,
552
- MatExpansionPanelHeader,
553
- MatExpansionPanelTitle,
554
- MatExpansionPanelDescription,
555
- MatExpansionPanelContent,
556
- ],
557
- }]
558
- }] });
734
+ i0.ɵɵngDeclareClassMetadata({
735
+ minVersion: "12.0.0",
736
+ version: "20.2.0-next.2",
737
+ ngImport: i0,
738
+ type: MatExpansionModule,
739
+ decorators: [{
740
+ type: NgModule,
741
+ args: [{
742
+ imports: [CdkAccordionModule, PortalModule, MatAccordion, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent],
743
+ exports: [BidiModule, MatAccordion, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent]
744
+ }]
745
+ }]
746
+ });
559
747
 
560
748
  export { MAT_ACCORDION, MAT_EXPANSION_PANEL, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, MatAccordion, MatExpansionModule, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelContent, MatExpansionPanelDescription, MatExpansionPanelHeader, MatExpansionPanelTitle };
561
749
  //# sourceMappingURL=expansion.mjs.map