@angular/material 21.0.0-next.8 → 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.
- package/core/tokens/_classes.scss +1 -1
- package/core/tokens/m2/_md-sys-color.scss +17 -17
- package/fesm2022/_animation-chunk.mjs +10 -16
- package/fesm2022/_animation-chunk.mjs.map +1 -1
- package/fesm2022/_date-formats-chunk.mjs +68 -164
- package/fesm2022/_date-formats-chunk.mjs.map +1 -1
- package/fesm2022/_date-range-input-harness-chunk.mjs +284 -463
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_error-options-chunk.mjs +56 -19
- package/fesm2022/_error-options-chunk.mjs.map +1 -1
- package/fesm2022/_error-state-chunk.mjs +24 -31
- package/fesm2022/_error-state-chunk.mjs.map +1 -1
- package/fesm2022/_form-field-chunk.mjs +1224 -1017
- package/fesm2022/_form-field-chunk.mjs.map +1 -1
- package/fesm2022/_icon-button-chunk.mjs +243 -187
- package/fesm2022/_icon-button-chunk.mjs.map +1 -1
- package/fesm2022/_icon-registry-chunk.mjs +350 -575
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
- package/fesm2022/_input-harness-chunk.mjs +56 -107
- package/fesm2022/_input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_input-value-accessor-chunk.mjs +0 -6
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
- package/fesm2022/_internal-form-field-chunk.mjs +59 -19
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
- package/fesm2022/_line-chunk.mjs +83 -43
- package/fesm2022/_line-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs +348 -311
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_option-harness-chunk.mjs +23 -39
- package/fesm2022/_option-harness-chunk.mjs.map +1 -1
- package/fesm2022/_option-module-chunk.mjs +36 -10
- package/fesm2022/_option-module-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-chunk.mjs +79 -44
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs +36 -10
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
- package/fesm2022/_public-api-chunk.mjs +71 -134
- package/fesm2022/_public-api-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-chunk.mjs +504 -600
- package/fesm2022/_ripple-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-loader-chunk.mjs +120 -138
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-module-chunk.mjs +36 -10
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
- package/fesm2022/_structural-styles-chunk.mjs +37 -10
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
- package/fesm2022/_tooltip-chunk.mjs +810 -888
- package/fesm2022/_tooltip-chunk.mjs.map +1 -1
- package/fesm2022/autocomplete-testing.mjs +62 -86
- package/fesm2022/autocomplete-testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +965 -1126
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge-testing.mjs +38 -54
- package/fesm2022/badge-testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +321 -272
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet-testing.mjs +10 -24
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +349 -344
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-testing.mjs +60 -94
- package/fesm2022/button-testing.mjs.map +1 -1
- package/fesm2022/button-toggle-testing.mjs +76 -125
- package/fesm2022/button-toggle-testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +752 -662
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +263 -158
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card-testing.mjs +19 -33
- package/fesm2022/card-testing.mjs.map +1 -1
- package/fesm2022/card.mjs +576 -272
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox-testing.mjs +71 -123
- package/fesm2022/checkbox-testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +515 -477
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips-testing.mjs +201 -350
- package/fesm2022/chips-testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +2552 -2289
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core-testing.mjs +14 -28
- package/fesm2022/core-testing.mjs.map +1 -1
- package/fesm2022/core.mjs +357 -328
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker-testing.mjs +15 -25
- package/fesm2022/datepicker-testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +4826 -4563
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog-testing.mjs +93 -129
- package/fesm2022/dialog-testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +810 -829
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider-testing.mjs +10 -11
- package/fesm2022/divider-testing.mjs.map +1 -1
- package/fesm2022/divider.mjs +119 -43
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion-testing.mjs +74 -130
- package/fesm2022/expansion-testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +703 -515
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field-testing-control.mjs +16 -33
- package/fesm2022/form-field-testing-control.mjs.map +1 -1
- package/fesm2022/form-field-testing.mjs +118 -179
- package/fesm2022/form-field-testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +36 -10
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list-testing.mjs +65 -113
- package/fesm2022/grid-list-testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +559 -494
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon-testing.mjs +148 -127
- package/fesm2022/icon-testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +325 -351
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input-testing.mjs +59 -99
- package/fesm2022/input-testing.mjs.map +1 -1
- package/fesm2022/input.mjs +457 -520
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list-testing.mjs +251 -434
- package/fesm2022/list-testing.mjs.map +1 -1
- package/fesm2022/list.mjs +1522 -1204
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/material.mjs +0 -5
- package/fesm2022/material.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs +159 -228
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +1338 -1343
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator-testing.mjs +55 -79
- package/fesm2022/paginator-testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +381 -309
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar-testing.mjs +12 -21
- package/fesm2022/progress-bar-testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +224 -169
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner-testing.mjs +13 -23
- package/fesm2022/progress-spinner-testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +235 -160
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio-testing.mjs +133 -208
- package/fesm2022/radio-testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +712 -679
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select-testing.mjs +83 -117
- package/fesm2022/select-testing.mjs.map +1 -1
- package/fesm2022/select.mjs +1116 -1246
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav-testing.mjs +54 -120
- package/fesm2022/sidenav-testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +1078 -995
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle-testing.mjs +57 -92
- package/fesm2022/slide-toggle-testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +369 -279
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider-testing.mjs +90 -138
- package/fesm2022/slider-testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +1651 -1716
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar-testing.mjs +40 -87
- package/fesm2022/snack-bar-testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +763 -714
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort-testing.mjs +45 -66
- package/fesm2022/sort-testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +419 -344
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper-testing.mjs +78 -154
- package/fesm2022/stepper-testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +790 -498
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table-testing.mjs +125 -186
- package/fesm2022/table-testing.mjs.map +1 -1
- package/fesm2022/table.mjs +1026 -684
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs +125 -197
- package/fesm2022/tabs-testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +2351 -2028
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker-testing.mjs +113 -172
- package/fesm2022/timepicker-testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +1019 -826
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs +16 -27
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +163 -78
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip-testing.mjs +41 -52
- package/fesm2022/tooltip-testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +36 -10
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs +86 -162
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +638 -466
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/types/expansion.d.ts +4 -2
- package/types/menu-testing.d.ts +2 -0
- package/types/select.d.ts +1 -1
- package/types/sort.d.ts +1 -1
- package/types/table-testing.d.ts +27 -1
- package/types/timepicker.d.ts +148 -128
package/fesm2022/tree.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/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 any)._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() {\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":[],"mappings":";;;;;;;;AA2BA;;AAEG;AACH,SAAS,oBAAoB,CAC3B,UAAqC,EAAA;AAErC,IAAA,OAAO,CAAC,CAAE,UAAkB,CAAC,qBAAqB;AACpD;AAEA;;AAEG;AAgBG,MAAO,WAAsB,SAAQ,WAAiB,CAAA;AAC1D;;;;;;;AAOG;AACH,IAAA,IAII,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,qBAAqB;;IAEnC,IAAI,oBAAoB,CAAC,KAAa,EAAA;;AAEpC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;;AAE5B,IAAA,qBAAqB;AAE7B;;;;;;;AAOG;IACH,eAAe,GAAG,CAAC;IAET,qBAAqB,GAAA;QAC7B,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC,oBAAoB;;QAElC,OAAO,IAAI,CAAC,SAAS;;AAGvB;;;;;AAKG;AACH,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,UAAU;;IAExB,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;AAKzB,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAEP,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAC7E,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe;;;;IAK7D,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;;IAGT,WAAW,GAAA;QAClB,KAAK,CAAC,WAAW,EAAE;;8GArEV,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,WAAW,EAUT,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,oBAAA,EAAA,CAAA,UAAA,EAAA,sBAAA,EAAA,CAAC,KAAc,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAmC1D,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,kYAxDxB,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAWlD,WAAW,EAAA,UAAA,EAAA,CAAA;kBAfvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBACzC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,WAAA,EAAC,CAAC;AAC7D,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,sBAAsB,EAAE,oBAAoB;AAC5C,wBAAA,mBAAmB,EAAE,WAAW;AAChC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,qBAAqB,EAAE,eAAe;AACtC,wBAAA,SAAS,EAAE,cAAc;AACzB,wBAAA,YAAY,EAAE,yBAAyB;AACxC,qBAAA;AACF,iBAAA;wDAcK,oBAAoB,EAAA,CAAA;sBAJvB,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;wBACL,SAAS,EAAE,CAAC,KAAc,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3E,wBAAA,KAAK,EAAE,UAAU;AAClB,qBAAA;gBAkCG,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;AA4BtC;;;AAGG;AAMG,MAAO,cAAkB,SAAQ,cAAiB,CAAA;AAChC,IAAA,IAAI;8GADf,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,EAAA,MAAA,CAAA,EAAA,EAAA,SAAA,EAFd,CAAC,EAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAExD,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAC,CAAC;oBACrD,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAgB,cAAA,EAAC,CAAC;AACpE,iBAAA;8BAEuB,IAAI,EAAA,CAAA;sBAAzB,KAAK;uBAAC,aAAa;;AAGtB;;AAEG;AAcG,MAAO,iBACX,SAAQ,iBAAuB,CAAA;AAGH,IAAA,IAAI;AAEhC;;;;;AAKG;AACH,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,UAAU;;IAExB,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;;AAIzB,IAAA,IAGI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS;;IAE9C,IAAI,QAAQ,CAAC,KAAa,EAAA;;AAExB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;AAEhB,IAAA,SAAS;;;;IAKR,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;;IAGT,kBAAkB,GAAA;QACzB,KAAK,CAAC,kBAAkB,EAAE;;IAGnB,WAAW,GAAA;QAClB,KAAK,CAAC,WAAW,EAAE;;8GA7CV,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAYT,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAUtB,CAAC,KAAc,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CA/BlE,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAC;AAC5D,YAAA,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAC;AACtD,YAAA,EAAC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,iBAAiB,EAAC;AACrE,SAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAKU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACzC,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,mBAAmB,EAAC;AAC5D,wBAAA,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,mBAAmB,EAAC;AACtD,wBAAA,EAAC,OAAO,EAAE,yBAAyB,EAAE,WAAW,mBAAmB,EAAC;AACrE,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,sBAAsB;AAChC,qBAAA;AACF,iBAAA;8BAK6B,IAAI,EAAA,CAAA;sBAA/B,KAAK;uBAAC,mBAAmB;gBAStB,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;gBAYhC,QAAQ,EAAA,CAAA;sBAHX,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;wBACL,SAAS,EAAE,CAAC,KAAc,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5E,qBAAA;;;ACzKH;;AAEG;AAKG,MAAO,kBAA6B,SAAQ,kBAAwB,CAAA;;AAExE,IAAA,IACa,KAAK,GAAA;QAChB,OAAO,IAAI,CAAC,MAAM;;IAEpB,IAAa,KAAK,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;;;AAI5B,IAAA,IACa,MAAM,GAAA;QACjB,OAAO,IAAI,CAAC,OAAO;;IAErB,IAAa,MAAM,CAAC,MAAuB,EAAA;AACzC,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;;8GAhBnB,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,kBAAkB,EAEmB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,eAAe,CAJpD,EAAA,MAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,CAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAEhE,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAoB,kBAAA,EAAC,CAAC;AAC5E,iBAAA;8BAIc,KAAK,EAAA,CAAA;sBADjB,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAC,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAC;gBAUnD,MAAM,EAAA,CAAA;sBADlB,KAAK;uBAAC,0BAA0B;;;AClBnC;;;AAGG;MAUU,iBAAiB,CAAA;AAC5B,IAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACxC,KAAK,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;8GAFhD,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,iBAAiB,EAPjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,iBAAiB;AAC/B,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAEU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAmB,iBAAA;AAC/B,yBAAA;AACF,qBAAA;AACF,iBAAA;;;ACVD;;AAEG;AAgBG,MAAO,OAAkB,SAAQ,OAAa,CAAA;;;IAGK,WAAW,GAChE,SAAU;8GAJD,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,OAAO,6FAHP,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAM1C,iBAAiB,EAflB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,+CAAA,CAAiD,yqBAUjD,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;kGAEhB,OAAO,EAAA,UAAA,EAAA,CAAA;kBAfnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EACV,QAAA,EAAA,SAAS,EACT,QAAA,EAAA,CAAA,+CAAA,CAAiD,EACrD,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,UAAU;qBACpB,EAEc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EAGpB,uBAAuB,CAAC,OAAO,aACrC,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAA,OAAS,EAAC,CAAC,EAAA,OAAA,EAC5C,CAAC,iBAAiB,CAAC,EAAA,MAAA,EAAA,CAAA,imBAAA,CAAA,EAAA;8BAK2B,WAAW,EAAA,CAAA;sBAAjE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;;;ACtB9C;;AAEG;AAMG,MAAO,iBAA4B,SAAQ,iBAAuB,CAAA;8GAA3D,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,4BAAA,EAAA,WAAA,CAAA,EAAA,EAAA,SAAA,EAHjB,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAG9D,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,iBAAA,EAAC,CAAC;oBACzE,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,4BAA4B,EAAC,CAAC;AACnE,iBAAA;;;ACAD,MAAM,mBAAmB,GAAG;IAC1B,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,OAAO;IACP,WAAW;IACX,iBAAiB;CAClB;MAMY,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAHd,aAAa,EAVvB,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,iBAAiB;YACjB,OAAO;YACP,WAAW;YACX,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAKP,UAAU,EAXpB,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,iBAAiB;YACjB,OAAO;YACP,WAAW;YACX,iBAAiB,CAAA,EAAA,CAAA;+GAON,aAAa,EAAA,OAAA,EAAA,CAHd,aAAa,EACb,UAAU,CAAA,EAAA,CAAA;;kGAET,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,aAAa,EAAE,GAAG,mBAAmB,CAAC;AAChD,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;AAC3C,iBAAA;;;AClBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;MACU,gBAAgB,CAAA;AAElB,IAAA,iBAAA;AACA,IAAA,QAAA;AACA,IAAA,YAAA;AACA,IAAA,WAAA;AAJT,IAAA,WAAA,CACS,iBAAgD,EAChD,QAA6B,EAC7B,YAAkC,EAClC,WAAkE,EAAA;QAHlE,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAW,CAAA,WAAA,GAAX,WAAW;;AAGpB,IAAA,YAAY,CAAC,IAAO,EAAE,KAAa,EAAE,WAAgB,EAAE,SAAoB,EAAA;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;AACpD,QAAA,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;AAE1B,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5C,IAAI,aAAa,EAAE;AACjB,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAChC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;;qBAC9D;AACL,oBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;wBAC/C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;AAChE,qBAAC,CAAC;;;;AAIR,QAAA,OAAO,WAAW;;AAGpB,IAAA,gBAAgB,CAAC,QAAa,EAAE,KAAa,EAAE,WAAgB,EAAE,SAAoB,EAAA;QACnF,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;AAChC,YAAA,IAAI,cAAc,GAAc,SAAS,CAAC,KAAK,EAAE;YACjD,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC;AAClE,SAAC,CAAC;;AAGJ;;;;AAIG;AACH,IAAA,YAAY,CAAC,cAAmB,EAAA;QAC9B,IAAI,WAAW,GAAQ,EAAE;QACzB,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AAC3E,QAAA,OAAO,WAAW;;AAGpB;;;AAGG;IACH,oBAAoB,CAAC,KAAU,EAAE,WAA8B,EAAA;QAC7D,IAAI,OAAO,GAAQ,EAAE;QACrB,IAAI,aAAa,GAAc,EAAE;AACjC,QAAA,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;AAEvB,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;YACnB,IAAI,MAAM,GAAG,IAAI;AACjB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7C,gBAAA,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;;YAErC,IAAI,MAAM,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEpB,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC3B,gBAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;;AAEzE,SAAC,CAAC;AACF,QAAA,OAAO,OAAO;;AAEjB;AAED;;;;;;;;;;AAUG;AACG,MAAO,qBAAmC,SAAQ,UAAa,CAAA;AAezD,IAAA,YAAA;AACA,IAAA,cAAA;AAfO,IAAA,cAAc,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAC7C,IAAA,aAAa,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAE7D,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;;IAEzB,IAAI,IAAI,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;;AAExC,IAAA,KAAK,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAErD,IAAA,WAAA,CACU,YAAmC,EACnC,cAAyC,EACjD,WAAiB,EAAA;AAEjB,QAAA,KAAK,EAAE;QAJC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAc,CAAA,cAAA,GAAd,cAAc;QAKtB,IAAI,WAAW,EAAE;;AAEf,YAAA,IAAI,CAAC,IAAI,GAAG,WAAW;;;AAI3B,IAAA,OAAO,CAAC,gBAAkC,EAAA;QACxC,OAAO,KAAK,CACV,gBAAgB,CAAC,UAAU,EAC3B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,EACxC,IAAI,CAAC,cAAc,CACpB,CAAC,IAAI,CACJ,GAAG,CAAC,MAAK;YACP,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CACvF;AACD,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK;SAChC,CAAC,CACH;;IAGH,UAAU,GAAA;;;AAGX;;ACtKD;;;;;AAKG;AACG,MAAO,uBAA2B,SAAQ,UAAa,CAAA;AAC3D;;AAEG;AACH,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;;IAEzB,IAAI,IAAI,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEP,IAAA,KAAK,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAErD,IAAA,OAAO,CAAC,gBAAkC,EAAA;QACxC,OAAO,KAAK,CAAC,GAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAA2B,CAAC,CAAC,IAAI,CACxF,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CACrB;;IAGH,UAAU,GAAA;;;AAGX;;;;"}
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/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 any)._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() {\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","disabled","isDisabled","tabIndexInputBinding","Number","tabIndex","defaultTabIndex","ngOnInit","ngOnDestroy","ngImport","i0","type","deps","target","ɵɵFactoryTarget","Directive","args","selector","transform","value","numberAttribute","booleanAttribute","CdkTreeNodeDef","CdkNestedTreeNode","_tabIndex","ngAfterContentInit","decorators","exportAs","useExisting","MatNestedTreeNode","provide","CDK_TREE_NODE_OUTLET_NODE","MatTreeNodePadding","CdkTreeNodePadding","level","_setLevelInput","indent","ɵfac","ɵɵngDeclareFactory","minVersion","version","ɵdir","ɵɵngDeclareDirective","isStandalone","inputs","providers","usesInheritance","viewContainer","inject","ViewContainerRef","CdkTreeNodeOutlet","MatTreeNodeOutlet","MatTree","CdkTree","Component","MatTreeNodeToggle","CdkTreeNodeToggle","MatTreeModule","NgModule","ɵɵngDeclareNgModule","imports","CdkTreeModule","MAT_TREE_DIRECTIVES","BidiModule","getLevel","isExpandable","getChildren","flatNode","transformFunction","node","resultNodes","push","childrenNodes","_flattenChildren","parentMap","pipe","take","subscribe","children","child","index","childParentMap","slice","_flattenNode","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","data","_data","next","_flattenedData","_treeFlattener","flattenNodes","_treeControl","dataNodes","BehaviorSubject","initialData","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","MatTreeNestedDataSource","DataSource","disconnect"],"mappings":";;;;;;;;AA8BSA,SAAAA,oBAAAA,CAAAC,UAAA,EAAA;EAIT,OAEA,CAAA,CAAAA,UAAA,CAAAC;;AAwCE,MAAAC,WAAA,SAAAC,WAAA,CAAA;;;;;;;;;;;;;;;AAbO,EAAA,IAAAC,QAAA,GAAA;AAEL,IAAA,OAAA,IAAA,CAAAC,UAAA;;;;;;;;;;AAiED,IAAA,IAAA,CAAAC,oBAAA,GAAAC,MAAA,CAAAC,QAAA,UAAAC,eAAA;AAMG;;AALK,IAAA,KAAA,CAAAC,QAAA,EAAA;;;AAIV,IAAA,KAAA,CAAAC,WAAA,EAAA;;;;aAEqB,eAAA;AAAAC,IAAAA,QAAA,EAAAC,EAAA;AAAAC,IAAAA,IAAA,EAAAZ,WAAA;IAAAa,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAH,EAAA,CAAAI,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBhBJ,IAAAA,IACJ,EAAAI,SAAA;IAG4BC,IAAI,EAAA,CAAA;MAEhCC,QAAA,EAAA,eAAA;;;;;;;;eA3EM,EAAA,eAAA;AAAA,QAAA,sBAAA,EAAA,oBAAA;2BACF,EAAY,WAAA;8BACd,EAAA,qBAAA;6BACY,EAAS,eAAA;iBACvB,EAAA,cAAA;QAEA,YAAA,EAAA;;;;;;;;;AAMAC,QAAAA,SACY,EAAAC,KAAA,IAAAA,KAAA,IAAAC,IAAAA,GAAAA,CAAAA,GAAAA,eAAA,CAAAD,KAAA,CAAA;;;;;;;iBAkBK,EAAAE;AAAA,OAAA;;;;AASnB,MAAA,cAAA,SAAAC,cAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCEX,IAAAA,IAAA,EAAAI,SAAA;IAQ4BC,IAAA,EAAA,CAAA;MAIhBC,QAAA,EAAA,kBAAA;;;;;;;;;;;;;iBAVH;AAAA,MAAA,IAAA,EAAA,CAAA,aAAA;;;;AAUG,MAAA,iBAAA,SAAAM,iBAAA,CAAA;;AA/BA,EAAA,IAAWtB,QAAaA,GAAA;AAEnC,IAAA,OAAA,IAAA,CAAAC,UAAA;;;;;AAND,EAAA,IACAG,QAAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAAH,UAAA,GAAA,UAAAsB,SAAA;AACE;EACA,IAAAnB,QAAAA,CAAAc;IAED,IAAAK,CAAAA,SAAA,GAAAL,KAAA;AAEC;EACDK;;kBA0BW,EAAA;;AAHLC,EAAAA,kBAAAA,GAAA;AAEN,IAAA,KAAA,CAAAA,kBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBD,EAAA,IAAA,EAAA,iBAAA;EAAAC,UAAA,EAAA,CAAA;;IAVSV,IAAQ,EAAA,CAAA;cACT,EAAU,sBAAA;AAClBW,MAAAA,QAAA,EAAA,mBAAA;;;;;;eARA,EAAA3B,WAAA;AAAA4B,QAAAA,WAAA,EAAAC;OAAA,EAAA;AAAAC,QAAAA,OAAA,EAAAC,yBAAA;AAAAH,QAAAA,WAAA,EAAAC;OACQ,CAAA;;eAG6D,EAAA;;;;;QAG9D,EAAC,CAAA;AACR,MAAA,IAAA,EAAA,KAAA;;;cAGE,CAAA;AACF,MAAA,IAAA,EAAA,KAAA;;;;;;;AAjDE,MAAA,IAAA,EAAA,CAAA;AAAAX,QAAAA,SAAA,EAAAC,KAAA,IAAUA,KAAA,IAAAC,IAAAA,GAAAA,CAAAA,GAAAA,eAAA,CAAAD,KAAA;AAHZ,OAAA;;;;;ACjII,MAAAa,kBAAA,SAAAC,kBAAA,CAAA;AAEJ,EAAA,IAAAC,KACaA,GAAA;;;;IAIX,IAAAC,CAAAA,cAAA,CAAAhB,KAAA,CAAA;;AASA,EAAA,IACFiB,MAAAA,GAAA;;AAjBW;;;;AAHX,EAAA,OAAAC,IAAA,GAAA3B,EAAA,CAAA4B,kBAAA,CAAA;IAAAC,UAAA,EAAA,QAAA;IAAAC,OAAA,EAAA,eAAA;AAAA/B,IAAAA,QAAgC,EAAAC,EAAA;AAAAC,IAAAA,IAAA,EAAAqB,kBAAA;IAAApB,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAH,EAAA,CAAAI,eAAA,CAAAC;AAAA,GAAA,CAAA;SAEjC0B,IAAA,GAAA/B,EAAA,CAAAgC,oBAAA,CAAA;IAAAH,UAAA,EAAA,QAAA;IAAAC,OAAA,EAAA,eAAA;AAAA7B,IAAAA,IAAA,EAAAqB,kBAAA;IAAAW,YAAA,EAAA,IAAA;IAAA1B,QAAA,EAAA,sBAAA;IAAA2B,MAAA,EAAA;AAAAV,MAAAA,KAAA,kCAAAd,eAAA,CAAA;MAAAgB,MAAA,EAAA,CAAA,0BAAA,EAAA,QAAA;AAAA,KAAA;IAAAS,SAAA,EAAA,CAAA;AAAAf,MAAAA,OAAA,EAAAG,kBAAA;AAAAL,MAAAA,WAAA,EAAAI;AAAA,KAAA,CAAA;IAAAc,eAAA,EAAA,IAAA;AAAArC,IAAAA,QAAA,EAAAC;AAAA,GAAA,CAAA;;;;;;;;AAGQC,IAAAA,IAAA,EAAAI,SAAQ;;;;;;;;;;;;;aAMf,EAAA,oBAAA;AAAAG,QAAAA,SAAA,EAAAE;AAAA,OAAA;;AAAA,IAAA,MAAA,EAAA,CAAA;;UAGA,EACmB,CAAA,0BAAA;;;;;;ACLnB2B,EAAAA,aAAA,GAAgBC,MAAA,CAAAC,gBAAO,CAAgB;;;;;;;;;;;;;;;;;;;AANnCnB,MAAAA,OAAA,EAAAoB,iBAAA;AADFtB,MAAAA,WAAA,EAAAuB;KAEE,CAAA;AAAA1C,IAAAA,QAAA,EAAAC;AAAA,GAAA,CAAA;;;;;;QAFFyC,iBAAA;EAAAzB,UAAA,EAAA,CAAA;;;gBAHM,qBAAA;AAACmB,MAAAA,SAAA,EACT,CAAA;;;AAII,OAAA;;;;;ACYuE,MAAAO,OAAA,SAAAC,OAAA,CAAA;;AADhE,EAAA,OAAAhB,IAAA,GAAA3B,EAAA,CAAA4B,kBAAA,CAAA;IAAAC,UAAA,EAAA,QAAA;IAAAC,OAAA,EAAA,eAAA;AAAA/B,IAAAA,QAAA,EAAAC,EAAA;AAAAC,IAAAA,IAAA,EAAAyC,OAAA;IAAAxC,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAH,EAAA,CAAAI,eAAA,CAAAwC;AAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXP,MAAAC,iBAAA,SAAAC,iBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAJJxC,IAAA,EAAA,CAAA;;;;;;;;;;;;;;yBCKc,GAAA,kBACI,gBACD,oBACV,mBACI,SACM,eAOnBmC,iBAAM;;qCAZU,CAAA;IAAAZ,UAAA,EAAA,QAAA;IAAAC,OAAA,EAAA,eAAA;AAAA/B,IAAAA,QAAA,EAAAC,EAAA;AAAAC,IAAAA,IAAA,EAAA8C,aAAA;IAAA7C,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAH,EAAA,CAAAI,eAAA,CAAA4C;AAAA,GAAA,CAAA;mBACIC,mBAAA,CAAA;IAAApB,UAAA,EAAA,QAAA;IAAAC,OAAA,EAAA,eAAA;AAAA/B,IAAAA,QAAA,EAAAC,EAAA;AAAAC,IAAAA,IAAA,EAAA8C,aAAA;AAAAG,IAAAA,OAAA,EAAAC,CAAAA,aAAA,EAAAhC,iBAAA,oCAEX,mBACI,sBACM;2IAFV;AAAA,GAAA,CAAA;sCACI,CAAA;AADXU,IAAAA,UAAO;;;;;;;;EAHOA,UAAA,EAAA,QAAA;EAAAC,OAAA,EAAA,eAAA;AAAA/B,EAAAA,QAAA,EAAAC,EAAA;AAAAC,EAAAA,IAAA,EAAA8C,aAAA;EAAA/B,UAAA,EAAA,CAAA;;;aAGP,EAAA,CAAAmC,aAAA,EAAA,GAAAC,mBAAA,CAAA;eACI,CAAAC,UAAA,EAAAD,mBAAA;;;;;;;;;;;;ICiCR,IAAAE,CAAAA,QAAA,GAAAA,QAAA;IAGK,IAAAC,CAAAA,YAAA,GAAAA,YAAA;IACN,IAAAC,CAAAA,WAAA,GAAAA,WAAA;AAEA;;AAJF,IAAA,MAAAC,QACQ,GAAAC,IAAAA,CAAAA,iBAGN,CAAAC,IAAA,EAAAnC;IAHMoC,WAAA,CAAAC,IAAA,CAAAJ,QAAA,CAAA;IACN,IAAAF,IAAAA,CAAAA,YAAA,CAAAE,QAA0B,CAAA,EAAA;AAE1B,MAAA,MAAAK,aAAA,GAAA,IAAA,CAAAN,WAAiC,CAAAG,IAAA,CAAA;;;cAIvB,CAAAI,gBAA+B,CAAAD,aAAsB,EAAAtC,KAAA,EAAAoC,WAAA,EAAAI,SAAA,CAAA;;uBAGnD,CAAAC,IAAiB,CAAAC,IAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,SAAA,CAAAC,QAAA,IAAA;YACvB,IAAAL,CAAAA,gBAAE,CAAAK,QAAA,EAAA5C,KAAA,EAAAoC,WAAA,EAAAI,SAAA,CAAA;;;;;;;AAOV,EAAA,gBAAA,CAAA,QAAA,EAAAxC,KAAA,EAAAoC,sBAA+C,EAAgB;oBACrD,CAAAS,CAAAA,KAAA,EAAAC,KAAA,KAAA;UACNC,cAAA,GAAAP,SAAA,CAAAQ,KAAA,EAAA;;MAEA,IAAAC,CAAAA,YAAA,CAAAJ,KAAA,EAAA7C,KAAA,GAAAoC,CAAAA,EAAAA,WAAA,EAAAW,cAAA,CAAA;AACF,KAAA,CAAA;;;;;;;sBAoBIG,CAAAC,KAA2B,EAAAC,WAAE,EAAA;AACjC,IAAA,IAAAC,OAAA,GAAA,EAAA;AAEA,IAAA,IAAAC,aAAA,GAAA,EAAA;IAEEA,aAAA,CAAA,CAAA,CAAA,GAAA,IAAA;;;;AAIEC,QAAAA,MAAA,GAAOA,MAAU,IAACD,aAAA,CAAAE,CAAA,CAAA;;AAEpB,MAAA,IAAAD,MAAA,EAAA;QACEF,OAAA,CAAAhB,IAAA,CAAAF,IAAA,CAAA;AAEJ;MACA,IAAA,IAAA,CAAAJ,YAAc,CAAAI,IAAA,CAAA,EAAA;AAChBmB,QAAAA,aAAA,CAAA,IAAA,CAAAxB,QAAA,CAAAK,IAAA,CAAA,GAAA,CAAA,CAAA,GAAAiB,WAAA,CAAAK,UAAA,CAAAtB,IAAA,CAAA;;;;;;;;;;;;;;AAqDG,EAAA,IAAAuB,KAAAzE,KAAA,EAAA;AACH,IAAA,IAAA,CAAA0E,KAAA,CAAAC,IAAA,CAAA3E,KAAA,CAAA;IA5B6B,IAAA4E,CAAAA,cAAwB,CAAAD,IAAA,CAAA,IAAA,CAAAE,cAAA,CAAAC,YAAA,MAAAL,IAAA,CAAA,CAAA;AAGR,IAAA,IAAA,CAAAM,YACM,CAAAC,SAAA,OAChC,CAAAJ,cAAA,CAAA5E,KAAA;;cADKiF,eAAA,CAAA,EAAA,CAAA;;;IAOpB,IAAA,CAAAF,YAAK,GAAAA,YAAO;QACd,CAAAF,cAAA,GAAAA,cAAA;AACF,IAAA,IAAAK,WAAA,EAAA;MAII,IAAA,CAAAT,IAAA,GAAAS,WACK;AAOH;;AAEHC,EAAAA,OAAAA,CAAAC,gBAAA,EAAA;AACH,IAAA,OAAAC,KAAA,CAAAD,gBAAA,CAAAE,UAAA,OAAAP,YAAA,CAAAQ,cAAA,CAAAC,OAAA,EAAAZ,IAAAA,CAAAA,cAAA,CAAApB,CAAAA,IAAA,CAAAiC,GAAA,CAAA,MAAA;;;;;;;;AC1JA,MAAAC,uBAAA,SAAAC,UAAA,CAAA;;;AAOE;MACFlB,KAAAzE,KAAA,EAAA;AACiB,IAAA,IAAA,CAAA0E,KAAA,CAAAC,IAAA,CAAA3E,KAAA,CAAA;;;SAMjBmF,CAAAC,gBAAA,EAAA;AAEA,IAAA,OAAUC,KAAA,CAAA,GAAA,CAAAD,gBAAA,CAAAE,UAAA,EAAA,IAAA,CAAAZ,KAAA,CAAA,CAAA,CAAAlB,IAAA,CAAAiC,GAAA,CAAA,MAAA,IAAA,CAAAhB,IAAA,CAAA,CAAA;;YAEVmB;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/material",
|
|
3
|
-
"version": "21.0.0-
|
|
3
|
+
"version": "21.0.0-rc.0",
|
|
4
4
|
"description": "Angular Material",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -353,7 +353,7 @@
|
|
|
353
353
|
}
|
|
354
354
|
},
|
|
355
355
|
"peerDependencies": {
|
|
356
|
-
"@angular/cdk": "21.0.0-
|
|
356
|
+
"@angular/cdk": "21.0.0-rc.0",
|
|
357
357
|
"@angular/core": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
358
358
|
"@angular/common": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
359
359
|
"@angular/forms": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
@@ -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.0.0-
|
|
22
|
+
const fallbackMaterialVersionRange = `~21.0.0-rc.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`.
|
package/types/expansion.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, TemplateRef, AfterContentInit, OnChanges, OnDestroy, EventEmitter,
|
|
2
|
+
import { InjectionToken, TemplateRef, AfterContentInit, OnChanges, OnDestroy, EventEmitter, ElementRef, SimpleChanges, AfterViewInit, QueryList } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/cdk/accordion';
|
|
4
4
|
import { CdkAccordion, CdkAccordionItem } from '@angular/cdk/accordion';
|
|
5
5
|
import * as i2 from '@angular/cdk/portal';
|
|
@@ -104,7 +104,9 @@ declare class MatExpansionPanel extends CdkAccordionItem implements AfterContent
|
|
|
104
104
|
/** An event emitted after the body's collapse animation happens. */
|
|
105
105
|
readonly afterCollapse: EventEmitter<void>;
|
|
106
106
|
/** Stream that emits for changes in `@Input` properties. */
|
|
107
|
-
readonly _inputChanges: Subject<
|
|
107
|
+
readonly _inputChanges: Subject<{
|
|
108
|
+
[propName: string]: i0.SimpleChange<any>;
|
|
109
|
+
}>;
|
|
108
110
|
/** Optionally defined accordion the expansion panel belongs to. */
|
|
109
111
|
accordion: MatAccordionBase;
|
|
110
112
|
/** Content that will be rendered lazily. */
|
package/types/menu-testing.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { BaseHarnessFilters, ContentContainerComponentHarness, ComponentHarnessC
|
|
|
4
4
|
interface MenuHarnessFilters extends BaseHarnessFilters {
|
|
5
5
|
/** Only find instances whose trigger text matches the given value. */
|
|
6
6
|
triggerText?: string | RegExp;
|
|
7
|
+
/** Only find instances where the trigger contains an icon whose name matches the given value. */
|
|
8
|
+
triggerIconName?: string | RegExp;
|
|
7
9
|
}
|
|
8
10
|
/** A set of criteria that can be used to filter a list of `MatMenuItemHarness` instances. */
|
|
9
11
|
interface MenuItemHarnessFilters extends BaseHarnessFilters {
|
package/types/select.d.ts
CHANGED
|
@@ -413,7 +413,7 @@ declare class MatSelect implements AfterContentInit, OnChanges, OnDestroy, OnIni
|
|
|
413
413
|
* Implemented as part of MatFormFieldControl.
|
|
414
414
|
* @docs-private
|
|
415
415
|
*/
|
|
416
|
-
onContainerClick(): void;
|
|
416
|
+
onContainerClick(event: MouseEvent): void;
|
|
417
417
|
/**
|
|
418
418
|
* Implemented as part of MatFormFieldControl.
|
|
419
419
|
* @docs-private
|
package/types/sort.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ declare class MatSortHeader implements MatSortable, OnDestroy, OnInit, AfterView
|
|
|
116
116
|
_renderArrow(): boolean;
|
|
117
117
|
private _updateSortActionDescription;
|
|
118
118
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatSortHeader, never>;
|
|
119
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatSortHeader, "[mat-sort-header]", ["matSortHeader"], { "id": { "alias": "mat-sort-header"; "required": false; }; "arrowPosition": { "alias": "arrowPosition"; "required": false; }; "start": { "alias": "start"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "sortActionDescription": { "alias": "sortActionDescription"; "required": false; }; "disableClear": { "alias": "disableClear"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
119
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatSortHeader, "[mat-sort-header]", ["matSortHeader"], { "id": { "alias": "mat-sort-header"; "required": false; }; "arrowPosition": { "alias": "arrowPosition"; "required": false; }; "start": { "alias": "start"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "sortActionDescription": { "alias": "sortActionDescription"; "required": false; }; "disableClear": { "alias": "disableClear"; "required": false; }; }, {}, never, ["*", "[matSortHeaderIcon]"], true, never>;
|
|
120
120
|
static ngAcceptInputType_disabled: unknown;
|
|
121
121
|
static ngAcceptInputType_disableClear: unknown;
|
|
122
122
|
}
|
package/types/table-testing.d.ts
CHANGED
|
@@ -56,6 +56,17 @@ declare class MatFooterCellHarness extends _MatCellHarnessBase {
|
|
|
56
56
|
*/
|
|
57
57
|
static with(options?: CellHarnessFilters): HarnessPredicate<MatFooterCellHarness>;
|
|
58
58
|
}
|
|
59
|
+
/** Harness for interacting with an Angular Material table cell inside a "no data" row. */
|
|
60
|
+
declare class MatNoDataCellHarness extends _MatCellHarnessBase {
|
|
61
|
+
/** The selector for the host element of a `MatNoDataCellHarness` instance. */
|
|
62
|
+
static hostSelector: string;
|
|
63
|
+
/**
|
|
64
|
+
* Gets a `HarnessPredicate` that can be used to search for a table cell with specific attributes.
|
|
65
|
+
* @param options Options for narrowing the search
|
|
66
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
67
|
+
*/
|
|
68
|
+
static with(options?: CellHarnessFilters): HarnessPredicate<MatNoDataCellHarness>;
|
|
69
|
+
}
|
|
59
70
|
|
|
60
71
|
/** Text extracted from a table row organized by columns. */
|
|
61
72
|
interface MatRowHarnessColumnsText {
|
|
@@ -110,6 +121,19 @@ declare class MatFooterRowHarness extends _MatRowHarnessBase<typeof MatFooterCel
|
|
|
110
121
|
*/
|
|
111
122
|
static with<T extends MatFooterRowHarness>(this: ComponentHarnessConstructor<T>, options?: RowHarnessFilters): HarnessPredicate<T>;
|
|
112
123
|
}
|
|
124
|
+
/** Harness for interacting with an Angular Material table "no data" row. */
|
|
125
|
+
declare class MatNoDataRowHarness extends _MatRowHarnessBase<typeof MatHeaderCellHarness, MatHeaderCellHarness> {
|
|
126
|
+
/** The selector for the host element of a `MatNoDataRowHarness` instance. */
|
|
127
|
+
static hostSelector: string;
|
|
128
|
+
protected _cellHarness: typeof MatNoDataCellHarness;
|
|
129
|
+
/**
|
|
130
|
+
* Gets a `HarnessPredicate` that can be used to search for a table header row with specific
|
|
131
|
+
* attributes.
|
|
132
|
+
* @param options Options for narrowing the search
|
|
133
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
134
|
+
*/
|
|
135
|
+
static with<T extends MatNoDataRowHarness>(this: ComponentHarnessConstructor<T>, options?: RowHarnessFilters): HarnessPredicate<T>;
|
|
136
|
+
}
|
|
113
137
|
|
|
114
138
|
/** Text extracted from a table organized by columns. */
|
|
115
139
|
interface MatTableHarnessColumnsText {
|
|
@@ -138,11 +162,13 @@ declare class MatTableHarness extends ContentContainerComponentHarness<string> {
|
|
|
138
162
|
getRows(filter?: RowHarnessFilters): Promise<MatRowHarness[]>;
|
|
139
163
|
/** Gets all the footer rows in a table. */
|
|
140
164
|
getFooterRows(filter?: RowHarnessFilters): Promise<MatFooterRowHarness[]>;
|
|
165
|
+
/** Gets the "no data" row in the table, if any. */
|
|
166
|
+
getNoDataRow(filter?: RowHarnessFilters): Promise<MatNoDataRowHarness | null>;
|
|
141
167
|
/** Gets the text inside the entire table organized by rows. */
|
|
142
168
|
getCellTextByIndex(): Promise<string[][]>;
|
|
143
169
|
/** Gets the text inside the entire table organized by columns. */
|
|
144
170
|
getCellTextByColumnName(): Promise<MatTableHarnessColumnsText>;
|
|
145
171
|
}
|
|
146
172
|
|
|
147
|
-
export { MatCellHarness, MatFooterCellHarness, MatFooterRowHarness, MatHeaderCellHarness, MatHeaderRowHarness, MatRowHarness, MatTableHarness, _MatCellHarnessBase, _MatRowHarnessBase };
|
|
173
|
+
export { MatCellHarness, MatFooterCellHarness, MatFooterRowHarness, MatHeaderCellHarness, MatHeaderRowHarness, MatNoDataCellHarness, MatNoDataRowHarness, MatRowHarness, MatTableHarness, _MatCellHarnessBase, _MatRowHarnessBase };
|
|
148
174
|
export type { CellHarnessFilters, MatRowHarnessColumnsText, MatTableHarnessColumnsText, RowHarnessFilters, TableHarnessFilters };
|
package/types/timepicker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { InjectionToken, Signal, ElementRef, OnDestroy, TemplateRef, InputSignalWithTransform, InputSignal, OutputEmitterRef, ModelSignal } from '@angular/core';
|
|
3
3
|
import { MatOption } from './_option-chunk.js';
|
|
4
4
|
import { MatOptionParentComponent } from './_option-parent-chunk.js';
|
|
5
5
|
import { ScrollStrategy } from '@angular/cdk/overlay';
|
|
@@ -8,131 +8,6 @@ import * as i1 from '@angular/cdk/scrolling';
|
|
|
8
8
|
import '@angular/cdk/a11y';
|
|
9
9
|
import 'rxjs';
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* Input that can be used to enter time and connect to a `mat-timepicker`.
|
|
13
|
-
*/
|
|
14
|
-
declare class MatTimepickerInput<D> implements ControlValueAccessor, Validator, OnDestroy {
|
|
15
|
-
private _elementRef;
|
|
16
|
-
private _dateAdapter;
|
|
17
|
-
private _dateFormats;
|
|
18
|
-
private _formField;
|
|
19
|
-
private _onChange;
|
|
20
|
-
private _onTouched;
|
|
21
|
-
private _validatorOnChange;
|
|
22
|
-
private _cleanupClick;
|
|
23
|
-
private _accessorDisabled;
|
|
24
|
-
private _localeSubscription;
|
|
25
|
-
private _timepickerSubscription;
|
|
26
|
-
private _validator;
|
|
27
|
-
private _lastValueValid;
|
|
28
|
-
private _lastValidDate;
|
|
29
|
-
/** Value of the `aria-activedescendant` attribute. */
|
|
30
|
-
protected readonly _ariaActiveDescendant: Signal<string | null>;
|
|
31
|
-
/** Value of the `aria-expanded` attribute. */
|
|
32
|
-
protected readonly _ariaExpanded: Signal<string>;
|
|
33
|
-
/** Value of the `aria-controls` attribute. */
|
|
34
|
-
protected readonly _ariaControls: Signal<string | null>;
|
|
35
|
-
/** Current value of the input. */
|
|
36
|
-
readonly value: ModelSignal<D | null>;
|
|
37
|
-
/** Timepicker that the input is associated with. */
|
|
38
|
-
readonly timepicker: InputSignal<MatTimepicker<D>>;
|
|
39
|
-
/**
|
|
40
|
-
* Minimum time that can be selected or typed in. Can be either
|
|
41
|
-
* a date object (only time will be used) or a valid time string.
|
|
42
|
-
*/
|
|
43
|
-
readonly min: InputSignalWithTransform<D | null, unknown>;
|
|
44
|
-
/**
|
|
45
|
-
* Maximum time that can be selected or typed in. Can be either
|
|
46
|
-
* a date object (only time will be used) or a valid time string.
|
|
47
|
-
*/
|
|
48
|
-
readonly max: InputSignalWithTransform<D | null, unknown>;
|
|
49
|
-
/**
|
|
50
|
-
* Whether to open the timepicker overlay when clicking on the input. Enabled by default.
|
|
51
|
-
* Note that when disabling this option, you'll have to provide your own logic for opening
|
|
52
|
-
* the overlay.
|
|
53
|
-
*/
|
|
54
|
-
readonly openOnClick: InputSignalWithTransform<boolean, unknown>;
|
|
55
|
-
/** Whether the input is disabled. */
|
|
56
|
-
readonly disabled: Signal<boolean>;
|
|
57
|
-
/**
|
|
58
|
-
* Whether the input should be disabled through the template.
|
|
59
|
-
* @docs-private
|
|
60
|
-
*/
|
|
61
|
-
readonly disabledInput: InputSignalWithTransform<boolean, unknown>;
|
|
62
|
-
constructor();
|
|
63
|
-
/**
|
|
64
|
-
* Implemented as a part of `ControlValueAccessor`.
|
|
65
|
-
* @docs-private
|
|
66
|
-
*/
|
|
67
|
-
writeValue(value: any): void;
|
|
68
|
-
/**
|
|
69
|
-
* Implemented as a part of `ControlValueAccessor`.
|
|
70
|
-
* @docs-private
|
|
71
|
-
*/
|
|
72
|
-
registerOnChange(fn: (value: any) => void): void;
|
|
73
|
-
/**
|
|
74
|
-
* Implemented as a part of `ControlValueAccessor`.
|
|
75
|
-
* @docs-private
|
|
76
|
-
*/
|
|
77
|
-
registerOnTouched(fn: () => void): void;
|
|
78
|
-
/**
|
|
79
|
-
* Implemented as a part of `ControlValueAccessor`.
|
|
80
|
-
* @docs-private
|
|
81
|
-
*/
|
|
82
|
-
setDisabledState(isDisabled: boolean): void;
|
|
83
|
-
/**
|
|
84
|
-
* Implemented as a part of `Validator`.
|
|
85
|
-
* @docs-private
|
|
86
|
-
*/
|
|
87
|
-
validate(control: AbstractControl): ValidationErrors | null;
|
|
88
|
-
/**
|
|
89
|
-
* Implemented as a part of `Validator`.
|
|
90
|
-
* @docs-private
|
|
91
|
-
*/
|
|
92
|
-
registerOnValidatorChange(fn: () => void): void;
|
|
93
|
-
/** Gets the element to which the timepicker popup should be attached. */
|
|
94
|
-
getOverlayOrigin(): ElementRef<HTMLElement>;
|
|
95
|
-
/** Focuses the input. */
|
|
96
|
-
focus(): void;
|
|
97
|
-
ngOnDestroy(): void;
|
|
98
|
-
/** Gets the ID of the input's label. */
|
|
99
|
-
_getLabelId(): string | null;
|
|
100
|
-
/** Handles clicks on the input or the containing form field. */
|
|
101
|
-
private _handleClick;
|
|
102
|
-
/** Handles the `input` event. */
|
|
103
|
-
protected _handleInput(event: Event): void;
|
|
104
|
-
/** Handles the `blur` event. */
|
|
105
|
-
protected _handleBlur(): void;
|
|
106
|
-
/** Handles the `keydown` event. */
|
|
107
|
-
protected _handleKeydown(event: KeyboardEvent): void;
|
|
108
|
-
/** Called by the timepicker to sync up the user-selected value. */
|
|
109
|
-
_timepickerValueAssigned(value: D | null): void;
|
|
110
|
-
/** Sets up the code that watches for changes in the value and adjusts the input. */
|
|
111
|
-
private _respondToValueChanges;
|
|
112
|
-
/** Sets up the logic that registers the input with the timepicker. */
|
|
113
|
-
private _registerTimepicker;
|
|
114
|
-
/** Sets up the logic that adjusts the input if the min/max changes. */
|
|
115
|
-
private _respondToMinMaxChanges;
|
|
116
|
-
/**
|
|
117
|
-
* Assigns a value set by the user to the input's model.
|
|
118
|
-
* @param selection Time selected by the user that should be assigned.
|
|
119
|
-
* @param propagateToAccessor Whether the value should be propagated to the ControlValueAccessor.
|
|
120
|
-
*/
|
|
121
|
-
private _assignUserSelection;
|
|
122
|
-
/** Formats the current value and assigns it to the input. */
|
|
123
|
-
private _formatValue;
|
|
124
|
-
/** Checks whether a value is valid. */
|
|
125
|
-
private _isValid;
|
|
126
|
-
/** Transforms an arbitrary value into a value that can be assigned to a date-based input. */
|
|
127
|
-
private _transformDateInput;
|
|
128
|
-
/** Whether the input is currently focused. */
|
|
129
|
-
private _hasFocus;
|
|
130
|
-
/** Gets a function that can be used to validate the input. */
|
|
131
|
-
private _getValidator;
|
|
132
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerInput<any>, never>;
|
|
133
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimepickerInput<any>, "input[matTimepicker]", ["matTimepickerInput"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "timepicker": { "alias": "matTimepicker"; "required": true; "isSignal": true; }; "min": { "alias": "matTimepickerMin"; "required": false; "isSignal": true; }; "max": { "alias": "matTimepickerMax"; "required": false; "isSignal": true; }; "openOnClick": { "alias": "matTimepickerOpenOnClick"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
11
|
/**
|
|
137
12
|
* Object that can be used to configure the default options for the timepicker component.
|
|
138
13
|
*/
|
|
@@ -163,6 +38,25 @@ interface MatTimepickerSelected<D> {
|
|
|
163
38
|
}
|
|
164
39
|
/** Injection token used to configure the behavior of the timepicker dropdown while scrolling. */
|
|
165
40
|
declare const MAT_TIMEPICKER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
|
|
41
|
+
/** Represents an input that is connected to a `mat-timepicker`. */
|
|
42
|
+
interface MatTimepickerConnectedInput<D> {
|
|
43
|
+
/** Current value of the input. */
|
|
44
|
+
value: Signal<D | null>;
|
|
45
|
+
/** Minimum allowed time. */
|
|
46
|
+
min: Signal<D | null>;
|
|
47
|
+
/** Maximum allowed time. */
|
|
48
|
+
max: Signal<D | null>;
|
|
49
|
+
/** Whether the input is disabled. */
|
|
50
|
+
disabled: Signal<boolean>;
|
|
51
|
+
/** Focuses the input. */
|
|
52
|
+
focus(): void;
|
|
53
|
+
/** Gets the element to which to connect the timepicker overlay. */
|
|
54
|
+
getOverlayOrigin(): ElementRef<HTMLElement>;
|
|
55
|
+
/** Gets the ID of the input's label. */
|
|
56
|
+
getLabelId(): string | null;
|
|
57
|
+
/** Callback invoked when the timepicker assigns a value. */
|
|
58
|
+
timepickerValueAssigned(value: D | null): void;
|
|
59
|
+
}
|
|
166
60
|
/**
|
|
167
61
|
* Renders out a listbox that can be used to select a time of day.
|
|
168
62
|
* Intended to be used together with `MatTimepickerInput`.
|
|
@@ -225,8 +119,9 @@ declare class MatTimepicker<D> implements OnDestroy, MatOptionParentComponent {
|
|
|
225
119
|
/** Closes the timepicker. */
|
|
226
120
|
close(): void;
|
|
227
121
|
/** Registers an input with the timepicker. */
|
|
228
|
-
registerInput(input:
|
|
122
|
+
registerInput(input: MatTimepickerConnectedInput<D>): void;
|
|
229
123
|
ngOnDestroy(): void;
|
|
124
|
+
_getOverlayHost(): HTMLElement | undefined;
|
|
230
125
|
/** Selects a specific time value. */
|
|
231
126
|
protected _selectValue(option: MatOption<D>): void;
|
|
232
127
|
/** Gets the value of the `aria-labelledby` attribute. */
|
|
@@ -256,6 +151,131 @@ declare class MatTimepicker<D> implements OnDestroy, MatOptionParentComponent {
|
|
|
256
151
|
static ɵcmp: i0.ɵɵComponentDeclaration<MatTimepicker<any>, "mat-timepicker", ["matTimepicker"], { "interval": { "alias": "interval"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disableRipple": { "alias": "disableRipple"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; }, { "selected": "selected"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
257
152
|
}
|
|
258
153
|
|
|
154
|
+
/**
|
|
155
|
+
* Input that can be used to enter time and connect to a `mat-timepicker`.
|
|
156
|
+
*/
|
|
157
|
+
declare class MatTimepickerInput<D> implements MatTimepickerConnectedInput<D>, ControlValueAccessor, Validator, OnDestroy {
|
|
158
|
+
private _elementRef;
|
|
159
|
+
private _dateAdapter;
|
|
160
|
+
private _dateFormats;
|
|
161
|
+
private _formField;
|
|
162
|
+
private _onChange;
|
|
163
|
+
private _onTouched;
|
|
164
|
+
private _validatorOnChange;
|
|
165
|
+
private _cleanupClick;
|
|
166
|
+
private _accessorDisabled;
|
|
167
|
+
private _localeSubscription;
|
|
168
|
+
private _timepickerSubscription;
|
|
169
|
+
private _validator;
|
|
170
|
+
private _lastValueValid;
|
|
171
|
+
private _lastValidDate;
|
|
172
|
+
/** Value of the `aria-activedescendant` attribute. */
|
|
173
|
+
protected readonly _ariaActiveDescendant: Signal<string | null>;
|
|
174
|
+
/** Value of the `aria-expanded` attribute. */
|
|
175
|
+
protected readonly _ariaExpanded: Signal<string>;
|
|
176
|
+
/** Value of the `aria-controls` attribute. */
|
|
177
|
+
protected readonly _ariaControls: Signal<string | null>;
|
|
178
|
+
/** Current value of the input. */
|
|
179
|
+
readonly value: ModelSignal<D | null>;
|
|
180
|
+
/** Timepicker that the input is associated with. */
|
|
181
|
+
readonly timepicker: InputSignal<MatTimepicker<D>>;
|
|
182
|
+
/**
|
|
183
|
+
* Minimum time that can be selected or typed in. Can be either
|
|
184
|
+
* a date object (only time will be used) or a valid time string.
|
|
185
|
+
*/
|
|
186
|
+
readonly min: InputSignalWithTransform<D | null, unknown>;
|
|
187
|
+
/**
|
|
188
|
+
* Maximum time that can be selected or typed in. Can be either
|
|
189
|
+
* a date object (only time will be used) or a valid time string.
|
|
190
|
+
*/
|
|
191
|
+
readonly max: InputSignalWithTransform<D | null, unknown>;
|
|
192
|
+
/**
|
|
193
|
+
* Whether to open the timepicker overlay when clicking on the input. Enabled by default.
|
|
194
|
+
* Note that when disabling this option, you'll have to provide your own logic for opening
|
|
195
|
+
* the overlay.
|
|
196
|
+
*/
|
|
197
|
+
readonly openOnClick: InputSignalWithTransform<boolean, unknown>;
|
|
198
|
+
/** Whether the input is disabled. */
|
|
199
|
+
readonly disabled: Signal<boolean>;
|
|
200
|
+
/**
|
|
201
|
+
* Whether the input should be disabled through the template.
|
|
202
|
+
* @docs-private
|
|
203
|
+
*/
|
|
204
|
+
readonly disabledInput: InputSignalWithTransform<boolean, unknown>;
|
|
205
|
+
constructor();
|
|
206
|
+
/**
|
|
207
|
+
* Implemented as a part of `ControlValueAccessor`.
|
|
208
|
+
* @docs-private
|
|
209
|
+
*/
|
|
210
|
+
writeValue(value: any): void;
|
|
211
|
+
/**
|
|
212
|
+
* Implemented as a part of `ControlValueAccessor`.
|
|
213
|
+
* @docs-private
|
|
214
|
+
*/
|
|
215
|
+
registerOnChange(fn: (value: any) => void): void;
|
|
216
|
+
/**
|
|
217
|
+
* Implemented as a part of `ControlValueAccessor`.
|
|
218
|
+
* @docs-private
|
|
219
|
+
*/
|
|
220
|
+
registerOnTouched(fn: () => void): void;
|
|
221
|
+
/**
|
|
222
|
+
* Implemented as a part of `ControlValueAccessor`.
|
|
223
|
+
* @docs-private
|
|
224
|
+
*/
|
|
225
|
+
setDisabledState(isDisabled: boolean): void;
|
|
226
|
+
/**
|
|
227
|
+
* Implemented as a part of `Validator`.
|
|
228
|
+
* @docs-private
|
|
229
|
+
*/
|
|
230
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
231
|
+
/**
|
|
232
|
+
* Implemented as a part of `Validator`.
|
|
233
|
+
* @docs-private
|
|
234
|
+
*/
|
|
235
|
+
registerOnValidatorChange(fn: () => void): void;
|
|
236
|
+
/** Gets the element to which the timepicker popup should be attached. */
|
|
237
|
+
getOverlayOrigin(): ElementRef<HTMLElement>;
|
|
238
|
+
/** Focuses the input. */
|
|
239
|
+
focus(): void;
|
|
240
|
+
ngOnDestroy(): void;
|
|
241
|
+
/** Gets the ID of the input's label. */
|
|
242
|
+
getLabelId(): string | null;
|
|
243
|
+
/** Handles clicks on the input or the containing form field. */
|
|
244
|
+
private _handleClick;
|
|
245
|
+
/** Handles the `input` event. */
|
|
246
|
+
protected _handleInput(event: Event): void;
|
|
247
|
+
/** Handles the `blur` event. */
|
|
248
|
+
protected _handleBlur(): void;
|
|
249
|
+
/** Handles the `keydown` event. */
|
|
250
|
+
protected _handleKeydown(event: KeyboardEvent): void;
|
|
251
|
+
/** Called by the timepicker to sync up the user-selected value. */
|
|
252
|
+
timepickerValueAssigned(value: D | null): void;
|
|
253
|
+
/** Sets up the code that watches for changes in the value and adjusts the input. */
|
|
254
|
+
private _respondToValueChanges;
|
|
255
|
+
/** Sets up the logic that registers the input with the timepicker. */
|
|
256
|
+
private _registerTimepicker;
|
|
257
|
+
/** Sets up the logic that adjusts the input if the min/max changes. */
|
|
258
|
+
private _respondToMinMaxChanges;
|
|
259
|
+
/**
|
|
260
|
+
* Assigns a value set by the user to the input's model.
|
|
261
|
+
* @param selection Time selected by the user that should be assigned.
|
|
262
|
+
* @param propagateToAccessor Whether the value should be propagated to the ControlValueAccessor.
|
|
263
|
+
*/
|
|
264
|
+
private _assignUserSelection;
|
|
265
|
+
/** Formats the current value and assigns it to the input. */
|
|
266
|
+
private _formatValue;
|
|
267
|
+
/** Checks whether a value is valid. */
|
|
268
|
+
private _isValid;
|
|
269
|
+
/** Transforms an arbitrary value into a value that can be assigned to a date-based input. */
|
|
270
|
+
private _transformDateInput;
|
|
271
|
+
/** Whether the input is currently focused. */
|
|
272
|
+
private _hasFocus;
|
|
273
|
+
/** Gets a function that can be used to validate the input. */
|
|
274
|
+
private _getValidator;
|
|
275
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerInput<any>, never>;
|
|
276
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimepickerInput<any>, "input[matTimepicker]", ["matTimepickerInput"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "timepicker": { "alias": "matTimepicker"; "required": true; "isSignal": true; }; "min": { "alias": "matTimepickerMin"; "required": false; "isSignal": true; }; "max": { "alias": "matTimepickerMax"; "required": false; "isSignal": true; }; "openOnClick": { "alias": "matTimepickerOpenOnClick"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
277
|
+
}
|
|
278
|
+
|
|
259
279
|
/** Button that can be used to open a `mat-timepicker`. */
|
|
260
280
|
declare class MatTimepickerToggle<D> {
|
|
261
281
|
private _defaultConfig;
|
|
@@ -293,4 +313,4 @@ declare class MatTimepickerModule {
|
|
|
293
313
|
}
|
|
294
314
|
|
|
295
315
|
export { MAT_TIMEPICKER_CONFIG, MAT_TIMEPICKER_SCROLL_STRATEGY, MatTimepicker, MatTimepickerInput, MatTimepickerModule, MatTimepickerToggle };
|
|
296
|
-
export type { MatTimepickerConfig, MatTimepickerOption, MatTimepickerSelected };
|
|
316
|
+
export type { MatTimepickerConfig, MatTimepickerConnectedInput, MatTimepickerOption, MatTimepickerSelected };
|