@angular/cdk 9.2.0 → 9.2.4

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 (241) hide show
  1. package/_text-field.scss +19 -4
  2. package/a11y/focus-monitor/focus-monitor.d.ts +15 -2
  3. package/a11y/high-contrast-mode/high-contrast-mode-detector.d.ts +2 -2
  4. package/a11y/index.metadata.json +1 -1
  5. package/bundles/cdk-a11y.umd.js +133 -86
  6. package/bundles/cdk-a11y.umd.js.map +1 -1
  7. package/bundles/cdk-a11y.umd.min.js +13 -6
  8. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  9. package/bundles/cdk-drag-drop.umd.js +292 -179
  10. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  11. package/bundles/cdk-drag-drop.umd.min.js +23 -9
  12. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  13. package/bundles/cdk-overlay.umd.js +2 -12
  14. package/bundles/cdk-overlay.umd.js.map +1 -1
  15. package/bundles/cdk-overlay.umd.min.js +2 -2
  16. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  17. package/bundles/cdk-platform.umd.js +3 -1
  18. package/bundles/cdk-platform.umd.js.map +1 -1
  19. package/bundles/cdk-platform.umd.min.js +4 -4
  20. package/bundles/cdk-platform.umd.min.js.map +1 -1
  21. package/bundles/cdk-scrolling.umd.js +18 -3
  22. package/bundles/cdk-scrolling.umd.js.map +1 -1
  23. package/bundles/cdk-scrolling.umd.min.js +2 -2
  24. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  25. package/bundles/cdk-table.umd.js +8 -0
  26. package/bundles/cdk-table.umd.js.map +1 -1
  27. package/bundles/cdk-table.umd.min.js +1 -1
  28. package/bundles/cdk-table.umd.min.js.map +1 -1
  29. package/bundles/cdk-testing-protractor.umd.js +14 -10
  30. package/bundles/cdk-testing-protractor.umd.js.map +1 -1
  31. package/bundles/cdk-testing-protractor.umd.min.js +1 -1
  32. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  33. package/bundles/cdk-testing-testbed.umd.js +71 -16
  34. package/bundles/cdk-testing-testbed.umd.js.map +1 -1
  35. package/bundles/cdk-testing-testbed.umd.min.js +6 -6
  36. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  37. package/bundles/cdk-testing.umd.js.map +1 -1
  38. package/bundles/cdk-text-field.umd.js +7 -4
  39. package/bundles/cdk-text-field.umd.js.map +1 -1
  40. package/bundles/cdk-text-field.umd.min.js +2 -2
  41. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  42. package/bundles/cdk-tree.umd.js +9 -4
  43. package/bundles/cdk-tree.umd.js.map +1 -1
  44. package/bundles/cdk-tree.umd.min.js +1 -1
  45. package/bundles/cdk-tree.umd.min.js.map +1 -1
  46. package/bundles/cdk.umd.js +1 -1
  47. package/bundles/cdk.umd.js.map +1 -1
  48. package/bundles/cdk.umd.min.js +1 -1
  49. package/bundles/cdk.umd.min.js.map +1 -1
  50. package/drag-drop/client-rect.d.ts +31 -0
  51. package/drag-drop/directives/config.d.ts +1 -0
  52. package/drag-drop/directives/drop-list.d.ts +4 -3
  53. package/drag-drop/drag-ref.d.ts +8 -2
  54. package/drag-drop/drop-list-ref.d.ts +9 -8
  55. package/drag-drop/index.metadata.json +1 -1
  56. package/drag-drop/parent-position-tracker.d.ts +31 -0
  57. package/drag-drop/public-api.d.ts +1 -1
  58. package/esm2015/a11y/aria-describer/aria-reference.js +6 -6
  59. package/esm2015/a11y/focus-monitor/focus-monitor.js +151 -82
  60. package/esm2015/a11y/high-contrast-mode/high-contrast-mode-detector.js +10 -6
  61. package/esm2015/drag-drop/client-rect.js +75 -0
  62. package/esm2015/drag-drop/directives/config.js +3 -1
  63. package/esm2015/drag-drop/directives/drag.js +3 -2
  64. package/esm2015/drag-drop/directives/drop-list.js +24 -18
  65. package/esm2015/drag-drop/drag-drop-module.js +3 -1
  66. package/esm2015/drag-drop/drag-ref.js +97 -43
  67. package/esm2015/drag-drop/drop-list-ref.js +119 -187
  68. package/esm2015/drag-drop/parent-position-tracker.js +141 -0
  69. package/esm2015/drag-drop/public-api.js +1 -1
  70. package/esm2015/overlay/keyboard/overlay-keyboard-dispatcher.js +2 -2
  71. package/esm2015/overlay/overlay-ref.js +3 -33
  72. package/esm2015/overlay/position/flexible-connected-position-strategy.js +1 -1
  73. package/esm2015/platform/features/shadow-dom.js +4 -2
  74. package/esm2015/scrolling/public-api.js +2 -2
  75. package/esm2015/scrolling/scrolling-module.js +15 -4
  76. package/esm2015/table/row.js +9 -1
  77. package/esm2015/testing/protractor/protractor-element.js +7 -3
  78. package/esm2015/testing/test-element.js +1 -1
  79. package/esm2015/testing/testbed/fake-events/dispatch-events.js +11 -4
  80. package/esm2015/testing/testbed/fake-events/event-objects.js +37 -3
  81. package/esm2015/testing/testbed/unit-test-element.js +17 -5
  82. package/esm2015/text-field/autosize.js +14 -5
  83. package/esm2015/tree/padding.js +9 -10
  84. package/esm2015/tree/tree.js +2 -1
  85. package/esm2015/version.js +1 -1
  86. package/esm5/a11y/aria-describer/aria-reference.js +6 -6
  87. package/esm5/a11y/focus-monitor/focus-monitor.js +105 -60
  88. package/esm5/a11y/high-contrast-mode/high-contrast-mode-detector.js +9 -6
  89. package/esm5/drag-drop/client-rect.js +60 -0
  90. package/esm5/drag-drop/directives/config.js +1 -1
  91. package/esm5/drag-drop/directives/drag.js +3 -2
  92. package/esm5/drag-drop/directives/drop-list.js +13 -10
  93. package/esm5/drag-drop/drag-drop-module.js +3 -1
  94. package/esm5/drag-drop/drag-ref.js +62 -33
  95. package/esm5/drag-drop/drop-list-ref.js +89 -139
  96. package/esm5/drag-drop/parent-position-tracker.js +74 -0
  97. package/esm5/drag-drop/public-api.js +1 -1
  98. package/esm5/overlay/keyboard/overlay-keyboard-dispatcher.js +2 -2
  99. package/esm5/overlay/overlay-ref.js +3 -13
  100. package/esm5/overlay/position/flexible-connected-position-strategy.js +1 -1
  101. package/esm5/platform/features/shadow-dom.js +4 -2
  102. package/esm5/scrolling/scrolling-module.js +19 -4
  103. package/esm5/table/row.js +9 -1
  104. package/esm5/testing/protractor/protractor-element.js +15 -11
  105. package/esm5/testing/test-element.js +1 -1
  106. package/esm5/testing/testbed/fake-events/dispatch-events.js +15 -7
  107. package/esm5/testing/testbed/fake-events/event-objects.js +43 -5
  108. package/esm5/testing/testbed/unit-test-element.js +19 -9
  109. package/esm5/text-field/autosize.js +8 -5
  110. package/esm5/tree/padding.js +9 -5
  111. package/esm5/tree/tree.js +2 -1
  112. package/esm5/version.js +1 -1
  113. package/fesm2015/a11y.js +188 -116
  114. package/fesm2015/a11y.js.map +1 -1
  115. package/fesm2015/cdk.js +1 -1
  116. package/fesm2015/cdk.js.map +1 -1
  117. package/fesm2015/drag-drop.js +448 -247
  118. package/fesm2015/drag-drop.js.map +1 -1
  119. package/fesm2015/overlay.js +3 -33
  120. package/fesm2015/overlay.js.map +1 -1
  121. package/fesm2015/platform.js +3 -1
  122. package/fesm2015/platform.js.map +1 -1
  123. package/fesm2015/scrolling.js +15 -4
  124. package/fesm2015/scrolling.js.map +1 -1
  125. package/fesm2015/table.js +8 -0
  126. package/fesm2015/table.js.map +1 -1
  127. package/fesm2015/testing/protractor.js +6 -2
  128. package/fesm2015/testing/protractor.js.map +1 -1
  129. package/fesm2015/testing/testbed.js +60 -7
  130. package/fesm2015/testing/testbed.js.map +1 -1
  131. package/fesm2015/testing.js.map +1 -1
  132. package/fesm2015/text-field.js +13 -4
  133. package/fesm2015/text-field.js.map +1 -1
  134. package/fesm2015/tree.js +9 -9
  135. package/fesm2015/tree.js.map +1 -1
  136. package/fesm5/a11y.js +134 -87
  137. package/fesm5/a11y.js.map +1 -1
  138. package/fesm5/cdk.js +1 -1
  139. package/fesm5/cdk.js.map +1 -1
  140. package/fesm5/drag-drop.js +294 -181
  141. package/fesm5/drag-drop.js.map +1 -1
  142. package/fesm5/overlay.js +3 -13
  143. package/fesm5/overlay.js.map +1 -1
  144. package/fesm5/platform.js +3 -1
  145. package/fesm5/platform.js.map +1 -1
  146. package/fesm5/scrolling.js +18 -4
  147. package/fesm5/scrolling.js.map +1 -1
  148. package/fesm5/table.js +8 -0
  149. package/fesm5/table.js.map +1 -1
  150. package/fesm5/testing/protractor.js +14 -10
  151. package/fesm5/testing/protractor.js.map +1 -1
  152. package/fesm5/testing/testbed.js +72 -17
  153. package/fesm5/testing/testbed.js.map +1 -1
  154. package/fesm5/testing.js.map +1 -1
  155. package/fesm5/text-field.js +7 -4
  156. package/fesm5/text-field.js.map +1 -1
  157. package/fesm5/tree.js +9 -4
  158. package/fesm5/tree.js.map +1 -1
  159. package/overlay/index.metadata.json +1 -1
  160. package/overlay/overlay-ref.d.ts +0 -3
  161. package/overlay/position/flexible-connected-position-strategy.d.ts +1 -1
  162. package/package.json +1 -1
  163. package/schematics/ng-add/index.js +1 -1
  164. package/schematics/ng-update/devkit-file-system.d.ts +29 -0
  165. package/schematics/ng-update/devkit-file-system.js +67 -0
  166. package/schematics/ng-update/devkit-migration-rule.d.ts +25 -0
  167. package/schematics/ng-update/devkit-migration-rule.js +152 -0
  168. package/schematics/ng-update/devkit-migration.d.ts +37 -0
  169. package/schematics/ng-update/devkit-migration.js +29 -0
  170. package/schematics/ng-update/index.js +7 -7
  171. package/schematics/ng-update/{upgrade-rules/attribute-selectors-rule.d.ts → migrations/attribute-selectors.d.ts} +6 -6
  172. package/schematics/ng-update/migrations/attribute-selectors.js +76 -0
  173. package/schematics/ng-update/{upgrade-rules/class-inheritance-rule.d.ts → migrations/class-inheritance.d.ts} +6 -6
  174. package/schematics/ng-update/migrations/class-inheritance.js +67 -0
  175. package/schematics/ng-update/{upgrade-rules/class-names-rule.d.ts → migrations/class-names.d.ts} +6 -6
  176. package/schematics/ng-update/migrations/class-names.js +98 -0
  177. package/schematics/ng-update/{upgrade-rules/constructor-signature-rule.d.ts → migrations/constructor-signature.d.ts} +6 -6
  178. package/schematics/ng-update/migrations/constructor-signature.js +144 -0
  179. package/schematics/ng-update/{upgrade-rules/css-selectors-rule.d.ts → migrations/css-selectors.d.ts} +6 -6
  180. package/schematics/ng-update/migrations/css-selectors.js +83 -0
  181. package/schematics/ng-update/{upgrade-rules/element-selectors-rule.d.ts → migrations/element-selectors.d.ts} +6 -6
  182. package/schematics/ng-update/migrations/element-selectors.js +74 -0
  183. package/schematics/ng-update/{upgrade-rules/input-names-rule.d.ts → migrations/input-names.d.ts} +6 -6
  184. package/schematics/ng-update/migrations/input-names.js +69 -0
  185. package/schematics/ng-update/{upgrade-rules/method-call-arguments-rule.d.ts → migrations/method-call-arguments.d.ts} +6 -6
  186. package/schematics/ng-update/migrations/method-call-arguments.js +70 -0
  187. package/schematics/ng-update/{upgrade-rules/misc-template-rule.d.ts → migrations/misc-template.d.ts} +6 -6
  188. package/schematics/ng-update/migrations/misc-template.js +47 -0
  189. package/schematics/ng-update/{upgrade-rules/output-names-rule.d.ts → migrations/output-names.d.ts} +6 -6
  190. package/schematics/ng-update/migrations/output-names.js +56 -0
  191. package/schematics/ng-update/{upgrade-rules/property-names-rule.d.ts → migrations/property-names.d.ts} +6 -6
  192. package/schematics/ng-update/migrations/property-names.js +56 -0
  193. package/schematics/ng-update/public-api.d.ts +3 -2
  194. package/schematics/ng-update/public-api.js +5 -4
  195. package/schematics/ng-update/upgrade-data.d.ts +7 -8
  196. package/schematics/ng-update/upgrade-data.js +6 -7
  197. package/schematics/update-tool/component-resource-collector.d.ts +3 -1
  198. package/schematics/update-tool/component-resource-collector.js +8 -8
  199. package/schematics/update-tool/file-system.d.ts +38 -0
  200. package/schematics/update-tool/file-system.js +20 -0
  201. package/schematics/update-tool/index.d.ts +41 -11
  202. package/schematics/update-tool/index.js +135 -106
  203. package/schematics/update-tool/logger.d.ts +16 -0
  204. package/schematics/update-tool/logger.js +27 -0
  205. package/schematics/update-tool/{migration-rule.d.ts → migration.d.ts} +23 -45
  206. package/schematics/update-tool/migration.js +76 -0
  207. package/schematics/update-tool/public-api.d.ts +5 -4
  208. package/schematics/update-tool/public-api.js +6 -6
  209. package/schematics/update-tool/update-recorder.d.ts +14 -0
  210. package/schematics/update-tool/update-recorder.js +20 -0
  211. package/schematics/update-tool/utils/parse-tsconfig.js +1 -1
  212. package/schematics/update-tool/version-changes.js +3 -4
  213. package/schematics/utils/build-component.js +15 -4
  214. package/scrolling/index.metadata.json +1 -1
  215. package/scrolling/scrolling-module.d.ts +2 -0
  216. package/table/index.metadata.json +1 -1
  217. package/testing/protractor/protractor-element.d.ts +1 -1
  218. package/testing/test-element.d.ts +4 -2
  219. package/testing/testbed/fake-events/dispatch-events.d.ts +8 -3
  220. package/testing/testbed/fake-events/event-objects.d.ts +12 -1
  221. package/testing/testbed/unit-test-element.d.ts +1 -1
  222. package/text-field/_text-field.scss +19 -4
  223. package/text-field/autosize.d.ts +2 -0
  224. package/text-field/index.metadata.json +1 -1
  225. package/text-field-prebuilt.css +1 -1
  226. package/tree/index.metadata.json +1 -1
  227. package/tree/padding.d.ts +6 -2
  228. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.js +0 -76
  229. package/schematics/ng-update/upgrade-rules/class-inheritance-rule.js +0 -67
  230. package/schematics/ng-update/upgrade-rules/class-names-rule.js +0 -98
  231. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.js +0 -144
  232. package/schematics/ng-update/upgrade-rules/css-selectors-rule.js +0 -83
  233. package/schematics/ng-update/upgrade-rules/element-selectors-rule.js +0 -74
  234. package/schematics/ng-update/upgrade-rules/index.d.ts +0 -22
  235. package/schematics/ng-update/upgrade-rules/index.js +0 -116
  236. package/schematics/ng-update/upgrade-rules/input-names-rule.js +0 -69
  237. package/schematics/ng-update/upgrade-rules/method-call-arguments-rule.js +0 -70
  238. package/schematics/ng-update/upgrade-rules/misc-template-rule.js +0 -47
  239. package/schematics/ng-update/upgrade-rules/output-names-rule.js +0 -56
  240. package/schematics/ng-update/upgrade-rules/property-names-rule.js +0 -56
  241. package/schematics/update-tool/migration-rule.js +0 -101
@@ -1 +1 @@
1
- {"version":3,"sources":["src/cdk/cdk-text-field.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","cdk","textField","platform","core","coercion","rxjs","operators","common","this","i1","i0","listenerOptions","normalizePassiveListenerOptions","passive","AutofillMonitor","_platform","_ngZone","_monitoredElements","Map","prototype","monitor","elementOrRef","_this","isBrowser","EMPTY","element","coerceElement","info","get","subject","asObservable","result","Subject","cssClass","listener","event","animationName","classList","contains","remove","run","next","target","isAutofilled","add","runOutsideAngular","addEventListener","set","unlisten","removeEventListener","stopMonitoring","complete","delete","ngOnDestroy","forEach","_info","decorators","type","Injectable","args","providedIn","ctorParameters","Platform","NgZone","ɵprov","ɵɵdefineInjectable","AutofillMonitor_Factory","ɵɵinject","token","CdkAutofill","_elementRef","_autofillMonitor","cdkAutofill","EventEmitter","ngOnInit","subscribe","emit","Directive","selector","ElementRef","propDecorators","Output","CdkTextareaAutosize","document","_destroyed","_enabled","_previousMinRows","_document","_textareaElement","nativeElement","Object","defineProperty","_minRows","value","coerceNumberProperty","_setMinHeight","enumerable","configurable","_maxRows","_setMaxHeight","coerceBooleanProperty","resizeToFitContent","reset","minHeight","minRows","_cachedLineHeight","style","maxHeight","maxRows","ngAfterViewInit","_initialHeight","height","window","_getWindow","fromEvent","pipe","auditTime","takeUntil","_cacheTextareaLineHeight","textareaClone","cloneNode","rows","position","visibility","border","padding","overflow","parentNode","appendChild","clientHeight","removeChild","ngDoCheck","force","textarea","_previousValue","placeholderText","placeholder","scrollHeight","requestAnimationFrame","_scrollToCaretPosition","setTimeout","undefined","_noopInputHandler","_getDocument","defaultView","selectionStart","selectionEnd","isStopped","activeElement","setSelectionRange","exportAs","host","class","Optional","Inject","DOCUMENT","Input","enabled","HostListener","TextFieldModule","NgModule","declarations","imports","PlatformModule"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/platform'), require('@angular/core'), require('@angular/cdk/coercion'), require('rxjs'), require('rxjs/operators'), require('@angular/common')) :\n typeof define === 'function' && define.amd ? define('@angular/cdk/text-field', ['exports', '@angular/cdk/platform', '@angular/core', '@angular/cdk/coercion', 'rxjs', 'rxjs/operators', '@angular/common'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.textField = {}), global.ng.cdk.platform, global.ng.core, global.ng.cdk.coercion, global.rxjs, global.rxjs.operators, global.ng.common));\n}(this, (function (exports, i1, i0, coercion, rxjs, operators, common) { 'use strict';\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.io/license\n */\n /** Options to pass to the animationstart listener. */\n var listenerOptions = i1.normalizePassiveListenerOptions({ passive: true });\n /**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\n var AutofillMonitor = /** @class */ (function () {\n function AutofillMonitor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n AutofillMonitor.prototype.monitor = function (elementOrRef) {\n var _this = this;\n if (!this._platform.isBrowser) {\n return rxjs.EMPTY;\n }\n var element = coercion.coerceElement(elementOrRef);\n var info = this._monitoredElements.get(element);\n if (info) {\n return info.subject.asObservable();\n }\n var result = new rxjs.Subject();\n var cssClass = 'cdk-text-field-autofilled';\n var listener = (function (event) {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n _this._ngZone.run(function () { return result.next({ target: event.target, isAutofilled: true }); });\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n _this._ngZone.run(function () { return result.next({ target: event.target, isAutofilled: false }); });\n }\n });\n this._ngZone.runOutsideAngular(function () {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: function () {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result.asObservable();\n };\n AutofillMonitor.prototype.stopMonitoring = function (elementOrRef) {\n var element = coercion.coerceElement(elementOrRef);\n var info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n };\n AutofillMonitor.prototype.ngOnDestroy = function () {\n var _this = this;\n this._monitoredElements.forEach(function (_info, element) { return _this.stopMonitoring(element); });\n };\n AutofillMonitor.decorators = [\n { type: i0.Injectable, args: [{ providedIn: 'root' },] }\n ];\n /** @nocollapse */\n AutofillMonitor.ctorParameters = function () { return [\n { type: i1.Platform },\n { type: i0.NgZone }\n ]; };\n AutofillMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function AutofillMonitor_Factory() { return new AutofillMonitor(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone)); }, token: AutofillMonitor, providedIn: \"root\" });\n return AutofillMonitor;\n }());\n /** A directive that can be used to monitor the autofill state of an input. */\n var CdkAutofill = /** @class */ (function () {\n function CdkAutofill(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new i0.EventEmitter();\n }\n CdkAutofill.prototype.ngOnInit = function () {\n var _this = this;\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(function (event) { return _this.cdkAutofill.emit(event); });\n };\n CdkAutofill.prototype.ngOnDestroy = function () {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n };\n CdkAutofill.decorators = [\n { type: i0.Directive, args: [{\n selector: '[cdkAutofill]',\n },] }\n ];\n /** @nocollapse */\n CdkAutofill.ctorParameters = function () { return [\n { type: i0.ElementRef },\n { type: AutofillMonitor }\n ]; };\n CdkAutofill.propDecorators = {\n cdkAutofill: [{ type: i0.Output }]\n };\n return CdkAutofill;\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.io/license\n */\n /** Directive to automatically resize a textarea to fit its content. */\n var CdkTextareaAutosize = /** @class */ (function () {\n function CdkTextareaAutosize(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new rxjs.Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n }\n Object.defineProperty(CdkTextareaAutosize.prototype, \"minRows\", {\n /** Minimum amount of rows in the textarea. */\n get: function () { return this._minRows; },\n set: function (value) {\n this._minRows = coercion.coerceNumberProperty(value);\n this._setMinHeight();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CdkTextareaAutosize.prototype, \"maxRows\", {\n /** Maximum amount of rows in the textarea. */\n get: function () { return this._maxRows; },\n set: function (value) {\n this._maxRows = coercion.coerceNumberProperty(value);\n this._setMaxHeight();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CdkTextareaAutosize.prototype, \"enabled\", {\n /** Whether autosizing is enabled or not */\n get: function () { return this._enabled; },\n set: function (value) {\n value = coercion.coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n },\n enumerable: true,\n configurable: true\n });\n /** Sets the minimum height of the textarea as determined by minRows. */\n CdkTextareaAutosize.prototype._setMinHeight = function () {\n var minHeight = this.minRows && this._cachedLineHeight ?\n this.minRows * this._cachedLineHeight + \"px\" : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n };\n /** Sets the maximum height of the textarea as determined by maxRows. */\n CdkTextareaAutosize.prototype._setMaxHeight = function () {\n var maxHeight = this.maxRows && this._cachedLineHeight ?\n this.maxRows * this._cachedLineHeight + \"px\" : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n };\n CdkTextareaAutosize.prototype.ngAfterViewInit = function () {\n var _this = this;\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(function () {\n var window = _this._getWindow();\n rxjs.fromEvent(window, 'resize')\n .pipe(operators.auditTime(16), operators.takeUntil(_this._destroyed))\n .subscribe(function () { return _this.resizeToFitContent(true); });\n });\n }\n };\n CdkTextareaAutosize.prototype.ngOnDestroy = function () {\n this._destroyed.next();\n this._destroyed.complete();\n };\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n CdkTextareaAutosize.prototype._cacheTextareaLineHeight = function () {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n var textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n };\n CdkTextareaAutosize.prototype.ngDoCheck = function () {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n };\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n CdkTextareaAutosize.prototype.resizeToFitContent = function (force) {\n var _this = this;\n if (force === void 0) { force = false; }\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n var textarea = this._elementRef.nativeElement;\n var value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n var placeholderText = textarea.placeholder;\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n // need to be removed temporarily.\n textarea.classList.add('cdk-textarea-autosize-measuring');\n textarea.placeholder = '';\n // The cdk-textarea-autosize-measuring class includes a 2px padding to workaround an issue with\n // Chrome, so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n var height = textarea.scrollHeight - 4;\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = height + \"px\";\n textarea.classList.remove('cdk-textarea-autosize-measuring');\n textarea.placeholder = placeholderText;\n this._ngZone.runOutsideAngular(function () {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(function () { return _this._scrollToCaretPosition(textarea); });\n }\n else {\n setTimeout(function () { return _this._scrollToCaretPosition(textarea); });\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n };\n /**\n * Resets the textarea to its original size\n */\n CdkTextareaAutosize.prototype.reset = function () {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n };\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n CdkTextareaAutosize.prototype._noopInputHandler = function () {\n // no-op handler that ensures we're running change detection on input events.\n };\n /** Access injected document if available or fallback to global document reference */\n CdkTextareaAutosize.prototype._getDocument = function () {\n return this._document || document;\n };\n /** Use defaultView of injected document if available or fallback to global window reference */\n CdkTextareaAutosize.prototype._getWindow = function () {\n var doc = this._getDocument();\n return doc.defaultView || window;\n };\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n CdkTextareaAutosize.prototype._scrollToCaretPosition = function (textarea) {\n var selectionStart = textarea.selectionStart, selectionEnd = textarea.selectionEnd;\n var document = this._getDocument();\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && document.activeElement === textarea) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n };\n CdkTextareaAutosize.decorators = [\n { type: i0.Directive, args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n },\n },] }\n ];\n /** @nocollapse */\n CdkTextareaAutosize.ctorParameters = function () { return [\n { type: i0.ElementRef },\n { type: i1.Platform },\n { type: i0.NgZone },\n { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [common.DOCUMENT,] }] }\n ]; };\n CdkTextareaAutosize.propDecorators = {\n minRows: [{ type: i0.Input, args: ['cdkAutosizeMinRows',] }],\n maxRows: [{ type: i0.Input, args: ['cdkAutosizeMaxRows',] }],\n enabled: [{ type: i0.Input, args: ['cdkTextareaAutosize',] }],\n _noopInputHandler: [{ type: i0.HostListener, args: ['input',] }]\n };\n return CdkTextareaAutosize;\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.io/license\n */\n var TextFieldModule = /** @class */ (function () {\n function TextFieldModule() {\n }\n TextFieldModule.decorators = [\n { type: i0.NgModule, args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [i1.PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize],\n },] }\n ];\n return TextFieldModule;\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.io/license\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.AutofillMonitor = AutofillMonitor;\n exports.CdkAutofill = CdkAutofill;\n exports.CdkTextareaAutosize = CdkTextareaAutosize;\n exports.TextFieldModule = TextFieldModule;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=cdk-text-field.umd.js.map\n"]}
1
+ {"version":3,"sources":["src/cdk/cdk-text-field.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","cdk","textField","platform","core","coercion","rxjs","operators","common","this","i1","i0","listenerOptions","normalizePassiveListenerOptions","passive","AutofillMonitor","_platform","_ngZone","_monitoredElements","Map","prototype","monitor","elementOrRef","_this","isBrowser","EMPTY","element","coerceElement","info","get","subject","asObservable","result","Subject","cssClass","listener","event","animationName","classList","contains","remove","run","next","target","isAutofilled","add","runOutsideAngular","addEventListener","set","unlisten","removeEventListener","stopMonitoring","complete","delete","ngOnDestroy","forEach","_info","decorators","type","Injectable","args","providedIn","ctorParameters","Platform","NgZone","ɵprov","ɵɵdefineInjectable","AutofillMonitor_Factory","ɵɵinject","token","CdkAutofill","_elementRef","_autofillMonitor","cdkAutofill","EventEmitter","ngOnInit","subscribe","emit","Directive","selector","ElementRef","propDecorators","Output","CdkTextareaAutosize","document","_destroyed","_enabled","_previousMinRows","_document","_textareaElement","nativeElement","_measuringClass","FIREFOX","Object","defineProperty","_minRows","value","coerceNumberProperty","_setMinHeight","enumerable","configurable","_maxRows","_setMaxHeight","coerceBooleanProperty","resizeToFitContent","reset","minHeight","minRows","_cachedLineHeight","style","maxHeight","maxRows","ngAfterViewInit","_initialHeight","height","window","_getWindow","fromEvent","pipe","auditTime","takeUntil","_cacheTextareaLineHeight","textareaClone","cloneNode","rows","position","visibility","border","padding","overflow","parentNode","appendChild","clientHeight","removeChild","ngDoCheck","force","textarea","_previousValue","placeholderText","placeholder","scrollHeight","requestAnimationFrame","_scrollToCaretPosition","setTimeout","undefined","_noopInputHandler","_getDocument","defaultView","selectionStart","selectionEnd","isStopped","activeElement","setSelectionRange","exportAs","host","class","Optional","Inject","DOCUMENT","Input","enabled","HostListener","TextFieldModule","NgModule","declarations","imports","PlatformModule"],"mappings":"CAAC,SAAUA,EAAQC,GACI,iBAAZC,SAA0C,oBAAXC,OAAyBF,EAAQC,QAASE,QAAQ,yBAA0BA,QAAQ,iBAAkBA,QAAQ,yBAA0BA,QAAQ,QAASA,QAAQ,kBAAmBA,QAAQ,oBAChN,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,0BAA2B,CAAC,UAAW,wBAAyB,gBAAiB,wBAAyB,OAAQ,iBAAkB,mBAAoBJ,GAClLA,IAAzBD,EAASA,GAAUO,MAAsBC,GAAKR,EAAOQ,IAAM,GAAIR,EAAOQ,GAAGC,IAAMT,EAAOQ,GAAGC,KAAO,GAAIT,EAAOQ,GAAGC,IAAIC,UAAY,IAAKV,EAAOQ,GAAGC,IAAIE,SAAUX,EAAOQ,GAAGI,KAAMZ,EAAOQ,GAAGC,IAAII,SAAUb,EAAOc,KAAMd,EAAOc,KAAKC,UAAWf,EAAOQ,GAAGQ,QAHtP,CAIEC,MAAM,SAAWf,EAASgB,EAAIC,EAAIN,EAAUC,EAAMC,EAAWC,GAAU;;;;;;;OAUrE,IAAII,EAAkBF,EAAGG,gCAAgC,CAAEC,SAAS,IAMhEC,EAAiC,WACjC,SAASA,EAAgBC,EAAWC,GAChCR,KAAKO,UAAYA,EACjBP,KAAKQ,QAAUA,EACfR,KAAKS,mBAAqB,IAAIC,IAiElC,OA/DAJ,EAAgBK,UAAUC,QAAU,SAAUC,GAC1C,IAAIC,EAAQd,KACZ,IAAKA,KAAKO,UAAUQ,UAChB,OAAOlB,EAAKmB,MAEhB,IAAIC,EAAUrB,EAASsB,cAAcL,GACjCM,EAAOnB,KAAKS,mBAAmBW,IAAIH,GACvC,GAAIE,EACA,OAAOA,EAAKE,QAAQC,eAExB,IAAIC,EAAS,IAAI1B,EAAK2B,QAClBC,EAAW,4BACXC,EAAW,SAAWC,GAIM,kCAAxBA,EAAMC,eACLX,EAAQY,UAAUC,SAASL,GAIC,gCAAxBE,EAAMC,eACXX,EAAQY,UAAUC,SAASL,KAC3BR,EAAQY,UAAUE,OAAON,GACzBX,EAAMN,QAAQwB,KAAI,WAAc,OAAOT,EAAOU,KAAK,CAAEC,OAAQP,EAAMO,OAAQC,cAAc,SANzFlB,EAAQY,UAAUO,IAAIX,GACtBX,EAAMN,QAAQwB,KAAI,WAAc,OAAOT,EAAOU,KAAK,CAAEC,OAAQP,EAAMO,OAAQC,cAAc,SAkBjG,OAVAnC,KAAKQ,QAAQ6B,mBAAkB,WAC3BpB,EAAQqB,iBAAiB,iBAAkBZ,EAAUvB,GACrDc,EAAQY,UAAUO,IAAI,wCAE1BpC,KAAKS,mBAAmB8B,IAAItB,EAAS,CACjCI,QAASE,EACTiB,SAAU,WACNvB,EAAQwB,oBAAoB,iBAAkBf,EAAUvB,MAGzDoB,EAAOD,gBAElBhB,EAAgBK,UAAU+B,eAAiB,SAAU7B,GACjD,IAAII,EAAUrB,EAASsB,cAAcL,GACjCM,EAAOnB,KAAKS,mBAAmBW,IAAIH,GACnCE,IACAA,EAAKqB,WACLrB,EAAKE,QAAQsB,WACb1B,EAAQY,UAAUE,OAAO,qCACzBd,EAAQY,UAAUE,OAAO,6BACzB/B,KAAKS,mBAAmBmC,OAAO3B,KAGvCX,EAAgBK,UAAUkC,YAAc,WACpC,IAAI/B,EAAQd,KACZA,KAAKS,mBAAmBqC,SAAQ,SAAUC,EAAO9B,GAAW,OAAOH,EAAM4B,eAAezB,OAE5FX,EAAgB0C,WAAa,CACzB,CAAEC,KAAM/C,EAAGgD,WAAYC,KAAM,CAAC,CAAEC,WAAY,WAGhD9C,EAAgB+C,eAAiB,WAAc,MAAO,CAClD,CAAEJ,KAAMhD,EAAGqD,UACX,CAAEL,KAAM/C,EAAGqD,UAEfjD,EAAgBkD,MAAQtD,EAAGuD,mBAAmB,CAAEzE,QAAS,SAAS0E,IAA4B,OAAO,IAAIpD,EAAgBJ,EAAGyD,SAAS1D,EAAGqD,UAAWpD,EAAGyD,SAASzD,EAAGqD,UAAaK,MAAOtD,EAAiB8C,WAAY,SAC5M9C,EArEyB,GAwEhCuD,EAA6B,WAC7B,SAASA,EAAYC,EAAaC,GAC9B/D,KAAK8D,YAAcA,EACnB9D,KAAK+D,iBAAmBA,EAExB/D,KAAKgE,YAAc,IAAI9D,EAAG+D,aAwB9B,OAtBAJ,EAAYlD,UAAUuD,SAAW,WAC7B,IAAIpD,EAAQd,KACZA,KAAK+D,iBACAnD,QAAQZ,KAAK8D,aACbK,WAAU,SAAUxC,GAAS,OAAOb,EAAMkD,YAAYI,KAAKzC,OAEpEkC,EAAYlD,UAAUkC,YAAc,WAChC7C,KAAK+D,iBAAiBrB,eAAe1C,KAAK8D,cAE9CD,EAAYb,WAAa,CACrB,CAAEC,KAAM/C,EAAGmE,UAAWlB,KAAM,CAAC,CACjBmB,SAAU,oBAI1BT,EAAYR,eAAiB,WAAc,MAAO,CAC9C,CAAEJ,KAAM/C,EAAGqE,YACX,CAAEtB,KAAM3C,KAEZuD,EAAYW,eAAiB,CACzBR,YAAa,CAAC,CAAEf,KAAM/C,EAAGuE,UAEtBZ,EA7BqB,GAwC5Ba,EAAqC,WACrC,SAASA,EAAoBZ,EAAavD,EAAWC,EAErDmE,GACI3E,KAAK8D,YAAcA,EACnB9D,KAAKO,UAAYA,EACjBP,KAAKQ,QAAUA,EACfR,KAAK4E,WAAa,IAAI/E,EAAK2B,QAC3BxB,KAAK6E,UAAW,EAMhB7E,KAAK8E,kBAAoB,EACzB9E,KAAK+E,UAAYJ,EACjB3E,KAAKgF,iBAAmBhF,KAAK8D,YAAYmB,cACzCjF,KAAKkF,gBAAkB3E,EAAU4E,QAC7B,0CACA,kCAuOR,OArOAC,OAAOC,eAAeX,EAAoB/D,UAAW,UAAW,CAE5DS,IAAK,WAAc,OAAOpB,KAAKsF,UAC/B/C,IAAK,SAAUgD,GACXvF,KAAKsF,SAAW1F,EAAS4F,qBAAqBD,GAC9CvF,KAAKyF,iBAETC,YAAY,EACZC,cAAc,IAElBP,OAAOC,eAAeX,EAAoB/D,UAAW,UAAW,CAE5DS,IAAK,WAAc,OAAOpB,KAAK4F,UAC/BrD,IAAK,SAAUgD,GACXvF,KAAK4F,SAAWhG,EAAS4F,qBAAqBD,GAC9CvF,KAAK6F,iBAETH,YAAY,EACZC,cAAc,IAElBP,OAAOC,eAAeX,EAAoB/D,UAAW,UAAW,CAE5DS,IAAK,WAAc,OAAOpB,KAAK6E,UAC/BtC,IAAK,SAAUgD,GACXA,EAAQ3F,EAASkG,sBAAsBP,GAGnCvF,KAAK6E,WAAaU,KACjBvF,KAAK6E,SAAWU,GAASvF,KAAK+F,oBAAmB,GAAQ/F,KAAKgG,UAGvEN,YAAY,EACZC,cAAc,IAGlBjB,EAAoB/D,UAAU8E,cAAgB,WAC1C,IAAIQ,EAAYjG,KAAKkG,SAAWlG,KAAKmG,kBACjCnG,KAAKkG,QAAUlG,KAAKmG,kBAAoB,KAAO,KAC/CF,IACAjG,KAAKgF,iBAAiBoB,MAAMH,UAAYA,IAIhDvB,EAAoB/D,UAAUkF,cAAgB,WAC1C,IAAIQ,EAAYrG,KAAKsG,SAAWtG,KAAKmG,kBACjCnG,KAAKsG,QAAUtG,KAAKmG,kBAAoB,KAAO,KAC/CE,IACArG,KAAKgF,iBAAiBoB,MAAMC,UAAYA,IAGhD3B,EAAoB/D,UAAU4F,gBAAkB,WAC5C,IAAIzF,EAAQd,KACRA,KAAKO,UAAUQ,YAEff,KAAKwG,eAAiBxG,KAAKgF,iBAAiBoB,MAAMK,OAClDzG,KAAK+F,qBACL/F,KAAKQ,QAAQ6B,mBAAkB,WAC3B,IAAIqE,EAAS5F,EAAM6F,aACnB9G,EAAK+G,UAAUF,EAAQ,UAClBG,KAAK/G,EAAUgH,UAAU,IAAKhH,EAAUiH,UAAUjG,EAAM8D,aACxDT,WAAU,WAAc,OAAOrD,EAAMiF,oBAAmB,WAIzErB,EAAoB/D,UAAUkC,YAAc,WACxC7C,KAAK4E,WAAW3C,OAChBjC,KAAK4E,WAAWjC,YASpB+B,EAAoB/D,UAAUqG,yBAA2B,WACrD,IAAIhH,KAAKmG,kBAAT,CAIA,IAAIc,EAAgBjH,KAAKgF,iBAAiBkC,WAAU,GACpDD,EAAcE,KAAO,EAIrBF,EAAcb,MAAMgB,SAAW,WAC/BH,EAAcb,MAAMiB,WAAa,SACjCJ,EAAcb,MAAMkB,OAAS,OAC7BL,EAAcb,MAAMmB,QAAU,IAC9BN,EAAcb,MAAMK,OAAS,GAC7BQ,EAAcb,MAAMH,UAAY,GAChCgB,EAAcb,MAAMC,UAAY,GAMhCY,EAAcb,MAAMoB,SAAW,SAC/BxH,KAAKgF,iBAAiByC,WAAWC,YAAYT,GAC7CjH,KAAKmG,kBAAoBc,EAAcU,aACvC3H,KAAKgF,iBAAiByC,WAAWG,YAAYX,GAE7CjH,KAAKyF,gBACLzF,KAAK6F,kBAETnB,EAAoB/D,UAAUkH,UAAY,WAClC7H,KAAKO,UAAUQ,WACff,KAAK+F,sBAQbrB,EAAoB/D,UAAUoF,mBAAqB,SAAU+B,GACzD,IAAIhH,EAAQd,KAGZ,QAFc,IAAV8H,IAAoBA,GAAQ,GAE3B9H,KAAK6E,WAGV7E,KAAKgH,2BAGAhH,KAAKmG,mBAAV,CAGA,IAAI4B,EAAW/H,KAAK8D,YAAYmB,cAC5BM,EAAQwC,EAASxC,MAErB,GAAKuC,GAAS9H,KAAKsF,WAAatF,KAAK8E,kBAAoBS,IAAUvF,KAAKgI,eAAxE,CAGA,IAAIC,EAAkBF,EAASG,YAM/BH,EAASlG,UAAUO,IAAIpC,KAAKkF,iBAC5B6C,EAASG,YAAc,GAKvBH,EAAS3B,MAAMK,OAFFsB,EAASI,aAAe,EAEJ,KACjCJ,EAASlG,UAAUE,OAAO/B,KAAKkF,iBAC/B6C,EAASG,YAAcD,EACvBjI,KAAKQ,QAAQ6B,mBAAkB,WACU,oBAA1B+F,sBACPA,uBAAsB,WAAc,OAAOtH,EAAMuH,uBAAuBN,MAGxEO,YAAW,WAAc,OAAOxH,EAAMuH,uBAAuBN,SAGrE/H,KAAKgI,eAAiBzC,EACtBvF,KAAK8E,iBAAmB9E,KAAKsF,YAKjCZ,EAAoB/D,UAAUqF,MAAQ,gBAGNuC,IAAxBvI,KAAKwG,iBACLxG,KAAKgF,iBAAiBoB,MAAMK,OAASzG,KAAKwG,iBAOlD9B,EAAoB/D,UAAU6H,kBAAoB,aAIlD9D,EAAoB/D,UAAU8H,aAAe,WACzC,OAAOzI,KAAK+E,WAAaJ,UAG7BD,EAAoB/D,UAAUgG,WAAa,WAEvC,OADU3G,KAAKyI,eACJC,aAAehC,QAO9BhC,EAAoB/D,UAAU0H,uBAAyB,SAAUN,GAC7D,IAAIY,EAAiBZ,EAASY,eAAgBC,EAAeb,EAASa,aAClEjE,EAAW3E,KAAKyI,eAOfzI,KAAK4E,WAAWiE,WAAalE,EAASmE,gBAAkBf,GACzDA,EAASgB,kBAAkBJ,EAAgBC,IAGnDlE,EAAoB1B,WAAa,CAC7B,CAAEC,KAAM/C,EAAGmE,UAAWlB,KAAM,CAAC,CACjBmB,SAAU,gCACV0E,SAAU,sBACVC,KAAM,CACFC,MAAS,wBAGT/B,KAAQ,SAK5BzC,EAAoBrB,eAAiB,WAAc,MAAO,CACtD,CAAEJ,KAAM/C,EAAGqE,YACX,CAAEtB,KAAMhD,EAAGqD,UACX,CAAEL,KAAM/C,EAAGqD,QACX,CAAEN,UAAMsF,EAAWvF,WAAY,CAAC,CAAEC,KAAM/C,EAAGiJ,UAAY,CAAElG,KAAM/C,EAAGkJ,OAAQjG,KAAM,CAACpD,EAAOsJ,eAE5F3E,EAAoBF,eAAiB,CACjC0B,QAAS,CAAC,CAAEjD,KAAM/C,EAAGoJ,MAAOnG,KAAM,CAAC,wBACnCmD,QAAS,CAAC,CAAErD,KAAM/C,EAAGoJ,MAAOnG,KAAM,CAAC,wBACnCoG,QAAS,CAAC,CAAEtG,KAAM/C,EAAGoJ,MAAOnG,KAAM,CAAC,yBACnCqF,kBAAmB,CAAC,CAAEvF,KAAM/C,EAAGsJ,aAAcrG,KAAM,CAAC,YAEjDuB,EA1P6B,GAoQpC+E,EAAiC,WACjC,SAASA,KAST,OAPAA,EAAgBzG,WAAa,CACzB,CAAEC,KAAM/C,EAAGwJ,SAAUvG,KAAM,CAAC,CAChBwG,aAAc,CAAC9F,EAAaa,GAC5BkF,QAAS,CAAC3J,EAAG4J,gBACb5K,QAAS,CAAC4E,EAAaa,OAGhC+E,EAVyB;;;;;;;;AAyBpCxK,EAAQqB,gBAAkBA,EAC1BrB,EAAQ4E,YAAcA,EACtB5E,EAAQyF,oBAAsBA,EAC9BzF,EAAQwK,gBAAkBA,EAE1BrE,OAAOC,eAAepG,EAAS,aAAc,CAAEsG,OAAO","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/platform'), require('@angular/core'), require('@angular/cdk/coercion'), require('rxjs'), require('rxjs/operators'), require('@angular/common')) :\n typeof define === 'function' && define.amd ? define('@angular/cdk/text-field', ['exports', '@angular/cdk/platform', '@angular/core', '@angular/cdk/coercion', 'rxjs', 'rxjs/operators', '@angular/common'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.textField = {}), global.ng.cdk.platform, global.ng.core, global.ng.cdk.coercion, global.rxjs, global.rxjs.operators, global.ng.common));\n}(this, (function (exports, i1, i0, coercion, rxjs, operators, common) { 'use strict';\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.io/license\n */\n /** Options to pass to the animationstart listener. */\n var listenerOptions = i1.normalizePassiveListenerOptions({ passive: true });\n /**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\n var AutofillMonitor = /** @class */ (function () {\n function AutofillMonitor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n AutofillMonitor.prototype.monitor = function (elementOrRef) {\n var _this = this;\n if (!this._platform.isBrowser) {\n return rxjs.EMPTY;\n }\n var element = coercion.coerceElement(elementOrRef);\n var info = this._monitoredElements.get(element);\n if (info) {\n return info.subject.asObservable();\n }\n var result = new rxjs.Subject();\n var cssClass = 'cdk-text-field-autofilled';\n var listener = (function (event) {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n _this._ngZone.run(function () { return result.next({ target: event.target, isAutofilled: true }); });\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n _this._ngZone.run(function () { return result.next({ target: event.target, isAutofilled: false }); });\n }\n });\n this._ngZone.runOutsideAngular(function () {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: function () {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result.asObservable();\n };\n AutofillMonitor.prototype.stopMonitoring = function (elementOrRef) {\n var element = coercion.coerceElement(elementOrRef);\n var info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n };\n AutofillMonitor.prototype.ngOnDestroy = function () {\n var _this = this;\n this._monitoredElements.forEach(function (_info, element) { return _this.stopMonitoring(element); });\n };\n AutofillMonitor.decorators = [\n { type: i0.Injectable, args: [{ providedIn: 'root' },] }\n ];\n /** @nocollapse */\n AutofillMonitor.ctorParameters = function () { return [\n { type: i1.Platform },\n { type: i0.NgZone }\n ]; };\n AutofillMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function AutofillMonitor_Factory() { return new AutofillMonitor(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone)); }, token: AutofillMonitor, providedIn: \"root\" });\n return AutofillMonitor;\n }());\n /** A directive that can be used to monitor the autofill state of an input. */\n var CdkAutofill = /** @class */ (function () {\n function CdkAutofill(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new i0.EventEmitter();\n }\n CdkAutofill.prototype.ngOnInit = function () {\n var _this = this;\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(function (event) { return _this.cdkAutofill.emit(event); });\n };\n CdkAutofill.prototype.ngOnDestroy = function () {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n };\n CdkAutofill.decorators = [\n { type: i0.Directive, args: [{\n selector: '[cdkAutofill]',\n },] }\n ];\n /** @nocollapse */\n CdkAutofill.ctorParameters = function () { return [\n { type: i0.ElementRef },\n { type: AutofillMonitor }\n ]; };\n CdkAutofill.propDecorators = {\n cdkAutofill: [{ type: i0.Output }]\n };\n return CdkAutofill;\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.io/license\n */\n /** Directive to automatically resize a textarea to fit its content. */\n var CdkTextareaAutosize = /** @class */ (function () {\n function CdkTextareaAutosize(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new rxjs.Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n this._measuringClass = _platform.FIREFOX ?\n 'cdk-textarea-autosize-measuring-firefox' :\n 'cdk-textarea-autosize-measuring';\n }\n Object.defineProperty(CdkTextareaAutosize.prototype, \"minRows\", {\n /** Minimum amount of rows in the textarea. */\n get: function () { return this._minRows; },\n set: function (value) {\n this._minRows = coercion.coerceNumberProperty(value);\n this._setMinHeight();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CdkTextareaAutosize.prototype, \"maxRows\", {\n /** Maximum amount of rows in the textarea. */\n get: function () { return this._maxRows; },\n set: function (value) {\n this._maxRows = coercion.coerceNumberProperty(value);\n this._setMaxHeight();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CdkTextareaAutosize.prototype, \"enabled\", {\n /** Whether autosizing is enabled or not */\n get: function () { return this._enabled; },\n set: function (value) {\n value = coercion.coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n },\n enumerable: true,\n configurable: true\n });\n /** Sets the minimum height of the textarea as determined by minRows. */\n CdkTextareaAutosize.prototype._setMinHeight = function () {\n var minHeight = this.minRows && this._cachedLineHeight ?\n this.minRows * this._cachedLineHeight + \"px\" : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n };\n /** Sets the maximum height of the textarea as determined by maxRows. */\n CdkTextareaAutosize.prototype._setMaxHeight = function () {\n var maxHeight = this.maxRows && this._cachedLineHeight ?\n this.maxRows * this._cachedLineHeight + \"px\" : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n };\n CdkTextareaAutosize.prototype.ngAfterViewInit = function () {\n var _this = this;\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(function () {\n var window = _this._getWindow();\n rxjs.fromEvent(window, 'resize')\n .pipe(operators.auditTime(16), operators.takeUntil(_this._destroyed))\n .subscribe(function () { return _this.resizeToFitContent(true); });\n });\n }\n };\n CdkTextareaAutosize.prototype.ngOnDestroy = function () {\n this._destroyed.next();\n this._destroyed.complete();\n };\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n CdkTextareaAutosize.prototype._cacheTextareaLineHeight = function () {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n var textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n };\n CdkTextareaAutosize.prototype.ngDoCheck = function () {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n };\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n CdkTextareaAutosize.prototype.resizeToFitContent = function (force) {\n var _this = this;\n if (force === void 0) { force = false; }\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n var textarea = this._elementRef.nativeElement;\n var value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n var placeholderText = textarea.placeholder;\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n // need to be removed temporarily.\n textarea.classList.add(this._measuringClass);\n textarea.placeholder = '';\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n var height = textarea.scrollHeight - 4;\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = height + \"px\";\n textarea.classList.remove(this._measuringClass);\n textarea.placeholder = placeholderText;\n this._ngZone.runOutsideAngular(function () {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(function () { return _this._scrollToCaretPosition(textarea); });\n }\n else {\n setTimeout(function () { return _this._scrollToCaretPosition(textarea); });\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n };\n /**\n * Resets the textarea to its original size\n */\n CdkTextareaAutosize.prototype.reset = function () {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n };\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n CdkTextareaAutosize.prototype._noopInputHandler = function () {\n // no-op handler that ensures we're running change detection on input events.\n };\n /** Access injected document if available or fallback to global document reference */\n CdkTextareaAutosize.prototype._getDocument = function () {\n return this._document || document;\n };\n /** Use defaultView of injected document if available or fallback to global window reference */\n CdkTextareaAutosize.prototype._getWindow = function () {\n var doc = this._getDocument();\n return doc.defaultView || window;\n };\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n CdkTextareaAutosize.prototype._scrollToCaretPosition = function (textarea) {\n var selectionStart = textarea.selectionStart, selectionEnd = textarea.selectionEnd;\n var document = this._getDocument();\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && document.activeElement === textarea) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n };\n CdkTextareaAutosize.decorators = [\n { type: i0.Directive, args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n },\n },] }\n ];\n /** @nocollapse */\n CdkTextareaAutosize.ctorParameters = function () { return [\n { type: i0.ElementRef },\n { type: i1.Platform },\n { type: i0.NgZone },\n { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [common.DOCUMENT,] }] }\n ]; };\n CdkTextareaAutosize.propDecorators = {\n minRows: [{ type: i0.Input, args: ['cdkAutosizeMinRows',] }],\n maxRows: [{ type: i0.Input, args: ['cdkAutosizeMaxRows',] }],\n enabled: [{ type: i0.Input, args: ['cdkTextareaAutosize',] }],\n _noopInputHandler: [{ type: i0.HostListener, args: ['input',] }]\n };\n return CdkTextareaAutosize;\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.io/license\n */\n var TextFieldModule = /** @class */ (function () {\n function TextFieldModule() {\n }\n TextFieldModule.decorators = [\n { type: i0.NgModule, args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [i1.PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize],\n },] }\n ];\n return TextFieldModule;\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.io/license\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.AutofillMonitor = AutofillMonitor;\n exports.CdkAutofill = CdkAutofill;\n exports.CdkTextareaAutosize = CdkTextareaAutosize;\n exports.TextFieldModule = TextFieldModule;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=cdk-text-field.umd.js.map\n"]}
@@ -523,6 +523,7 @@
523
523
  };
524
524
  CdkTree.prototype.ngOnDestroy = function () {
525
525
  this._nodeOutlet.viewContainer.clear();
526
+ this.viewChange.complete();
526
527
  this._onDestroy.next();
527
528
  this._onDestroy.complete();
528
529
  if (this._dataSource && typeof this._dataSource.disconnect === 'function') {
@@ -914,11 +915,15 @@
914
915
  * This directive will add left-padding to the node to show hierarchy.
915
916
  */
916
917
  var CdkTreeNodePadding = /** @class */ (function () {
917
- function CdkTreeNodePadding(_treeNode, _tree, _renderer, _element, _dir) {
918
+ function CdkTreeNodePadding(_treeNode, _tree,
919
+ /**
920
+ * @deprecated _renderer parameter no longer being used. To be removed.
921
+ * @breaking-change 11.0.0
922
+ */
923
+ _renderer, _element, _dir) {
918
924
  var _this = this;
919
925
  this._treeNode = _treeNode;
920
926
  this._tree = _tree;
921
- this._renderer = _renderer;
922
927
  this._element = _element;
923
928
  this._dir = _dir;
924
929
  /** Subject that emits when the component has been destroyed. */
@@ -988,8 +993,8 @@
988
993
  var element = this._element.nativeElement;
989
994
  var paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';
990
995
  var resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';
991
- this._renderer.setStyle(element, paddingProp, padding);
992
- this._renderer.setStyle(element, resetProp, null);
996
+ element.style[paddingProp] = padding || '';
997
+ element.style[resetProp] = '';
993
998
  this._currentPadding = padding;
994
999
  }
995
1000
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-tree.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../../src/cdk/tree/control/base-tree-control.ts","../../../../../../src/cdk/tree/control/flat-tree-control.ts","../../../../../../src/cdk/tree/control/nested-tree-control.ts","../../../../../../src/cdk/tree/outlet.ts","../../../../../../src/cdk/tree/node.ts","../../../../../../src/cdk/tree/tree-errors.ts","../../../../../../src/cdk/tree/tree.ts","../../../../../../src/cdk/tree/nested-node.ts","../../../../../../src/cdk/tree/padding.ts","../../../../../../src/cdk/tree/toggle.ts","../../../../../../src/cdk/tree/tree-module.ts","../../../../../../src/cdk/tree/public-api.ts","../../../../../../src/cdk/tree/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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.io/license\n */\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {Observable} from 'rxjs';\nimport {TreeControl} from './tree-control';\n\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\nexport abstract class BaseTreeControl<T> implements TreeControl<T> {\n\n /** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */\n abstract getDescendants(dataNode: T): T[];\n\n /** Expands all data nodes in the tree. */\n abstract expandAll(): void;\n\n /** Saved data node for `expandAll` action. */\n dataNodes: T[];\n\n /** A selection model with multi-selection to track expansion status. */\n expansionModel: SelectionModel<T> = new SelectionModel<T>(true);\n\n /** Get depth of a given data node, return the level number. This is for flat tree node. */\n getLevel: (dataNode: T) => number;\n\n /**\n * Whether the data node is expandable. Returns true if expandable.\n * This is for flat tree node.\n */\n isExpandable: (dataNode: T) => boolean;\n\n /** Gets a stream that emits whenever the given data node's children change. */\n getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null);\n\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode: T): void {\n this.expansionModel.toggle(dataNode);\n }\n\n /** Expands one single data node. */\n expand(dataNode: T): void {\n this.expansionModel.select(dataNode);\n }\n\n /** Collapses one single data node. */\n collapse(dataNode: T): void {\n this.expansionModel.deselect(dataNode);\n }\n\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode: T): boolean {\n return this.expansionModel.isSelected(dataNode);\n }\n\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode: T): void {\n this.expansionModel.isSelected(dataNode)\n ? this.collapseDescendants(dataNode)\n : this.expandDescendants(dataNode);\n }\n\n /** Collapse all dataNodes in the tree. */\n collapseAll(): void {\n this.expansionModel.clear();\n }\n\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode: T): void {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed);\n }\n\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode: T): void {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed);\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.io/license\n */\n\nimport {BaseTreeControl} from './base-tree-control';\n\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nexport class FlatTreeControl<T> extends BaseTreeControl<T> {\n\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n constructor(public getLevel: (dataNode: T) => number,\n public isExpandable: (dataNode: T) => boolean) {\n super();\n }\n\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode: T): T[] {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results: T[] = [];\n\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1;\n i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]);\n i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n }\n\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.select(...this.dataNodes);\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.io/license\n */\nimport {Observable, isObservable} from 'rxjs';\nimport {take, filter} from 'rxjs/operators';\nimport {BaseTreeControl} from './base-tree-control';\n\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nexport class NestedTreeControl<T> extends BaseTreeControl<T> {\n\n /** Construct with nested tree function getChildren. */\n constructor(public getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null)) {\n super();\n }\n\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce((accumulator: T[], dataNode) =>\n [...accumulator, ...this.getDescendants(dataNode), dataNode], []);\n this.expansionModel.select(...allNodes);\n }\n\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode: T): T[] {\n const descendants: T[] = [];\n\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n }\n\n /** A helper function to get descendants recursively. */\n protected _getDescendants(descendants: T[], dataNode: T): void {\n descendants.push(dataNode);\n const childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach((child: T) => this._getDescendants(descendants, child));\n } else if (isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(take(1), filter(Boolean as () => boolean))\n .subscribe(children => {\n for (const child of children) {\n this._getDescendants(descendants, child);\n }\n });\n }\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.io/license\n */\nimport {\n Directive,\n Inject,\n InjectionToken,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\nexport const CDK_TREE_NODE_OUTLET_NODE = new InjectionToken<{}>('CDK_TREE_NODE_OUTLET_NODE');\n\n/**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[cdkTreeNodeOutlet]'\n})\nexport class CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\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.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n\n/** Context provided to the tree node component. */\nexport class CdkTreeNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Depth of the node. */\n level: number;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n/**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[cdkTreeNodeDef]',\n inputs: [\n 'when: cdkTreeNodeDefWhen'\n ],\n})\nexport class CdkTreeNodeDef<T> {\n /**\n * Function that should return true if this node template should be used for the provided node\n * data and index. If left undefined, this node will be considered the default node template to\n * use when no other when functions return true for the data.\n * For every node, there must be at least one when function that passes or an undefined to\n * default.\n */\n when: (index: number, nodeData: T) => boolean;\n\n /** @docs-private */\n constructor(public template: TemplateRef<any>) {}\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.io/license\n */\n\n/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nexport function getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nexport function getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nexport function getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nexport function getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nexport function getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\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.io/license\n */\nimport {FocusableOption} from '@angular/cdk/a11y';\nimport {CollectionViewer, DataSource, isDataSource} from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n TrackByFunction\n} from '@angular/core';\nimport {\n BehaviorSubject,\n Observable,\n of as observableOf,\n Subject,\n Subscription,\n isObservable,\n} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {TreeControl} from './control/tree-control';\nimport {CdkTreeNodeDef, CdkTreeNodeOutletContext} from './node';\nimport {CdkTreeNodeOutlet} from './outlet';\nimport {\n getTreeControlFunctionsMissingError,\n getTreeControlMissingError,\n getTreeMissingMatchingNodeDefError,\n getTreeMultipleDefaultNodeDefsError,\n getTreeNoValidDataSourceError\n} from './tree-errors';\n\n/**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\n@Component({\n selector: 'cdk-tree',\n exportAs: 'cdkTree',\n template: `<ng-container cdkTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'cdk-tree',\n 'role': 'tree',\n },\n encapsulation: ViewEncapsulation.None,\n\n // The \"OnPush\" status for the `CdkTree` component is effectively a noop, so we are removing it.\n // The view for `CdkTree` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class CdkTree<T> implements AfterContentChecked, CollectionViewer, OnDestroy, OnInit {\n /** Subject that emits when the component has been destroyed. */\n private _onDestroy = new Subject<void>();\n\n /** Differ used to find the changes in the data provided by the data source. */\n private _dataDiffer: IterableDiffer<T>;\n\n /** Stores the node definition that does not have a when predicate. */\n private _defaultNodeDef: CdkTreeNodeDef<T> | null;\n\n /** Data subscription */\n private _dataSubscription: Subscription | null;\n\n /** Level of nodes */\n private _levels: Map<T, number> = new Map<T, number>();\n\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n @Input()\n get dataSource(): DataSource<T> | Observable<T[]> | T[] { return this._dataSource; }\n set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n private _dataSource: DataSource<T> | Observable<T[]> | T[];\n\n /** The tree controller */\n @Input() treeControl: TreeControl<T>;\n\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data\n * relative to the function to know if a node should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n @Input() trackBy: TrackByFunction<T>;\n\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(CdkTreeNodeOutlet, {static: true}) _nodeOutlet: CdkTreeNodeOutlet;\n\n /** The tree node template for the tree */\n @ContentChildren(CdkTreeNodeDef, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n }) _nodeDefs: QueryList<CdkTreeNodeDef<T>>;\n\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n viewChange =\n new BehaviorSubject<{start: number, end: number}>({start: 0, end: Number.MAX_VALUE});\n\n constructor(private _differs: IterableDiffers,\n private _changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl) {\n throw getTreeControlMissingError();\n }\n }\n\n ngOnDestroy() {\n this._nodeOutlet.viewContainer.clear();\n\n this._onDestroy.next();\n this._onDestroy.complete();\n\n if (this._dataSource && typeof (this._dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n }\n\n ngAfterContentChecked() {\n const defaultNodeDefs = this._nodeDefs.filter(def => !def.when);\n if (defaultNodeDefs.length > 1) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n }\n\n\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n private _switchDataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n if (this._dataSource && typeof (this._dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n }\n\n /** Set up a subscription for the data provided by the data source. */\n private _observeRenderChanges() {\n let dataStream: Observable<T[] | ReadonlyArray<T>> | undefined;\n\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n } else if (isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream) {\n this._dataSubscription = dataStream.pipe(takeUntil(this._onDestroy))\n .subscribe(data => this.renderNodeChanges(data));\n } else {\n throw getTreeNoValidDataSourceError();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer: IterableDiffer<T> = this._dataDiffer,\n viewContainer: ViewContainerRef = this._nodeOutlet.viewContainer,\n parentData?: T) {\n const changes = dataDiffer.diff(data);\n if (!changes) { return; }\n\n changes.forEachOperation((item: IterableChangeRecord<T>,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex!], currentIndex!, viewContainer, parentData);\n } else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex!);\n this._levels.delete(item.item);\n } else {\n const view = viewContainer.get(adjustedPreviousIndex!);\n viewContainer.move(view!, currentIndex);\n }\n });\n\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n _getNodeDef(data: T, i: number): CdkTreeNodeDef<T> {\n if (this._nodeDefs.length === 1) { return this._nodeDefs.first; }\n\n const nodeDef =\n this._nodeDefs.find(def => def.when && def.when(i, data)) || this._defaultNodeDef;\n if (!nodeDef) { throw getTreeMissingMatchingNodeDefError(); }\n\n return nodeDef;\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T) {\n const node = this._getNodeDef(nodeData, index);\n\n // Node context that will be provided to created embedded view\n const context = new CdkTreeNodeOutletContext<T>(nodeData);\n\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n } else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData)! + 1;\n } else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n}\n\n\n/**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\n@Directive({\n selector: 'cdk-tree-node',\n exportAs: 'cdkTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node',\n },\n})\nexport class CdkTreeNode<T> implements FocusableOption, OnDestroy {\n /**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\n static mostRecentTreeNode: CdkTreeNode<any> | null = null;\n\n /** Subject that emits when the component has been destroyed. */\n protected _destroyed = new Subject<void>();\n\n /** Emits when the node's data has changed. */\n _dataChanges = new Subject<void>();\n\n /** The tree node's data. */\n get data(): T { return this._data; }\n set data(value: T) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n }\n protected _data: T;\n\n get isExpanded(): boolean {\n return this._tree.treeControl.isExpanded(this._data);\n }\n\n get level(): number {\n return this._tree.treeControl.getLevel ? this._tree.treeControl.getLevel(this._data) : 0;\n }\n\n /**\n * The role of the node should be 'group' if it's an internal node,\n * and 'treeitem' if it's a leaf node.\n */\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>) {\n CdkTreeNode.mostRecentTreeNode = this as CdkTreeNode<T>;\n }\n\n ngOnDestroy() {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Focuses the menu item. Implements for FocusableOption. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n protected _setRoleFromData(): void {\n if (this._tree.treeControl.isExpandable) {\n this.role = this._tree.treeControl.isExpandable(this._data) ? 'group' : 'treeitem';\n } else {\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this._data);\n if (Array.isArray(childrenNodes)) {\n this._setRoleFromChildren(childrenNodes as T[]);\n } else if (isObservable(childrenNodes)) {\n childrenNodes.pipe(takeUntil(this._destroyed))\n .subscribe(children => this._setRoleFromChildren(children));\n }\n }\n }\n\n protected _setRoleFromChildren(children: T[]) {\n this.role = children && children.length ? 'group' : 'treeitem';\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.io/license\n */\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {isObservable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from './outlet';\nimport {CdkTree, CdkTreeNode} from './tree';\nimport {getTreeControlFunctionsMissingError} from './tree-errors';\n\n/**\n * Nested node is a child of `<cdk-tree>`. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\n@Directive({\n selector: 'cdk-nested-tree-node',\n exportAs: 'cdkNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node cdk-nested-tree-node',\n },\n providers: [\n {provide: CdkTreeNode, useExisting: CdkNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode}\n ]\n})\nexport class CdkNestedTreeNode<T> extends CdkTreeNode<T> implements AfterContentInit, OnDestroy {\n /** Differ used to find the changes in the data provided by the data source. */\n private _dataDiffer: IterableDiffer<T>;\n\n /** The children data dataNodes of current node. They will be placed in `CdkTreeNodeOutlet`. */\n protected _children: T[];\n\n /** The children node placeholder. */\n @ContentChildren(CdkTreeNodeOutlet, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n })\n nodeOutlet: QueryList<CdkTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers) {\n super(_elementRef, _tree);\n }\n\n ngAfterContentInit() {\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes as T[]);\n } else if (isObservable(childrenNodes)) {\n childrenNodes.pipe(takeUntil(this._destroyed))\n .subscribe(result => this.updateChildrenNodes(result));\n }\n this.nodeOutlet.changes.pipe(takeUntil(this._destroyed))\n .subscribe(() => this.updateChildrenNodes());\n }\n\n ngOnDestroy() {\n this._clear();\n super.ngOnDestroy();\n }\n\n /** Add children dataNodes to the NodeOutlet */\n protected updateChildrenNodes(children?: T[]): void {\n const outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n const viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n } else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n }\n\n /** Clear the children dataNodes. */\n protected _clear(): void {\n const outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n }\n\n /** Gets the outlet for the current node. */\n private _getNodeOutlet() {\n const outlets = this.nodeOutlet;\n\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(outlet => !outlet._node || outlet._node === this);\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.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, ElementRef, Input, OnDestroy, Optional, Renderer2} from '@angular/core';\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\nimport {CdkTree, CdkTreeNode} from './tree';\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n\n/**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\n@Directive({\n selector: '[cdkTreeNodePadding]',\n})\nexport class CdkTreeNodePadding<T> implements OnDestroy {\n /** Current padding value applied to the element. Used to avoid unnecessarily hitting the DOM. */\n private _currentPadding: string|null;\n\n /** Subject that emits when the component has been destroyed. */\n private _destroyed = new Subject<void>();\n\n /** CSS units used for the indentation value. */\n indentUnits = 'px';\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('cdkTreeNodePadding')\n get level(): number { return this._level; }\n set level(value: number) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coerceNumberProperty(value, null)!;\n this._setPadding();\n }\n _level: number;\n\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n @Input('cdkTreeNodePaddingIndent')\n get indent(): number | string { return this._indent; }\n set indent(indent: number | string) {\n let value = indent;\n let units = 'px';\n\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n\n this.indentUnits = units;\n this._indent = coerceNumberProperty(value);\n this._setPadding();\n }\n _indent: number = 40;\n\n constructor(private _treeNode: CdkTreeNode<T>,\n private _tree: CdkTree<T>,\n private _renderer: Renderer2,\n private _element: ElementRef<HTMLElement>,\n @Optional() private _dir: Directionality) {\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this._setPadding(true));\n }\n\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(() => this._setPadding());\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n _paddingIndent(): string|null {\n const nodeLevel = (this._treeNode.data && this._tree.treeControl.getLevel)\n ? this._tree.treeControl.getLevel(this._treeNode.data)\n : null;\n const level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;\n }\n\n _setPadding(forceChange = false) {\n const padding = this._paddingIndent();\n\n if (padding !== this._currentPadding || forceChange) {\n const element = this._element.nativeElement;\n const paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n const resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n this._renderer.setStyle(element, paddingProp, padding);\n this._renderer.setStyle(element, resetProp, null);\n this._currentPadding = padding;\n }\n }\n\n static ngAcceptInputType_level: NumberInput;\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.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, HostListener, Input} from '@angular/core';\n\nimport {CdkTree, CdkTreeNode} from './tree';\n\n/**\n * Node toggle to expand/collapse the node.\n */\n@Directive({selector: '[cdkTreeNodeToggle]'})\nexport class CdkTreeNodeToggle<T> {\n /** Whether expand/collapse the node recursively. */\n @Input('cdkTreeNodeToggleRecursive')\n get recursive(): boolean { return this._recursive; }\n set recursive(value: boolean) { this._recursive = coerceBooleanProperty(value); }\n protected _recursive = false;\n\n constructor(protected _tree: CdkTree<T>,\n protected _treeNode: CdkTreeNode<T>) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click', ['$event'])\n _toggle(event: Event): void {\n this.recursive\n ? this._tree.treeControl.toggleDescendants(this._treeNode.data)\n : this._tree.treeControl.toggle(this._treeNode.data);\n\n event.stopPropagation();\n }\n\n static ngAcceptInputType_recursive: BooleanInput;\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.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {NgModule} from '@angular/core';\nimport {CdkTreeNodeOutlet} from './outlet';\nimport {CdkTreeNodePadding} from './padding';\nimport {CdkTreeNodeToggle} from './toggle';\nimport {CdkTree, CdkTreeNode} from './tree';\nimport {CdkTreeNodeDef} from './node';\nimport {CdkNestedTreeNode} from './nested-node';\n\nconst EXPORTED_DECLARATIONS = [\n CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet,\n];\n\n@NgModule({\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n providers: [FocusMonitor, CdkTreeNodeDef]\n})\nexport class CdkTreeModule {}\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.io/license\n */\n\nexport * from './control/base-tree-control';\nexport * from './control/flat-tree-control';\nexport * from './control/nested-tree-control';\nexport * from './control/tree-control';\nexport * from './nested-node';\nexport * from './node';\nexport * from './padding';\nexport * from './outlet';\nexport * from './tree';\nexport * from './tree-errors';\nexport * from './tree-module';\nexport * from './toggle';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SelectionModel","isObservable","take","filter","InjectionToken","Directive","ViewContainerRef","Inject","Optional","TemplateRef","Subject","BehaviorSubject","isDataSource","observableOf","takeUntil","Component","ViewEncapsulation","ChangeDetectionStrategy","IterableDiffers","ChangeDetectorRef","Input","ViewChild","ContentChildren","ElementRef","coerceNumberProperty","Renderer2","Directionality","coerceBooleanProperty","HostListener","NgModule","FocusMonitor"],"mappings":";;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;ICxLD;AACA;QAAA;;YAYE,mBAAc,GAAsB,IAAIA,0BAAc,CAAI,IAAI,CAAC,CAAC;SA2DjE;;QA5CC,gCAAM,GAAN,UAAO,QAAW;YAChB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACtC;;QAGD,gCAAM,GAAN,UAAO,QAAW;YAChB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACtC;;QAGD,kCAAQ,GAAR,UAAS,QAAW;YAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACxC;;QAGD,oCAAU,GAAV,UAAW,QAAW;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SACjD;;QAGD,2CAAiB,GAAjB,UAAkB,QAAW;YAC3B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC;kBAClC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;kBAClC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACxC;;QAGD,qCAAW,GAAX;YACE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC7B;;QAGD,2CAAiB,GAAjB,UAAkB,QAAW;;YAC3B,IAAI,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,aAAa,CAAC,IAAI,OAAlB,aAAa,WAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAE;YACrD,CAAA,KAAA,IAAI,CAAC,cAAc,EAAC,MAAM,oBAAI,aAAa,GAAE;SAC9C;;QAGD,6CAAmB,GAAnB,UAAoB,QAAW;;YAC7B,IAAI,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,aAAa,CAAC,IAAI,OAAlB,aAAa,WAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAE;YACrD,CAAA,KAAA,IAAI,CAAC,cAAc,EAAC,QAAQ,oBAAI,aAAa,GAAE;SAChD;QACH,sBAAC;IAAD,CAAC;;ICnFD;;;;;;;IAUA;AACA;QAAwC,mCAAkB;;QAGxD,yBAAmB,QAAiC,EACjC,YAAsC;YADzD,YAEE,iBAAO,SACR;YAHkB,cAAQ,GAAR,QAAQ,CAAyB;YACjC,kBAAY,GAAZ,YAAY,CAA0B;;SAExD;;;;;;;QAQD,wCAAc,GAAd,UAAe,QAAW;YACxB,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAM,OAAO,GAAQ,EAAE,CAAC;;;;;;;YAQxB,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EACvB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACvF,CAAC,EAAE,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;YACD,OAAO,OAAO,CAAC;SAChB;;;;;;;QAQD,mCAAS,GAAT;;YACE,CAAA,KAAA,IAAI,CAAC,cAAc,EAAC,MAAM,oBAAI,IAAI,CAAC,SAAS,GAAE;SAC/C;QACH,sBAAC;IAAD,CAzCA,CAAwC,eAAe;;ICAvD;AACA;QAA0C,qCAAkB;;QAG1D,2BAAmB,WAAwE;YAA3F,YACE,iBAAO,SACR;YAFkB,iBAAW,GAAX,WAAW,CAA6D;;SAE1F;;;;;;;QAQD,qCAAS,GAAT;;YAAA,iBAKC;YAJC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,WAAgB,EAAE,QAAQ;gBAC9D,gBAAI,WAAW,EAAK,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAE,QAAQ;aAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAA,KAAA,IAAI,CAAC,cAAc,EAAC,MAAM,oBAAI,QAAQ,GAAE;SACzC;;QAGD,0CAAc,GAAd,UAAe,QAAW;YACxB,IAAM,WAAW,GAAQ,EAAE,CAAC;YAE5B,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;;YAE5C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC9B;;QAGS,2CAAe,GAAzB,UAA0B,WAAgB,EAAE,QAAW;YAAvD,iBAeC;YAdC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAChC,aAAa,CAAC,OAAO,CAAC,UAAC,KAAQ,IAAK,OAAA,KAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,GAAA,CAAC,CAAC;aAC/E;iBAAM,IAAIC,iBAAY,CAAC,aAAa,CAAC,EAAE;;;gBAGtC,aAAa,CAAC,IAAI,CAACC,cAAI,CAAC,CAAC,CAAC,EAAEC,gBAAM,CAAC,OAAwB,CAAC,CAAC;qBACxD,SAAS,CAAC,UAAA,QAAQ;;;wBACjB,KAAoB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE;4BAAzB,IAAM,KAAK,qBAAA;4BACd,KAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;yBAC1C;;;;;;;;;iBACF,CAAC,CAAC;aACR;SACF;QACH,wBAAC;IAAD,CA9CA,CAA0C,eAAe;;ICZzD;;;;;;;AAOA,IAQA;;;;;AAKA,QAAa,yBAAyB,GAAG,IAAIC,mBAAc,CAAK,2BAA2B,CAAC,CAAC;IAE7F;;;;AAIA;QAIE,2BACW,aAA+B,EACgB,KAAW;YAD1D,kBAAa,GAAb,aAAa,CAAkB;YACgB,UAAK,GAAL,KAAK,CAAM;SAAI;;oBAN1EC,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;qBAChC;;;;oBAhBCC,qBAAgB;oDAoBXC,WAAM,SAAC,yBAAyB,cAAGC,aAAQ;;QAClD,wBAAC;KAPD;;IC1BA;;;;;;;AAQA,IAGA;AACA;QAaE,kCAAY,IAAO;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QACH,+BAAC;IAAD,CAAC,IAAA;IAED;;;;AAIA;;QAiBE,wBAAmB,QAA0B;YAA1B,aAAQ,GAAR,QAAQ,CAAkB;SAAI;;oBAjBlDH,cAAS,SAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,MAAM,EAAE;4BACN,0BAA0B;yBAC3B;qBACF;;;;oBA/BkBI,gBAAW;;QA4C9B,qBAAC;KAlBD;;IClCA;;;;;;;IAQA;;;;AAIA,aAAgB,6BAA6B;QAC3C,OAAO,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACxD,CAAC;IAED;;;;AAIA,aAAgB,mCAAmC;QACjD,OAAO,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACvF,CAAC;IAED;;;;AAIA,aAAgB,kCAAkC;QAChD,OAAO,KAAK,CAAC,uEAAuE,CAAC,CAAC;IACxF,CAAC;IAED;;;;AAIA,aAAgB,0BAA0B;QACxC,OAAO,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC9D,CAAC;IAED;;;;AAIA,aAAgB,mCAAmC;QACjD,OAAO,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACjF,CAAC;;ICGD;;;;AAIA;QA4EE,iBAAoB,QAAyB,EACzB,kBAAqC;YADrC,aAAQ,GAAR,QAAQ,CAAiB;YACzB,uBAAkB,GAAlB,kBAAkB,CAAmB;;YA3DjD,eAAU,GAAG,IAAIC,YAAO,EAAQ,CAAC;;YAYjC,YAAO,GAAmB,IAAI,GAAG,EAAa,CAAC;;;;;;;YA2CvD,eAAU,GACR,IAAIC,oBAAe,CAA+B,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,EAAC,CAAC,CAAC;SAG1B;QAxC7D,sBACI,+BAAU;;;;;;iBADd,cAC0D,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE;iBACpF,UAAe,UAAiD;gBAC9D,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;oBACnC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;iBACpC;aACF;;;WALmF;QAyCpF,0BAAQ,GAAR;YACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,0BAA0B,EAAE,CAAC;aACpC;SACF;QAED,6BAAW,GAAX;YACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAEvC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,WAAW,IAAI,OAAQ,IAAI,CAAC,WAA6B,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC3F,IAAI,CAAC,UAA4B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACrD;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;SACF;QAED,uCAAqB,GAArB;YACE,IAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,GAAG,CAAC,IAAI,GAAA,CAAC,CAAC;YAChE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,MAAM,mCAAmC,EAAE,CAAC;aAC7C;YACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAChE,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;SACF;;;;;;;;QAWO,mCAAiB,GAAzB,UAA0B,UAAiD;YACzE,IAAI,IAAI,CAAC,WAAW,IAAI,OAAQ,IAAI,CAAC,WAA6B,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC3F,IAAI,CAAC,UAA4B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACrD;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;;YAGD,IAAI,CAAC,UAAU,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aACxC;YAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;SACF;;QAGO,uCAAqB,GAA7B;YAAA,iBAiBC;YAhBC,IAAI,UAA0D,CAAC;YAE/D,IAAIC,wBAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAClC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC7C;iBAAM,IAAIX,iBAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACzC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;aAC/B;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC1C,UAAU,GAAGY,OAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC7C;YAED,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAACC,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACjE,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;aACpD;iBAAM;gBACL,MAAM,6BAA6B,EAAE,CAAC;aACvC;SACF;;QAGD,mCAAiB,GAAjB,UAAkB,IAA4B,EAAE,UAAgD,EAC9E,aAAgE,EAChE,UAAc;YAFhC,iBAqBC;YArB+C,2BAAA,EAAA,aAAgC,IAAI,CAAC,WAAW;YAC9E,8BAAA,EAAA,gBAAkC,IAAI,CAAC,WAAW,CAAC,aAAa;YAEhF,IAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO;aAAE;YAEzB,OAAO,CAAC,gBAAgB,CAAC,UAAC,IAA6B,EAC7B,qBAAoC,EACpC,YAA2B;gBACjD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;oBAC9B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAa,CAAC,EAAE,YAAa,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;iBAChF;qBAAM,IAAI,YAAY,IAAI,IAAI,EAAE;oBAC/B,aAAa,CAAC,MAAM,CAAC,qBAAsB,CAAC,CAAC;oBAC7C,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,qBAAsB,CAAC,CAAC;oBACvD,aAAa,CAAC,IAAI,CAAC,IAAK,EAAE,YAAY,CAAC,CAAC;iBACzC;aACF,CAAC,CAAC;YAEL,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;SACzC;;;;;;;QAQD,6BAAW,GAAX,UAAY,IAAO,EAAE,CAAS;YAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAAE;YAEjE,IAAM,OAAO,GACX,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAA,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;YACpF,IAAI,CAAC,OAAO,EAAE;gBAAE,MAAM,kCAAkC,EAAE,CAAC;aAAE;YAE7D,OAAO,OAAO,CAAC;SAChB;;;;;QAMD,4BAAU,GAAV,UAAW,QAAW,EAAE,KAAa,EAAE,aAAgC,EAAE,UAAc;YACrF,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;;YAG/C,IAAM,OAAO,GAAG,IAAI,wBAAwB,CAAI,QAAQ,CAAC,CAAC;;;YAI1D,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACrD;iBAAM,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC5E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,GAAG,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;aACnB;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;;YAG1C,IAAM,SAAS,GAAG,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACjF,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;;;;YAK5D,IAAI,WAAW,CAAC,kBAAkB,EAAE;gBAClC,WAAW,CAAC,kBAAkB,CAAC,IAAI,GAAG,QAAQ,CAAC;aAChD;SACF;;oBA3OFC,cAAS,SAAC;wBACT,QAAQ,EAAE,UAAU;wBACpB,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,iDAAiD;wBAC3D,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,MAAM,EAAE,MAAM;yBACf;wBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;;;;;wBAMrC,eAAe,EAAEC,4BAAuB,CAAC,OAAO;qBACjD;;;;oBAhDCC,oBAAe;oBARfC,sBAAiB;;;iCA8EhBC,UAAK;kCAULA,UAAK;8BAQLA,UAAK;kCAGLC,cAAS,SAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;gCAG3CC,oBAAe,SAAC,cAAc,EAAE;;;4BAG/B,WAAW,EAAE,IAAI;yBAClB;;QA2KH,cAAC;KA5OD,IA4OC;IAGD;;;AAGA;QAgDE,qBAAsB,WAAoC,EACpC,KAAiB;YADjB,gBAAW,GAAX,WAAW,CAAyB;YACpC,UAAK,GAAL,KAAK,CAAY;;YA/B7B,eAAU,GAAG,IAAIZ,YAAO,EAAQ,CAAC;;YAG3C,iBAAY,GAAG,IAAIA,YAAO,EAAQ,CAAC;;;;;YAyB1B,SAAI,GAAyB,UAAU,CAAC;YAI/C,WAAW,CAAC,kBAAkB,GAAG,IAAsB,CAAC;SACzD;QA3BD,sBAAI,6BAAI;;iBAAR,cAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;iBACpC,UAAS,KAAQ;gBACf,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;oBACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;iBAC1B;aACF;;;WAPmC;QAUpC,sBAAI,mCAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtD;;;WAAA;QAED,sBAAI,8BAAK;iBAAT;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1F;;;WAAA;QAaD,iCAAW,GAAX;;;YAGE,IAAI,WAAW,CAAC,kBAAkB,KAAK,IAAI,EAAE;gBAC3C,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;aACvC;YAED,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;;QAGD,2BAAK,GAAL;YACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACxC;QAES,sCAAgB,GAA1B;YAAA,iBAeC;YAdC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE;gBACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC;aACpF;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE;oBACvC,MAAM,mCAAmC,EAAE,CAAC;iBAC7C;gBACD,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAChC,IAAI,CAAC,oBAAoB,CAAC,aAAoB,CAAC,CAAC;iBACjD;qBAAM,IAAIT,iBAAY,CAAC,aAAa,CAAC,EAAE;oBACtC,aAAa,CAAC,IAAI,CAACa,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBACzC,SAAS,CAAC,UAAA,QAAQ,IAAI,OAAA,KAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAA,CAAC,CAAC;iBACjE;aACF;SACF;QAES,0CAAoB,GAA9B,UAA+B,QAAa;YAC1C,IAAI,CAAC,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;SAChE;;;;;QA1EM,8BAAkB,GAA4B,IAAI,CAAC;;oBAf3DT,cAAS,SAAC;wBACT,QAAQ,EAAE,eAAe;wBACzB,QAAQ,EAAE,aAAa;wBACvB,IAAI,EAAE;4BACJ,sBAAsB,EAAE,YAAY;4BACpC,mBAAmB,EAAE,oCAAoC;4BACzD,aAAa,EAAE,MAAM;4BACrB,OAAO,EAAE,eAAe;yBACzB;qBACF;;;;oBAhSCkB,eAAU;oBAwUmB,OAAO;;;2BAHnCH,UAAK;;QA4CR,kBAAC;KA1FD;;IC/QA;;;;;;AAMA;QAa0C,qCAAc;QAetD,2BAAsB,WAAoC,EACpC,KAAiB,EACjB,QAAyB;YAF/C,YAGE,kBAAM,WAAW,EAAE,KAAK,CAAC,SAC1B;YAJqB,iBAAW,GAAX,WAAW,CAAyB;YACpC,WAAK,GAAL,KAAK,CAAY;YACjB,cAAQ,GAAR,QAAQ,CAAiB;;SAE9C;QAED,8CAAkB,GAAlB;YAAA,iBAcC;YAbC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE;gBACvC,MAAM,mCAAmC,EAAE,CAAC;aAC7C;YACD,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,CAAC,mBAAmB,CAAC,aAAoB,CAAC,CAAC;aAChD;iBAAM,IAAInB,iBAAY,CAAC,aAAa,CAAC,EAAE;gBACtC,aAAa,CAAC,IAAI,CAACa,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAC3C,SAAS,CAAC,UAAA,MAAM,IAAI,OAAA,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;aAC1D;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAACA,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACnD,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,mBAAmB,EAAE,GAAA,CAAC,CAAC;SAClD;QAED,uCAAW,GAAX;YACE,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,iBAAM,WAAW,WAAE,CAAC;SACrB;;QAGS,+CAAmB,GAA7B,UAA8B,QAAc;YAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;aAC3B;YACD,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC5B,IAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3F;iBAAM;;gBAEL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC3B;SACF;;QAGS,kCAAM,GAAhB;YACE,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC3B;SACF;;QAGO,0CAAc,GAAtB;YAAA,iBAMC;YALC,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;;;YAIhC,OAAO,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,KAAI,GAAA,CAAC,CAAC;SAClF;;oBAtFFT,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,QAAQ,EAAE,mBAAmB;wBAC7B,IAAI,EAAE;4BACJ,sBAAsB,EAAE,YAAY;4BACpC,aAAa,EAAE,MAAM;4BACrB,OAAO,EAAE,oCAAoC;yBAC9C;wBACD,SAAS,EAAE;4BACT,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAC;4BACtD,EAAC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,iBAAiB,EAAC;yBACrE;qBACF;;;;oBA/BCkB,eAAU;oBAUJ,OAAO;oBARbL,oBAAe;;;iCAsCdI,oBAAe,SAAC,iBAAiB,EAAE;;;4BAGlC,WAAW,EAAE,IAAI;yBAClB;;QA8DH,wBAAC;KAAA,CA1EyC,WAAW;;IC3CrD;;;;;;;AAQA,IAOA;IACA,IAAM,cAAc,GAAG,eAAe,CAAC;IAEvC;;;;AAIA;QA+CE,4BAAoB,SAAyB,EACzB,KAAiB,EACjB,SAAoB,EACpB,QAAiC,EACrB,IAAoB;YAJpD,iBAcC;YAdmB,cAAS,GAAT,SAAS,CAAgB;YACzB,UAAK,GAAL,KAAK,CAAY;YACjB,cAAS,GAAT,SAAS,CAAW;YACpB,aAAQ,GAAR,QAAQ,CAAyB;YACrB,SAAI,GAAJ,IAAI,CAAgB;;YA3C5C,eAAU,GAAG,IAAIZ,YAAO,EAAQ,CAAC;;YAGzC,gBAAW,GAAG,IAAI,CAAC;YAkCnB,YAAO,GAAW,EAAE,CAAC;YAOnB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAACI,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;aACtF;;;;YAKD,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,GAAA,CAAC,CAAC;SAC5D;QA/CD,sBACI,qCAAK;;iBADT,cACsB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE;iBAC3C,UAAU,KAAa;;;;gBAIrB,IAAI,CAAC,MAAM,GAAGU,6BAAoB,CAAC,KAAK,EAAE,IAAI,CAAE,CAAC;gBACjD,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;;;WAP0C;QAc3C,sBACI,sCAAM;;;;;iBADV,cACgC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;iBACtD,UAAW,MAAuB;gBAChC,IAAI,KAAK,GAAG,MAAM,CAAC;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC;gBAEjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC3C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;iBAC3B;gBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,OAAO,GAAGA,6BAAoB,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;;;WAdqD;QAiCtD,wCAAW,GAAX;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;;QAGD,2CAAc,GAAd;YACE,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ;kBACrE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;kBACpD,IAAI,CAAC;YACT,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAG,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAa,GAAG,IAAI,CAAC;SACxF;QAED,wCAAW,GAAX,UAAY,WAAmB;YAAnB,4BAAA,EAAA,mBAAmB;YAC7B,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtC,IAAI,OAAO,KAAK,IAAI,CAAC,eAAe,IAAI,WAAW,EAAE;gBACnD,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC5C,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,cAAc,GAAG,aAAa,CAAC;gBAC5F,IAAM,SAAS,GAAG,WAAW,KAAK,aAAa,GAAG,cAAc,GAAG,aAAa,CAAC;gBACjF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBACvD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAClD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;aAChC;SACF;;oBAxFFnB,cAAS,SAAC;wBACT,QAAQ,EAAE,sBAAsB;qBACjC;;;;oBAXgB,WAAW;oBAApB,OAAO;oBAH4CoB,cAAS;oBAAjDF,eAAU;oBAFrBG,mBAAc,uBAiEPlB,aAAQ;;;4BArCpBY,UAAK,SAAC,oBAAoB;6BAe1BA,UAAK,SAAC,0BAA0B;;QA8DnC,yBAAC;KA3FD;;ICtBA;;;;;;;AAQA,IAKA;;;AAGA;QAQE,2BAAsB,KAAiB,EACjB,SAAyB;YADzB,UAAK,GAAL,KAAK,CAAY;YACjB,cAAS,GAAT,SAAS,CAAgB;YAHrC,eAAU,GAAG,KAAK,CAAC;SAGsB;QANnD,sBACI,wCAAS;;iBADb,cAC2B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;iBACpD,UAAc,KAAc,IAAI,IAAI,CAAC,UAAU,GAAGO,8BAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;;;WAD7B;;;;;;QAapD,mCAAO,GADP,UACQ,KAAY;YAClB,IAAI,CAAC,SAAS;kBACV,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;kBAC7D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEvD,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;;oBAvBFtB,cAAS,SAAC,EAAC,QAAQ,EAAE,qBAAqB,EAAC;;;;oBALpC,OAAO;oBAAE,WAAW;;;gCAQzBe,UAAK,SAAC,4BAA4B;8BAalCQ,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;QAUnC,wBAAC;KA1BD;;IChBA;;;;;;;AAQA,IASA,IAAM,qBAAqB,GAAG;QAC5B,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,iBAAiB;QACjB,OAAO;QACP,WAAW;QACX,iBAAiB;KAClB,CAAC;AAEF;QAAA;SAK6B;;oBAL5BC,aAAQ,SAAC;wBACR,OAAO,EAAE,qBAAqB;wBAC9B,YAAY,EAAE,qBAAqB;wBACnC,SAAS,EAAE,CAACC,iBAAY,EAAE,cAAc,CAAC;qBAC1C;;QAC2B,oBAAC;KAL7B;;IC3BA;;;;;;OAMG;;ICNH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cdk-tree.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../../src/cdk/tree/control/base-tree-control.ts","../../../../../../src/cdk/tree/control/flat-tree-control.ts","../../../../../../src/cdk/tree/control/nested-tree-control.ts","../../../../../../src/cdk/tree/outlet.ts","../../../../../../src/cdk/tree/node.ts","../../../../../../src/cdk/tree/tree-errors.ts","../../../../../../src/cdk/tree/tree.ts","../../../../../../src/cdk/tree/nested-node.ts","../../../../../../src/cdk/tree/padding.ts","../../../../../../src/cdk/tree/toggle.ts","../../../../../../src/cdk/tree/tree-module.ts","../../../../../../src/cdk/tree/public-api.ts","../../../../../../src/cdk/tree/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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.io/license\n */\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {Observable} from 'rxjs';\nimport {TreeControl} from './tree-control';\n\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\nexport abstract class BaseTreeControl<T> implements TreeControl<T> {\n\n /** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */\n abstract getDescendants(dataNode: T): T[];\n\n /** Expands all data nodes in the tree. */\n abstract expandAll(): void;\n\n /** Saved data node for `expandAll` action. */\n dataNodes: T[];\n\n /** A selection model with multi-selection to track expansion status. */\n expansionModel: SelectionModel<T> = new SelectionModel<T>(true);\n\n /** Get depth of a given data node, return the level number. This is for flat tree node. */\n getLevel: (dataNode: T) => number;\n\n /**\n * Whether the data node is expandable. Returns true if expandable.\n * This is for flat tree node.\n */\n isExpandable: (dataNode: T) => boolean;\n\n /** Gets a stream that emits whenever the given data node's children change. */\n getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null);\n\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode: T): void {\n this.expansionModel.toggle(dataNode);\n }\n\n /** Expands one single data node. */\n expand(dataNode: T): void {\n this.expansionModel.select(dataNode);\n }\n\n /** Collapses one single data node. */\n collapse(dataNode: T): void {\n this.expansionModel.deselect(dataNode);\n }\n\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode: T): boolean {\n return this.expansionModel.isSelected(dataNode);\n }\n\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode: T): void {\n this.expansionModel.isSelected(dataNode)\n ? this.collapseDescendants(dataNode)\n : this.expandDescendants(dataNode);\n }\n\n /** Collapse all dataNodes in the tree. */\n collapseAll(): void {\n this.expansionModel.clear();\n }\n\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode: T): void {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed);\n }\n\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode: T): void {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed);\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.io/license\n */\n\nimport {BaseTreeControl} from './base-tree-control';\n\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nexport class FlatTreeControl<T> extends BaseTreeControl<T> {\n\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n constructor(public getLevel: (dataNode: T) => number,\n public isExpandable: (dataNode: T) => boolean) {\n super();\n }\n\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode: T): T[] {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results: T[] = [];\n\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1;\n i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]);\n i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n }\n\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.select(...this.dataNodes);\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.io/license\n */\nimport {Observable, isObservable} from 'rxjs';\nimport {take, filter} from 'rxjs/operators';\nimport {BaseTreeControl} from './base-tree-control';\n\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nexport class NestedTreeControl<T> extends BaseTreeControl<T> {\n\n /** Construct with nested tree function getChildren. */\n constructor(public getChildren: (dataNode: T) => (Observable<T[]> | T[] | undefined | null)) {\n super();\n }\n\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce((accumulator: T[], dataNode) =>\n [...accumulator, ...this.getDescendants(dataNode), dataNode], []);\n this.expansionModel.select(...allNodes);\n }\n\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode: T): T[] {\n const descendants: T[] = [];\n\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n }\n\n /** A helper function to get descendants recursively. */\n protected _getDescendants(descendants: T[], dataNode: T): void {\n descendants.push(dataNode);\n const childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach((child: T) => this._getDescendants(descendants, child));\n } else if (isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(take(1), filter(Boolean as () => boolean))\n .subscribe(children => {\n for (const child of children) {\n this._getDescendants(descendants, child);\n }\n });\n }\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.io/license\n */\nimport {\n Directive,\n Inject,\n InjectionToken,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\nexport const CDK_TREE_NODE_OUTLET_NODE = new InjectionToken<{}>('CDK_TREE_NODE_OUTLET_NODE');\n\n/**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[cdkTreeNodeOutlet]'\n})\nexport class CdkTreeNodeOutlet {\n constructor(\n public viewContainer: ViewContainerRef,\n @Inject(CDK_TREE_NODE_OUTLET_NODE) @Optional() public _node?: any) {}\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.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n\n/** Context provided to the tree node component. */\nexport class CdkTreeNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Depth of the node. */\n level: number;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n/**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[cdkTreeNodeDef]',\n inputs: [\n 'when: cdkTreeNodeDefWhen'\n ],\n})\nexport class CdkTreeNodeDef<T> {\n /**\n * Function that should return true if this node template should be used for the provided node\n * data and index. If left undefined, this node will be considered the default node template to\n * use when no other when functions return true for the data.\n * For every node, there must be at least one when function that passes or an undefined to\n * default.\n */\n when: (index: number, nodeData: T) => boolean;\n\n /** @docs-private */\n constructor(public template: TemplateRef<any>) {}\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.io/license\n */\n\n/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nexport function getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nexport function getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nexport function getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nexport function getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nexport function getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\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.io/license\n */\nimport {FocusableOption} from '@angular/cdk/a11y';\nimport {CollectionViewer, DataSource, isDataSource} from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n TrackByFunction\n} from '@angular/core';\nimport {\n BehaviorSubject,\n Observable,\n of as observableOf,\n Subject,\n Subscription,\n isObservable,\n} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {TreeControl} from './control/tree-control';\nimport {CdkTreeNodeDef, CdkTreeNodeOutletContext} from './node';\nimport {CdkTreeNodeOutlet} from './outlet';\nimport {\n getTreeControlFunctionsMissingError,\n getTreeControlMissingError,\n getTreeMissingMatchingNodeDefError,\n getTreeMultipleDefaultNodeDefsError,\n getTreeNoValidDataSourceError\n} from './tree-errors';\n\n/**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\n@Component({\n selector: 'cdk-tree',\n exportAs: 'cdkTree',\n template: `<ng-container cdkTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'cdk-tree',\n 'role': 'tree',\n },\n encapsulation: ViewEncapsulation.None,\n\n // The \"OnPush\" status for the `CdkTree` component is effectively a noop, so we are removing it.\n // The view for `CdkTree` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class CdkTree<T> implements AfterContentChecked, CollectionViewer, OnDestroy, OnInit {\n /** Subject that emits when the component has been destroyed. */\n private _onDestroy = new Subject<void>();\n\n /** Differ used to find the changes in the data provided by the data source. */\n private _dataDiffer: IterableDiffer<T>;\n\n /** Stores the node definition that does not have a when predicate. */\n private _defaultNodeDef: CdkTreeNodeDef<T> | null;\n\n /** Data subscription */\n private _dataSubscription: Subscription | null;\n\n /** Level of nodes */\n private _levels: Map<T, number> = new Map<T, number>();\n\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n @Input()\n get dataSource(): DataSource<T> | Observable<T[]> | T[] { return this._dataSource; }\n set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n private _dataSource: DataSource<T> | Observable<T[]> | T[];\n\n /** The tree controller */\n @Input() treeControl: TreeControl<T>;\n\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data\n * relative to the function to know if a node should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n @Input() trackBy: TrackByFunction<T>;\n\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(CdkTreeNodeOutlet, {static: true}) _nodeOutlet: CdkTreeNodeOutlet;\n\n /** The tree node template for the tree */\n @ContentChildren(CdkTreeNodeDef, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n }) _nodeDefs: QueryList<CdkTreeNodeDef<T>>;\n\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n viewChange =\n new BehaviorSubject<{start: number, end: number}>({start: 0, end: Number.MAX_VALUE});\n\n constructor(private _differs: IterableDiffers,\n private _changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl) {\n throw getTreeControlMissingError();\n }\n }\n\n ngOnDestroy() {\n this._nodeOutlet.viewContainer.clear();\n\n this.viewChange.complete();\n this._onDestroy.next();\n this._onDestroy.complete();\n\n if (this._dataSource && typeof (this._dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n }\n\n ngAfterContentChecked() {\n const defaultNodeDefs = this._nodeDefs.filter(def => !def.when);\n if (defaultNodeDefs.length > 1) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n }\n\n\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n private _switchDataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n if (this._dataSource && typeof (this._dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n }\n\n /** Set up a subscription for the data provided by the data source. */\n private _observeRenderChanges() {\n let dataStream: Observable<T[] | ReadonlyArray<T>> | undefined;\n\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n } else if (isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream) {\n this._dataSubscription = dataStream.pipe(takeUntil(this._onDestroy))\n .subscribe(data => this.renderNodeChanges(data));\n } else {\n throw getTreeNoValidDataSourceError();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(data: T[] | ReadonlyArray<T>, dataDiffer: IterableDiffer<T> = this._dataDiffer,\n viewContainer: ViewContainerRef = this._nodeOutlet.viewContainer,\n parentData?: T) {\n const changes = dataDiffer.diff(data);\n if (!changes) { return; }\n\n changes.forEachOperation((item: IterableChangeRecord<T>,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex!], currentIndex!, viewContainer, parentData);\n } else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex!);\n this._levels.delete(item.item);\n } else {\n const view = viewContainer.get(adjustedPreviousIndex!);\n viewContainer.move(view!, currentIndex);\n }\n });\n\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n _getNodeDef(data: T, i: number): CdkTreeNodeDef<T> {\n if (this._nodeDefs.length === 1) { return this._nodeDefs.first; }\n\n const nodeDef =\n this._nodeDefs.find(def => def.when && def.when(i, data)) || this._defaultNodeDef;\n if (!nodeDef) { throw getTreeMissingMatchingNodeDefError(); }\n\n return nodeDef;\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T) {\n const node = this._getNodeDef(nodeData, index);\n\n // Node context that will be provided to created embedded view\n const context = new CdkTreeNodeOutletContext<T>(nodeData);\n\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n } else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData)! + 1;\n } else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n}\n\n\n/**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\n@Directive({\n selector: 'cdk-tree-node',\n exportAs: 'cdkTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.aria-level]': 'role === \"treeitem\" ? level : null',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node',\n },\n})\nexport class CdkTreeNode<T> implements FocusableOption, OnDestroy {\n /**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\n static mostRecentTreeNode: CdkTreeNode<any> | null = null;\n\n /** Subject that emits when the component has been destroyed. */\n protected _destroyed = new Subject<void>();\n\n /** Emits when the node's data has changed. */\n _dataChanges = new Subject<void>();\n\n /** The tree node's data. */\n get data(): T { return this._data; }\n set data(value: T) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n }\n protected _data: T;\n\n get isExpanded(): boolean {\n return this._tree.treeControl.isExpanded(this._data);\n }\n\n get level(): number {\n return this._tree.treeControl.getLevel ? this._tree.treeControl.getLevel(this._data) : 0;\n }\n\n /**\n * The role of the node should be 'group' if it's an internal node,\n * and 'treeitem' if it's a leaf node.\n */\n @Input() role: 'treeitem' | 'group' = 'treeitem';\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>) {\n CdkTreeNode.mostRecentTreeNode = this as CdkTreeNode<T>;\n }\n\n ngOnDestroy() {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Focuses the menu item. Implements for FocusableOption. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n protected _setRoleFromData(): void {\n if (this._tree.treeControl.isExpandable) {\n this.role = this._tree.treeControl.isExpandable(this._data) ? 'group' : 'treeitem';\n } else {\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this._data);\n if (Array.isArray(childrenNodes)) {\n this._setRoleFromChildren(childrenNodes as T[]);\n } else if (isObservable(childrenNodes)) {\n childrenNodes.pipe(takeUntil(this._destroyed))\n .subscribe(children => this._setRoleFromChildren(children));\n }\n }\n }\n\n protected _setRoleFromChildren(children: T[]) {\n this.role = children && children.length ? 'group' : 'treeitem';\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.io/license\n */\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {isObservable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from './outlet';\nimport {CdkTree, CdkTreeNode} from './tree';\nimport {getTreeControlFunctionsMissingError} from './tree-errors';\n\n/**\n * Nested node is a child of `<cdk-tree>`. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\n@Directive({\n selector: 'cdk-nested-tree-node',\n exportAs: 'cdkNestedTreeNode',\n host: {\n '[attr.aria-expanded]': 'isExpanded',\n '[attr.role]': 'role',\n 'class': 'cdk-tree-node cdk-nested-tree-node',\n },\n providers: [\n {provide: CdkTreeNode, useExisting: CdkNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode}\n ]\n})\nexport class CdkNestedTreeNode<T> extends CdkTreeNode<T> implements AfterContentInit, OnDestroy {\n /** Differ used to find the changes in the data provided by the data source. */\n private _dataDiffer: IterableDiffer<T>;\n\n /** The children data dataNodes of current node. They will be placed in `CdkTreeNodeOutlet`. */\n protected _children: T[];\n\n /** The children node placeholder. */\n @ContentChildren(CdkTreeNodeOutlet, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true\n })\n nodeOutlet: QueryList<CdkTreeNodeOutlet>;\n\n constructor(protected _elementRef: ElementRef<HTMLElement>,\n protected _tree: CdkTree<T>,\n protected _differs: IterableDiffers) {\n super(_elementRef, _tree);\n }\n\n ngAfterContentInit() {\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes as T[]);\n } else if (isObservable(childrenNodes)) {\n childrenNodes.pipe(takeUntil(this._destroyed))\n .subscribe(result => this.updateChildrenNodes(result));\n }\n this.nodeOutlet.changes.pipe(takeUntil(this._destroyed))\n .subscribe(() => this.updateChildrenNodes());\n }\n\n ngOnDestroy() {\n this._clear();\n super.ngOnDestroy();\n }\n\n /** Add children dataNodes to the NodeOutlet */\n protected updateChildrenNodes(children?: T[]): void {\n const outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n const viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n } else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n }\n\n /** Clear the children dataNodes. */\n protected _clear(): void {\n const outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n }\n\n /** Gets the outlet for the current node. */\n private _getNodeOutlet() {\n const outlets = this.nodeOutlet;\n\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(outlet => !outlet._node || outlet._node === this);\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.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, ElementRef, Input, OnDestroy, Optional, Renderer2} from '@angular/core';\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\nimport {CdkTree, CdkTreeNode} from './tree';\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n\n/**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\n@Directive({\n selector: '[cdkTreeNodePadding]',\n})\nexport class CdkTreeNodePadding<T> implements OnDestroy {\n /** Current padding value applied to the element. Used to avoid unnecessarily hitting the DOM. */\n private _currentPadding: string|null;\n\n /** Subject that emits when the component has been destroyed. */\n private _destroyed = new Subject<void>();\n\n /** CSS units used for the indentation value. */\n indentUnits = 'px';\n\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input('cdkTreeNodePadding')\n get level(): number { return this._level; }\n set level(value: number) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coerceNumberProperty(value, null)!;\n this._setPadding();\n }\n _level: number;\n\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n @Input('cdkTreeNodePaddingIndent')\n get indent(): number | string { return this._indent; }\n set indent(indent: number | string) {\n let value = indent;\n let units = 'px';\n\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n\n this.indentUnits = units;\n this._indent = coerceNumberProperty(value);\n this._setPadding();\n }\n _indent: number = 40;\n\n constructor(private _treeNode: CdkTreeNode<T>,\n private _tree: CdkTree<T>,\n /**\n * @deprecated _renderer parameter no longer being used. To be removed.\n * @breaking-change 11.0.0\n */\n _renderer: Renderer2,\n private _element: ElementRef<HTMLElement>,\n @Optional() private _dir: Directionality) {\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this._setPadding(true));\n }\n\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(() => this._setPadding());\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n _paddingIndent(): string|null {\n const nodeLevel = (this._treeNode.data && this._tree.treeControl.getLevel)\n ? this._tree.treeControl.getLevel(this._treeNode.data)\n : null;\n const level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;\n }\n\n _setPadding(forceChange = false) {\n const padding = this._paddingIndent();\n\n if (padding !== this._currentPadding || forceChange) {\n const element = this._element.nativeElement;\n const paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n const resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n element.style[paddingProp] = padding || '';\n element.style[resetProp] = '';\n this._currentPadding = padding;\n }\n }\n\n static ngAcceptInputType_level: NumberInput;\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.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, HostListener, Input} from '@angular/core';\n\nimport {CdkTree, CdkTreeNode} from './tree';\n\n/**\n * Node toggle to expand/collapse the node.\n */\n@Directive({selector: '[cdkTreeNodeToggle]'})\nexport class CdkTreeNodeToggle<T> {\n /** Whether expand/collapse the node recursively. */\n @Input('cdkTreeNodeToggleRecursive')\n get recursive(): boolean { return this._recursive; }\n set recursive(value: boolean) { this._recursive = coerceBooleanProperty(value); }\n protected _recursive = false;\n\n constructor(protected _tree: CdkTree<T>,\n protected _treeNode: CdkTreeNode<T>) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click', ['$event'])\n _toggle(event: Event): void {\n this.recursive\n ? this._tree.treeControl.toggleDescendants(this._treeNode.data)\n : this._tree.treeControl.toggle(this._treeNode.data);\n\n event.stopPropagation();\n }\n\n static ngAcceptInputType_recursive: BooleanInput;\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.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {NgModule} from '@angular/core';\nimport {CdkTreeNodeOutlet} from './outlet';\nimport {CdkTreeNodePadding} from './padding';\nimport {CdkTreeNodeToggle} from './toggle';\nimport {CdkTree, CdkTreeNode} from './tree';\nimport {CdkTreeNodeDef} from './node';\nimport {CdkNestedTreeNode} from './nested-node';\n\nconst EXPORTED_DECLARATIONS = [\n CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet,\n];\n\n@NgModule({\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n providers: [FocusMonitor, CdkTreeNodeDef]\n})\nexport class CdkTreeModule {}\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.io/license\n */\n\nexport * from './control/base-tree-control';\nexport * from './control/flat-tree-control';\nexport * from './control/nested-tree-control';\nexport * from './control/tree-control';\nexport * from './nested-node';\nexport * from './node';\nexport * from './padding';\nexport * from './outlet';\nexport * from './tree';\nexport * from './tree-errors';\nexport * from './tree-module';\nexport * from './toggle';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SelectionModel","isObservable","take","filter","InjectionToken","Directive","ViewContainerRef","Inject","Optional","TemplateRef","Subject","BehaviorSubject","isDataSource","observableOf","takeUntil","Component","ViewEncapsulation","ChangeDetectionStrategy","IterableDiffers","ChangeDetectorRef","Input","ViewChild","ContentChildren","ElementRef","coerceNumberProperty","Renderer2","Directionality","coerceBooleanProperty","HostListener","NgModule","FocusMonitor"],"mappings":"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"}