@angular/material 21.0.2 → 21.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/core/focus-indicators/_private.scss +2 -2
  2. package/fesm2022/_animation-chunk.mjs.map +1 -1
  3. package/fesm2022/_date-formats-chunk.mjs.map +1 -1
  4. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
  5. package/fesm2022/_error-options-chunk.mjs +6 -6
  6. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  7. package/fesm2022/_error-state-chunk.mjs.map +1 -1
  8. package/fesm2022/_form-field-chunk.mjs +32 -32
  9. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  10. package/fesm2022/_icon-button-chunk.mjs +8 -8
  11. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  12. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  13. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  14. package/fesm2022/_input-harness-chunk.mjs.map +1 -1
  15. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
  16. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  17. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  18. package/fesm2022/_line-chunk.mjs +7 -7
  19. package/fesm2022/_line-chunk.mjs.map +1 -1
  20. package/fesm2022/_option-chunk.mjs +6 -6
  21. package/fesm2022/_option-chunk.mjs.map +1 -1
  22. package/fesm2022/_option-harness-chunk.mjs.map +1 -1
  23. package/fesm2022/_option-module-chunk.mjs +4 -4
  24. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  25. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  26. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  27. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  28. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  29. package/fesm2022/_public-api-chunk.mjs.map +1 -1
  30. package/fesm2022/_ripple-chunk.mjs +6 -6
  31. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  32. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  33. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  34. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  35. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  36. package/fesm2022/_structural-styles-chunk.mjs +5 -5
  37. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  38. package/fesm2022/_tooltip-chunk.mjs +7 -8
  39. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  40. package/fesm2022/autocomplete-testing.mjs.map +1 -1
  41. package/fesm2022/autocomplete.mjs +13 -13
  42. package/fesm2022/autocomplete.mjs.map +1 -1
  43. package/fesm2022/badge-testing.mjs.map +1 -1
  44. package/fesm2022/badge.mjs +10 -10
  45. package/fesm2022/badge.mjs.map +1 -1
  46. package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
  47. package/fesm2022/bottom-sheet.mjs +10 -10
  48. package/fesm2022/bottom-sheet.mjs.map +1 -1
  49. package/fesm2022/button-testing.mjs.map +1 -1
  50. package/fesm2022/button-toggle-testing.mjs.map +1 -1
  51. package/fesm2022/button-toggle.mjs +10 -10
  52. package/fesm2022/button-toggle.mjs.map +1 -1
  53. package/fesm2022/button.mjs +19 -19
  54. package/fesm2022/button.mjs.map +1 -1
  55. package/fesm2022/card-testing.mjs.map +1 -1
  56. package/fesm2022/card.mjs +46 -46
  57. package/fesm2022/card.mjs.map +1 -1
  58. package/fesm2022/checkbox-testing.mjs.map +1 -1
  59. package/fesm2022/checkbox.mjs +9 -9
  60. package/fesm2022/checkbox.mjs.map +1 -1
  61. package/fesm2022/chips-testing.mjs.map +1 -1
  62. package/fesm2022/chips.mjs +52 -52
  63. package/fesm2022/chips.mjs.map +1 -1
  64. package/fesm2022/core-testing.mjs.map +1 -1
  65. package/fesm2022/core.mjs +12 -12
  66. package/fesm2022/core.mjs.map +1 -1
  67. package/fesm2022/datepicker-testing.mjs.map +1 -1
  68. package/fesm2022/datepicker.mjs +93 -93
  69. package/fesm2022/datepicker.mjs.map +1 -1
  70. package/fesm2022/dialog-testing.mjs.map +1 -1
  71. package/fesm2022/dialog.mjs +25 -25
  72. package/fesm2022/dialog.mjs.map +1 -1
  73. package/fesm2022/divider-testing.mjs.map +1 -1
  74. package/fesm2022/divider.mjs +7 -7
  75. package/fesm2022/divider.mjs.map +1 -1
  76. package/fesm2022/expansion-testing.mjs.map +1 -1
  77. package/fesm2022/expansion.mjs +25 -25
  78. package/fesm2022/expansion.mjs.map +1 -1
  79. package/fesm2022/form-field-testing-control.mjs.map +1 -1
  80. package/fesm2022/form-field-testing.mjs.map +1 -1
  81. package/fesm2022/form-field.mjs +4 -4
  82. package/fesm2022/form-field.mjs.map +1 -1
  83. package/fesm2022/grid-list-testing.mjs.map +1 -1
  84. package/fesm2022/grid-list.mjs +22 -22
  85. package/fesm2022/grid-list.mjs.map +1 -1
  86. package/fesm2022/icon-testing.mjs +7 -7
  87. package/fesm2022/icon-testing.mjs.map +1 -1
  88. package/fesm2022/icon.mjs +7 -7
  89. package/fesm2022/icon.mjs.map +1 -1
  90. package/fesm2022/input-testing.mjs.map +1 -1
  91. package/fesm2022/input.mjs +7 -7
  92. package/fesm2022/input.mjs.map +1 -1
  93. package/fesm2022/list-testing.mjs.map +1 -1
  94. package/fesm2022/list.mjs +57 -57
  95. package/fesm2022/list.mjs.map +1 -1
  96. package/fesm2022/material.mjs.map +1 -1
  97. package/fesm2022/menu-testing.mjs.map +1 -1
  98. package/fesm2022/menu.mjs +22 -22
  99. package/fesm2022/menu.mjs.map +1 -1
  100. package/fesm2022/paginator-testing.mjs.map +1 -1
  101. package/fesm2022/paginator.mjs +10 -10
  102. package/fesm2022/paginator.mjs.map +1 -1
  103. package/fesm2022/progress-bar-testing.mjs.map +1 -1
  104. package/fesm2022/progress-bar.mjs +7 -7
  105. package/fesm2022/progress-bar.mjs.map +1 -1
  106. package/fesm2022/progress-spinner-testing.mjs.map +1 -1
  107. package/fesm2022/progress-spinner.mjs +7 -7
  108. package/fesm2022/progress-spinner.mjs.map +1 -1
  109. package/fesm2022/radio-testing.mjs.map +1 -1
  110. package/fesm2022/radio.mjs +10 -10
  111. package/fesm2022/radio.mjs.map +1 -1
  112. package/fesm2022/select-testing.mjs.map +1 -1
  113. package/fesm2022/select.mjs +10 -10
  114. package/fesm2022/select.mjs.map +1 -1
  115. package/fesm2022/sidenav-testing.mjs.map +1 -1
  116. package/fesm2022/sidenav.mjs +22 -22
  117. package/fesm2022/sidenav.mjs.map +1 -1
  118. package/fesm2022/slide-toggle-testing.mjs.map +1 -1
  119. package/fesm2022/slide-toggle.mjs +9 -9
  120. package/fesm2022/slide-toggle.mjs.map +1 -1
  121. package/fesm2022/slider-testing.mjs.map +1 -1
  122. package/fesm2022/slider.mjs +16 -16
  123. package/fesm2022/slider.mjs.map +1 -1
  124. package/fesm2022/snack-bar-testing.mjs.map +1 -1
  125. package/fesm2022/snack-bar.mjs +22 -22
  126. package/fesm2022/snack-bar.mjs.map +1 -1
  127. package/fesm2022/sort-testing.mjs.map +1 -1
  128. package/fesm2022/sort.mjs +13 -13
  129. package/fesm2022/sort.mjs.map +1 -1
  130. package/fesm2022/stepper-testing.mjs.map +1 -1
  131. package/fesm2022/stepper.mjs +33 -33
  132. package/fesm2022/stepper.mjs.map +1 -1
  133. package/fesm2022/table-testing.mjs.map +1 -1
  134. package/fesm2022/table.mjs +59 -59
  135. package/fesm2022/table.mjs.map +1 -1
  136. package/fesm2022/tabs-testing.mjs.map +1 -1
  137. package/fesm2022/tabs.mjs +43 -43
  138. package/fesm2022/tabs.mjs.map +1 -1
  139. package/fesm2022/timepicker-testing.mjs.map +1 -1
  140. package/fesm2022/timepicker.mjs +83 -88
  141. package/fesm2022/timepicker.mjs.map +1 -1
  142. package/fesm2022/toolbar-testing.mjs.map +1 -1
  143. package/fesm2022/toolbar.mjs +10 -10
  144. package/fesm2022/toolbar.mjs.map +1 -1
  145. package/fesm2022/tooltip-testing.mjs.map +1 -1
  146. package/fesm2022/tooltip.mjs +4 -4
  147. package/fesm2022/tooltip.mjs.map +1 -1
  148. package/fesm2022/tree-testing.mjs.map +1 -1
  149. package/fesm2022/tree.mjs +25 -25
  150. package/fesm2022/tree.mjs.map +1 -1
  151. package/package.json +2 -2
  152. package/schematics/ng-add/index.js +1 -1
  153. package/schematics/ng-add/setup-project.js +1 -39
  154. package/schematics/ng-add/setup-project.js.map +1 -1
  155. package/schematics/ng-add/theming/{create-custom-theme.d.ts → create-theme.d.ts} +2 -2
  156. package/schematics/ng-add/theming/{create-custom-theme.js → create-theme.js} +6 -4
  157. package/schematics/ng-add/theming/create-theme.js.map +1 -0
  158. package/schematics/ng-add/theming/theming.js +15 -15
  159. package/schematics/ng-add/theming/theming.js.map +1 -1
  160. package/types/_tooltip-chunk.d.ts +305 -0
  161. package/types/datepicker.d.ts +2 -2
  162. package/types/paginator.d.ts +1 -0
  163. package/types/stepper.d.ts +4 -4
  164. package/types/table.d.ts +4 -2
  165. package/types/timepicker.d.ts +2 -2
  166. package/types/tooltip.d.ts +7 -297
  167. package/schematics/ng-add/theming/create-custom-theme.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tooltip/testing/tooltip-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TooltipHarnessFilters} from './tooltip-harness-filters';\n\n/** Harness for interacting with a mat-tooltip in tests. */\nexport class MatTooltipHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-tooltip-trigger';\n\n private _optionalPanel = this.documentRootLocatorFactory().locatorForOptional('.mat-mdc-tooltip');\n private _hiddenClass = 'mat-mdc-tooltip-hide';\n private _disabledClass = 'mat-mdc-tooltip-disabled';\n private _showAnimationName = 'mat-mdc-tooltip-show';\n private _hideAnimationName = 'mat-mdc-tooltip-hide';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tooltip trigger with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTooltipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TooltipHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Shows the tooltip. */\n async show(): Promise<void> {\n const host = await this.host();\n\n // We need to dispatch both `touchstart` and a hover event, because the tooltip binds\n // different events depending on the device. The `changedTouches` is there in case the\n // element has ripples.\n await host.dispatchEvent('touchstart', {changedTouches: []});\n await host.hover();\n const panel = await this._optionalPanel();\n await panel?.dispatchEvent('animationend', {animationName: this._showAnimationName});\n }\n\n /** Hides the tooltip. */\n async hide(): Promise<void> {\n const host = await this.host();\n\n // We need to dispatch both `touchstart` and a hover event, because\n // the tooltip binds different events depending on the device.\n await host.dispatchEvent('touchend');\n await host.mouseAway();\n const panel = await this._optionalPanel();\n await panel?.dispatchEvent('animationend', {animationName: this._hideAnimationName});\n }\n\n /** Gets whether the tooltip is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._optionalPanel();\n return !!panel && !(await panel.hasClass(this._hiddenClass));\n }\n\n /** Gets whether the tooltip is disabled */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass(this._disabledClass);\n }\n\n /** Gets a promise for the tooltip panel's text. */\n async getTooltipText(): Promise<string> {\n const panel = await this._optionalPanel();\n return panel ? panel.text() : '';\n }\n}\n"],"names":["MatTooltipHarness","ComponentHarness","hostSelector","_optionalPanel","documentRootLocatorFactory","locatorForOptional","_hiddenClass","_disabledClass","_showAnimationName","_hideAnimationName","with","options","HarnessPredicate","show","host","dispatchEvent","changedTouches","hover","panel","animationName","hide","mouseAway","isOpen","hasClass","isDisabled","getTooltipText","text"],"mappings":";;AAgBM,MAAOA,iBAAkB,SAAQC,gBAAgB,CAAA;EACrD,OAAOC,YAAY,GAAG,0BAA0B;EAExCC,cAAc,GAAG,IAAI,CAACC,0BAA0B,EAAE,CAACC,kBAAkB,CAAC,kBAAkB,CAAC;AACzFC,EAAAA,YAAY,GAAG,sBAAsB;AACrCC,EAAAA,cAAc,GAAG,0BAA0B;AAC3CC,EAAAA,kBAAkB,GAAG,sBAAsB;AAC3CC,EAAAA,kBAAkB,GAAG,sBAAsB;AAQnD,EAAA,OAAOC,IAAIA,CAETC,OAAA,GAAiC,EAAE,EAAA;AAEnC,IAAA,OAAO,IAAIC,gBAAgB,CAAC,IAAI,EAAED,OAAO,CAAC;AAC5C;EAGA,MAAME,IAAIA,GAAA;AACR,IAAA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;AAK9B,IAAA,MAAMA,IAAI,CAACC,aAAa,CAAC,YAAY,EAAE;AAACC,MAAAA,cAAc,EAAE;AAAG,KAAA,CAAC;AAC5D,IAAA,MAAMF,IAAI,CAACG,KAAK,EAAE;AAClB,IAAA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;AACzC,IAAA,MAAMe,KAAK,EAAEH,aAAa,CAAC,cAAc,EAAE;MAACI,aAAa,EAAE,IAAI,CAACX;AAAkB,KAAC,CAAC;AACtF;EAGA,MAAMY,IAAIA,GAAA;AACR,IAAA,MAAMN,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;AAI9B,IAAA,MAAMA,IAAI,CAACC,aAAa,CAAC,UAAU,CAAC;AACpC,IAAA,MAAMD,IAAI,CAACO,SAAS,EAAE;AACtB,IAAA,MAAMH,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;AACzC,IAAA,MAAMe,KAAK,EAAEH,aAAa,CAAC,cAAc,EAAE;MAACI,aAAa,EAAE,IAAI,CAACV;AAAkB,KAAC,CAAC;AACtF;EAGA,MAAMa,MAAMA,GAAA;AACV,IAAA,MAAMJ,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;AACzC,IAAA,OAAO,CAAC,CAACe,KAAK,IAAI,EAAE,MAAMA,KAAK,CAACK,QAAQ,CAAC,IAAI,CAACjB,YAAY,CAAC,CAAC;AAC9D;EAGA,MAAMkB,UAAUA,GAAA;AACd,IAAA,MAAMV,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;AAC9B,IAAA,OAAOA,IAAI,CAACS,QAAQ,CAAC,IAAI,CAAChB,cAAc,CAAC;AAC3C;EAGA,MAAMkB,cAAcA,GAAA;AAClB,IAAA,MAAMP,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;IACzC,OAAOe,KAAK,GAAGA,KAAK,CAACQ,IAAI,EAAE,GAAG,EAAE;AAClC;;;;;"}
1
+ {"version":3,"file":"tooltip-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tooltip/testing/tooltip-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TooltipHarnessFilters} from './tooltip-harness-filters';\n\n/** Harness for interacting with a mat-tooltip in tests. */\nexport class MatTooltipHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-tooltip-trigger';\n\n private _optionalPanel = this.documentRootLocatorFactory().locatorForOptional('.mat-mdc-tooltip');\n private _hiddenClass = 'mat-mdc-tooltip-hide';\n private _disabledClass = 'mat-mdc-tooltip-disabled';\n private _showAnimationName = 'mat-mdc-tooltip-show';\n private _hideAnimationName = 'mat-mdc-tooltip-hide';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tooltip trigger with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTooltipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TooltipHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Shows the tooltip. */\n async show(): Promise<void> {\n const host = await this.host();\n\n // We need to dispatch both `touchstart` and a hover event, because the tooltip binds\n // different events depending on the device. The `changedTouches` is there in case the\n // element has ripples.\n await host.dispatchEvent('touchstart', {changedTouches: []});\n await host.hover();\n const panel = await this._optionalPanel();\n await panel?.dispatchEvent('animationend', {animationName: this._showAnimationName});\n }\n\n /** Hides the tooltip. */\n async hide(): Promise<void> {\n const host = await this.host();\n\n // We need to dispatch both `touchstart` and a hover event, because\n // the tooltip binds different events depending on the device.\n await host.dispatchEvent('touchend');\n await host.mouseAway();\n const panel = await this._optionalPanel();\n await panel?.dispatchEvent('animationend', {animationName: this._hideAnimationName});\n }\n\n /** Gets whether the tooltip is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._optionalPanel();\n return !!panel && !(await panel.hasClass(this._hiddenClass));\n }\n\n /** Gets whether the tooltip is disabled */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass(this._disabledClass);\n }\n\n /** Gets a promise for the tooltip panel's text. */\n async getTooltipText(): Promise<string> {\n const panel = await this._optionalPanel();\n return panel ? panel.text() : '';\n }\n}\n"],"names":["MatTooltipHarness","ComponentHarness","hostSelector","_optionalPanel","documentRootLocatorFactory","locatorForOptional","_hiddenClass","_disabledClass","_showAnimationName","_hideAnimationName","with","options","HarnessPredicate","show","host","dispatchEvent","changedTouches","hover","panel","animationName","hide","mouseAway","isOpen","hasClass","isDisabled","getTooltipText","text"],"mappings":";;AAgBM,MAAOA,iBAAkB,SAAQC,gBAAgB,CAAA;EACrD,OAAOC,YAAY,GAAG,0BAA0B;EAExCC,cAAc,GAAG,IAAI,CAACC,0BAA0B,EAAE,CAACC,kBAAkB,CAAC,kBAAkB,CAAC;AACzFC,EAAAA,YAAY,GAAG,sBAAsB;AACrCC,EAAAA,cAAc,GAAG,0BAA0B;AAC3CC,EAAAA,kBAAkB,GAAG,sBAAsB;AAC3CC,EAAAA,kBAAkB,GAAG,sBAAsB;AAQnD,EAAA,OAAOC,IAAIA,CAETC,OAAA,GAAiC,EAAE,EAAA;AAEnC,IAAA,OAAO,IAAIC,gBAAgB,CAAC,IAAI,EAAED,OAAO,CAAC;AAC5C;EAGA,MAAME,IAAIA,GAAA;AACR,IAAA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;AAK9B,IAAA,MAAMA,IAAI,CAACC,aAAa,CAAC,YAAY,EAAE;AAACC,MAAAA,cAAc,EAAE;AAAG,KAAA,CAAC;AAC5D,IAAA,MAAMF,IAAI,CAACG,KAAK,EAAE;AAClB,IAAA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;AACzC,IAAA,MAAMe,KAAK,EAAEH,aAAa,CAAC,cAAc,EAAE;MAACI,aAAa,EAAE,IAAI,CAACX;AAAkB,KAAC,CAAC;AACtF;EAGA,MAAMY,IAAIA,GAAA;AACR,IAAA,MAAMN,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;AAI9B,IAAA,MAAMA,IAAI,CAACC,aAAa,CAAC,UAAU,CAAC;AACpC,IAAA,MAAMD,IAAI,CAACO,SAAS,EAAE;AACtB,IAAA,MAAMH,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;AACzC,IAAA,MAAMe,KAAK,EAAEH,aAAa,CAAC,cAAc,EAAE;MAACI,aAAa,EAAE,IAAI,CAACV;AAAkB,KAAC,CAAC;AACtF;EAGA,MAAMa,MAAMA,GAAA;AACV,IAAA,MAAMJ,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;AACzC,IAAA,OAAO,CAAC,CAACe,KAAK,IAAI,EAAE,MAAMA,KAAK,CAACK,QAAQ,CAAC,IAAI,CAACjB,YAAY,CAAC,CAAC;AAC9D;EAGA,MAAMkB,UAAUA,GAAA;AACd,IAAA,MAAMV,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;AAC9B,IAAA,OAAOA,IAAI,CAACS,QAAQ,CAAC,IAAI,CAAChB,cAAc,CAAC;AAC3C;EAGA,MAAMkB,cAAcA,GAAA;AAClB,IAAA,MAAMP,KAAK,GAAG,MAAM,IAAI,CAACf,cAAc,EAAE;IACzC,OAAOe,KAAK,GAAGA,KAAK,CAACQ,IAAI,EAAE,GAAG,EAAE;AAClC;;;;;"}
@@ -19,7 +19,7 @@ import '@angular/cdk/layout';
19
19
  class MatTooltipModule {
20
20
  static ɵfac = i0.ɵɵngDeclareFactory({
21
21
  minVersion: "12.0.0",
22
- version: "21.0.0",
22
+ version: "21.0.3",
23
23
  ngImport: i0,
24
24
  type: MatTooltipModule,
25
25
  deps: [],
@@ -27,7 +27,7 @@ class MatTooltipModule {
27
27
  });
28
28
  static ɵmod = i0.ɵɵngDeclareNgModule({
29
29
  minVersion: "14.0.0",
30
- version: "21.0.0",
30
+ version: "21.0.3",
31
31
  ngImport: i0,
32
32
  type: MatTooltipModule,
33
33
  imports: [A11yModule, OverlayModule, MatTooltip, TooltipComponent],
@@ -35,7 +35,7 @@ class MatTooltipModule {
35
35
  });
36
36
  static ɵinj = i0.ɵɵngDeclareInjector({
37
37
  minVersion: "12.0.0",
38
- version: "21.0.0",
38
+ version: "21.0.3",
39
39
  ngImport: i0,
40
40
  type: MatTooltipModule,
41
41
  imports: [A11yModule, OverlayModule, BidiModule, CdkScrollableModule]
@@ -43,7 +43,7 @@ class MatTooltipModule {
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({
45
45
  minVersion: "12.0.0",
46
- version: "21.0.0",
46
+ version: "21.0.3",
47
47
  ngImport: i0,
48
48
  type: MatTooltipModule,
49
49
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tooltip/tooltip-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MatTooltip, TooltipComponent} from './tooltip';\n\n@NgModule({\n imports: [A11yModule, OverlayModule, MatTooltip, TooltipComponent],\n exports: [MatTooltip, TooltipComponent, BidiModule, CdkScrollableModule],\n})\nexport class MatTooltipModule {}\n"],"names":["MatTooltipModule","deps","target","i0","ɵɵFactoryTarget","NgModule","ɵmod","ɵɵngDeclareNgModule","minVersion","version","ngImport","type","imports","A11yModule","OverlayModule","MatTooltip","TooltipComponent","exports","BidiModule","CdkScrollableModule","ɵinj","ɵɵngDeclareInjector","decorators","args"],"mappings":";;;;;;;;;;;;;;;;;;MAmBaA,gBAAgB,CAAA;;;;;UAAhBA,gBAAgB;AAAAC,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAhB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,mBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,QAAA;AAAAC,IAAAA,QAAA,EAAAP,EAAA;AAAAQ,IAAAA,IAAA,EAAAX,gBAAgB;IAHjBY,OAAA,EAAA,CAAAC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAEC,gBAAgB,CAAA;IAAAC,OAAA,EAAA,CACvDF,UAAU,EAAEC,gBAAgB,EAAEE,UAAU,EAAEC,mBAAmB;AAAA,GAAA,CAAA;AAE5D,EAAA,OAAAC,IAAA,GAAAjB,EAAA,CAAAkB,mBAAA,CAAA;AAAAb,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,QAAA;AAAAC,IAAAA,QAAA,EAAAP,EAAA;AAAAQ,IAAAA,IAAA,EAAAX,gBAAgB;cAHjBa,UAAU,EAAEC,aAAa,EACKI,UAAU,EAAEC,mBAAmB;AAAA,GAAA,CAAA;;;;;;QAE5DnB,gBAAgB;AAAAsB,EAAAA,UAAA,EAAA,CAAA;UAJ5BjB,QAAQ;AAACkB,IAAAA,IAAA,EAAA,CAAA;MACRX,OAAO,EAAE,CAACC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAEC,gBAAgB,CAAC;MAClEC,OAAO,EAAE,CAACF,UAAU,EAAEC,gBAAgB,EAAEE,UAAU,EAAEC,mBAAmB;KACxE;;;;;;"}
1
+ {"version":3,"file":"tooltip.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tooltip/tooltip-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MatTooltip, TooltipComponent} from './tooltip';\n\n@NgModule({\n imports: [A11yModule, OverlayModule, MatTooltip, TooltipComponent],\n exports: [MatTooltip, TooltipComponent, BidiModule, CdkScrollableModule],\n})\nexport class MatTooltipModule {}\n"],"names":["MatTooltipModule","deps","target","i0","ɵɵFactoryTarget","NgModule","ɵmod","ɵɵngDeclareNgModule","minVersion","version","ngImport","type","imports","A11yModule","OverlayModule","MatTooltip","TooltipComponent","exports","BidiModule","CdkScrollableModule","ɵinj","ɵɵngDeclareInjector","decorators","args"],"mappings":";;;;;;;;;;;;;;;;;;MAmBaA,gBAAgB,CAAA;;;;;UAAhBA,gBAAgB;AAAAC,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAhB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,mBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,QAAA;AAAAC,IAAAA,QAAA,EAAAP,EAAA;AAAAQ,IAAAA,IAAA,EAAAX,gBAAgB;IAHjBY,OAAA,EAAA,CAAAC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAEC,gBAAgB,CAAA;IAAAC,OAAA,EAAA,CACvDF,UAAU,EAAEC,gBAAgB,EAAEE,UAAU,EAAEC,mBAAmB;AAAA,GAAA,CAAA;AAE5D,EAAA,OAAAC,IAAA,GAAAjB,EAAA,CAAAkB,mBAAA,CAAA;AAAAb,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,QAAA;AAAAC,IAAAA,QAAA,EAAAP,EAAA;AAAAQ,IAAAA,IAAA,EAAAX,gBAAgB;cAHjBa,UAAU,EAAEC,aAAa,EACKI,UAAU,EAAEC,mBAAmB;AAAA,GAAA,CAAA;;;;;;QAE5DnB,gBAAgB;AAAAsB,EAAAA,UAAA,EAAA,CAAA;UAJ5BjB,QAAQ;AAACkB,IAAAA,IAAA,EAAA,CAAA;MACRX,OAAO,EAAE,CAACC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAEC,gBAAgB,CAAC;MAClEC,OAAO,EAAE,CAACF,UAAU,EAAEC,gBAAgB,EAAEE,UAAU,EAAEC,mBAAmB;KACxE;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/testing/node-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/testing/tree-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TreeNodeHarnessFilters} from './tree-harness-filters';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a standard Angular Material tree node. */\nexport class MatTreeNodeHarness extends ContentContainerComponentHarness<string> {\n /** The selector of the host element of a `MatTreeNode` instance. */\n static hostSelector = '.mat-tree-node, .mat-nested-tree-node';\n\n _toggle = this.locatorForOptional('[matTreeNodeToggle]');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeNodeHarnessFilters = {}): HarnessPredicate<MatTreeNodeHarness> {\n return getNodePredicate(MatTreeNodeHarness, options);\n }\n\n /** Whether the tree node is expanded. */\n async isExpanded(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getAttribute('aria-expanded'));\n }\n\n /** Whether the tree node is expandable. */\n async isExpandable(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-expanded')) !== null;\n }\n\n /** Whether the tree node is disabled. */\n async isDisabled(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getProperty('aria-disabled'));\n }\n\n /** Gets the level of the tree node. Note that this gets the aria-level and is 1 indexed. */\n async getLevel(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getAttribute('aria-level'));\n }\n\n /** Gets the tree node's text. */\n async getText(): Promise<string> {\n return (await this.host()).text({exclude: '.mat-tree-node, .mat-nested-tree-node, button'});\n }\n\n /** Toggles node between expanded/collapsed. Only works when node is not disabled. */\n async toggle(): Promise<void> {\n const toggle = await this._toggle();\n if (toggle) {\n return toggle.click();\n }\n }\n\n /** Expands the node if it is collapsed. Only works when node is not disabled. */\n async expand(): Promise<void> {\n if (!(await this.isExpanded())) {\n await this.toggle();\n }\n }\n\n /** Collapses the node if it is expanded. Only works when node is not disabled. */\n async collapse(): Promise<void> {\n if (await this.isExpanded()) {\n await this.toggle();\n }\n }\n}\n\nfunction getNodePredicate<T extends MatTreeNodeHarness>(\n type: ComponentHarnessConstructor<T>,\n options: TreeNodeHarnessFilters,\n): HarnessPredicate<T> {\n return new HarnessPredicate(type, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) === disabled,\n )\n .addOption(\n 'expanded',\n options.expanded,\n async (harness, expanded) => (await harness.isExpanded()) === expanded,\n )\n .addOption(\n 'level',\n options.level,\n async (harness, level) => (await harness.getLevel()) === level,\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 {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {MatTreeNodeHarness} from './node-harness';\nimport {TreeHarnessFilters, TreeNodeHarnessFilters} from './tree-harness-filters';\n\nexport type TextTree = {\n text?: string;\n children?: TextTree[];\n};\n\n/** Harness for interacting with a standard mat-tree in tests. */\nexport class MatTreeHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-tree';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeHarnessFilters = {}): HarnessPredicate<MatTreeHarness> {\n return new HarnessPredicate(MatTreeHarness, options);\n }\n\n /** Gets all of the nodes in the tree. */\n async getNodes(filter: TreeNodeHarnessFilters = {}): Promise<MatTreeNodeHarness[]> {\n return this.locatorForAll(MatTreeNodeHarness.with(filter))();\n }\n\n /**\n * Gets an object representation for the visible tree structure\n * If a node is under an unexpanded node it will not be included.\n * Eg.\n * Tree (all nodes expanded):\n * `\n * <mat-tree>\n * <mat-tree-node>Node 1<mat-tree-node>\n * <mat-nested-tree-node>\n * Node 2\n * <mat-nested-tree-node>\n * Node 2.1\n * <mat-tree-node>\n * Node 2.1.1\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * <mat-tree-node>\n * Node 2.2\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * </mat-tree>`\n *\n * Tree structure:\n * {\n * children: [\n * {\n * text: 'Node 1',\n * children: [\n * {\n * text: 'Node 2',\n * children: [\n * {\n * text: 'Node 2.1',\n * children: [{text: 'Node 2.1.1'}]\n * },\n * {text: 'Node 2.2'}\n * ]\n * }\n * ]\n * }\n * ]\n * };\n */\n async getTreeStructure(): Promise<TextTree> {\n const nodes = await this.getNodes();\n const nodeInformation = await parallel(() =>\n nodes.map(node => {\n return parallel(() => [node.getLevel(), node.getText(), node.isExpanded()]);\n }),\n );\n return this._getTreeStructure(nodeInformation, 1, true);\n }\n\n /**\n * Recursively collect the structured text of the tree nodes.\n * @param nodes A list of tree nodes\n * @param level The level of nodes that are being accounted for during this iteration\n * @param parentExpanded Whether the parent of the first node in param nodes is expanded\n */\n private _getTreeStructure(\n nodes: [number, string, boolean][],\n level: number,\n parentExpanded: boolean,\n ): TextTree {\n const result: TextTree = {};\n for (let i = 0; i < nodes.length; i++) {\n const [nodeLevel, text, expanded] = nodes[i];\n const nextNodeLevel = nodes[i + 1]?.[0] ?? -1;\n\n // Return the accumulated value for the current level once we reach a shallower level node\n if (nodeLevel < level) {\n return result;\n }\n // Skip deeper level nodes during this iteration, they will be picked up in a later iteration\n if (nodeLevel > level) {\n continue;\n }\n // Only add to representation if it is visible (parent is expanded)\n if (parentExpanded) {\n // Collect the data under this node according to the following rules:\n // 1. If the next node in the list is a sibling of the current node add it to the child list\n // 2. If the next node is a child of the current node, get the sub-tree structure for the\n // child and add it under this node\n // 3. If the next node has a shallower level, we've reached the end of the child nodes for\n // the current parent.\n if (nextNodeLevel === level) {\n this._addChildToNode(result, {text});\n } else if (nextNodeLevel > level) {\n let children = this._getTreeStructure(\n nodes.slice(i + 1),\n nextNodeLevel,\n expanded,\n )?.children;\n let child = children ? {text, children} : {text};\n this._addChildToNode(result, child);\n } else {\n this._addChildToNode(result, {text});\n return result;\n }\n }\n }\n return result;\n }\n\n private _addChildToNode(result: TextTree, child: TextTree) {\n result.children ? result.children.push(child) : (result.children = [child]);\n }\n}\n"],"names":["MatTreeNodeHarness","ContentContainerComponentHarness","hostSelector","_toggle","locatorForOptional","with","options","getNodePredicate","isExpanded","coerceBooleanProperty","host","getAttribute","isExpandable","isDisabled","getProperty","getLevel","coerceNumberProperty","getText","text","exclude","toggle","click","expand","collapse","type","HarnessPredicate","addOption","harness","stringMatches","disabled","expanded","level","MatTreeHarness","ComponentHarness","getNodes","filter","locatorForAll","getTreeStructure","nodes","nodeInformation","parallel","map","node","_getTreeStructure","parentExpanded","result","i","length","nodeLevel","nextNodeLevel","_addChildToNode","children","slice","child","push"],"mappings":"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"}
1
+ {"version":3,"file":"tree-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/testing/node-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/testing/tree-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TreeNodeHarnessFilters} from './tree-harness-filters';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a standard Angular Material tree node. */\nexport class MatTreeNodeHarness extends ContentContainerComponentHarness<string> {\n /** The selector of the host element of a `MatTreeNode` instance. */\n static hostSelector = '.mat-tree-node, .mat-nested-tree-node';\n\n _toggle = this.locatorForOptional('[matTreeNodeToggle]');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeNodeHarnessFilters = {}): HarnessPredicate<MatTreeNodeHarness> {\n return getNodePredicate(MatTreeNodeHarness, options);\n }\n\n /** Whether the tree node is expanded. */\n async isExpanded(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getAttribute('aria-expanded'));\n }\n\n /** Whether the tree node is expandable. */\n async isExpandable(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-expanded')) !== null;\n }\n\n /** Whether the tree node is disabled. */\n async isDisabled(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getProperty('aria-disabled'));\n }\n\n /** Gets the level of the tree node. Note that this gets the aria-level and is 1 indexed. */\n async getLevel(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getAttribute('aria-level'));\n }\n\n /** Gets the tree node's text. */\n async getText(): Promise<string> {\n return (await this.host()).text({exclude: '.mat-tree-node, .mat-nested-tree-node, button'});\n }\n\n /** Toggles node between expanded/collapsed. Only works when node is not disabled. */\n async toggle(): Promise<void> {\n const toggle = await this._toggle();\n if (toggle) {\n return toggle.click();\n }\n }\n\n /** Expands the node if it is collapsed. Only works when node is not disabled. */\n async expand(): Promise<void> {\n if (!(await this.isExpanded())) {\n await this.toggle();\n }\n }\n\n /** Collapses the node if it is expanded. Only works when node is not disabled. */\n async collapse(): Promise<void> {\n if (await this.isExpanded()) {\n await this.toggle();\n }\n }\n}\n\nfunction getNodePredicate<T extends MatTreeNodeHarness>(\n type: ComponentHarnessConstructor<T>,\n options: TreeNodeHarnessFilters,\n): HarnessPredicate<T> {\n return new HarnessPredicate(type, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) === disabled,\n )\n .addOption(\n 'expanded',\n options.expanded,\n async (harness, expanded) => (await harness.isExpanded()) === expanded,\n )\n .addOption(\n 'level',\n options.level,\n async (harness, level) => (await harness.getLevel()) === level,\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 {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {MatTreeNodeHarness} from './node-harness';\nimport {TreeHarnessFilters, TreeNodeHarnessFilters} from './tree-harness-filters';\n\nexport type TextTree = {\n text?: string;\n children?: TextTree[];\n};\n\n/** Harness for interacting with a standard mat-tree in tests. */\nexport class MatTreeHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-tree';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeHarnessFilters = {}): HarnessPredicate<MatTreeHarness> {\n return new HarnessPredicate(MatTreeHarness, options);\n }\n\n /** Gets all of the nodes in the tree. */\n async getNodes(filter: TreeNodeHarnessFilters = {}): Promise<MatTreeNodeHarness[]> {\n return this.locatorForAll(MatTreeNodeHarness.with(filter))();\n }\n\n /**\n * Gets an object representation for the visible tree structure\n * If a node is under an unexpanded node it will not be included.\n * Eg.\n * Tree (all nodes expanded):\n * `\n * <mat-tree>\n * <mat-tree-node>Node 1<mat-tree-node>\n * <mat-nested-tree-node>\n * Node 2\n * <mat-nested-tree-node>\n * Node 2.1\n * <mat-tree-node>\n * Node 2.1.1\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * <mat-tree-node>\n * Node 2.2\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * </mat-tree>`\n *\n * Tree structure:\n * {\n * children: [\n * {\n * text: 'Node 1',\n * children: [\n * {\n * text: 'Node 2',\n * children: [\n * {\n * text: 'Node 2.1',\n * children: [{text: 'Node 2.1.1'}]\n * },\n * {text: 'Node 2.2'}\n * ]\n * }\n * ]\n * }\n * ]\n * };\n */\n async getTreeStructure(): Promise<TextTree> {\n const nodes = await this.getNodes();\n const nodeInformation = await parallel(() =>\n nodes.map(node => {\n return parallel(() => [node.getLevel(), node.getText(), node.isExpanded()]);\n }),\n );\n return this._getTreeStructure(nodeInformation, 1, true);\n }\n\n /**\n * Recursively collect the structured text of the tree nodes.\n * @param nodes A list of tree nodes\n * @param level The level of nodes that are being accounted for during this iteration\n * @param parentExpanded Whether the parent of the first node in param nodes is expanded\n */\n private _getTreeStructure(\n nodes: [number, string, boolean][],\n level: number,\n parentExpanded: boolean,\n ): TextTree {\n const result: TextTree = {};\n for (let i = 0; i < nodes.length; i++) {\n const [nodeLevel, text, expanded] = nodes[i];\n const nextNodeLevel = nodes[i + 1]?.[0] ?? -1;\n\n // Return the accumulated value for the current level once we reach a shallower level node\n if (nodeLevel < level) {\n return result;\n }\n // Skip deeper level nodes during this iteration, they will be picked up in a later iteration\n if (nodeLevel > level) {\n continue;\n }\n // Only add to representation if it is visible (parent is expanded)\n if (parentExpanded) {\n // Collect the data under this node according to the following rules:\n // 1. If the next node in the list is a sibling of the current node add it to the child list\n // 2. If the next node is a child of the current node, get the sub-tree structure for the\n // child and add it under this node\n // 3. If the next node has a shallower level, we've reached the end of the child nodes for\n // the current parent.\n if (nextNodeLevel === level) {\n this._addChildToNode(result, {text});\n } else if (nextNodeLevel > level) {\n let children = this._getTreeStructure(\n nodes.slice(i + 1),\n nextNodeLevel,\n expanded,\n )?.children;\n let child = children ? {text, children} : {text};\n this._addChildToNode(result, child);\n } else {\n this._addChildToNode(result, {text});\n return result;\n }\n }\n }\n return result;\n }\n\n private _addChildToNode(result: TextTree, child: TextTree) {\n result.children ? result.children.push(child) : (result.children = [child]);\n }\n}\n"],"names":["MatTreeNodeHarness","ContentContainerComponentHarness","hostSelector","_toggle","locatorForOptional","with","options","getNodePredicate","isExpanded","coerceBooleanProperty","host","getAttribute","isExpandable","isDisabled","getProperty","getLevel","coerceNumberProperty","getText","text","exclude","toggle","click","expand","collapse","type","HarnessPredicate","addOption","harness","stringMatches","disabled","expanded","level","MatTreeHarness","ComponentHarness","getNodes","filter","locatorForAll","getTreeStructure","nodes","nodeInformation","parallel","map","node","_getTreeStructure","parentExpanded","result","i","length","nodeLevel","nextNodeLevel","_addChildToNode","children","slice","child","push"],"mappings":"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"}
package/fesm2022/tree.mjs CHANGED
@@ -45,7 +45,7 @@ class MatTreeNode extends CdkTreeNode {
45
45
  }
46
46
  static ɵfac = i0.ɵɵngDeclareFactory({
47
47
  minVersion: "12.0.0",
48
- version: "21.0.0",
48
+ version: "21.0.3",
49
49
  ngImport: i0,
50
50
  type: MatTreeNode,
51
51
  deps: [],
@@ -53,7 +53,7 @@ class MatTreeNode extends CdkTreeNode {
53
53
  });
54
54
  static ɵdir = i0.ɵɵngDeclareDirective({
55
55
  minVersion: "16.1.0",
56
- version: "21.0.0",
56
+ version: "21.0.3",
57
57
  type: MatTreeNode,
58
58
  isStandalone: true,
59
59
  selector: "mat-tree-node",
@@ -89,7 +89,7 @@ class MatTreeNode extends CdkTreeNode {
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({
91
91
  minVersion: "12.0.0",
92
- version: "21.0.0",
92
+ version: "21.0.3",
93
93
  ngImport: i0,
94
94
  type: MatTreeNode,
95
95
  decorators: [{
@@ -134,7 +134,7 @@ class MatTreeNodeDef extends CdkTreeNodeDef {
134
134
  data;
135
135
  static ɵfac = i0.ɵɵngDeclareFactory({
136
136
  minVersion: "12.0.0",
137
- version: "21.0.0",
137
+ version: "21.0.3",
138
138
  ngImport: i0,
139
139
  type: MatTreeNodeDef,
140
140
  deps: null,
@@ -142,7 +142,7 @@ class MatTreeNodeDef extends CdkTreeNodeDef {
142
142
  });
143
143
  static ɵdir = i0.ɵɵngDeclareDirective({
144
144
  minVersion: "14.0.0",
145
- version: "21.0.0",
145
+ version: "21.0.3",
146
146
  type: MatTreeNodeDef,
147
147
  isStandalone: true,
148
148
  selector: "[matTreeNodeDef]",
@@ -160,7 +160,7 @@ class MatTreeNodeDef extends CdkTreeNodeDef {
160
160
  }
161
161
  i0.ɵɵngDeclareClassMetadata({
162
162
  minVersion: "12.0.0",
163
- version: "21.0.0",
163
+ version: "21.0.3",
164
164
  ngImport: i0,
165
165
  type: MatTreeNodeDef,
166
166
  decorators: [{
@@ -210,7 +210,7 @@ class MatNestedTreeNode extends CdkNestedTreeNode {
210
210
  }
211
211
  static ɵfac = i0.ɵɵngDeclareFactory({
212
212
  minVersion: "12.0.0",
213
- version: "21.0.0",
213
+ version: "21.0.3",
214
214
  ngImport: i0,
215
215
  type: MatNestedTreeNode,
216
216
  deps: null,
@@ -218,7 +218,7 @@ class MatNestedTreeNode extends CdkNestedTreeNode {
218
218
  });
219
219
  static ɵdir = i0.ɵɵngDeclareDirective({
220
220
  minVersion: "16.1.0",
221
- version: "21.0.0",
221
+ version: "21.0.3",
222
222
  type: MatNestedTreeNode,
223
223
  isStandalone: true,
224
224
  selector: "mat-nested-tree-node",
@@ -251,7 +251,7 @@ class MatNestedTreeNode extends CdkNestedTreeNode {
251
251
  }
252
252
  i0.ɵɵngDeclareClassMetadata({
253
253
  minVersion: "12.0.0",
254
- version: "21.0.0",
254
+ version: "21.0.3",
255
255
  ngImport: i0,
256
256
  type: MatNestedTreeNode,
257
257
  decorators: [{
@@ -310,7 +310,7 @@ class MatTreeNodePadding extends CdkTreeNodePadding {
310
310
  }
311
311
  static ɵfac = i0.ɵɵngDeclareFactory({
312
312
  minVersion: "12.0.0",
313
- version: "21.0.0",
313
+ version: "21.0.3",
314
314
  ngImport: i0,
315
315
  type: MatTreeNodePadding,
316
316
  deps: null,
@@ -318,7 +318,7 @@ class MatTreeNodePadding extends CdkTreeNodePadding {
318
318
  });
319
319
  static ɵdir = i0.ɵɵngDeclareDirective({
320
320
  minVersion: "16.1.0",
321
- version: "21.0.0",
321
+ version: "21.0.3",
322
322
  type: MatTreeNodePadding,
323
323
  isStandalone: true,
324
324
  selector: "[matTreeNodePadding]",
@@ -336,7 +336,7 @@ class MatTreeNodePadding extends CdkTreeNodePadding {
336
336
  }
337
337
  i0.ɵɵngDeclareClassMetadata({
338
338
  minVersion: "12.0.0",
339
- version: "21.0.0",
339
+ version: "21.0.3",
340
340
  ngImport: i0,
341
341
  type: MatTreeNodePadding,
342
342
  decorators: [{
@@ -371,7 +371,7 @@ class MatTreeNodeOutlet {
371
371
  });
372
372
  static ɵfac = i0.ɵɵngDeclareFactory({
373
373
  minVersion: "12.0.0",
374
- version: "21.0.0",
374
+ version: "21.0.3",
375
375
  ngImport: i0,
376
376
  type: MatTreeNodeOutlet,
377
377
  deps: [],
@@ -379,7 +379,7 @@ class MatTreeNodeOutlet {
379
379
  });
380
380
  static ɵdir = i0.ɵɵngDeclareDirective({
381
381
  minVersion: "14.0.0",
382
- version: "21.0.0",
382
+ version: "21.0.3",
383
383
  type: MatTreeNodeOutlet,
384
384
  isStandalone: true,
385
385
  selector: "[matTreeNodeOutlet]",
@@ -392,7 +392,7 @@ class MatTreeNodeOutlet {
392
392
  }
393
393
  i0.ɵɵngDeclareClassMetadata({
394
394
  minVersion: "12.0.0",
395
- version: "21.0.0",
395
+ version: "21.0.3",
396
396
  ngImport: i0,
397
397
  type: MatTreeNodeOutlet,
398
398
  decorators: [{
@@ -411,7 +411,7 @@ class MatTree extends CdkTree {
411
411
  _nodeOutlet = undefined;
412
412
  static ɵfac = i0.ɵɵngDeclareFactory({
413
413
  minVersion: "12.0.0",
414
- version: "21.0.0",
414
+ version: "21.0.3",
415
415
  ngImport: i0,
416
416
  type: MatTree,
417
417
  deps: null,
@@ -419,7 +419,7 @@ class MatTree extends CdkTree {
419
419
  });
420
420
  static ɵcmp = i0.ɵɵngDeclareComponent({
421
421
  minVersion: "14.0.0",
422
- version: "21.0.0",
422
+ version: "21.0.3",
423
423
  type: MatTree,
424
424
  isStandalone: true,
425
425
  selector: "mat-tree",
@@ -454,7 +454,7 @@ class MatTree extends CdkTree {
454
454
  }
455
455
  i0.ɵɵngDeclareClassMetadata({
456
456
  minVersion: "12.0.0",
457
- version: "21.0.0",
457
+ version: "21.0.3",
458
458
  ngImport: i0,
459
459
  type: MatTree,
460
460
  decorators: [{
@@ -489,7 +489,7 @@ i0.ɵɵngDeclareClassMetadata({
489
489
  class MatTreeNodeToggle extends CdkTreeNodeToggle {
490
490
  static ɵfac = i0.ɵɵngDeclareFactory({
491
491
  minVersion: "12.0.0",
492
- version: "21.0.0",
492
+ version: "21.0.3",
493
493
  ngImport: i0,
494
494
  type: MatTreeNodeToggle,
495
495
  deps: null,
@@ -497,7 +497,7 @@ class MatTreeNodeToggle extends CdkTreeNodeToggle {
497
497
  });
498
498
  static ɵdir = i0.ɵɵngDeclareDirective({
499
499
  minVersion: "14.0.0",
500
- version: "21.0.0",
500
+ version: "21.0.3",
501
501
  type: MatTreeNodeToggle,
502
502
  isStandalone: true,
503
503
  selector: "[matTreeNodeToggle]",
@@ -514,7 +514,7 @@ class MatTreeNodeToggle extends CdkTreeNodeToggle {
514
514
  }
515
515
  i0.ɵɵngDeclareClassMetadata({
516
516
  minVersion: "12.0.0",
517
- version: "21.0.0",
517
+ version: "21.0.3",
518
518
  ngImport: i0,
519
519
  type: MatTreeNodeToggle,
520
520
  decorators: [{
@@ -537,7 +537,7 @@ const MAT_TREE_DIRECTIVES = [MatNestedTreeNode, MatTreeNodeDef, MatTreeNodePaddi
537
537
  class MatTreeModule {
538
538
  static ɵfac = i0.ɵɵngDeclareFactory({
539
539
  minVersion: "12.0.0",
540
- version: "21.0.0",
540
+ version: "21.0.3",
541
541
  ngImport: i0,
542
542
  type: MatTreeModule,
543
543
  deps: [],
@@ -545,7 +545,7 @@ class MatTreeModule {
545
545
  });
546
546
  static ɵmod = i0.ɵɵngDeclareNgModule({
547
547
  minVersion: "14.0.0",
548
- version: "21.0.0",
548
+ version: "21.0.3",
549
549
  ngImport: i0,
550
550
  type: MatTreeModule,
551
551
  imports: [CdkTreeModule, MatNestedTreeNode, MatTreeNodeDef, MatTreeNodePadding, MatTreeNodeToggle, MatTree, MatTreeNode, MatTreeNodeOutlet],
@@ -553,7 +553,7 @@ class MatTreeModule {
553
553
  });
554
554
  static ɵinj = i0.ɵɵngDeclareInjector({
555
555
  minVersion: "12.0.0",
556
- version: "21.0.0",
556
+ version: "21.0.3",
557
557
  ngImport: i0,
558
558
  type: MatTreeModule,
559
559
  imports: [CdkTreeModule, BidiModule]
@@ -561,7 +561,7 @@ class MatTreeModule {
561
561
  }
562
562
  i0.ɵɵngDeclareClassMetadata({
563
563
  minVersion: "12.0.0",
564
- version: "21.0.0",
564
+ version: "21.0.3",
565
565
  ngImport: i0,
566
566
  type: MatTreeModule,
567
567
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/node.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/padding.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/outlet.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/tree.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/toggle.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/tree-module.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../k8-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","tabIndexInputBinding","_tabIndexInputBinding","value","defaultTabIndex","_getTabindexAttribute","_tree","_keyManager","_tabindex","disabled","isDisabled","constructor","tabIndex","inject","HostAttributeToken","optional","Number","ngOnInit","ngOnDestroy","deps","target","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","numberAttribute","booleanAttribute","provide","useExisting","exportAs","usesInheritance","ngImport","decorators","args","outputs","providers","host","Input","transform","alias","MatTreeNodeDef","CdkTreeNodeDef","data","when","name","MatNestedTreeNode","CdkNestedTreeNode","node","_tabIndex","ngAfterContentInit","activation","expandedChange","classAttribute","CDK_TREE_NODE_OUTLET_NODE","MatTreeNodePadding","CdkTreeNodePadding","level","_level","_setLevelInput","indent","_indent","_setIndentInput","MatTreeNodeOutlet","viewContainer","ViewContainerRef","_node","CdkTreeNodeOutlet","MatTree","CdkTree","_nodeOutlet","undefined","Component","ɵcmp","ɵɵngDeclareComponent","viewQueries","propertyName","first","predicate","descendants","static","template","changeDetection","ChangeDetectionStrategy","Default","encapsulation","ViewEncapsulation","None","imports","styles","ViewChild","MatTreeNodeToggle","CdkTreeNodeToggle","recursive","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","CdkTreeModule","exports","BidiModule","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","Array","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","DataSource","_treeControl","_treeFlattener","_flattenedData","BehaviorSubject","_expandedData","_data","next","dataNodes","initialData","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","disconnect","MatTreeNestedDataSource"],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/nested-data-source.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Directive,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n numberAttribute,\n inject,\n HostAttributeToken,\n} from '@angular/core';\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from '@angular/cdk/a11y';\n\n/**\n * Determinte if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\n */\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\n keyManager: TreeKeyManagerStrategy<T>,\n): keyManager is NoopTreeKeyManager<T> {\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\n}\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class MatTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n /**\n * The tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n })\n get tabIndexInputBinding(): number {\n return this._tabIndexInputBinding;\n }\n set tabIndexInputBinding(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndexInputBinding = value;\n }\n private _tabIndexInputBinding: number;\n\n /**\n * The default tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n defaultTabIndex = 0;\n\n protected _getTabindexAttribute() {\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\n return this.tabIndexInputBinding;\n }\n return this._tabindex;\n }\n\n /**\n * Whether the component is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [{name: 'when', alias: 'matTreeNodeDefWhen'}],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node: T;\n\n /**\n * Whether the node is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n /** Tabindex of the node. */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n })\n get tabIndex(): number {\n return this.isDisabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value;\n }\n private _tabIndex: number;\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input, numberAttribute} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input({alias: 'matTreeNodePadding', transform: numberAttribute})\n override get level(): number {\n return this._level;\n }\n override set level(value: number) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, ViewContainerRef, inject} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n },\n styleUrl: 'tree.css',\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n imports: [MatTreeNodeOutlet],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet =\n undefined!;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: [{name: 'recursive', alias: 'matTreeNodeToggleRecursive'}],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, ...MAT_TREE_DIRECTIVES],\n exports: [BidiModule, MAT_TREE_DIRECTIVES],\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n *\n * @deprecated Use MatTree#childrenAccessor and MatTreeNode#isExpandable\n * instead. To be removed in a future version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n *\n * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future\n * version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n"],"names":["isNoopTreeKeyManager","keyManager","_isNoopTreeKeyManager","MatTreeNode","CdkTreeNode","tabIndexInputBinding","_tabIndexInputBinding","value","defaultTabIndex","_getTabindexAttribute","_tree","_keyManager","_tabindex","disabled","isDisabled","constructor","tabIndex","inject","HostAttributeToken","optional","Number","ngOnInit","ngOnDestroy","deps","target","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","numberAttribute","booleanAttribute","provide","useExisting","exportAs","usesInheritance","ngImport","decorators","args","outputs","providers","host","Input","transform","alias","MatTreeNodeDef","CdkTreeNodeDef","data","when","name","MatNestedTreeNode","CdkNestedTreeNode","node","_tabIndex","ngAfterContentInit","activation","expandedChange","classAttribute","CDK_TREE_NODE_OUTLET_NODE","MatTreeNodePadding","CdkTreeNodePadding","level","_level","_setLevelInput","indent","_indent","_setIndentInput","MatTreeNodeOutlet","viewContainer","ViewContainerRef","_node","CdkTreeNodeOutlet","MatTree","CdkTree","_nodeOutlet","undefined","Component","ɵcmp","ɵɵngDeclareComponent","viewQueries","propertyName","first","predicate","descendants","static","template","changeDetection","ChangeDetectionStrategy","Default","encapsulation","ViewEncapsulation","None","imports","styles","ViewChild","MatTreeNodeToggle","CdkTreeNodeToggle","recursive","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","CdkTreeModule","exports","BidiModule","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","Array","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","DataSource","_treeControl","_treeFlattener","_flattenedData","BehaviorSubject","_expandedData","_data","next","dataNodes","initialData","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","disconnect","MatTreeNestedDataSource"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "21.0.2",
3
+ "version": "21.0.5",
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.2",
356
+ "@angular/cdk": "21.0.5",
357
357
  "@angular/core": "^21.0.0 || ^22.0.0",
358
358
  "@angular/common": "^21.0.0 || ^22.0.0",
359
359
  "@angular/forms": "^21.0.0 || ^22.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.2`;
22
+ const fallbackMaterialVersionRange = `~21.0.5`;
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`.
@@ -24,11 +24,7 @@ function default_1(options) {
24
24
  const workspace = await (0, utility_1.readWorkspace)(host);
25
25
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
26
26
  if (project.extensions['projectType'] === workspace_models_1.ProjectType.Application) {
27
- return (0, schematics_1.chain)([
28
- (0, theming_1.addThemeToAppStyles)(options),
29
- (0, material_fonts_1.addFontsToIndex)(options),
30
- addMaterialAppStyles(options),
31
- ]);
27
+ return (0, schematics_1.chain)([(0, theming_1.addThemeToAppStyles)(options), (0, material_fonts_1.addFontsToIndex)(options)]);
32
28
  }
33
29
  context.logger.warn('Angular Material has been set up in your workspace. There is no additional setup ' +
34
30
  'required for consuming Angular Material in your library project.\n\n' +
@@ -37,38 +33,4 @@ function default_1(options) {
37
33
  return;
38
34
  };
39
35
  }
40
- /**
41
- * Adds custom Material styles to the project style file. The custom CSS sets up the Roboto font
42
- * and reset the default browser body margin.
43
- */
44
- function addMaterialAppStyles(options) {
45
- return async (host, context) => {
46
- const workspace = await (0, utility_1.readWorkspace)(host);
47
- const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
48
- const styleFilePath = (0, schematics_2.getProjectStyleFile)(project);
49
- const logger = context.logger;
50
- if (!styleFilePath) {
51
- logger.error(`Could not find the default style file for this project.`);
52
- logger.info(`Consider manually adding the Roboto font to your CSS.`);
53
- logger.info(`More information at https://fonts.google.com/specimen/Roboto`);
54
- return;
55
- }
56
- const buffer = host.read(styleFilePath);
57
- if (!buffer) {
58
- logger.error(`Could not read the default style file within the project ` + `(${styleFilePath})`);
59
- logger.info(`Please consider manually setting up the Roboto font.`);
60
- return;
61
- }
62
- const htmlContent = buffer.toString();
63
- const insertion = '\n' +
64
- `html, body { height: 100%; }\n` +
65
- `body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }\n`;
66
- if (htmlContent.includes(insertion)) {
67
- return;
68
- }
69
- const recorder = host.beginUpdate(styleFilePath);
70
- recorder.insertLeft(htmlContent.length, insertion);
71
- host.commitUpdate(recorder);
72
- };
73
- }
74
36
  //# sourceMappingURL=setup-project.js.map