@angular/material 21.2.2 → 22.0.0-next.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 (42) hide show
  1. package/button/_m3-button.scss +1 -0
  2. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  3. package/fesm2022/_icon-button-chunk.mjs +79 -14
  4. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  5. package/fesm2022/autocomplete.mjs.map +1 -1
  6. package/fesm2022/bottom-sheet.mjs +1 -1
  7. package/fesm2022/bottom-sheet.mjs.map +1 -1
  8. package/fesm2022/button-testing.mjs +4 -0
  9. package/fesm2022/button-testing.mjs.map +1 -1
  10. package/fesm2022/button.mjs +15 -15
  11. package/fesm2022/button.mjs.map +1 -1
  12. package/fesm2022/checkbox.mjs.map +1 -1
  13. package/fesm2022/core.mjs +1 -1
  14. package/fesm2022/core.mjs.map +1 -1
  15. package/fesm2022/datepicker.mjs.map +1 -1
  16. package/fesm2022/dialog.mjs +2 -2
  17. package/fesm2022/dialog.mjs.map +1 -1
  18. package/fesm2022/expansion.mjs.map +1 -1
  19. package/fesm2022/list.mjs.map +1 -1
  20. package/fesm2022/select.mjs.map +1 -1
  21. package/fesm2022/slide-toggle.mjs.map +1 -1
  22. package/fesm2022/snack-bar.mjs +1 -1
  23. package/fesm2022/snack-bar.mjs.map +1 -1
  24. package/fesm2022/table.mjs +5 -5
  25. package/fesm2022/table.mjs.map +1 -1
  26. package/fesm2022/tabs.mjs +34 -21
  27. package/fesm2022/tabs.mjs.map +1 -1
  28. package/fesm2022/tree.mjs +1 -1
  29. package/fesm2022/tree.mjs.map +1 -1
  30. package/package.json +6 -6
  31. package/schematics/ng-add/index.js +2 -2
  32. package/types/autocomplete.d.ts +1 -1
  33. package/types/button-testing.d.ts +3 -0
  34. package/types/button.d.ts +8 -6
  35. package/types/checkbox.d.ts +1 -1
  36. package/types/datepicker.d.ts +7 -7
  37. package/types/dialog.d.ts +1 -1
  38. package/types/expansion.d.ts +28 -2
  39. package/types/list.d.ts +1 -1
  40. package/types/select.d.ts +1 -1
  41. package/types/slide-toggle.d.ts +1 -1
  42. package/types/tabs.d.ts +11 -4
package/fesm2022/tree.mjs CHANGED
@@ -467,7 +467,7 @@ i0.ɵɵngDeclareClassMetadata({
467
467
  'class': 'mat-tree'
468
468
  },
469
469
  encapsulation: ViewEncapsulation.None,
470
- changeDetection: ChangeDetectionStrategy.Default,
470
+ changeDetection: ChangeDetectionStrategy.Eager,
471
471
  providers: [{
472
472
  provide: CdkTree,
473
473
  useExisting: MatTree
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/nested-data-source.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Directive,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n numberAttribute,\n inject,\n HostAttributeToken,\n} from '@angular/core';\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from '@angular/cdk/a11y';\n\n/**\n * Determinte if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\n */\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\n keyManager: TreeKeyManagerStrategy<T>,\n): keyManager is NoopTreeKeyManager<T> {\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\n}\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class MatTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n /**\n * The tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n })\n get tabIndexInputBinding(): number {\n return this._tabIndexInputBinding;\n }\n set tabIndexInputBinding(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndexInputBinding = value;\n }\n private _tabIndexInputBinding!: number;\n\n /**\n * The default tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n defaultTabIndex = 0;\n\n protected _getTabindexAttribute(): number | null {\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\n return this.tabIndexInputBinding;\n }\n return this._tabindex;\n }\n\n /**\n * Whether the component is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [{name: 'when', alias: 'matTreeNodeDefWhen'}],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data!: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node!: T;\n\n /**\n * Whether the node is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n /** Tabindex of the node. */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n })\n get tabIndex(): number {\n return this.isDisabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value;\n }\n private _tabIndex!: number;\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input, numberAttribute} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input({alias: 'matTreeNodePadding', transform: numberAttribute})\n override get level(): number {\n return this._level;\n }\n override set level(value: number) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, ViewContainerRef, inject} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n },\n styleUrl: 'tree.css',\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n imports: [MatTreeNodeOutlet],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet =\n undefined!;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: [{name: 'recursive', alias: 'matTreeNodeToggleRecursive'}],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, ...MAT_TREE_DIRECTIVES],\n exports: [BidiModule, MAT_TREE_DIRECTIVES],\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n *\n * @deprecated Use MatTree#childrenAccessor and MatTreeNode#isExpandable\n * instead. To be removed in a future version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n *\n * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future\n * version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n"],"names":["isNoopTreeKeyManager","keyManager","_isNoopTreeKeyManager","MatTreeNode","CdkTreeNode","tabIndexInputBinding","_tabIndexInputBinding","value","defaultTabIndex","_getTabindexAttribute","_tree","_keyManager","_tabindex","disabled","isDisabled","constructor","tabIndex","inject","HostAttributeToken","optional","Number","ngOnInit","ngOnDestroy","deps","target","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","numberAttribute","booleanAttribute","provide","useExisting","exportAs","usesInheritance","ngImport","decorators","args","outputs","providers","host","Input","transform","alias","MatTreeNodeDef","CdkTreeNodeDef","data","when","name","MatNestedTreeNode","CdkNestedTreeNode","node","_tabIndex","ngAfterContentInit","activation","expandedChange","classAttribute","CDK_TREE_NODE_OUTLET_NODE","MatTreeNodePadding","CdkTreeNodePadding","level","_level","_setLevelInput","indent","_indent","_setIndentInput","MatTreeNodeOutlet","viewContainer","ViewContainerRef","_node","CdkTreeNodeOutlet","MatTree","CdkTree","_nodeOutlet","undefined","Component","ɵcmp","ɵɵngDeclareComponent","viewQueries","propertyName","first","predicate","descendants","static","template","changeDetection","ChangeDetectionStrategy","Eager","encapsulation","ViewEncapsulation","None","Default","imports","styles","ViewChild","MatTreeNodeToggle","CdkTreeNodeToggle","recursive","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","CdkTreeModule","exports","BidiModule","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","Array","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","DataSource","_treeControl","_treeFlattener","_flattenedData","BehaviorSubject","_expandedData","_data","next","dataNodes","initialData","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","disconnect","MatTreeNestedDataSource"],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/nested-data-source.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Directive,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n numberAttribute,\n inject,\n HostAttributeToken,\n} from '@angular/core';\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from '@angular/cdk/a11y';\n\n/**\n * Determinte if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\n */\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\n keyManager: TreeKeyManagerStrategy<T>,\n): keyManager is NoopTreeKeyManager<T> {\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\n}\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class MatTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n /**\n * The tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n })\n get tabIndexInputBinding(): number {\n return this._tabIndexInputBinding;\n }\n set tabIndexInputBinding(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndexInputBinding = value;\n }\n private _tabIndexInputBinding!: number;\n\n /**\n * The default tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n defaultTabIndex = 0;\n\n protected _getTabindexAttribute(): number | null {\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\n return this.tabIndexInputBinding;\n }\n return this._tabindex;\n }\n\n /**\n * Whether the component is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [{name: 'when', alias: 'matTreeNodeDefWhen'}],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data!: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node!: T;\n\n /**\n * Whether the node is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n /** Tabindex of the node. */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n })\n get tabIndex(): number {\n return this.isDisabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value;\n }\n private _tabIndex!: number;\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input, numberAttribute} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input({alias: 'matTreeNodePadding', transform: numberAttribute})\n override get level(): number {\n return this._level;\n }\n override set level(value: number) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, ViewContainerRef, inject} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n },\n styleUrl: 'tree.css',\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n imports: [MatTreeNodeOutlet],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet =\n undefined!;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: [{name: 'recursive', alias: 'matTreeNodeToggleRecursive'}],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, ...MAT_TREE_DIRECTIVES],\n exports: [BidiModule, MAT_TREE_DIRECTIVES],\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n *\n * @deprecated Use MatTree#childrenAccessor and MatTreeNode#isExpandable\n * instead. To be removed in a future version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n *\n * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future\n * version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n"],"names":["isNoopTreeKeyManager","keyManager","_isNoopTreeKeyManager","MatTreeNode","CdkTreeNode","tabIndexInputBinding","_tabIndexInputBinding","value","defaultTabIndex","_getTabindexAttribute","_tree","_keyManager","_tabindex","disabled","isDisabled","constructor","tabIndex","inject","HostAttributeToken","optional","Number","ngOnInit","ngOnDestroy","deps","target","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","numberAttribute","booleanAttribute","provide","useExisting","exportAs","usesInheritance","ngImport","decorators","args","outputs","providers","host","Input","transform","alias","MatTreeNodeDef","CdkTreeNodeDef","data","when","name","MatNestedTreeNode","CdkNestedTreeNode","node","_tabIndex","ngAfterContentInit","activation","expandedChange","classAttribute","CDK_TREE_NODE_OUTLET_NODE","MatTreeNodePadding","CdkTreeNodePadding","level","_level","_setLevelInput","indent","_indent","_setIndentInput","MatTreeNodeOutlet","viewContainer","ViewContainerRef","_node","CdkTreeNodeOutlet","MatTree","CdkTree","_nodeOutlet","undefined","Component","ɵcmp","ɵɵngDeclareComponent","viewQueries","propertyName","first","predicate","descendants","static","template","changeDetection","ChangeDetectionStrategy","Eager","encapsulation","ViewEncapsulation","None","imports","styles","ViewChild","MatTreeNodeToggle","CdkTreeNodeToggle","recursive","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","CdkTreeModule","exports","BidiModule","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","Array","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","DataSource","_treeControl","_treeFlattener","_flattenedData","BehaviorSubject","_expandedData","_data","next","dataNodes","initialData","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","disconnect","MatTreeNestedDataSource"],"mappings":";;;;;;;;AA8BA,SAASA,oBAAoBA,CAC3BC,UAAqC,EAAA;AAErC,EAAA,OAAO,CAAC,CAAEA,UAAoC,CAACC,qBAAqB;AACtE;AAoBM,MAAOC,WAAsB,SAAQC,WAAiB,CAAA;EAS1D,IAIIC,oBAAoBA,GAAA;IACtB,OAAO,IAAI,CAACC,qBAAqB;AACnC;EACA,IAAID,oBAAoBA,CAACE,KAAa,EAAA;IAEpC,IAAI,CAACD,qBAAqB,GAAGC,KAAK;AACpC;EACQD,qBAAqB;AAU7BE,EAAAA,eAAe,GAAG,CAAC;AAETC,EAAAA,qBAAqBA,GAAA;IAC7B,IAAIT,oBAAoB,CAAC,IAAI,CAACU,KAAK,CAACC,WAAW,CAAC,EAAE;MAChD,OAAO,IAAI,CAACN,oBAAoB;AAClC;IACA,OAAO,IAAI,CAACO,SAAS;AACvB;EAQA,IACIC,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,UAAU;AACxB;EACA,IAAID,QAAQA,CAACN,KAAc,EAAA;IACzB,IAAI,CAACO,UAAU,GAAGP,KAAK;AACzB;AAIAQ,EAAAA,WAAAA,GAAA;AACE,IAAA,KAAK,EAAE;IAEP,MAAMC,QAAQ,GAAGC,MAAM,CAAC,IAAIC,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAACC,MAAAA,QAAQ,EAAE;AAAI,KAAC,CAAC;IAC7E,IAAI,CAACd,oBAAoB,GAAGe,MAAM,CAACJ,QAAQ,CAAC,IAAI,IAAI,CAACR,eAAe;AACtE;AAISa,EAAAA,QAAQA,GAAA;IACf,KAAK,CAACA,QAAQ,EAAE;AAClB;AAESC,EAAAA,WAAWA,GAAA;IAClB,KAAK,CAACA,WAAW,EAAE;AACrB;;;;;UAtEWnB,WAAW;AAAAoB,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAX,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAA7B,WAAW;AAUT8B,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,eAAA;AAAAC,IAAAA,MAAA,EAAA;AAAA9B,MAAAA,oBAAA,EAAA,CAAA,UAAA,EAAA,sBAAA,EAACE,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK,CAAE,CAmC1D;AAAAM,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAAwB,gBAAgB;;;;;;;;;;;;;;;;;;;eAxDxB,CAAC;AAACC,MAAAA,OAAO,EAAElC,WAAW;AAAEmC,MAAAA,WAAW,EAAEpC;KAAY,CAAC;IAAAqC,QAAA,EAAA,CAAA,aAAA,CAAA;AAAAC,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAWlDtB,WAAW;AAAAwC,EAAAA,UAAA,EAAA,CAAA;UAfvBhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,eAAe;AACzBM,MAAAA,QAAQ,EAAE,aAAa;AACvBK,MAAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACzCC,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAElC,WAAW;AAAEmC,QAAAA,WAAW,EAAapC;AAAA,OAAC,CAAC;AAC7D4C,MAAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,sBAAsB,EAAE,oBAAoB;AAC5C,QAAA,mBAAmB,EAAE,WAAW;AAChC,QAAA,sBAAsB,EAAE,qBAAqB;AAC7C,QAAA,qBAAqB,EAAE,eAAe;AACtC,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,YAAY,EAAE;AACf;KACF;;;;;YAUEC,KAAK;AAACJ,MAAAA,IAAA,EAAA,CAAA;AACLK,QAAAA,SAAS,EAAG1C,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK,CAAE;AAC3E2C,QAAAA,KAAK,EAAE;OACR;;;YAiCAF,KAAK;aAAC;AAACC,QAAAA,SAAS,EAAEZ;OAAiB;;;;AAqChC,MAAOc,cAAkB,SAAQC,cAAiB,CAAA;EAChCC,IAAI;;;;;UADfF,cAAc;AAAA5B,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAdwB,cAAc;AAAAlB,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,kBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAmB,MAAAA,IAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,CAAA;AAAAD,MAAAA,IAAA,EAAA,CAAA,aAAA,EAAA,MAAA;KAAA;AAAAP,IAAAA,SAAA,EAFd,CAAC;AAACR,MAAAA,OAAO,EAAEc,cAAc;AAAEb,MAAAA,WAAW,EAAEY;AAAc,KAAC,CAAC;AAAAV,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAExD0B,cAAc;AAAAR,EAAAA,UAAA,EAAA,CAAA;UAL1BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,MAAAA,MAAM,EAAE,CAAC;AAACoB,QAAAA,IAAI,EAAE,MAAM;AAAEL,QAAAA,KAAK,EAAE;AAAoB,OAAC,CAAC;AACrDJ,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAEc,cAAc;AAAEb,QAAAA,WAAW,EAAgBY;OAAC;KACnE;;;;YAEEH,KAAK;aAAC,aAAa;;;;AAmBhB,MAAOQ,iBACX,SAAQC,iBAAuB,CAAA;EAGHC,IAAI;EAQhC,IACI7C,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,UAAU;AACxB;EACA,IAAID,QAAQA,CAACN,KAAc,EAAA;IACzB,IAAI,CAACO,UAAU,GAAGP,KAAK;AACzB;EAGA,IAGIS,QAAQA,GAAA;IACV,OAAO,IAAI,CAACF,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC6C,SAAS;AAC9C;EACA,IAAI3C,QAAQA,CAACT,KAAa,EAAA;IAExB,IAAI,CAACoD,SAAS,GAAGpD,KAAK;AACxB;EACQoD,SAAS;AAKRtC,EAAAA,QAAQA,GAAA;IACf,KAAK,CAACA,QAAQ,EAAE;AAClB;AAESuC,EAAAA,kBAAkBA,GAAA;IACzB,KAAK,CAACA,kBAAkB,EAAE;AAC5B;AAEStC,EAAAA,WAAWA,GAAA;IAClB,KAAK,CAACA,WAAW,EAAE;AACrB;;;;;UA9CWkC,iBAAiB;AAAAjC,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAjB6B,iBAAiB;AAAAvB,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,sBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAuB,MAAAA,IAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,CAAA;AAAA7C,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAYTwB,gBAAgB,CAAA;AAAArB,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAUrBT,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK,CAAE;KA/BlE;AAAAsC,IAAAA,OAAA,EAAA;AAAAgB,MAAAA,UAAA,EAAA,YAAA;AAAAC,MAAAA,cAAA,EAAA;KAAA;AAAAf,IAAAA,IAAA,EAAA;AAAAgB,MAAAA,cAAA,EAAA;KAAA;AAAAjB,IAAAA,SAAA,EAAA,CACT;AAACR,MAAAA,OAAO,EAAEmB,iBAAiB;AAAElB,MAAAA,WAAW,EAAEiB;AAAkB,KAAA,EAC5D;AAAClB,MAAAA,OAAO,EAAElC,WAAW;AAAEmC,MAAAA,WAAW,EAAEiB;AAAkB,KAAA,EACtD;AAAClB,MAAAA,OAAO,EAAE0B,yBAAyB;AAAEzB,MAAAA,WAAW,EAAEiB;AAAkB,KAAA,CACrE;IAAAhB,QAAA,EAAA,CAAA,mBAAA,CAAA;AAAAC,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAKU+B,iBAAiB;AAAAb,EAAAA,UAAA,EAAA,CAAA;UAb7BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,sBAAsB;AAChCM,MAAAA,QAAQ,EAAE,mBAAmB;AAC7BK,MAAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACzCC,MAAAA,SAAS,EAAE,CACT;AAACR,QAAAA,OAAO,EAAEmB,iBAAiB;AAAElB,QAAAA,WAAW;AAAoB,OAAA,EAC5D;AAACD,QAAAA,OAAO,EAAElC,WAAW;AAAEmC,QAAAA,WAAW;AAAoB,OAAA,EACtD;AAACD,QAAAA,OAAO,EAAE0B,yBAAyB;AAAEzB,QAAAA,WAAW;AAAoB,OAAA,CACrE;AACDQ,MAAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE;AACV;KACF;;;;YAKEC,KAAK;aAAC,mBAAmB;;;YAQzBA,KAAK;aAAC;AAACC,QAAAA,SAAS,EAAEZ;OAAiB;;;YASnCW,KAAK;AAACJ,MAAAA,IAAA,EAAA,CAAA;QACLK,SAAS,EAAG1C,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK;OAC1E;;;;;AClKG,MAAO0D,kBAA6B,SAAQC,kBAAwB,CAAA;EAExE,IACaC,KAAKA,GAAA;IAChB,OAAO,IAAI,CAACC,MAAM;AACpB;EACA,IAAaD,KAAKA,CAAC5D,KAAa,EAAA;AAC9B,IAAA,IAAI,CAAC8D,cAAc,CAAC9D,KAAK,CAAC;AAC5B;EAGA,IACa+D,MAAMA,GAAA;IACjB,OAAO,IAAI,CAACC,OAAO;AACrB;EACA,IAAaD,MAAMA,CAACA,MAAuB,EAAA;AACzC,IAAA,IAAI,CAACE,eAAe,CAACF,MAAM,CAAC;AAC9B;;;;;UAjBWL,kBAAkB;AAAA1C,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAlB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAAiC,kBAAkB;AAEmBhC,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,sBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAgC,MAAAA,KAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA/B,eAAe,CAJpD;AAAAkC,MAAAA,MAAA,EAAA,CAAA,0BAAA,EAAA,QAAA;KAAA;AAAAxB,IAAAA,SAAA,EAAA,CAAC;AAACR,MAAAA,OAAO,EAAE4B,kBAAkB;AAAE3B,MAAAA,WAAW,EAAE0B;KAAmB,CAAC;AAAAxB,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAEhEwC,kBAAkB;AAAAtB,EAAAA,UAAA,EAAA,CAAA;UAJ9BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,sBAAsB;AAChCY,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAE4B,kBAAkB;AAAE3B,QAAAA,WAAW,EAAoB0B;OAAC;KAC3E;;;;YAGEjB,KAAK;AAACJ,MAAAA,IAAA,EAAA,CAAA;AAACM,QAAAA,KAAK,EAAE,oBAAoB;AAAED,QAAAA,SAAS,EAAEb;OAAgB;;;YAS/DY,KAAK;aAAC,0BAA0B;;;;;MCLtByB,iBAAiB,CAAA;AAC5BC,EAAAA,aAAa,GAAGzD,MAAM,CAAC0D,gBAAgB,CAAC;AACxCC,EAAAA,KAAK,GAAG3D,MAAM,CAAC+C,yBAAyB,EAAE;AAAC7C,IAAAA,QAAQ,EAAE;AAAK,GAAA,CAAC;;;;;UAFhDsD,iBAAiB;AAAAlD,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAjB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAAyC,iBAAiB;AAPjBxC,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,qBAAA;AAAAY,IAAAA,SAAA,EAAA,CACT;AACER,MAAAA,OAAO,EAAEuC,iBAAiB;AAC1BtC,MAAAA,WAAW,EAAEkC;AACd,KAAA,CACF;AAAA/B,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAEUgD,iBAAiB;AAAA9B,EAAAA,UAAA,EAAA,CAAA;UAT7BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,qBAAqB;AAC/BY,MAAAA,SAAS,EAAE,CACT;AACER,QAAAA,OAAO,EAAEuC,iBAAiB;AAC1BtC,QAAAA,WAAW,EAAmBkC;OAC/B;KAEJ;;;;ACQK,MAAOK,OAAkB,SAAQC,OAAa,CAAA;AAGKC,EAAAA,WAAW,GAChEC,SAAU;;;;;UAJDH,OAAO;AAAAvD,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAwD;AAAA,GAAA,CAAA;AAAP,EAAA,OAAAC,IAAA,GAAA1D,EAAA,CAAA2D,oBAAA,CAAA;AAAAtD,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAA8C,OAAO;;;;;;eAHP,CAAC;AAACxC,MAAAA,OAAO,EAAEyC,OAAO;AAAExC,MAAAA,WAAW,EAAEuC;KAAQ,CAAC;AAAAO,IAAAA,WAAA,EAAA,CAAA;AAAAC,MAAAA,YAAA,EAAA,aAAA;AAAAC,MAAAA,KAAA,EAAA,IAAA;AAAAC,MAAAA,SAAA,EAM1Cf,iBAAiB;AAflBgB,MAAAA,WAAA,EAAA,IAAA;AAAAC,MAAAA,MAAA,EAAA;AAAA,KAAA,CAAA;IAAAlD,QAAA,EAAA,CAAA,SAAA,CAAA;AAAAC,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB,EAAA;AAAAkE,IAAAA,QAAA,EAAA,CAAiD,+CAAA,CAAA;;;;;YAUjDlB,iBAAiB;AAAAvC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAAA0D,IAAAA,eAAA,EAAAnE,EAAA,CAAAoE,uBAAA,CAAAC,KAAA;AAAAC,IAAAA,aAAA,EAAAtE,EAAA,CAAAuE,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAEhBnB,OAAO;AAAAnC,EAAAA,UAAA,EAAA,CAAA;UAfnBuC,SAAS;AACEtC,IAAAA,IAAA,EAAA,CAAA;AAAAV,MAAAA,QAAA,EAAA,UAAU;AACVM,MAAAA,QAAA,EAAA,SAAS;AACTmD,MAAAA,QAAA,EAAA,CAAiD,+CAAA,CAAA;AACrD5C,MAAAA,IAAA,EAAA;AACJ,QAAA,OAAO,EAAE;OACV;MAEcgD,aAAA,EAAAC,iBAAiB,CAACC,IAAI;MAAAL,eAAA,EAGpBC,uBAAuB,CAACC,KAAK;iBACnC,CAAC;AAACxD,QAAAA,OAAO,EAAEyC,OAAO;AAAExC,QAAAA,WAAW,EAAAuC;OAAU,CAAC;MAAAoB,OAAA,EAC5C,CAACzB,iBAAiB,CAAC;MAAA0B,MAAA,EAAA,CAAA,imBAAA;KAAA;;;;YAK3BC,SAAS;MAACxD,IAAA,EAAA,CAAA6B,iBAAiB,EAAE;AAACiB,QAAAA,MAAM,EAAE;OAAK;;;;;ACdxC,MAAOW,iBAA4B,SAAQC,iBAAuB,CAAA;;;;;UAA3DD,iBAAiB;AAAA9E,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAjB0E,iBAAiB;AAAApE,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,qBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAoE,MAAAA,SAAA,EAAA,CAAA,4BAAA,EAAA,WAAA;KAAA;AAAAzD,IAAAA,SAAA,EAHjB,CAAC;AAACR,MAAAA,OAAO,EAAEgE,iBAAiB;AAAE/D,MAAAA,WAAW,EAAE8D;AAAiB,KAAC,CAAC;AAAA5D,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAG9D4E,iBAAiB;AAAA1D,EAAAA,UAAA,EAAA,CAAA;UAL7BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,qBAAqB;AAC/BY,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAEgE,iBAAiB;AAAE/D,QAAAA,WAAW,EAAmB8D;AAAA,OAAC,CAAC;AACzElE,MAAAA,MAAM,EAAE,CAAC;AAACoB,QAAAA,IAAI,EAAE,WAAW;AAAEL,QAAAA,KAAK,EAAE;OAA6B;KAClE;;;;ACAD,MAAMsD,mBAAmB,GAAG,CAC1BhD,iBAAiB,EACjBL,cAAc,EACdc,kBAAkB,EAClBoC,iBAAiB,EACjBvB,OAAO,EACP3E,WAAW,EACXsE,iBAAiB,CAClB;MAMYgC,aAAa,CAAA;;;;;UAAbA,aAAa;AAAAlF,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAgF;AAAA,GAAA,CAAA;;;;;UAAbD,aAAa;AAAAP,IAAAA,OAAA,EAAA,CAHdS,aAAa,EAVvBnD,iBAAiB,EACjBL,cAAc,EACdc,kBAAkB,EAClBoC,iBAAiB,EACjBvB,OAAO,EACP3E,WAAW,EACXsE,iBAAiB,CAAA;AAAAmC,IAAAA,OAAA,EAAA,CAKPC,UAAU,EAXpBrD,iBAAiB,EACjBL,cAAc,EACdc,kBAAkB,EAClBoC,iBAAiB,EACjBvB,OAAO,EACP3E,WAAW,EACXsE,iBAAiB;AAAA,GAAA,CAAA;;;;;UAONgC,aAAa;AAAAP,IAAAA,OAAA,EAAA,CAHdS,aAAa,EACbE,UAAU;AAAA,GAAA,CAAA;;;;;;QAETJ,aAAa;AAAA9D,EAAAA,UAAA,EAAA,CAAA;UAJzB+D,QAAQ;AAAC9D,IAAAA,IAAA,EAAA,CAAA;AACRsD,MAAAA,OAAO,EAAE,CAACS,aAAa,EAAE,GAAGH,mBAAmB,CAAC;AAChDI,MAAAA,OAAO,EAAE,CAACC,UAAU,EAAEL,mBAAmB;KAC1C;;;;MCoBYM,gBAAgB,CAAA;EAElBC,iBAAA;EACAC,QAAA;EACAC,YAAA;EACAC,WAAA;EAJTnG,WAAAA,CACSgG,iBAAgD,EAChDC,QAA6B,EAC7BC,YAAkC,EAClCC,WAAkE,EAAA;IAHlE,IAAiB,CAAAH,iBAAA,GAAjBA,iBAAiB;IACjB,IAAQ,CAAAC,QAAA,GAARA,QAAQ;IACR,IAAY,CAAAC,YAAA,GAAZA,YAAY;IACZ,IAAW,CAAAC,WAAA,GAAXA,WAAW;AACjB;EAEHC,YAAYA,CAACzD,IAAO,EAAES,KAAa,EAAEiD,WAAgB,EAAEC,SAAoB,EAAA;IACzE,MAAMC,QAAQ,GAAG,IAAI,CAACP,iBAAiB,CAACrD,IAAI,EAAES,KAAK,CAAC;AACpDiD,IAAAA,WAAW,CAACG,IAAI,CAACD,QAAQ,CAAC;AAE1B,IAAA,IAAI,IAAI,CAACL,YAAY,CAACK,QAAQ,CAAC,EAAE;AAC/B,MAAA,MAAME,aAAa,GAAG,IAAI,CAACN,WAAW,CAACxD,IAAI,CAAC;AAC5C,MAAA,IAAI8D,aAAa,EAAE;AACjB,QAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,aAAa,CAAC,EAAE;UAChC,IAAI,CAACG,gBAAgB,CAACH,aAAa,EAAErD,KAAK,EAAEiD,WAAW,EAAEC,SAAS,CAAC;AACrE,SAAA,MAAO;AACLG,UAAAA,aAAa,CAACI,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAACC,SAAS,CAACC,QAAQ,IAAG;YAC/C,IAAI,CAACJ,gBAAgB,CAACI,QAAQ,EAAE5D,KAAK,EAAEiD,WAAW,EAAEC,SAAS,CAAC;AAChE,WAAC,CAAC;AACJ;AACF;AACF;AACA,IAAA,OAAOD,WAAW;AACpB;EAEAO,gBAAgBA,CAACI,QAAa,EAAE5D,KAAa,EAAEiD,WAAgB,EAAEC,SAAoB,EAAA;AACnFU,IAAAA,QAAQ,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAI;AAChC,MAAA,IAAIC,cAAc,GAAcd,SAAS,CAACe,KAAK,EAAE;MACjDD,cAAc,CAACZ,IAAI,CAACW,KAAK,IAAIH,QAAQ,CAACM,MAAM,GAAG,CAAC,CAAC;AACjD,MAAA,IAAI,CAAClB,YAAY,CAACc,KAAK,EAAE9D,KAAK,GAAG,CAAC,EAAEiD,WAAW,EAAEe,cAAc,CAAC;AAClE,KAAC,CAAC;AACJ;EAOAG,YAAYA,CAACC,cAAmB,EAAA;IAC9B,IAAInB,WAAW,GAAQ,EAAE;AACzBmB,IAAAA,cAAc,CAACP,OAAO,CAACtE,IAAI,IAAI,IAAI,CAACyD,YAAY,CAACzD,IAAI,EAAE,CAAC,EAAE0D,WAAW,EAAE,EAAE,CAAC,CAAC;AAC3E,IAAA,OAAOA,WAAW;AACpB;AAMAoB,EAAAA,oBAAoBA,CAACC,KAAU,EAAEC,WAA8B,EAAA;IAC7D,IAAIC,OAAO,GAAQ,EAAE;IACrB,IAAIC,aAAa,GAAc,EAAE;AACjCA,IAAAA,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;AAEvBH,IAAAA,KAAK,CAACT,OAAO,CAACtE,IAAI,IAAG;MACnB,IAAImF,MAAM,GAAG,IAAI;AACjB,MAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,IAAI,CAAC9B,QAAQ,CAACtD,IAAI,CAAC,EAAEoF,CAAC,EAAE,EAAE;AAC7CD,QAAAA,MAAM,GAAGA,MAAM,IAAID,aAAa,CAACE,CAAC,CAAC;AACrC;AACA,MAAA,IAAID,MAAM,EAAE;AACVF,QAAAA,OAAO,CAACpB,IAAI,CAAC7D,IAAI,CAAC;AACpB;AACA,MAAA,IAAI,IAAI,CAACuD,YAAY,CAACvD,IAAI,CAAC,EAAE;AAC3BkF,QAAAA,aAAa,CAAC,IAAI,CAAC5B,QAAQ,CAACtD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAGgF,WAAW,CAACK,UAAU,CAACrF,IAAI,CAAC;AACvE;AACF,KAAC,CAAC;AACF,IAAA,OAAOiF,OAAO;AAChB;AACD;AAaK,MAAOK,qBAAmC,SAAQC,UAAa,CAAA;EAezDC,YAAA;EACAC,cAAA;AAfOC,EAAAA,cAAc,GAAG,IAAIC,eAAe,CAAM,EAAE,CAAC;AAC7CC,EAAAA,aAAa,GAAG,IAAID,eAAe,CAAM,EAAE,CAAC;EAE7D,IAAIhG,IAAIA,GAAA;AACN,IAAA,OAAO,IAAI,CAACkG,KAAK,CAAChJ,KAAK;AACzB;EACA,IAAI8C,IAAIA,CAAC9C,KAAU,EAAA;AACjB,IAAA,IAAI,CAACgJ,KAAK,CAACC,IAAI,CAACjJ,KAAK,CAAC;AACtB,IAAA,IAAI,CAAC6I,cAAc,CAACI,IAAI,CAAC,IAAI,CAACL,cAAc,CAACb,YAAY,CAAC,IAAI,CAACjF,IAAI,CAAC,CAAC;IACrE,IAAI,CAAC6F,YAAY,CAACO,SAAS,GAAG,IAAI,CAACL,cAAc,CAAC7I,KAAK;AACzD;AACiBgJ,EAAAA,KAAK,GAAG,IAAIF,eAAe,CAAM,EAAE,CAAC;AAErDtI,EAAAA,WAAAA,CACUmI,YAAmC,EACnCC,cAAyC,EACjDO,WAAiB,EAAA;AAEjB,IAAA,KAAK,EAAE;IAJC,IAAY,CAAAR,YAAA,GAAZA,YAAY;IACZ,IAAc,CAAAC,cAAA,GAAdA,cAAc;AAKtB,IAAA,IAAIO,WAAW,EAAE;MAEf,IAAI,CAACrG,IAAI,GAAGqG,WAAW;AACzB;AACF;EAEAC,OAAOA,CAACC,gBAAkC,EAAA;IACxC,OAAOC,KAAK,CACVD,gBAAgB,CAACE,UAAU,EAC3B,IAAI,CAACZ,YAAY,CAACa,cAAc,CAACC,OAAO,EACxC,IAAI,CAACZ,cAAc,CACpB,CAACxB,IAAI,CACJqC,GAAG,CAAC,MAAK;MACP,IAAI,CAACX,aAAa,CAACE,IAAI,CACrB,IAAI,CAACL,cAAc,CAACX,oBAAoB,CAAC,IAAI,CAACY,cAAc,CAAC7I,KAAK,EAAE,IAAI,CAAC2I,YAAY,CAAC,CACvF;AACD,MAAA,OAAO,IAAI,CAACI,aAAa,CAAC/I,KAAK;AACjC,KAAC,CAAC,CACH;AACH;EAEA2J,UAAUA,GAAA;AAGX;;AChKK,MAAOC,uBAA2B,SAAQlB,UAAa,CAAA;EAI3D,IAAI5F,IAAIA,GAAA;AACN,IAAA,OAAO,IAAI,CAACkG,KAAK,CAAChJ,KAAK;AACzB;EACA,IAAI8C,IAAIA,CAAC9C,KAAU,EAAA;AACjB,IAAA,IAAI,CAACgJ,KAAK,CAACC,IAAI,CAACjJ,KAAK,CAAC;AACxB;AACiBgJ,EAAAA,KAAK,GAAG,IAAIF,eAAe,CAAM,EAAE,CAAC;EAErDM,OAAOA,CAACC,gBAAkC,EAAA;IACxC,OAAOC,KAAK,CAAC,GAAI,CAACD,gBAAgB,CAACE,UAAU,EAAE,IAAI,CAACP,KAAK,CAA2B,CAAC,CAAC3B,IAAI,CACxFqC,GAAG,CAAC,MAAM,IAAI,CAAC5G,IAAI,CAAC,CACrB;AACH;EAEA6G,UAAUA,GAAA;AAGX;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "21.2.2",
3
+ "version": "22.0.0-next.0",
4
4
  "description": "Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -353,11 +353,11 @@
353
353
  }
354
354
  },
355
355
  "peerDependencies": {
356
- "@angular/cdk": "21.2.2",
357
- "@angular/core": "^21.0.0 || ^22.0.0",
358
- "@angular/common": "^21.0.0 || ^22.0.0",
359
- "@angular/forms": "^21.0.0 || ^22.0.0",
360
- "@angular/platform-browser": "^21.0.0 || ^22.0.0",
356
+ "@angular/cdk": "22.0.0-next.0",
357
+ "@angular/core": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
358
+ "@angular/common": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
359
+ "@angular/forms": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
360
+ "@angular/platform-browser": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
361
361
  "rxjs": "^6.5.3 || ^7.4.0"
362
362
  },
363
363
  "dependencies": {
@@ -19,7 +19,7 @@ const package_config_1 = require("./package-config");
19
19
  * Note that the fallback version range does not use caret, but tilde because that is
20
20
  * the default for Angular framework dependencies in CLI projects.
21
21
  */
22
- const fallbackMaterialVersionRange = `~21.2.2`;
22
+ const fallbackMaterialVersionRange = `~22.0.0-next.0`;
23
23
  /**
24
24
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
25
25
  * automatically executed if developers run `ng add @angular/material`.
@@ -34,7 +34,7 @@ function default_1(options) {
34
34
  // have the same version tag if possible.
35
35
  const ngCoreVersionTag = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/core');
36
36
  const materialVersionRange = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/material');
37
- const angularDependencyVersion = ngCoreVersionTag || `^21.0.0 || ^22.0.0`;
37
+ const angularDependencyVersion = ngCoreVersionTag || `^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0`;
38
38
  // The CLI inserts `@angular/material` into the `package.json` before this schematic runs.
39
39
  // This means that we do not need to insert Angular Material into `package.json` files again.
40
40
  // In some cases though, it could happen that this schematic runs outside of the CLI `ng add`
@@ -281,7 +281,7 @@ declare class MatAutocompleteTrigger implements ControlValueAccessor, AfterViewI
281
281
  /** Class to apply to the panel when it's above the input. */
282
282
  private _aboveClass;
283
283
  ngAfterViewInit(): void;
284
- ngOnChanges(changes: SimpleChanges): void;
284
+ ngOnChanges(changes: SimpleChanges<this>): void;
285
285
  ngOnDestroy(): void;
286
286
  /** Whether or not the autocomplete panel is open. */
287
287
  get panelOpen(): boolean;
@@ -36,6 +36,7 @@ declare class MatButtonHarness extends ContentContainerComponentHarness {
36
36
  * @return a `HarnessPredicate` configured with the given options.
37
37
  */
38
38
  static with<T extends MatButtonHarness>(this: ComponentHarnessConstructor<T>, options?: ButtonHarnessFilters): HarnessPredicate<T>;
39
+ private readonly _progressIndicator;
39
40
  /**
40
41
  * Clicks the button at the given position relative to its top-left.
41
42
  * @param relativeX The relative x position of the click.
@@ -56,6 +57,8 @@ declare class MatButtonHarness extends ContentContainerComponentHarness {
56
57
  blur(): Promise<void>;
57
58
  /** Whether the button is focused. */
58
59
  isFocused(): Promise<boolean>;
60
+ /** Whether the button is showing a progress indicator. */
61
+ isShowingProgress(): Promise<boolean>;
59
62
  /** Gets the variant of the button. */
60
63
  getVariant(): Promise<ButtonVariant>;
61
64
  /** Gets the appearance of the button. */
package/types/button.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { FocusOrigin } from '@angular/cdk/a11y';
2
1
  import * as i0 from '@angular/core';
3
2
  import { InjectionToken, AfterViewInit, OnDestroy, ElementRef, NgZone } from '@angular/core';
3
+ import { FocusOrigin } from '@angular/cdk/a11y';
4
4
  import { ThemePalette } from './_palette-chunk.js';
5
5
  import { MatRippleLoader } from './_ripple-loader-chunk.js';
6
6
  import { MatRippleModule } from './_ripple-module-chunk.js';
@@ -81,6 +81,8 @@ declare class MatButtonBase implements AfterViewInit, OnDestroy {
81
81
  * @docs-private
82
82
  */
83
83
  set _tabindex(value: number);
84
+ /** Whether the button is showing a progress indicator. */
85
+ readonly showProgress: i0.InputSignalWithTransform<boolean, unknown>;
84
86
  constructor(...args: unknown[]);
85
87
  ngAfterViewInit(): void;
86
88
  ngOnDestroy(): void;
@@ -92,7 +94,7 @@ declare class MatButtonBase implements AfterViewInit, OnDestroy {
92
94
  protected _getTabIndex(): number;
93
95
  private _setupAsAnchor;
94
96
  static ɵfac: i0.ɵɵFactoryDeclaration<MatButtonBase, never>;
95
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatButtonBase, never, never, { "color": { "alias": "color"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "_tabindex": { "alias": "tabindex"; "required": false; }; }, {}, never, never, true, never>;
97
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatButtonBase, never, never, { "color": { "alias": "color"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "disabledInteractive": { "alias": "disabledInteractive"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "_tabindex": { "alias": "tabindex"; "required": false; }; "showProgress": { "alias": "showProgress"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
96
98
  static ngAcceptInputType_disableRipple: unknown;
97
99
  static ngAcceptInputType_disabled: unknown;
98
100
  static ngAcceptInputType_ariaDisabled: unknown;
@@ -114,7 +116,7 @@ declare class MatButton extends MatButtonBase {
114
116
  /** Programmatically sets the appearance of the button. */
115
117
  setAppearance(appearance: MatButtonAppearance): void;
116
118
  static ɵfac: i0.ɵɵFactoryDeclaration<MatButton, never>;
117
- static ɵcmp: i0.ɵɵComponentDeclaration<MatButton, " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", ["matButton", "matAnchor"], { "appearance": { "alias": "matButton"; "required": false; }; }, {}, never, [".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])", "*", ".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"], true, never>;
119
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatButton, " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", ["matButton", "matAnchor"], { "appearance": { "alias": "matButton"; "required": false; }; }, {}, never, [".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])", "*", ".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]", "[progressIndicator]"], true, never>;
118
120
  }
119
121
  /**
120
122
  * Material Design button component for anchor elements. Anchor elements are used to provide
@@ -150,7 +152,7 @@ declare class MatFabButton extends MatButtonBase {
150
152
  extended: boolean;
151
153
  constructor(...args: unknown[]);
152
154
  static ɵfac: i0.ɵɵFactoryDeclaration<MatFabButton, never>;
153
- static ɵcmp: i0.ɵɵComponentDeclaration<MatFabButton, "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", ["matButton", "matAnchor"], { "extended": { "alias": "extended"; "required": false; }; }, {}, never, [".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])", "*", ".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"], true, never>;
155
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatFabButton, "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", ["matButton", "matAnchor"], { "extended": { "alias": "extended"; "required": false; }; }, {}, never, [".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])", "*", ".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]", "[progressIndicator]"], true, never>;
154
156
  static ngAcceptInputType_extended: unknown;
155
157
  }
156
158
  /**
@@ -163,7 +165,7 @@ declare class MatMiniFabButton extends MatButtonBase {
163
165
  _isFab: boolean;
164
166
  constructor(...args: unknown[]);
165
167
  static ɵfac: i0.ɵɵFactoryDeclaration<MatMiniFabButton, never>;
166
- static ɵcmp: i0.ɵɵComponentDeclaration<MatMiniFabButton, "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", ["matButton", "matAnchor"], {}, {}, never, [".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])", "*", ".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"], true, never>;
168
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatMiniFabButton, "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", ["matButton", "matAnchor"], {}, {}, never, [".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])", "*", ".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]", "[progressIndicator]"], true, never>;
167
169
  }
168
170
  /**
169
171
  * Material Design floating action button (FAB) component for anchor elements. Anchor elements
@@ -190,7 +192,7 @@ type MatMiniFabAnchor = MatMiniFabButton;
190
192
  declare class MatIconButton extends MatButtonBase {
191
193
  constructor(...args: unknown[]);
192
194
  static ɵfac: i0.ɵɵFactoryDeclaration<MatIconButton, never>;
193
- static ɵcmp: i0.ɵɵComponentDeclaration<MatIconButton, "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", ["matButton", "matAnchor"], {}, {}, never, ["*"], true, never>;
195
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatIconButton, "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", ["matButton", "matAnchor"], {}, {}, never, ["*", "[progressIndicator]"], true, never>;
194
196
  }
195
197
  /**
196
198
  * Material Design icon button component for anchor elements. This button displays a single
@@ -113,7 +113,7 @@ declare class MatCheckbox implements AfterViewInit, OnChanges, ControlValueAcces
113
113
  private _controlValueAccessorChangeFn;
114
114
  private _validatorChangeFn;
115
115
  constructor(...args: unknown[]);
116
- ngOnChanges(changes: SimpleChanges): void;
116
+ ngOnChanges(changes: SimpleChanges<this>): void;
117
117
  ngAfterViewInit(): void;
118
118
  /** Whether the checkbox is checked. */
119
119
  get checked(): boolean;
@@ -138,7 +138,7 @@ declare class MatCalendarBody<D = any> implements OnChanges, OnDestroy, AfterVie
138
138
  _emitActiveDateChange(cell: MatCalendarCell, event: FocusEvent): void;
139
139
  /** Returns whether a cell should be marked as selected. */
140
140
  _isSelected(value: number): boolean;
141
- ngOnChanges(changes: SimpleChanges): void;
141
+ ngOnChanges(changes: SimpleChanges<this>): void;
142
142
  ngOnDestroy(): void;
143
143
  /** Returns whether a cell is active. */
144
144
  _isActiveCell(rowIndex: number, colIndex: number): boolean;
@@ -433,7 +433,7 @@ declare class MatMonthView<D> implements AfterContentInit, OnChanges, OnDestroy
433
433
  }[]>;
434
434
  constructor(...args: unknown[]);
435
435
  ngAfterContentInit(): void;
436
- ngOnChanges(changes: SimpleChanges): void;
436
+ ngOnChanges(changes: SimpleChanges<this>): void;
437
437
  ngOnDestroy(): void;
438
438
  /** Handles when a new date is selected. */
439
439
  _dateSelected(event: MatCalendarUserEvent<number>): void;
@@ -842,7 +842,7 @@ declare class MatCalendar<D> implements AfterContentInit, AfterViewChecked, OnDe
842
842
  ngAfterContentInit(): void;
843
843
  ngAfterViewChecked(): void;
844
844
  ngOnDestroy(): void;
845
- ngOnChanges(changes: SimpleChanges): void;
845
+ ngOnChanges(changes: SimpleChanges<this>): void;
846
846
  /** Focuses the active date. */
847
847
  focusActiveCell(): void;
848
848
  /** Updates today's date after an update of the active date */
@@ -956,7 +956,7 @@ declare abstract class MatDatepickerInputBase<S, D = ExtractDateTypeFromSelectio
956
956
  protected _lastValueValid: boolean;
957
957
  constructor(...args: unknown[]);
958
958
  ngAfterViewInit(): void;
959
- ngOnChanges(changes: SimpleChanges): void;
959
+ ngOnChanges(changes: SimpleChanges<this>): void;
960
960
  ngOnDestroy(): void;
961
961
  /** @docs-private */
962
962
  registerOnValidatorChange(fn: () => void): void;
@@ -1215,7 +1215,7 @@ declare abstract class MatDatepickerBase<C extends MatDatepickerControl<D>, S, D
1215
1215
  readonly stateChanges: Subject<void>;
1216
1216
  private readonly _changeDetectorRef;
1217
1217
  constructor(...args: unknown[]);
1218
- ngOnChanges(changes: SimpleChanges): void;
1218
+ ngOnChanges(changes: SimpleChanges<this>): void;
1219
1219
  ngOnDestroy(): void;
1220
1220
  /** Selects the given date */
1221
1221
  select(date: D): void;
@@ -1410,7 +1410,7 @@ declare class MatDatepickerToggle<D> implements AfterContentInit, OnChanges, OnD
1410
1410
  /** Underlying button element. */
1411
1411
  _button: MatButton;
1412
1412
  constructor(...args: unknown[]);
1413
- ngOnChanges(changes: SimpleChanges): void;
1413
+ ngOnChanges(changes: SimpleChanges<this>): void;
1414
1414
  ngOnDestroy(): void;
1415
1415
  ngAfterContentInit(): void;
1416
1416
  _open(event: Event): void;
@@ -1621,7 +1621,7 @@ declare class MatDateRangeInput<D> implements MatFormFieldControl<DateRange<D>>,
1621
1621
  */
1622
1622
  onContainerClick(): void;
1623
1623
  ngAfterContentInit(): void;
1624
- ngOnChanges(changes: SimpleChanges): void;
1624
+ ngOnChanges(changes: SimpleChanges<this>): void;
1625
1625
  ngOnDestroy(): void;
1626
1626
  /** Gets the date at which the calendar should start. */
1627
1627
  getStartValue(): D | null;
package/types/dialog.d.ts CHANGED
@@ -26,7 +26,7 @@ declare class MatDialogClose implements OnInit, OnChanges {
26
26
  _matDialogClose: any;
27
27
  constructor(...args: unknown[]);
28
28
  ngOnInit(): void;
29
- ngOnChanges(changes: SimpleChanges): void;
29
+ ngOnChanges(changes: SimpleChanges<this>): void;
30
30
  _onButtonClick(event: MouseEvent): void;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDialogClose, never>;
32
32
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatDialogClose, "[mat-dialog-close], [matDialogClose]", ["matDialogClose"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "dialogResult": { "alias": "mat-dialog-close"; "required": false; }; "_matDialogClose": { "alias": "matDialogClose"; "required": false; }; }, {}, never, never, true, never>;
@@ -105,7 +105,33 @@ declare class MatExpansionPanel extends CdkAccordionItem implements AfterContent
105
105
  readonly afterCollapse: EventEmitter<void>;
106
106
  /** Stream that emits for changes in `@Input` properties. */
107
107
  readonly _inputChanges: Subject<{
108
- [propName: string]: i0.SimpleChange<any>;
108
+ hideToggle?: i0.SimpleChange<boolean> | undefined;
109
+ togglePosition?: i0.SimpleChange<MatAccordionTogglePosition> | undefined;
110
+ readonly afterExpand?: i0.SimpleChange<EventEmitter<void>> | undefined;
111
+ readonly afterCollapse?: i0.SimpleChange<EventEmitter<void>> | undefined;
112
+ readonly _inputChanges?: i0.SimpleChange<Subject</*elided*/ any>> | undefined;
113
+ accordion?: i0.SimpleChange<MatAccordionBase> | undefined;
114
+ _lazyContent?: i0.SimpleChange<MatExpansionPanelContent> | undefined;
115
+ _body?: i0.SimpleChange<ElementRef<HTMLElement>> | undefined;
116
+ _portal?: i0.SimpleChange<TemplatePortal<any>> | undefined;
117
+ _headerId?: i0.SimpleChange<string> | undefined;
118
+ _hasSpacing?: i0.SimpleChange<() => boolean> | undefined;
119
+ _getExpandedState?: i0.SimpleChange<() => MatExpansionPanelState> | undefined;
120
+ toggle?: i0.SimpleChange<() => void> | undefined;
121
+ close?: i0.SimpleChange<() => void> | undefined;
122
+ open?: i0.SimpleChange<() => void> | undefined;
123
+ ngAfterContentInit?: i0.SimpleChange<() => void> | undefined;
124
+ ngOnChanges?: i0.SimpleChange<(changes: /*elided*/ any) => void> | undefined;
125
+ ngOnDestroy?: i0.SimpleChange<() => void> | undefined;
126
+ _containsFocus?: i0.SimpleChange<() => boolean> | undefined;
127
+ readonly closed?: i0.SimpleChange<EventEmitter<void>> | undefined;
128
+ readonly opened?: i0.SimpleChange<EventEmitter<void>> | undefined;
129
+ readonly destroyed?: i0.SimpleChange<EventEmitter<void>> | undefined;
130
+ readonly expandedChange?: i0.SimpleChange<EventEmitter<boolean>> | undefined;
131
+ readonly id?: i0.SimpleChange<string> | undefined;
132
+ expanded?: i0.SimpleChange<boolean> | undefined;
133
+ disabled?: i0.SimpleChange<boolean> | undefined;
134
+ ngOnInit?: i0.SimpleChange<() => void> | undefined;
109
135
  }>;
110
136
  /** Optionally defined accordion the expansion panel belongs to. */
111
137
  accordion: MatAccordionBase;
@@ -131,7 +157,7 @@ declare class MatExpansionPanel extends CdkAccordionItem implements AfterContent
131
157
  /** Sets the expanded state of the expansion panel to true. */
132
158
  open(): void;
133
159
  ngAfterContentInit(): void;
134
- ngOnChanges(changes: SimpleChanges): void;
160
+ ngOnChanges(changes: SimpleChanges<this>): void;
135
161
  ngOnDestroy(): void;
136
162
  /** Checks whether the expansion panel's content contains the currently-focused element. */
137
163
  _containsFocus(): boolean;
package/types/list.d.ts CHANGED
@@ -419,7 +419,7 @@ declare class MatSelectionList extends MatListBase implements SelectionList, Con
419
419
  private readonly _changeDetectorRef;
420
420
  constructor(...args: unknown[]);
421
421
  ngAfterViewInit(): void;
422
- ngOnChanges(changes: SimpleChanges): void;
422
+ ngOnChanges(changes: SimpleChanges<this>): void;
423
423
  ngOnDestroy(): void;
424
424
  /** Focuses the selection list. */
425
425
  focus(options?: FocusOptions): void;
package/types/select.d.ts CHANGED
@@ -259,7 +259,7 @@ declare class MatSelect implements AfterContentInit, OnChanges, OnDestroy, OnIni
259
259
  ngOnInit(): void;
260
260
  ngAfterContentInit(): void;
261
261
  ngDoCheck(): void;
262
- ngOnChanges(changes: SimpleChanges): void;
262
+ ngOnChanges(changes: SimpleChanges<this>): void;
263
263
  ngOnDestroy(): void;
264
264
  /** Toggles the overlay panel open or closed. */
265
265
  toggle(): void;
@@ -107,7 +107,7 @@ declare class MatSlideToggle implements OnDestroy, AfterContentInit, OnChanges,
107
107
  get inputId(): string;
108
108
  constructor(...args: unknown[]);
109
109
  ngAfterContentInit(): void;
110
- ngOnChanges(changes: SimpleChanges): void;
110
+ ngOnChanges(changes: SimpleChanges<this>): void;
111
111
  ngOnDestroy(): void;
112
112
  /** Implemented as part of ControlValueAccessor. */
113
113
  writeValue(value: any): void;
package/types/tabs.d.ts CHANGED
@@ -100,7 +100,7 @@ declare class MatTab implements OnInit, OnChanges, OnDestroy {
100
100
  */
101
101
  isActive: boolean;
102
102
  constructor(...args: unknown[]);
103
- ngOnChanges(changes: SimpleChanges): void;
103
+ ngOnChanges(changes: SimpleChanges<this>): void;
104
104
  ngOnDestroy(): void;
105
105
  ngOnInit(): void;
106
106
  /**
@@ -530,6 +530,11 @@ interface MatTabGroupBaseHeader {
530
530
  }
531
531
  /** Possible positions for the tab header. */
532
532
  type MatTabHeaderPosition = 'above' | 'below';
533
+ /** Possible values for the animation duration of a tab group. */
534
+ type MatTabGroupAnimationDuration = string | number | {
535
+ body: string | number;
536
+ header: string | number;
537
+ };
533
538
  /**
534
539
  * Material design tab-group component. Supports basic tab pairs (label + content) and includes
535
540
  * animated ink-bar, keyboard navigation, and screen reader.
@@ -543,6 +548,8 @@ declare class MatTabGroup implements AfterViewInit, AfterContentInit, AfterConte
543
548
  private _tabLabelSubscription;
544
549
  private _tabBodySubscription;
545
550
  private _diAnimationsDisabled;
551
+ protected _bodyAnimationDuration: string;
552
+ protected _headerAnimationDuration: string;
546
553
  /**
547
554
  * All tabs inside the tab group. This includes tabs that belong to groups that are nested
548
555
  * inside the current one. We filter out only the tabs that belong to this group in `_tabs`.
@@ -584,8 +591,8 @@ declare class MatTabGroup implements AfterViewInit, AfterContentInit, AfterConte
584
591
  /** Position of the tab header. */
585
592
  headerPosition: MatTabHeaderPosition;
586
593
  /** Duration for the tab animation. Will be normalized to milliseconds if no units are set. */
587
- get animationDuration(): string;
588
- set animationDuration(value: string | number);
594
+ get animationDuration(): MatTabGroupAnimationDuration;
595
+ set animationDuration(value: MatTabGroupAnimationDuration);
589
596
  private _animationDuration;
590
597
  /**
591
598
  * `tabindex` to be set on the inner element that wraps the tab content. Can be used for improved
@@ -698,7 +705,7 @@ declare class MatTabGroup implements AfterViewInit, AfterContentInit, AfterConte
698
705
  * @param isCenter Whether the tab will be in the center.
699
706
  */
700
707
  protected _bodyCentered(isCenter: boolean): void;
701
- protected _animationsDisabled(): boolean;
708
+ protected _bodyAnimationsDisabled(): boolean;
702
709
  static ɵfac: i0.ɵɵFactoryDeclaration<MatTabGroup, never>;
703
710
  static ɵcmp: i0.ɵɵComponentDeclaration<MatTabGroup, "mat-tab-group", ["matTabGroup"], { "color": { "alias": "color"; "required": false; }; "fitInkBarToContent": { "alias": "fitInkBarToContent"; "required": false; }; "stretchTabs": { "alias": "mat-stretch-tabs"; "required": false; }; "alignTabs": { "alias": "mat-align-tabs"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; "contentTabIndex": { "alias": "contentTabIndex"; "required": false; }; "disablePagination": { "alias": "disablePagination"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "preserveContent": { "alias": "preserveContent"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["_allTabs"], ["*"], true, never>;
704
711
  static ngAcceptInputType_fitInkBarToContent: unknown;