@angular/cdk 10.1.1 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/a11y/index.metadata.json +1 -1
  2. package/a11y/key-manager/list-key-manager.d.ts +4 -3
  3. package/bundles/cdk-a11y.umd.js +440 -384
  4. package/bundles/cdk-a11y.umd.js.map +1 -1
  5. package/bundles/cdk-a11y.umd.min.js +34 -10
  6. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  7. package/bundles/cdk-accordion.umd.js +40 -40
  8. package/bundles/cdk-accordion.umd.js.map +1 -1
  9. package/bundles/cdk-accordion.umd.min.js +10 -2
  10. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  11. package/bundles/cdk-bidi.umd.js +25 -25
  12. package/bundles/cdk-bidi.umd.js.map +1 -1
  13. package/bundles/cdk-bidi.umd.min.js +5 -4
  14. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  15. package/bundles/cdk-clipboard.umd.js +37 -36
  16. package/bundles/cdk-clipboard.umd.js.map +1 -1
  17. package/bundles/cdk-clipboard.umd.min.js +10 -2
  18. package/bundles/cdk-clipboard.umd.min.js.map +1 -1
  19. package/bundles/cdk-coercion.umd.js.map +1 -1
  20. package/bundles/cdk-collections.umd.js +498 -238
  21. package/bundles/cdk-collections.umd.js.map +1 -1
  22. package/bundles/cdk-collections.umd.min.js +6 -4
  23. package/bundles/cdk-collections.umd.min.js.map +1 -1
  24. package/bundles/cdk-drag-drop.umd.js +508 -448
  25. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  26. package/bundles/cdk-drag-drop.umd.min.js +64 -8
  27. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  28. package/bundles/cdk-keycodes.umd.js.map +1 -1
  29. package/bundles/cdk-layout.umd.js +30 -26
  30. package/bundles/cdk-layout.umd.js.map +1 -1
  31. package/bundles/cdk-layout.umd.min.js +7 -6
  32. package/bundles/cdk-layout.umd.min.js.map +1 -1
  33. package/bundles/cdk-observers.umd.js +34 -34
  34. package/bundles/cdk-observers.umd.js.map +1 -1
  35. package/bundles/cdk-observers.umd.min.js +2 -2
  36. package/bundles/cdk-observers.umd.min.js.map +1 -1
  37. package/bundles/cdk-overlay.umd.js +492 -435
  38. package/bundles/cdk-overlay.umd.js.map +1 -1
  39. package/bundles/cdk-overlay.umd.min.js +51 -11
  40. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  41. package/bundles/cdk-platform.umd.js +38 -11
  42. package/bundles/cdk-platform.umd.js.map +1 -1
  43. package/bundles/cdk-platform.umd.min.js +5 -12
  44. package/bundles/cdk-platform.umd.min.js.map +1 -1
  45. package/bundles/cdk-portal.umd.js +385 -322
  46. package/bundles/cdk-portal.umd.js.map +1 -1
  47. package/bundles/cdk-portal.umd.min.js +3 -12
  48. package/bundles/cdk-portal.umd.min.js.map +1 -1
  49. package/bundles/cdk-scrolling.umd.js +503 -490
  50. package/bundles/cdk-scrolling.umd.js.map +1 -1
  51. package/bundles/cdk-scrolling.umd.min.js +20 -34
  52. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  53. package/bundles/cdk-stepper.umd.js +135 -136
  54. package/bundles/cdk-stepper.umd.js.map +1 -1
  55. package/bundles/cdk-stepper.umd.min.js +11 -2
  56. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  57. package/bundles/cdk-table.umd.js +923 -653
  58. package/bundles/cdk-table.umd.js.map +1 -1
  59. package/bundles/cdk-table.umd.min.js +7 -22
  60. package/bundles/cdk-table.umd.min.js.map +1 -1
  61. package/bundles/cdk-testing-protractor.umd.js +310 -245
  62. package/bundles/cdk-testing-protractor.umd.js.map +1 -1
  63. package/bundles/cdk-testing-protractor.umd.min.js +2 -9
  64. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  65. package/bundles/cdk-testing-testbed.umd.js +341 -292
  66. package/bundles/cdk-testing-testbed.umd.js.map +1 -1
  67. package/bundles/cdk-testing-testbed.umd.min.js +6 -29
  68. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  69. package/bundles/cdk-testing.umd.js +342 -270
  70. package/bundles/cdk-testing.umd.js.map +1 -1
  71. package/bundles/cdk-testing.umd.min.js +3 -17
  72. package/bundles/cdk-testing.umd.min.js.map +1 -1
  73. package/bundles/cdk-text-field.umd.js +53 -53
  74. package/bundles/cdk-text-field.umd.js.map +1 -1
  75. package/bundles/cdk-text-field.umd.min.js +10 -2
  76. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  77. package/bundles/cdk-tree.umd.js +481 -417
  78. package/bundles/cdk-tree.umd.js.map +1 -1
  79. package/bundles/cdk-tree.umd.min.js +28 -3
  80. package/bundles/cdk-tree.umd.min.js.map +1 -1
  81. package/bundles/cdk.umd.js +1 -1
  82. package/bundles/cdk.umd.js.map +1 -1
  83. package/bundles/cdk.umd.min.js +1 -1
  84. package/bundles/cdk.umd.min.js.map +1 -1
  85. package/collections/dispose-view-repeater-strategy.d.ts +22 -0
  86. package/collections/index.metadata.json +1 -1
  87. package/collections/public-api.d.ts +3 -0
  88. package/collections/recycle-view-repeater-strategy.d.ts +56 -0
  89. package/collections/view-repeater.d.ts +94 -0
  90. package/drag-drop/index.d.ts +1 -2
  91. package/drag-drop/index.metadata.json +1 -1
  92. package/drag-drop/public-api.d.ts +2 -1
  93. package/esm2015/a11y/aria-describer/aria-describer.js +3 -3
  94. package/esm2015/a11y/focus-monitor/focus-monitor.js +3 -3
  95. package/esm2015/a11y/focus-trap/focus-trap.js +5 -4
  96. package/esm2015/a11y/key-manager/list-key-manager.js +8 -6
  97. package/esm2015/clipboard/pending-copy.js +7 -6
  98. package/esm2015/collections/collection-viewer.js +1 -0
  99. package/esm2015/collections/dispose-view-repeater-strategy.js +48 -0
  100. package/esm2015/collections/public-api.js +4 -1
  101. package/esm2015/collections/recycle-view-repeater-strategy.js +128 -0
  102. package/esm2015/collections/selection-model.js +2 -2
  103. package/esm2015/collections/tree-adapter.js +1 -0
  104. package/esm2015/collections/view-repeater.js +16 -0
  105. package/esm2015/drag-drop/clone-node.js +9 -1
  106. package/esm2015/drag-drop/directives/drag-handle.js +1 -3
  107. package/esm2015/drag-drop/directives/drag.js +7 -5
  108. package/esm2015/drag-drop/directives/drop-list.js +3 -3
  109. package/esm2015/drag-drop/drag-events.js +1 -0
  110. package/esm2015/drag-drop/drag-ref.js +2 -2
  111. package/esm2015/drag-drop/index.js +1 -3
  112. package/esm2015/drag-drop/public-api.js +3 -2
  113. package/esm2015/layout/breakpoints-observer.js +9 -9
  114. package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +11 -9
  115. package/esm2015/overlay/overlay-config.js +1 -5
  116. package/esm2015/overlay/overlay-directives.js +18 -2
  117. package/esm2015/overlay/overlay-ref.js +6 -8
  118. package/esm2015/overlay/overlay-reference.js +1 -0
  119. package/esm2015/overlay/overlay.js +4 -4
  120. package/esm2015/overlay/position/connected-position-strategy.js +2 -9
  121. package/esm2015/overlay/position/flexible-connected-position-strategy.js +19 -16
  122. package/esm2015/overlay/position/position-strategy.js +1 -0
  123. package/esm2015/overlay/scroll/close-scroll-strategy.js +2 -2
  124. package/esm2015/overlay/scroll/reposition-scroll-strategy.js +2 -2
  125. package/esm2015/platform/features/scrolling.js +29 -2
  126. package/esm2015/portal/dom-portal-outlet.js +7 -4
  127. package/esm2015/portal/portal-directives.js +3 -3
  128. package/esm2015/portal/portal-injector.js +3 -1
  129. package/esm2015/portal/portal.js +25 -19
  130. package/esm2015/scrolling/fixed-size-virtual-scroll.js +2 -2
  131. package/esm2015/scrolling/scrolling-module.js +4 -1
  132. package/esm2015/scrolling/virtual-for-of.js +67 -92
  133. package/esm2015/scrolling/virtual-scroll-repeater.js +1 -0
  134. package/esm2015/scrolling/virtual-scroll-viewport.js +5 -5
  135. package/esm2015/stepper/stepper.js +19 -17
  136. package/esm2015/table/cell.js +34 -14
  137. package/esm2015/table/coalesced-style-scheduler.js +87 -0
  138. package/esm2015/table/public-api.js +2 -1
  139. package/esm2015/table/sticky-styler.js +79 -45
  140. package/esm2015/table/table-module.js +4 -2
  141. package/esm2015/table/table.js +70 -44
  142. package/esm2015/table/text-column.js +9 -5
  143. package/esm2015/testing/element-dimensions.js +1 -0
  144. package/esm2015/testing/protractor/protractor-element.js +6 -3
  145. package/esm2015/testing/public-api.js +2 -1
  146. package/esm2015/testing/test-element.js +1 -1
  147. package/esm2015/testing/testbed/task-state-zone-interceptor.js +2 -2
  148. package/esm2015/testing/testbed/unit-test-element.js +26 -21
  149. package/esm2015/testing/text-filtering.js +23 -0
  150. package/esm2015/text-field/autofill.js +3 -3
  151. package/esm2015/tree/control/tree-control.js +1 -0
  152. package/esm2015/tree/nested-node.js +2 -2
  153. package/esm2015/tree/padding.js +34 -20
  154. package/esm2015/tree/tree.js +14 -27
  155. package/esm2015/version.js +1 -1
  156. package/fesm2015/a11y.js +15 -12
  157. package/fesm2015/a11y.js.map +1 -1
  158. package/fesm2015/cdk.js +1 -1
  159. package/fesm2015/cdk.js.map +1 -1
  160. package/fesm2015/clipboard.js +6 -5
  161. package/fesm2015/clipboard.js.map +1 -1
  162. package/fesm2015/collections.js +194 -3
  163. package/fesm2015/collections.js.map +1 -1
  164. package/fesm2015/drag-drop.js +32 -23
  165. package/fesm2015/drag-drop.js.map +1 -1
  166. package/fesm2015/layout.js +8 -8
  167. package/fesm2015/layout.js.map +1 -1
  168. package/fesm2015/overlay.js +55 -48
  169. package/fesm2015/overlay.js.map +1 -1
  170. package/fesm2015/platform.js +28 -1
  171. package/fesm2015/platform.js.map +1 -1
  172. package/fesm2015/portal.js +34 -23
  173. package/fesm2015/portal.js.map +1 -1
  174. package/fesm2015/scrolling.js +72 -95
  175. package/fesm2015/scrolling.js.map +1 -1
  176. package/fesm2015/stepper.js +19 -17
  177. package/fesm2015/stepper.js.map +1 -1
  178. package/fesm2015/table.js +274 -105
  179. package/fesm2015/table.js.map +1 -1
  180. package/fesm2015/testing/protractor.js +5 -2
  181. package/fesm2015/testing/protractor.js.map +1 -1
  182. package/fesm2015/testing/testbed.js +26 -21
  183. package/fesm2015/testing/testbed.js.map +1 -1
  184. package/fesm2015/testing.js +24 -1
  185. package/fesm2015/testing.js.map +1 -1
  186. package/fesm2015/text-field.js +2 -2
  187. package/fesm2015/text-field.js.map +1 -1
  188. package/fesm2015/tree.js +46 -45
  189. package/fesm2015/tree.js.map +1 -1
  190. package/layout/breakpoints-observer.d.ts +3 -3
  191. package/overlay/index.metadata.json +1 -1
  192. package/overlay/overlay-config.d.ts +0 -4
  193. package/overlay/overlay-directives.d.ts +1 -0
  194. package/overlay/position/connected-position-strategy.d.ts +1 -3
  195. package/package.json +1 -1
  196. package/platform/index.metadata.json +1 -1
  197. package/portal/index.metadata.json +1 -1
  198. package/portal/portal-injector.d.ts +2 -0
  199. package/schematics/index.js +1 -1
  200. package/schematics/ng-add/index.js +1 -1
  201. package/schematics/ng-update/data/index.js +1 -1
  202. package/schematics/ng-update/public-api.js +1 -1
  203. package/schematics/update-tool/public-api.js +1 -1
  204. package/schematics/utils/index.js +1 -1
  205. package/scrolling/index.metadata.json +1 -1
  206. package/scrolling/scrolling-module.d.ts +3 -0
  207. package/scrolling/virtual-for-of.d.ts +11 -19
  208. package/stepper/index.metadata.json +1 -1
  209. package/stepper/stepper.d.ts +7 -10
  210. package/table/cell.d.ts +21 -1
  211. package/table/coalesced-style-scheduler.d.ts +41 -0
  212. package/table/index.metadata.json +1 -1
  213. package/table/public-api.d.ts +1 -0
  214. package/table/sticky-styler.d.ts +7 -1
  215. package/table/table.d.ts +14 -8
  216. package/testing/protractor/protractor-element.d.ts +2 -2
  217. package/testing/public-api.d.ts +1 -0
  218. package/testing/test-element.d.ts +9 -2
  219. package/testing/testbed/unit-test-element.d.ts +9 -2
  220. package/testing/text-filtering.d.ts +13 -0
  221. package/tree/index.metadata.json +1 -1
  222. package/tree/padding.d.ts +14 -0
  223. package/tree/tree.d.ts +2 -4
@@ -5,45 +5,14 @@
5
5
  *
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.io/license
8
- */var c=new r.InjectionToken("VIRTUAL_SCROLL_STRATEGY"),d=function(){function t(t,e,r){this._scrolledIndexChange=new n.Subject,this.scrolledIndexChange=this._scrolledIndexChange.pipe(o.distinctUntilChanged()),this._viewport=null,this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=r}return t.prototype.attach=function(t){this._viewport=t,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.detach=function(){this._scrolledIndexChange.complete(),this._viewport=null},t.prototype.updateItemAndBufferSize=function(t,e,r){if(r<e)throw Error("CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx");this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=r,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.onContentScrolled=function(){this._updateRenderedRange()},t.prototype.onDataLengthChanged=function(){this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.onContentRendered=function(){},t.prototype.onRenderedOffsetChanged=function(){},t.prototype.scrollToIndex=function(t,e){this._viewport&&this._viewport.scrollToOffset(t*this._itemSize,e)},t.prototype._updateTotalContentSize=function(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)},t.prototype._updateRenderedRange=function(){if(this._viewport){var t=this._viewport.getRenderedRange(),e={start:t.start,end:t.end},r=this._viewport.getViewportSize(),n=this._viewport.getDataLength(),o=this._viewport.measureScrollOffset(),i=o/this._itemSize;if(e.end>n){var a=Math.ceil(r/this._itemSize),s=Math.max(0,Math.min(i,n-a));i!=s&&(i=s,o=s*this._itemSize,e.start=Math.floor(i)),e.end=Math.max(0,Math.min(n,e.start+a))}var l=o-e.start*this._itemSize;if(l<this._minBufferPx&&0!=e.start){var c=Math.ceil((this._maxBufferPx-l)/this._itemSize);e.start=Math.max(0,e.start-c),e.end=Math.min(n,Math.ceil(i+(r+this._minBufferPx)/this._itemSize))}else{var d=e.end*this._itemSize-(o+r);if(d<this._minBufferPx&&e.end!=n){var u=Math.ceil((this._maxBufferPx-d)/this._itemSize);u>0&&(e.end=Math.min(n,e.end+u),e.start=Math.max(0,Math.floor(i-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(this._itemSize*e.start),this._scrolledIndexChange.next(Math.floor(i))}},t}();
8
+ */var c=new r.InjectionToken("VIRTUAL_SCROLL_STRATEGY"),d=function(){function t(t,e,r){this._scrolledIndexChange=new n.Subject,this.scrolledIndexChange=this._scrolledIndexChange.pipe(o.distinctUntilChanged()),this._viewport=null,this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=r}return t.prototype.attach=function(t){this._viewport=t,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.detach=function(){this._scrolledIndexChange.complete(),this._viewport=null},t.prototype.updateItemAndBufferSize=function(t,e,r){this._itemSize=t,this._minBufferPx=e,this._maxBufferPx=r,this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.onContentScrolled=function(){this._updateRenderedRange()},t.prototype.onDataLengthChanged=function(){this._updateTotalContentSize(),this._updateRenderedRange()},t.prototype.onContentRendered=function(){},t.prototype.onRenderedOffsetChanged=function(){},t.prototype.scrollToIndex=function(t,e){this._viewport&&this._viewport.scrollToOffset(t*this._itemSize,e)},t.prototype._updateTotalContentSize=function(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)},t.prototype._updateRenderedRange=function(){if(this._viewport){var t=this._viewport.getRenderedRange(),e={start:t.start,end:t.end},r=this._viewport.getViewportSize(),n=this._viewport.getDataLength(),o=this._viewport.measureScrollOffset(),i=o/this._itemSize;if(e.end>n){var a=Math.ceil(r/this._itemSize),s=Math.max(0,Math.min(i,n-a));i!=s&&(i=s,o=s*this._itemSize,e.start=Math.floor(i)),e.end=Math.max(0,Math.min(n,e.start+a))}var l=o-e.start*this._itemSize;if(l<this._minBufferPx&&0!=e.start){var c=Math.ceil((this._maxBufferPx-l)/this._itemSize);e.start=Math.max(0,e.start-c),e.end=Math.min(n,Math.ceil(i+(r+this._minBufferPx)/this._itemSize))}else{var d=e.end*this._itemSize-(o+r);if(d<this._minBufferPx&&e.end!=n){var u=Math.ceil((this._maxBufferPx-d)/this._itemSize);u>0&&(e.end=Math.min(n,e.end+u),e.start=Math.max(0,Math.floor(i-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(this._itemSize*e.start),this._scrolledIndexChange.next(Math.floor(i))}},t}();
9
9
  /**
10
10
  * @license
11
11
  * Copyright Google LLC All Rights Reserved.
12
12
  *
13
13
  * Use of this source code is governed by an MIT-style license that can be
14
14
  * found in the LICENSE file at https://angular.io/license
15
- */function u(t){return t._scrollStrategy}var h=function(){function t(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new d(this.itemSize,this.minBufferPx,this.maxBufferPx)}return Object.defineProperty(t.prototype,"itemSize",{get:function(){return this._itemSize},set:function(t){this._itemSize=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minBufferPx",{get:function(){return this._minBufferPx},set:function(t){this._minBufferPx=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxBufferPx",{get:function(){return this._maxBufferPx},set:function(t){this._maxBufferPx=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)},t.decorators=[{type:r.Directive,args:[{selector:"cdk-virtual-scroll-viewport[itemSize]",providers:[{provide:c,useFactory:u,deps:[r.forwardRef((function(){return t}))]}]}]}],t.propDecorators={itemSize:[{type:r.Input}],minBufferPx:[{type:r.Input}],maxBufferPx:[{type:r.Input}]},t}(),p=function(){function t(t,e,r){this._ngZone=t,this._platform=e,this._scrolled=new n.Subject,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}return t.prototype.register=function(t){var e=this;this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe((function(){return e._scrolled.next(t)})))},t.prototype.deregister=function(t){var e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))},t.prototype.scrolled=function(t){var e=this;return void 0===t&&(t=20),this._platform.isBrowser?new n.Observable((function(r){e._globalSubscription||e._addGlobalListener();var n=t>0?e._scrolled.pipe(o.auditTime(t)).subscribe(r):e._scrolled.subscribe(r);return e._scrolledCount++,function(){n.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}})):n.of()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach((function(e,r){return t.deregister(r)})),this._scrolled.complete()},t.prototype.ancestorScrolled=function(t,e){var r=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(o.filter((function(t){return!t||r.indexOf(t)>-1})))},t.prototype.getAncestorScrollContainers=function(t){var e=this,r=[];return this.scrollContainers.forEach((function(n,o){e._scrollableContainsElement(o,t)&&r.push(o)})),r},t.prototype._getDocument=function(){return this._document||document},t.prototype._getWindow=function(){return this._getDocument().defaultView||window},t.prototype._scrollableContainsElement=function(t,e){var r=e.nativeElement,n=t.getElementRef().nativeElement;do{if(r==n)return!0}while(r=r.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular((function(){var e=t._getWindow();return n.fromEvent(e.document,"scroll").subscribe((function(){return t._scrolled.next()}))}))},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t.ɵprov=r.ɵɵdefineInjectable({factory:function e(){return new t(r.ɵɵinject(r.NgZone),r.ɵɵinject(i.Platform),r.ɵɵinject(a.DOCUMENT,8))},token:t,providedIn:"root"}),t.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.NgZone},{type:i.Platform},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[a.DOCUMENT]}]}]},t}(),f=function(){function t(t,e,r,i){var a=this;this.elementRef=t,this.scrollDispatcher=e,this.ngZone=r,this.dir=i,this._destroyed=new n.Subject,this._elementScrolled=new n.Observable((function(t){return a.ngZone.runOutsideAngular((function(){return n.fromEvent(a.elementRef.nativeElement,"scroll").pipe(o.takeUntil(a._destroyed)).subscribe(t)}))}))}return t.prototype.ngOnInit=function(){this.scrollDispatcher.register(this)},t.prototype.ngOnDestroy=function(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()},t.prototype.elementScrolled=function(){return this._elementScrolled},t.prototype.getElementRef=function(){return this.elementRef},t.prototype.scrollTo=function(t){var e=this.elementRef.nativeElement,r=this.dir&&"rtl"==this.dir.value;null==t.left&&(t.left=r?t.end:t.start),null==t.right&&(t.right=r?t.start:t.end),null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),r&&0!=i.getRtlScrollAxisType()?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),2==i.getRtlScrollAxisType()?t.left=t.right:1==i.getRtlScrollAxisType()&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)},t.prototype._applyScrollToOptions=function(t){var e=this.elementRef.nativeElement;i.supportsScrollBehavior()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))},t.prototype.measureScrollOffset=function(t){var e=this.elementRef.nativeElement;if("top"==t)return e.scrollTop;if("bottom"==t)return e.scrollHeight-e.clientHeight-e.scrollTop;var r=this.dir&&"rtl"==this.dir.value;return"start"==t?t=r?"right":"left":"end"==t&&(t=r?"left":"right"),r&&2==i.getRtlScrollAxisType()?"left"==t?e.scrollWidth-e.clientWidth-e.scrollLeft:e.scrollLeft:r&&1==i.getRtlScrollAxisType()?"left"==t?e.scrollLeft+e.scrollWidth-e.clientWidth:-e.scrollLeft:"left"==t?e.scrollLeft:e.scrollWidth-e.clientWidth-e.scrollLeft},t.decorators=[{type:r.Directive,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],t.ctorParameters=function(){return[{type:r.ElementRef},{type:p},{type:r.NgZone},{type:s.Directionality,decorators:[{type:r.Optional}]}]},t}(),_=function(t,e){return(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};
16
- /**
17
- * @license
18
- * Copyright Google LLC All Rights Reserved.
19
- *
20
- * Use of this source code is governed by an MIT-style license that can be
21
- * found in the LICENSE file at https://angular.io/license
22
- */function g(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}
23
- /**
24
- * @license
25
- * Copyright Google LLC All Rights Reserved.
26
- *
27
- * Use of this source code is governed by an MIT-style license that can be
28
- * found in the LICENSE file at https://angular.io/license
29
- */
30
- var m=function(){function t(t,e,r){var o=this;this._platform=t,this._change=new n.Subject,this._changeListener=function(t){o._change.next(t)},this._document=r,e.runOutsideAngular((function(){if(t.isBrowser){var e=o._getWindow();e.addEventListener("resize",o._changeListener),e.addEventListener("orientationchange",o._changeListener)}o.change().subscribe((function(){return o._updateViewportSize()}))}))}return t.prototype.ngOnDestroy=function(){if(this._platform.isBrowser){var t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()},t.prototype.getViewportSize=function(){this._viewportSize||this._updateViewportSize();var t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t},t.prototype.getViewportRect=function(){var t=this.getViewportScrollPosition(),e=this.getViewportSize(),r=e.width,n=e.height;return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+r,height:n,width:r}},t.prototype.getViewportScrollPosition=function(){if(!this._platform.isBrowser)return{top:0,left:0};var t=this._getDocument(),e=this._getWindow(),r=t.documentElement,n=r.getBoundingClientRect();return{top:-n.top||t.body.scrollTop||e.scrollY||r.scrollTop||0,left:-n.left||t.body.scrollLeft||e.scrollX||r.scrollLeft||0}},t.prototype.change=function(t){return void 0===t&&(t=20),t>0?this._change.pipe(o.auditTime(t)):this._change},t.prototype._getDocument=function(){return this._document||document},t.prototype._getWindow=function(){return this._getDocument().defaultView||window},t.prototype._updateViewportSize=function(){var t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}},t.ɵprov=r.ɵɵdefineInjectable({factory:function e(){return new t(r.ɵɵinject(i.Platform),r.ɵɵinject(r.NgZone),r.ɵɵinject(a.DOCUMENT,8))},token:t,providedIn:"root"}),t.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:i.Platform},{type:r.NgZone},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[a.DOCUMENT]}]}]},t}(),y="undefined"!=typeof requestAnimationFrame?n.animationFrameScheduler:n.asapScheduler,v=function(t){function e(e,r,o,i,a,s,l){var c=t.call(this,e,s,o,a)||this;if(c.elementRef=e,c._changeDetectorRef=r,c._scrollStrategy=i,c._detachedSubject=new n.Subject,c._renderedRangeSubject=new n.Subject,c._orientation="vertical",c.scrolledIndexChange=new n.Observable((function(t){return c._scrollStrategy.scrolledIndexChange.subscribe((function(e){return Promise.resolve().then((function(){return c.ngZone.run((function(){return t.next(e)}))}))}))})),c.renderedRangeStream=c._renderedRangeSubject.asObservable(),c._totalContentSize=0,c._totalContentWidth="",c._totalContentHeight="",c._renderedRange={start:0,end:0},c._dataLength=0,c._viewportSize=0,c._renderedContentOffset=0,c._renderedContentOffsetNeedsRewrite=!1,c._isChangeDetectionPending=!1,c._runAfterChangeDetection=[],c._viewportChanges=n.Subscription.EMPTY,!i)throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.');return l&&(c._viewportChanges=l.change().subscribe((function(){c.checkViewportSize()}))),c}return function i(t,e){function r(){this.constructor=t}_(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),Object.defineProperty(e.prototype,"orientation",{get:function(){return this._orientation},set:function(t){this._orientation!==t&&(this._orientation=t,this._calculateSpacerSize())},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this.ngZone.runOutsideAngular((function(){return Promise.resolve().then((function(){e._measureViewportSize(),e._scrollStrategy.attach(e),e.elementScrolled().pipe(o.startWith(null),o.auditTime(0,y)).subscribe((function(){return e._scrollStrategy.onContentScrolled()})),e._markChangeDetectionNeeded()}))}))},e.prototype.ngOnDestroy=function(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),t.prototype.ngOnDestroy.call(this)},e.prototype.attach=function(t){var e=this;if(this._forOf)throw Error("CdkVirtualScrollViewport is already attached.");this.ngZone.runOutsideAngular((function(){e._forOf=t,e._forOf.dataStream.pipe(o.takeUntil(e._detachedSubject)).subscribe((function(t){var r=t.length;r!==e._dataLength&&(e._dataLength=r,e._scrollStrategy.onDataLengthChanged()),e._doChangeDetection()}))}))},e.prototype.detach=function(){this._forOf=null,this._detachedSubject.next()},e.prototype.getDataLength=function(){return this._dataLength},e.prototype.getViewportSize=function(){return this._viewportSize},e.prototype.getRenderedRange=function(){return this._renderedRange},e.prototype.setTotalContentSize=function(t){this._totalContentSize!==t&&(this._totalContentSize=t,this._calculateSpacerSize(),this._markChangeDetectionNeeded())},e.prototype.setRenderedRange=function(t){var e=this;(
31
- /**
32
- * @license
33
- * Copyright Google LLC All Rights Reserved.
34
- *
35
- * Use of this source code is governed by an MIT-style license that can be
36
- * found in the LICENSE file at https://angular.io/license
37
- */
38
- function r(t,e){return t.start==e.start&&t.end==e.end})(this._renderedRange,t)||(this._renderedRangeSubject.next(this._renderedRange=t),this._markChangeDetectionNeeded((function(){return e._scrollStrategy.onContentRendered()})))},e.prototype.getOffsetToRenderedContentStart=function(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset},e.prototype.setRenderedContentOffset=function(t,e){var r=this;void 0===e&&(e="to-start");var n="horizontal"==this.orientation,o=n?"X":"Y",i="translate"+o+"("+Number((n&&this.dir&&"rtl"==this.dir.value?-1:1)*t)+"px)";this._renderedContentOffset=t,"to-end"===e&&(i+=" translate"+o+"(-100%)",this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=i&&(this._renderedContentTransform=i,this._markChangeDetectionNeeded((function(){r._renderedContentOffsetNeedsRewrite?(r._renderedContentOffset-=r.measureRenderedContentSize(),r._renderedContentOffsetNeedsRewrite=!1,r.setRenderedContentOffset(r._renderedContentOffset)):r._scrollStrategy.onRenderedOffsetChanged()})))},e.prototype.scrollToOffset=function(t,e){void 0===e&&(e="auto");var r={behavior:e};"horizontal"===this.orientation?r.start=t:r.top=t,this.scrollTo(r)},e.prototype.scrollToIndex=function(t,e){void 0===e&&(e="auto"),this._scrollStrategy.scrollToIndex(t,e)},e.prototype.measureScrollOffset=function(e){return t.prototype.measureScrollOffset.call(this,e||("horizontal"===this.orientation?"start":"top"))},e.prototype.measureRenderedContentSize=function(){var t=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?t.offsetWidth:t.offsetHeight},e.prototype.measureRangeSize=function(t){return this._forOf?this._forOf.measureRangeSize(t,this.orientation):0},e.prototype.checkViewportSize=function(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()},e.prototype._measureViewportSize=function(){var t=this.elementRef.nativeElement;this._viewportSize="horizontal"===this.orientation?t.clientWidth:t.clientHeight},e.prototype._markChangeDetectionNeeded=function(t){var e=this;t&&this._runAfterChangeDetection.push(t),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular((function(){return Promise.resolve().then((function(){e._doChangeDetection()}))})))},e.prototype._doChangeDetection=function(){var t,e,r=this;this._isChangeDetectionPending=!1,this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,this.ngZone.run((function(){return r._changeDetectorRef.markForCheck()}));var n=this._runAfterChangeDetection;this._runAfterChangeDetection=[];try{for(var o=g(n),i=o.next();!i.done;i=o.next())(0,i.value)()}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}},e.prototype._calculateSpacerSize=function(){this._totalContentHeight="horizontal"===this.orientation?"":this._totalContentSize+"px",this._totalContentWidth="horizontal"===this.orientation?this._totalContentSize+"px":""},e.decorators=[{type:r.Component,args:[{selector:"cdk-virtual-scroll-viewport",template:'\x3c!--\n Wrap the rendered content in an element that will be used to offset it based on the scroll\n position.\n--\x3e\n<div #contentWrapper class="cdk-virtual-scroll-content-wrapper">\n <ng-content></ng-content>\n</div>\n\x3c!--\n Spacer used to force the scrolling container to the correct size for the *total* number of items\n so that the scrollbar captures the size of the entire data set.\n--\x3e\n<div class="cdk-virtual-scroll-spacer"\n [style.width]="_totalContentWidth" [style.height]="_totalContentHeight"></div>\n',host:{class:"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":'orientation === "horizontal"',"[class.cdk-virtual-scroll-orientation-vertical]":'orientation !== "horizontal"'},encapsulation:r.ViewEncapsulation.None,changeDetection:r.ChangeDetectionStrategy.OnPush,providers:[{provide:f,useExisting:e}],styles:["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\n"]}]}],e.ctorParameters=function(){return[{type:r.ElementRef},{type:r.ChangeDetectorRef},{type:r.NgZone},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[c]}]},{type:s.Directionality,decorators:[{type:r.Optional}]},{type:p},{type:m,decorators:[{type:r.Optional}]}]},e.propDecorators={orientation:[{type:r.Input}],scrolledIndexChange:[{type:r.Output}],_contentWrapper:[{type:r.ViewChild,args:["contentWrapper",{static:!0}]}]},e}(f);
39
- /**
40
- * @license
41
- * Copyright Google LLC All Rights Reserved.
42
- *
43
- * Use of this source code is governed by an MIT-style license that can be
44
- * found in the LICENSE file at https://angular.io/license
45
- */
46
- function S(t,e){if(!e.getBoundingClientRect)return 0;var r=e.getBoundingClientRect();return"horizontal"==t?r.width:r.height}var w=function(){function t(t,e,r,i,a){var s=this;this._viewContainerRef=t,this._template=e,this._differs=r,this._viewport=i,this.viewChange=new n.Subject,this._dataSourceChanges=new n.Subject,this.cdkVirtualForTemplateCacheSize=20,this.dataStream=this._dataSourceChanges.pipe(o.startWith(null),o.pairwise(),o.switchMap((function(t){var e=function r(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}(t,2);return s._changeDataSource(e[0],e[1])})),o.shareReplay(1)),this._differ=null,this._templateCache=[],this._needsUpdate=!1,this._destroyed=new n.Subject,this.dataStream.subscribe((function(t){s._data=t,s._onRenderedDataChange()})),this._viewport.renderedRangeStream.pipe(o.takeUntil(this._destroyed)).subscribe((function(t){s._renderedRange=t,a.run((function(){return s.viewChange.next(s._renderedRange)})),s._onRenderedDataChange()})),this._viewport.attach(this)}return Object.defineProperty(t.prototype,"cdkVirtualForOf",{get:function(){return this._cdkVirtualForOf},set:function(t){this._cdkVirtualForOf=t,l.isDataSource(t)?this._dataSourceChanges.next(t):this._dataSourceChanges.next(new l.ArrayDataSource(n.isObservable(t)?t:Array.prototype.slice.call(t||[])))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTrackBy",{get:function(){return this._cdkVirtualForTrackBy},set:function(t){var e=this;this._needsUpdate=!0,this._cdkVirtualForTrackBy=t?function(r,n){return t(r+(e._renderedRange?e._renderedRange.start:0),n)}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTemplate",{set:function(t){t&&(this._needsUpdate=!0,this._template=t)},enumerable:!1,configurable:!0}),t.prototype.measureRangeSize=function(t,e){if(t.start>=t.end)return 0;if(t.start<this._renderedRange.start||t.end>this._renderedRange.end)throw Error("Error: attempted to measure an item that isn't rendered.");for(var r=t.start-this._renderedRange.start,n=0,o=t.end-t.start;o--;)for(var i=this._viewContainerRef.get(o+r),a=i?i.rootNodes.length:0;a--;)n+=S(e,i.rootNodes[a]);return n},t.prototype.ngDoCheck=function(){if(this._differ&&this._needsUpdate){var t=this._differ.diff(this._renderedItems);t?this._applyChanges(t):this._updateContext(),this._needsUpdate=!1}},t.prototype.ngOnDestroy=function(){var t,e;this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete();try{for(var r=g(this._templateCache),n=r.next();!n.done;n=r.next())n.value.destroy()}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},t.prototype._onRenderedDataChange=function(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create(this.cdkVirtualForTrackBy)),this._needsUpdate=!0)},t.prototype._changeDataSource=function(t,e){return t&&t.disconnect(this),this._needsUpdate=!0,e?e.connect(this):n.of()},t.prototype._updateContext=function(){for(var t=this._data.length,e=this._viewContainerRef.length;e--;){var r=this._viewContainerRef.get(e);r.context.index=this._renderedRange.start+e,r.context.count=t,this._updateComputedContextProperties(r.context),r.detectChanges()}},t.prototype._applyChanges=function(t){var e=this;t.forEachOperation((function(t,r,n){if(null==t.previousIndex)(o=e._insertViewForNewItem(n)).context.$implicit=t.item;else if(null==n)e._cacheView(e._detachView(r));else{var o=e._viewContainerRef.get(r);e._viewContainerRef.move(o,n),o.context.$implicit=t.item}})),t.forEachIdentityChange((function(t){e._viewContainerRef.get(t.currentIndex).context.$implicit=t.item}));for(var r=this._data.length,n=this._viewContainerRef.length;n--;){var o=this._viewContainerRef.get(n);o.context.index=this._renderedRange.start+n,o.context.count=r,this._updateComputedContextProperties(o.context)}},t.prototype._cacheView=function(t){if(this._templateCache.length<this.cdkVirtualForTemplateCacheSize)this._templateCache.push(t);else{var e=this._viewContainerRef.indexOf(t);-1===e?t.destroy():this._viewContainerRef.remove(e)}},t.prototype._insertViewForNewItem=function(t){return this._insertViewFromCache(t)||this._createEmbeddedViewAt(t)},t.prototype._updateComputedContextProperties=function(t){t.first=0===t.index,t.last=t.index===t.count-1,t.even=t.index%2==0,t.odd=!t.even},t.prototype._createEmbeddedViewAt=function(t){return this._viewContainerRef.createEmbeddedView(this._template,{$implicit:null,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},t)},t.prototype._insertViewFromCache=function(t){var e=this._templateCache.pop();return e&&this._viewContainerRef.insert(e,t),e||null},t.prototype._detachView=function(t){return this._viewContainerRef.detach(t)},t.decorators=[{type:r.Directive,args:[{selector:"[cdkVirtualFor][cdkVirtualForOf]"}]}],t.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:r.TemplateRef},{type:r.IterableDiffers},{type:v,decorators:[{type:r.SkipSelf}]},{type:r.NgZone}]},t.propDecorators={cdkVirtualForOf:[{type:r.Input}],cdkVirtualForTrackBy:[{type:r.Input}],cdkVirtualForTemplate:[{type:r.Input}],cdkVirtualForTemplateCacheSize:[{type:r.Input}]},t}(),C=function(){function t(){}return t.decorators=[{type:r.NgModule,args:[{exports:[f],declarations:[f]}]}],t}(),b=function(){function t(){}return t.decorators=[{type:r.NgModule,args:[{imports:[s.BidiModule,i.PlatformModule,C],exports:[s.BidiModule,C,h,w,v],declarations:[h,w,v]}]}],t}();
15
+ */function u(t){return t._scrollStrategy}var h=function(){function t(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new d(this.itemSize,this.minBufferPx,this.maxBufferPx)}return Object.defineProperty(t.prototype,"itemSize",{get:function(){return this._itemSize},set:function(t){this._itemSize=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minBufferPx",{get:function(){return this._minBufferPx},set:function(t){this._minBufferPx=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxBufferPx",{get:function(){return this._maxBufferPx},set:function(t){this._maxBufferPx=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)},t}();h.decorators=[{type:r.Directive,args:[{selector:"cdk-virtual-scroll-viewport[itemSize]",providers:[{provide:c,useFactory:u,deps:[r.forwardRef((function(){return h}))]}]}]}],h.propDecorators={itemSize:[{type:r.Input}],minBufferPx:[{type:r.Input}],maxBufferPx:[{type:r.Input}]};
47
16
  /**
48
17
  * @license
49
18
  * Copyright Google LLC All Rights Reserved.
@@ -51,6 +20,7 @@ function S(t,e){if(!e.getBoundingClientRect)return 0;var r=e.getBoundingClientRe
51
20
  * Use of this source code is governed by an MIT-style license that can be
52
21
  * found in the LICENSE file at https://angular.io/license
53
22
  */
23
+ var p=function(){function t(t,e,r){this._ngZone=t,this._platform=e,this._scrolled=new n.Subject,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}return t.prototype.register=function(t){var e=this;this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe((function(){return e._scrolled.next(t)})))},t.prototype.deregister=function(t){var e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))},t.prototype.scrolled=function(t){var e=this;return void 0===t&&(t=20),this._platform.isBrowser?new n.Observable((function(r){e._globalSubscription||e._addGlobalListener();var n=t>0?e._scrolled.pipe(o.auditTime(t)).subscribe(r):e._scrolled.subscribe(r);return e._scrolledCount++,function(){n.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}})):n.of()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach((function(e,r){return t.deregister(r)})),this._scrolled.complete()},t.prototype.ancestorScrolled=function(t,e){var r=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(o.filter((function(t){return!t||r.indexOf(t)>-1})))},t.prototype.getAncestorScrollContainers=function(t){var e=this,r=[];return this.scrollContainers.forEach((function(n,o){e._scrollableContainsElement(o,t)&&r.push(o)})),r},t.prototype._getDocument=function(){return this._document||document},t.prototype._getWindow=function(){return this._getDocument().defaultView||window},t.prototype._scrollableContainsElement=function(t,e){var r=e.nativeElement,n=t.getElementRef().nativeElement;do{if(r==n)return!0}while(r=r.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular((function(){var e=t._getWindow();return n.fromEvent(e.document,"scroll").subscribe((function(){return t._scrolled.next()}))}))},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t}();p.ɵprov=r.ɵɵdefineInjectable({factory:function t(){return new p(r.ɵɵinject(r.NgZone),r.ɵɵinject(i.Platform),r.ɵɵinject(a.DOCUMENT,8))},token:p,providedIn:"root"}),p.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],p.ctorParameters=function(){return[{type:r.NgZone},{type:i.Platform},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[a.DOCUMENT]}]}]};
54
24
  /**
55
25
  * @license
56
26
  * Copyright Google LLC All Rights Reserved.
@@ -58,6 +28,22 @@ function S(t,e){if(!e.getBoundingClientRect)return 0;var r=e.getBoundingClientRe
58
28
  * Use of this source code is governed by an MIT-style license that can be
59
29
  * found in the LICENSE file at https://angular.io/license
60
30
  */
31
+ var f=function(){function t(t,e,r,i){var a=this;this.elementRef=t,this.scrollDispatcher=e,this.ngZone=r,this.dir=i,this._destroyed=new n.Subject,this._elementScrolled=new n.Observable((function(t){return a.ngZone.runOutsideAngular((function(){return n.fromEvent(a.elementRef.nativeElement,"scroll").pipe(o.takeUntil(a._destroyed)).subscribe(t)}))}))}return t.prototype.ngOnInit=function(){this.scrollDispatcher.register(this)},t.prototype.ngOnDestroy=function(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()},t.prototype.elementScrolled=function(){return this._elementScrolled},t.prototype.getElementRef=function(){return this.elementRef},t.prototype.scrollTo=function(t){var e=this.elementRef.nativeElement,r=this.dir&&"rtl"==this.dir.value;null==t.left&&(t.left=r?t.end:t.start),null==t.right&&(t.right=r?t.start:t.end),null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),r&&0!=i.getRtlScrollAxisType()?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),2==i.getRtlScrollAxisType()?t.left=t.right:1==i.getRtlScrollAxisType()&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)},t.prototype._applyScrollToOptions=function(t){var e=this.elementRef.nativeElement;i.supportsScrollBehavior()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))},t.prototype.measureScrollOffset=function(t){var e=this.elementRef.nativeElement;if("top"==t)return e.scrollTop;if("bottom"==t)return e.scrollHeight-e.clientHeight-e.scrollTop;var r=this.dir&&"rtl"==this.dir.value;return"start"==t?t=r?"right":"left":"end"==t&&(t=r?"left":"right"),r&&2==i.getRtlScrollAxisType()?"left"==t?e.scrollWidth-e.clientWidth-e.scrollLeft:e.scrollLeft:r&&1==i.getRtlScrollAxisType()?"left"==t?e.scrollLeft+e.scrollWidth-e.clientWidth:-e.scrollLeft:"left"==t?e.scrollLeft:e.scrollWidth-e.clientWidth-e.scrollLeft},t}();f.decorators=[{type:r.Directive,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],f.ctorParameters=function(){return[{type:r.ElementRef},{type:p},{type:r.NgZone},{type:s.Directionality,decorators:[{type:r.Optional}]}]};
32
+ /*! *****************************************************************************
33
+ Copyright (c) Microsoft Corporation.
34
+
35
+ Permission to use, copy, modify, and/or distribute this software for any
36
+ purpose with or without fee is hereby granted.
37
+
38
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
39
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
40
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
41
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
42
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
43
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
44
+ PERFORMANCE OF THIS SOFTWARE.
45
+ ***************************************************************************** */
46
+ var g=function(t,e){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},_=function(){function t(t,e,r){var o=this;this._platform=t,this._change=new n.Subject,this._changeListener=function(t){o._change.next(t)},this._document=r,e.runOutsideAngular((function(){if(t.isBrowser){var e=o._getWindow();e.addEventListener("resize",o._changeListener),e.addEventListener("orientationchange",o._changeListener)}o.change().subscribe((function(){return o._updateViewportSize()}))}))}return t.prototype.ngOnDestroy=function(){if(this._platform.isBrowser){var t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()},t.prototype.getViewportSize=function(){this._viewportSize||this._updateViewportSize();var t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t},t.prototype.getViewportRect=function(){var t=this.getViewportScrollPosition(),e=this.getViewportSize(),r=e.width,n=e.height;return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+r,height:n,width:r}},t.prototype.getViewportScrollPosition=function(){if(!this._platform.isBrowser)return{top:0,left:0};var t=this._getDocument(),e=this._getWindow(),r=t.documentElement,n=r.getBoundingClientRect();return{top:-n.top||t.body.scrollTop||e.scrollY||r.scrollTop||0,left:-n.left||t.body.scrollLeft||e.scrollX||r.scrollLeft||0}},t.prototype.change=function(t){return void 0===t&&(t=20),t>0?this._change.pipe(o.auditTime(t)):this._change},t.prototype._getDocument=function(){return this._document||document},t.prototype._getWindow=function(){return this._getDocument().defaultView||window},t.prototype._updateViewportSize=function(){var t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}},t}();_.ɵprov=r.ɵɵdefineInjectable({factory:function t(){return new _(r.ɵɵinject(i.Platform),r.ɵɵinject(r.NgZone),r.ɵɵinject(a.DOCUMENT,8))},token:_,providedIn:"root"}),_.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],_.ctorParameters=function(){return[{type:i.Platform},{type:r.NgZone},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[a.DOCUMENT]}]}]};var m="undefined"!=typeof requestAnimationFrame?n.animationFrameScheduler:n.asapScheduler,y=function(t){function e(e,r,o,i,a,s,l){var c=t.call(this,e,s,o,a)||this;return c.elementRef=e,c._changeDetectorRef=r,c._scrollStrategy=i,c._detachedSubject=new n.Subject,c._renderedRangeSubject=new n.Subject,c._orientation="vertical",c.scrolledIndexChange=new n.Observable((function(t){return c._scrollStrategy.scrolledIndexChange.subscribe((function(e){return Promise.resolve().then((function(){return c.ngZone.run((function(){return t.next(e)}))}))}))})),c.renderedRangeStream=c._renderedRangeSubject,c._totalContentSize=0,c._totalContentWidth="",c._totalContentHeight="",c._renderedRange={start:0,end:0},c._dataLength=0,c._viewportSize=0,c._renderedContentOffset=0,c._renderedContentOffsetNeedsRewrite=!1,c._isChangeDetectionPending=!1,c._runAfterChangeDetection=[],c._viewportChanges=n.Subscription.EMPTY,l&&(c._viewportChanges=l.change().subscribe((function(){c.checkViewportSize()}))),c}return function r(t,e){function r(){this.constructor=t}g(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),Object.defineProperty(e.prototype,"orientation",{get:function(){return this._orientation},set:function(t){this._orientation!==t&&(this._orientation=t,this._calculateSpacerSize())},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;t.prototype.ngOnInit.call(this),this.ngZone.runOutsideAngular((function(){return Promise.resolve().then((function(){e._measureViewportSize(),e._scrollStrategy.attach(e),e.elementScrolled().pipe(o.startWith(null),o.auditTime(0,m)).subscribe((function(){return e._scrollStrategy.onContentScrolled()})),e._markChangeDetectionNeeded()}))}))},e.prototype.ngOnDestroy=function(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),t.prototype.ngOnDestroy.call(this)},e.prototype.attach=function(t){var e=this;this.ngZone.runOutsideAngular((function(){e._forOf=t,e._forOf.dataStream.pipe(o.takeUntil(e._detachedSubject)).subscribe((function(t){var r=t.length;r!==e._dataLength&&(e._dataLength=r,e._scrollStrategy.onDataLengthChanged()),e._doChangeDetection()}))}))},e.prototype.detach=function(){this._forOf=null,this._detachedSubject.next()},e.prototype.getDataLength=function(){return this._dataLength},e.prototype.getViewportSize=function(){return this._viewportSize},e.prototype.getRenderedRange=function(){return this._renderedRange},e.prototype.setTotalContentSize=function(t){this._totalContentSize!==t&&(this._totalContentSize=t,this._calculateSpacerSize(),this._markChangeDetectionNeeded())},e.prototype.setRenderedRange=function(t){var e=this;(function r(t,e){return t.start==e.start&&t.end==e.end})(this._renderedRange,t)||(this._renderedRangeSubject.next(this._renderedRange=t),this._markChangeDetectionNeeded((function(){return e._scrollStrategy.onContentRendered()})))},e.prototype.getOffsetToRenderedContentStart=function(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset},e.prototype.setRenderedContentOffset=function(t,e){var r=this;void 0===e&&(e="to-start");var n="horizontal"==this.orientation,o=n?"X":"Y",i="translate"+o+"("+Number((n&&this.dir&&"rtl"==this.dir.value?-1:1)*t)+"px)";this._renderedContentOffset=t,"to-end"===e&&(i+=" translate"+o+"(-100%)",this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=i&&(this._renderedContentTransform=i,this._markChangeDetectionNeeded((function(){r._renderedContentOffsetNeedsRewrite?(r._renderedContentOffset-=r.measureRenderedContentSize(),r._renderedContentOffsetNeedsRewrite=!1,r.setRenderedContentOffset(r._renderedContentOffset)):r._scrollStrategy.onRenderedOffsetChanged()})))},e.prototype.scrollToOffset=function(t,e){void 0===e&&(e="auto");var r={behavior:e};"horizontal"===this.orientation?r.start=t:r.top=t,this.scrollTo(r)},e.prototype.scrollToIndex=function(t,e){void 0===e&&(e="auto"),this._scrollStrategy.scrollToIndex(t,e)},e.prototype.measureScrollOffset=function(e){return t.prototype.measureScrollOffset.call(this,e||("horizontal"===this.orientation?"start":"top"))},e.prototype.measureRenderedContentSize=function(){var t=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?t.offsetWidth:t.offsetHeight},e.prototype.measureRangeSize=function(t){return this._forOf?this._forOf.measureRangeSize(t,this.orientation):0},e.prototype.checkViewportSize=function(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()},e.prototype._measureViewportSize=function(){var t=this.elementRef.nativeElement;this._viewportSize="horizontal"===this.orientation?t.clientWidth:t.clientHeight},e.prototype._markChangeDetectionNeeded=function(t){var e=this;t&&this._runAfterChangeDetection.push(t),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular((function(){return Promise.resolve().then((function(){e._doChangeDetection()}))})))},e.prototype._doChangeDetection=function(){var t,e,r=this;this._isChangeDetectionPending=!1,this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,this.ngZone.run((function(){return r._changeDetectorRef.markForCheck()}));var n=this._runAfterChangeDetection;this._runAfterChangeDetection=[];try{for(var o=function i(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(n),a=o.next();!a.done;a=o.next())(0,a.value)()}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}},e.prototype._calculateSpacerSize=function(){this._totalContentHeight="horizontal"===this.orientation?"":this._totalContentSize+"px",this._totalContentWidth="horizontal"===this.orientation?this._totalContentSize+"px":""},e}(f);function v(t,e,r){if(!r.getBoundingClientRect)return 0;var n=r.getBoundingClientRect();return"horizontal"===t?"start"===e?n.left:n.right:"start"===e?n.top:n.bottom}y.decorators=[{type:r.Component,args:[{selector:"cdk-virtual-scroll-viewport",template:'\x3c!--\n Wrap the rendered content in an element that will be used to offset it based on the scroll\n position.\n--\x3e\n<div #contentWrapper class="cdk-virtual-scroll-content-wrapper">\n <ng-content></ng-content>\n</div>\n\x3c!--\n Spacer used to force the scrolling container to the correct size for the *total* number of items\n so that the scrollbar captures the size of the entire data set.\n--\x3e\n<div class="cdk-virtual-scroll-spacer"\n [style.width]="_totalContentWidth" [style.height]="_totalContentHeight"></div>\n',host:{class:"cdk-virtual-scroll-viewport","[class.cdk-virtual-scroll-orientation-horizontal]":'orientation === "horizontal"',"[class.cdk-virtual-scroll-orientation-vertical]":'orientation !== "horizontal"'},encapsulation:r.ViewEncapsulation.None,changeDetection:r.ChangeDetectionStrategy.OnPush,providers:[{provide:f,useExisting:y}],styles:["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\n"]}]}],y.ctorParameters=function(){return[{type:r.ElementRef},{type:r.ChangeDetectorRef},{type:r.NgZone},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[c]}]},{type:s.Directionality,decorators:[{type:r.Optional}]},{type:p},{type:_}]},y.propDecorators={orientation:[{type:r.Input}],scrolledIndexChange:[{type:r.Output}],_contentWrapper:[{type:r.ViewChild,args:["contentWrapper",{static:!0}]}]};var S,w,b=function(){function t(t,e,r,i,a,s){var l=this;this._viewContainerRef=t,this._template=e,this._differs=r,this._viewRepeater=i,this._viewport=a,this.viewChange=new n.Subject,this._dataSourceChanges=new n.Subject,this.dataStream=this._dataSourceChanges.pipe(o.startWith(null),o.pairwise(),o.switchMap((function(t){var e=function r(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}(t,2);return l._changeDataSource(e[0],e[1])})),o.shareReplay(1)),this._differ=null,this._needsUpdate=!1,this._destroyed=new n.Subject,this.dataStream.subscribe((function(t){l._data=t,l._onRenderedDataChange()})),this._viewport.renderedRangeStream.pipe(o.takeUntil(this._destroyed)).subscribe((function(t){l._renderedRange=t,s.run((function(){return l.viewChange.next(l._renderedRange)})),l._onRenderedDataChange()})),this._viewport.attach(this)}return Object.defineProperty(t.prototype,"cdkVirtualForOf",{get:function(){return this._cdkVirtualForOf},set:function(t){this._cdkVirtualForOf=t,l.isDataSource(t)?this._dataSourceChanges.next(t):this._dataSourceChanges.next(new l.ArrayDataSource(n.isObservable(t)?t:Array.prototype.slice.call(t||[])))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTrackBy",{get:function(){return this._cdkVirtualForTrackBy},set:function(t){var e=this;this._needsUpdate=!0,this._cdkVirtualForTrackBy=t?function(r,n){return t(r+(e._renderedRange?e._renderedRange.start:0),n)}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTemplate",{set:function(t){t&&(this._needsUpdate=!0,this._template=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cdkVirtualForTemplateCacheSize",{get:function(){return this._viewRepeater.viewCacheSize},set:function(t){this._viewRepeater.viewCacheSize=e.coerceNumberProperty(t)},enumerable:!1,configurable:!0}),t.prototype.measureRangeSize=function(t,e){if(t.start>=t.end)return 0;for(var r,n,o=t.start-this._renderedRange.start,i=t.end-t.start,a=0;a<i;a++)if((s=this._viewContainerRef.get(a+o))&&s.rootNodes.length){r=n=s.rootNodes[0];break}for(a=i-1;a>-1;a--){var s;if((s=this._viewContainerRef.get(a+o))&&s.rootNodes.length){n=s.rootNodes[s.rootNodes.length-1];break}}return r&&n?v(e,"end",n)-v(e,"start",r):0},t.prototype.ngDoCheck=function(){if(this._differ&&this._needsUpdate){var t=this._differ.diff(this._renderedItems);t?this._applyChanges(t):this._updateContext(),this._needsUpdate=!1}},t.prototype.ngOnDestroy=function(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()},t.prototype._onRenderedDataChange=function(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create(this.cdkVirtualForTrackBy)),this._needsUpdate=!0)},t.prototype._changeDataSource=function(t,e){return t&&t.disconnect(this),this._needsUpdate=!0,e?e.connect(this):n.of()},t.prototype._updateContext=function(){for(var t=this._data.length,e=this._viewContainerRef.length;e--;){var r=this._viewContainerRef.get(e);r.context.index=this._renderedRange.start+e,r.context.count=t,this._updateComputedContextProperties(r.context),r.detectChanges()}},t.prototype._applyChanges=function(t){var e=this;this._viewRepeater.applyChanges(t,this._viewContainerRef,(function(t,r,n){return e._getEmbeddedViewArgs(t,n)}),(function(t){return t.item})),t.forEachIdentityChange((function(t){e._viewContainerRef.get(t.currentIndex).context.$implicit=t.item}));for(var r=this._data.length,n=this._viewContainerRef.length;n--;){var o=this._viewContainerRef.get(n);o.context.index=this._renderedRange.start+n,o.context.count=r,this._updateComputedContextProperties(o.context)}},t.prototype._updateComputedContextProperties=function(t){t.first=0===t.index,t.last=t.index===t.count-1,t.even=t.index%2==0,t.odd=!t.even},t.prototype._getEmbeddedViewArgs=function(t,e){return{templateRef:this._template,context:{$implicit:t.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:e}},t}();b.decorators=[{type:r.Directive,args:[{selector:"[cdkVirtualFor][cdkVirtualForOf]",providers:[{provide:l._VIEW_REPEATER_STRATEGY,useClass:l._RecycleViewRepeaterStrategy}]}]}],b.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:r.TemplateRef},{type:r.IterableDiffers},{type:l._RecycleViewRepeaterStrategy,decorators:[{type:r.Inject,args:[l._VIEW_REPEATER_STRATEGY]}]},{type:y,decorators:[{type:r.SkipSelf}]},{type:r.NgZone}]},b.propDecorators={cdkVirtualForOf:[{type:r.Input}],cdkVirtualForTrackBy:[{type:r.Input}],cdkVirtualForTemplate:[{type:r.Input}],cdkVirtualForTemplateCacheSize:[{type:r.Input}]},(S=function S(){}).decorators=[{type:r.NgModule,args:[{exports:[f],declarations:[f]}]}],(w=function w(){}).decorators=[{type:r.NgModule,args:[{imports:[s.BidiModule,i.PlatformModule,S],exports:[s.BidiModule,S,h,b,y],declarations:[h,b,y]}]}],
61
47
  /**
62
48
  * @license
63
49
  * Copyright Google LLC All Rights Reserved.
@@ -65,4 +51,4 @@ function S(t,e){if(!e.getBoundingClientRect)return 0;var r=e.getBoundingClientRe
65
51
  * Use of this source code is governed by an MIT-style license that can be
66
52
  * found in the LICENSE file at https://angular.io/license
67
53
  */
68
- t.CdkFixedSizeVirtualScroll=h,t.CdkScrollable=f,t.CdkScrollableModule=C,t.CdkVirtualForOf=w,t.CdkVirtualScrollViewport=v,t.DEFAULT_RESIZE_TIME=20,t.DEFAULT_SCROLL_TIME=20,t.FixedSizeVirtualScrollStrategy=d,t.ScrollDispatcher=p,t.ScrollingModule=b,t.VIRTUAL_SCROLL_STRATEGY=c,t.ViewportRuler=m,t._fixedSizeVirtualScrollStrategyFactory=u,Object.defineProperty(t,"__esModule",{value:!0})}));
54
+ t.CdkFixedSizeVirtualScroll=h,t.CdkScrollable=f,t.CdkScrollableModule=S,t.CdkVirtualForOf=b,t.CdkVirtualScrollViewport=y,t.DEFAULT_RESIZE_TIME=20,t.DEFAULT_SCROLL_TIME=20,t.FixedSizeVirtualScrollStrategy=d,t.ScrollDispatcher=p,t.ScrollingModule=w,t.VIRTUAL_SCROLL_STRATEGY=c,t.ViewportRuler=_,t._fixedSizeVirtualScrollStrategyFactory=u,Object.defineProperty(t,"__esModule",{value:!0})}));