@angular/cdk 7.0.4 → 7.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/_a11y.scss +1 -1
- package/a11y/typings/focus-monitor/focus-monitor.d.ts +20 -5
- package/a11y/typings/focus-trap/focus-trap.d.ts +2 -0
- package/a11y/typings/index.metadata.json +1 -1
- package/a11y/typings/live-announcer/live-announcer.d.ts +34 -3
- package/bundles/cdk-a11y.umd.js +477 -216
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +1 -1
- package/bundles/cdk-a11y.umd.min.js.map +1 -1
- package/bundles/cdk-accordion.umd.js +16 -9
- package/bundles/cdk-accordion.umd.js.map +1 -1
- package/bundles/cdk-accordion.umd.min.js.map +1 -1
- package/bundles/cdk-bidi.umd.js +11 -6
- package/bundles/cdk-bidi.umd.js.map +1 -1
- package/bundles/cdk-bidi.umd.min.js.map +1 -1
- package/bundles/cdk-coercion.umd.js +25 -9
- package/bundles/cdk-coercion.umd.js.map +1 -1
- package/bundles/cdk-coercion.umd.min.js +1 -1
- package/bundles/cdk-coercion.umd.min.js.map +1 -1
- package/bundles/cdk-collections.umd.js +28 -5
- package/bundles/cdk-collections.umd.js.map +1 -1
- package/bundles/cdk-collections.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +2177 -915
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +2 -1
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-keycodes.umd.js +33 -1
- package/bundles/cdk-keycodes.umd.js.map +1 -1
- package/bundles/cdk-keycodes.umd.min.js +1 -1
- package/bundles/cdk-keycodes.umd.min.js.map +1 -1
- package/bundles/cdk-layout.umd.js +29 -22
- package/bundles/cdk-layout.umd.js.map +1 -1
- package/bundles/cdk-layout.umd.min.js +1 -1
- package/bundles/cdk-layout.umd.min.js.map +1 -1
- package/bundles/cdk-observers.umd.js +26 -7
- package/bundles/cdk-observers.umd.js.map +1 -1
- package/bundles/cdk-observers.umd.min.js +1 -1
- package/bundles/cdk-observers.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +605 -258
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +2 -2
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-platform.umd.js +50 -28
- package/bundles/cdk-platform.umd.js.map +1 -1
- package/bundles/cdk-platform.umd.min.js.map +1 -1
- package/bundles/cdk-portal.umd.js +14 -7
- package/bundles/cdk-portal.umd.js.map +1 -1
- package/bundles/cdk-portal.umd.min.js.map +1 -1
- package/bundles/cdk-scrolling.umd.js +139 -44
- package/bundles/cdk-scrolling.umd.js.map +1 -1
- package/bundles/cdk-scrolling.umd.min.js +1 -1
- package/bundles/cdk-scrolling.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +103 -19
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-table.umd.js +182 -48
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js.map +1 -1
- package/bundles/cdk-text-field.umd.js +76 -38
- package/bundles/cdk-text-field.umd.js.map +1 -1
- package/bundles/cdk-text-field.umd.min.js +1 -1
- package/bundles/cdk-text-field.umd.min.js.map +1 -1
- package/bundles/cdk-tree.umd.js +71 -34
- package/bundles/cdk-tree.umd.js.map +1 -1
- package/bundles/cdk-tree.umd.min.js +1 -1
- package/bundles/cdk-tree.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +5 -4
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +1 -1
- package/bundles/cdk.umd.min.js.map +1 -1
- package/coercion/typings/element.d.ts +13 -0
- package/coercion/typings/index.metadata.json +1 -1
- package/coercion/typings/public-api.d.ts +1 -0
- package/drag-drop/typings/{drag-handle.d.ts → directives/drag-handle.d.ts} +3 -0
- package/drag-drop/typings/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
- package/drag-drop/typings/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
- package/drag-drop/typings/directives/drag.d.ts +109 -0
- package/{typings/drag-drop → drag-drop/typings/directives}/drop-list-group.d.ts +3 -0
- package/drag-drop/typings/directives/drop-list.d.ts +135 -0
- package/drag-drop/typings/drag-drop-registry.d.ts +8 -3
- package/drag-drop/typings/drag-events.d.ts +14 -7
- package/{typings/esm5/drag-drop/drag.d.ts → drag-drop/typings/drag-ref.d.ts} +152 -82
- package/drag-drop/typings/drop-list-container.d.ts +21 -3
- package/drag-drop/typings/{drop-list.d.ts → drop-list-ref.d.ts} +132 -81
- package/drag-drop/typings/index.d.ts +1 -0
- package/drag-drop/typings/index.metadata.json +1 -1
- package/drag-drop/typings/public-api.d.ts +13 -6
- package/esm2015/a11y.js +337 -190
- package/esm2015/a11y.js.map +1 -1
- package/esm2015/accordion.js +16 -11
- package/esm2015/accordion.js.map +1 -1
- package/esm2015/bidi.js +13 -8
- package/esm2015/bidi.js.map +1 -1
- package/esm2015/cdk.js +7 -6
- package/esm2015/cdk.js.map +1 -1
- package/esm2015/coercion.js +25 -8
- package/esm2015/coercion.js.map +1 -1
- package/esm2015/collections.js +22 -7
- package/esm2015/collections.js.map +1 -1
- package/esm2015/drag-drop.js +1587 -691
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/keycodes.js +31 -4
- package/esm2015/keycodes.js.map +1 -1
- package/esm2015/layout.js +29 -19
- package/esm2015/layout.js.map +1 -1
- package/esm2015/observers.js +15 -10
- package/esm2015/observers.js.map +1 -1
- package/esm2015/overlay.js +393 -232
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/platform.js +53 -31
- package/esm2015/platform.js.map +1 -1
- package/esm2015/portal.js +13 -9
- package/esm2015/portal.js.map +1 -1
- package/esm2015/scrolling.js +102 -45
- package/esm2015/scrolling.js.map +1 -1
- package/esm2015/stepper.js +93 -24
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +89 -45
- package/esm2015/table.js.map +1 -1
- package/esm2015/text-field.js +54 -37
- package/esm2015/text-field.js.map +1 -1
- package/esm2015/tree.js +55 -36
- package/esm2015/tree.js.map +1 -1
- package/esm5/a11y.es5.js +481 -220
- package/esm5/a11y.es5.js.map +1 -1
- package/esm5/accordion.es5.js +18 -11
- package/esm5/accordion.es5.js.map +1 -1
- package/esm5/bidi.es5.js +13 -8
- package/esm5/bidi.es5.js.map +1 -1
- package/esm5/cdk.es5.js +7 -6
- package/esm5/cdk.es5.js.map +1 -1
- package/esm5/coercion.es5.js +25 -8
- package/esm5/coercion.es5.js.map +1 -1
- package/esm5/collections.es5.js +35 -7
- package/esm5/collections.es5.js.map +1 -1
- package/esm5/drag-drop.es5.js +2233 -972
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/keycodes.es5.js +35 -4
- package/esm5/keycodes.es5.js.map +1 -1
- package/esm5/layout.es5.js +31 -24
- package/esm5/layout.es5.js.map +1 -1
- package/esm5/observers.es5.js +29 -10
- package/esm5/observers.es5.js.map +1 -1
- package/esm5/overlay.es5.js +609 -262
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/platform.es5.js +52 -30
- package/esm5/platform.es5.js.map +1 -1
- package/esm5/portal.es5.js +16 -9
- package/esm5/portal.es5.js.map +1 -1
- package/esm5/scrolling.es5.js +141 -46
- package/esm5/scrolling.es5.js.map +1 -1
- package/esm5/stepper.es5.js +106 -24
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +184 -50
- package/esm5/table.es5.js.map +1 -1
- package/esm5/text-field.es5.js +75 -37
- package/esm5/text-field.es5.js.map +1 -1
- package/esm5/tree.es5.js +74 -37
- package/esm5/tree.es5.js.map +1 -1
- package/keycodes/typings/index.metadata.json +1 -1
- package/keycodes/typings/modifiers.d.ts +14 -0
- package/keycodes/typings/public-api.d.ts +1 -0
- package/overlay/typings/index.metadata.json +1 -1
- package/overlay/typings/overlay-directives.d.ts +0 -2
- package/package.json +4 -4
- package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-update/upgrade-data.js +2 -1
- package/schematics/ng-update/upgrade-data.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/index.js +3 -2
- package/schematics/ng-update/upgrade-rules/index.js.map +1 -1
- package/schematics/utils/ast/ng-module-imports.d.ts +1 -1
- package/schematics/utils/ast/ng-module-imports.js +25 -13
- package/schematics/utils/ast/ng-module-imports.js.map +1 -1
- package/schematics/utils/get-project.js +2 -1
- package/schematics/utils/get-project.js.map +1 -1
- package/schematics/utils/parse5-element.js +3 -2
- package/schematics/utils/parse5-element.js.map +1 -1
- package/schematics/utils/project-targets.js +2 -1
- package/schematics/utils/project-targets.js.map +1 -1
- package/schematics/utils/version-agnostic-typescript.js +3 -2
- package/schematics/utils/version-agnostic-typescript.js.map +1 -1
- package/scrolling/typings/index.metadata.json +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/public-api.d.ts +1 -0
- package/stepper/typings/step-header.d.ts +15 -0
- package/stepper/typings/stepper.d.ts +11 -1
- package/text-field/typings/autosize.d.ts +6 -0
- package/text-field/typings/index.metadata.json +1 -1
- package/tree/typings/control/base-tree-control.d.ts +1 -1
- package/tree/typings/control/nested-tree-control.d.ts +2 -2
- package/tree/typings/control/tree-control.d.ts +1 -1
- package/tree/typings/nested-node.d.ts +5 -5
- package/typings/a11y/focus-monitor/focus-monitor.d.ts +20 -5
- package/typings/a11y/focus-trap/focus-trap.d.ts +2 -0
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/a11y/live-announcer/live-announcer.d.ts +34 -3
- package/typings/coercion/element.d.ts +13 -0
- package/typings/coercion/index.metadata.json +1 -1
- package/typings/coercion/public-api.d.ts +1 -0
- package/typings/{esm5/drag-drop → drag-drop/directives}/drag-handle.d.ts +3 -0
- package/typings/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
- package/typings/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
- package/typings/drag-drop/directives/drag.d.ts +109 -0
- package/typings/{esm5/drag-drop → drag-drop/directives}/drop-list-group.d.ts +3 -0
- package/typings/drag-drop/directives/drop-list.d.ts +135 -0
- package/typings/drag-drop/drag-drop-registry.d.ts +8 -3
- package/typings/drag-drop/drag-events.d.ts +14 -7
- package/typings/drag-drop/{drag.d.ts → drag-ref.d.ts} +152 -82
- package/typings/drag-drop/drop-list-container.d.ts +21 -3
- package/typings/{esm5/drag-drop/drop-list.d.ts → drag-drop/drop-list-ref.d.ts} +132 -81
- package/typings/drag-drop/index.d.ts +1 -0
- package/typings/drag-drop/index.metadata.json +1 -1
- package/typings/drag-drop/public-api.d.ts +13 -6
- package/typings/esm5/a11y/focus-monitor/focus-monitor.d.ts +20 -5
- package/typings/esm5/a11y/focus-trap/focus-trap.d.ts +2 -0
- package/typings/esm5/a11y/index.metadata.json +1 -1
- package/typings/esm5/a11y/live-announcer/live-announcer.d.ts +34 -3
- package/typings/esm5/coercion/element.d.ts +13 -0
- package/typings/esm5/coercion/index.metadata.json +1 -1
- package/typings/esm5/coercion/public-api.d.ts +1 -0
- package/typings/{drag-drop → esm5/drag-drop/directives}/drag-handle.d.ts +3 -0
- package/typings/esm5/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
- package/typings/esm5/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
- package/typings/esm5/drag-drop/directives/drag.d.ts +109 -0
- package/{drag-drop/typings → typings/esm5/drag-drop/directives}/drop-list-group.d.ts +3 -0
- package/typings/esm5/drag-drop/directives/drop-list.d.ts +135 -0
- package/typings/esm5/drag-drop/drag-drop-registry.d.ts +8 -3
- package/typings/esm5/drag-drop/drag-events.d.ts +14 -7
- package/{drag-drop/typings/drag.d.ts → typings/esm5/drag-drop/drag-ref.d.ts} +152 -82
- package/typings/esm5/drag-drop/drop-list-container.d.ts +21 -3
- package/typings/{drag-drop/drop-list.d.ts → esm5/drag-drop/drop-list-ref.d.ts} +132 -81
- package/typings/esm5/drag-drop/index.d.ts +1 -0
- package/typings/esm5/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/drag-drop/public-api.d.ts +13 -6
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/keycodes/index.metadata.json +1 -1
- package/typings/esm5/keycodes/modifiers.d.ts +14 -0
- package/typings/esm5/keycodes/public-api.d.ts +1 -0
- package/typings/esm5/overlay/index.metadata.json +1 -1
- package/typings/esm5/overlay/overlay-directives.d.ts +0 -2
- package/typings/esm5/scrolling/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/public-api.d.ts +1 -0
- package/typings/esm5/stepper/step-header.d.ts +15 -0
- package/typings/esm5/stepper/stepper.d.ts +11 -1
- package/typings/esm5/text-field/autosize.d.ts +6 -0
- package/typings/esm5/text-field/index.metadata.json +1 -1
- package/typings/esm5/tree/control/base-tree-control.d.ts +1 -1
- package/typings/esm5/tree/control/nested-tree-control.d.ts +2 -2
- package/typings/esm5/tree/control/tree-control.d.ts +1 -1
- package/typings/esm5/tree/nested-node.d.ts +5 -5
- package/typings/index.metadata.json +1 -1
- package/typings/keycodes/index.metadata.json +1 -1
- package/typings/keycodes/modifiers.d.ts +14 -0
- package/typings/keycodes/public-api.d.ts +1 -0
- package/typings/overlay/index.metadata.json +1 -1
- package/typings/overlay/overlay-directives.d.ts +0 -2
- package/typings/schematics/utils/ast/ng-module-imports.d.ts +1 -1
- package/typings/scrolling/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/public-api.d.ts +1 -0
- package/typings/stepper/step-header.d.ts +15 -0
- package/typings/stepper/stepper.d.ts +11 -1
- package/typings/text-field/autosize.d.ts +6 -0
- package/typings/text-field/index.metadata.json +1 -1
- package/typings/tree/control/base-tree-control.d.ts +1 -1
- package/typings/tree/control/nested-tree-control.d.ts +2 -2
- package/typings/tree/control/tree-control.d.ts +1 -1
- package/typings/tree/nested-node.d.ts +5 -5
package/esm2015/scrolling.js
CHANGED
|
@@ -15,16 +15,17 @@ import { ArrayDataSource, DataSource } from '@angular/cdk/collections';
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @fileoverview added by tsickle
|
|
18
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
18
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
19
19
|
*/
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
21
|
* The injection token used to specify the virtual scrolling strategy.
|
|
22
|
-
|
|
22
|
+
* @type {?}
|
|
23
|
+
*/
|
|
23
24
|
const VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* @fileoverview added by tsickle
|
|
27
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
28
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
28
29
|
*/
|
|
29
30
|
/**
|
|
30
31
|
* Virtual scrolling strategy for lists with items of known fixed size.
|
|
@@ -103,16 +104,12 @@ class FixedSizeVirtualScrollStrategy {
|
|
|
103
104
|
* \@docs-private Implemented as part of VirtualScrollStrategy.
|
|
104
105
|
* @return {?}
|
|
105
106
|
*/
|
|
106
|
-
onContentRendered() {
|
|
107
|
-
/* no-op */
|
|
108
|
-
}
|
|
107
|
+
onContentRendered() { }
|
|
109
108
|
/**
|
|
110
109
|
* \@docs-private Implemented as part of VirtualScrollStrategy.
|
|
111
110
|
* @return {?}
|
|
112
111
|
*/
|
|
113
|
-
onRenderedOffsetChanged() {
|
|
114
|
-
/* no-op */
|
|
115
|
-
}
|
|
112
|
+
onRenderedOffsetChanged() { }
|
|
116
113
|
/**
|
|
117
114
|
* Scroll to the offset for the given index.
|
|
118
115
|
* @param {?} index The index of the element to scroll to.
|
|
@@ -126,6 +123,7 @@ class FixedSizeVirtualScrollStrategy {
|
|
|
126
123
|
}
|
|
127
124
|
/**
|
|
128
125
|
* Update the viewport's total content size.
|
|
126
|
+
* @private
|
|
129
127
|
* @return {?}
|
|
130
128
|
*/
|
|
131
129
|
_updateTotalContentSize() {
|
|
@@ -136,6 +134,7 @@ class FixedSizeVirtualScrollStrategy {
|
|
|
136
134
|
}
|
|
137
135
|
/**
|
|
138
136
|
* Update the viewport's rendered range.
|
|
137
|
+
* @private
|
|
139
138
|
* @return {?}
|
|
140
139
|
*/
|
|
141
140
|
_updateRenderedRange() {
|
|
@@ -258,11 +257,12 @@ CdkFixedSizeVirtualScroll.propDecorators = {
|
|
|
258
257
|
|
|
259
258
|
/**
|
|
260
259
|
* @fileoverview added by tsickle
|
|
261
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
260
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
262
261
|
*/
|
|
263
|
-
/**
|
|
262
|
+
/**
|
|
264
263
|
* Time in ms to throttle the scrolling events by default.
|
|
265
|
-
|
|
264
|
+
* @type {?}
|
|
265
|
+
*/
|
|
266
266
|
const DEFAULT_SCROLL_TIME = 20;
|
|
267
267
|
/**
|
|
268
268
|
* Service contained all registered Scrollable references and emits an event when any one of the
|
|
@@ -339,6 +339,8 @@ class ScrollDispatcher {
|
|
|
339
339
|
if (!this._globalSubscription) {
|
|
340
340
|
this._addGlobalListener();
|
|
341
341
|
}
|
|
342
|
+
// In the case of a 0ms delay, use an observable without auditTime
|
|
343
|
+
// since it does add a perceptible delay in processing overhead.
|
|
342
344
|
/** @type {?} */
|
|
343
345
|
const subscription = auditTimeInMs > 0 ?
|
|
344
346
|
this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :
|
|
@@ -392,6 +394,7 @@ class ScrollDispatcher {
|
|
|
392
394
|
}
|
|
393
395
|
/**
|
|
394
396
|
* Returns true if the element is contained within the provided Scrollable.
|
|
397
|
+
* @private
|
|
395
398
|
* @param {?} scrollable
|
|
396
399
|
* @param {?} elementRef
|
|
397
400
|
* @return {?}
|
|
@@ -407,11 +410,12 @@ class ScrollDispatcher {
|
|
|
407
410
|
if (element == scrollableElement) {
|
|
408
411
|
return true;
|
|
409
412
|
}
|
|
410
|
-
} while (element = /** @type {?} */ (
|
|
413
|
+
} while (element = (/** @type {?} */ (element)).parentElement);
|
|
411
414
|
return false;
|
|
412
415
|
}
|
|
413
416
|
/**
|
|
414
417
|
* Sets up the global scroll listeners.
|
|
418
|
+
* @private
|
|
415
419
|
* @return {?}
|
|
416
420
|
*/
|
|
417
421
|
_addGlobalListener() {
|
|
@@ -421,6 +425,7 @@ class ScrollDispatcher {
|
|
|
421
425
|
}
|
|
422
426
|
/**
|
|
423
427
|
* Cleans up the global scroll listener.
|
|
428
|
+
* @private
|
|
424
429
|
* @return {?}
|
|
425
430
|
*/
|
|
426
431
|
_removeGlobalListener() {
|
|
@@ -449,9 +454,10 @@ ScrollDispatcher.ctorParameters = () => [
|
|
|
449
454
|
function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher, ngZone, platform) {
|
|
450
455
|
return parentDispatcher || new ScrollDispatcher(ngZone, platform);
|
|
451
456
|
}
|
|
452
|
-
/**
|
|
457
|
+
/**
|
|
453
458
|
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
454
|
-
|
|
459
|
+
* @type {?}
|
|
460
|
+
*/
|
|
455
461
|
const SCROLL_DISPATCHER_PROVIDER = {
|
|
456
462
|
// If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.
|
|
457
463
|
provide: ScrollDispatcher,
|
|
@@ -461,7 +467,7 @@ const SCROLL_DISPATCHER_PROVIDER = {
|
|
|
461
467
|
|
|
462
468
|
/**
|
|
463
469
|
* @fileoverview added by tsickle
|
|
464
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
470
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
465
471
|
*/
|
|
466
472
|
/**
|
|
467
473
|
* Sends an event when the directive's element is scrolled. Registers itself with the
|
|
@@ -553,6 +559,7 @@ class CdkScrollable {
|
|
|
553
559
|
this._applyScrollToOptions(options);
|
|
554
560
|
}
|
|
555
561
|
/**
|
|
562
|
+
* @private
|
|
556
563
|
* @param {?} options
|
|
557
564
|
* @return {?}
|
|
558
565
|
*/
|
|
@@ -594,6 +601,7 @@ class CdkScrollable {
|
|
|
594
601
|
if (from == 'bottom') {
|
|
595
602
|
return el.scrollHeight - el.clientHeight - el.scrollTop;
|
|
596
603
|
}
|
|
604
|
+
// Rewrite start & end as left or right offsets.
|
|
597
605
|
/** @type {?} */
|
|
598
606
|
const isRtl = this.dir && this.dir.value == 'rtl';
|
|
599
607
|
if (from == 'start') {
|
|
@@ -649,7 +657,7 @@ CdkScrollable.ctorParameters = () => [
|
|
|
649
657
|
|
|
650
658
|
/**
|
|
651
659
|
* @fileoverview added by tsickle
|
|
652
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
660
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
653
661
|
*/
|
|
654
662
|
/**
|
|
655
663
|
* Checks if the given ranges are equal.
|
|
@@ -689,6 +697,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
689
697
|
* The direction the viewport scrolls.
|
|
690
698
|
*/
|
|
691
699
|
this.orientation = 'vertical';
|
|
700
|
+
// Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll
|
|
701
|
+
// strategy lazily (i.e. only if the user is actually listening to the events). We do this because
|
|
702
|
+
// depending on how the strategy calculates the scrolled index, it may come at a cost to
|
|
703
|
+
// performance.
|
|
692
704
|
/**
|
|
693
705
|
* Emits when the index of the first element visible in the viewport changes.
|
|
694
706
|
*/
|
|
@@ -754,7 +766,7 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
754
766
|
this.elementScrolled()
|
|
755
767
|
.pipe(
|
|
756
768
|
// Start off with a fake scroll event so we properly detect our initial position.
|
|
757
|
-
startWith(/** @type {?} */ (
|
|
769
|
+
startWith((/** @type {?} */ (null))),
|
|
758
770
|
// Collect multiple events into one until the next animation frame. This way if
|
|
759
771
|
// there are multiple scroll events in the same frame we only need to recheck
|
|
760
772
|
// our layout once.
|
|
@@ -821,6 +833,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
821
833
|
getViewportSize() {
|
|
822
834
|
return this._viewportSize;
|
|
823
835
|
}
|
|
836
|
+
// TODO(mmalerba): This is technically out of sync with what's really rendered until a render
|
|
837
|
+
// cycle happens. I'm being careful to only call it after the render cycle is complete and before
|
|
838
|
+
// setting it to something else, but its error prone and should probably be split into
|
|
839
|
+
// `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.
|
|
824
840
|
/**
|
|
825
841
|
* Get the current rendered range of items.
|
|
826
842
|
* @return {?}
|
|
@@ -869,6 +885,8 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
869
885
|
* @return {?}
|
|
870
886
|
*/
|
|
871
887
|
setRenderedContentOffset(offset, to = 'to-start') {
|
|
888
|
+
// For a horizontal viewport in a right-to-left language we need to translate along the x-axis
|
|
889
|
+
// in the negative direction.
|
|
872
890
|
/** @type {?} */
|
|
873
891
|
const isRtl = this.dir && this.dir.value == 'rtl';
|
|
874
892
|
/** @type {?} */
|
|
@@ -972,6 +990,7 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
972
990
|
}
|
|
973
991
|
/**
|
|
974
992
|
* Measure the viewport size.
|
|
993
|
+
* @private
|
|
975
994
|
* @return {?}
|
|
976
995
|
*/
|
|
977
996
|
_measureViewportSize() {
|
|
@@ -982,6 +1001,7 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
982
1001
|
}
|
|
983
1002
|
/**
|
|
984
1003
|
* Queue up change detection to run.
|
|
1004
|
+
* @private
|
|
985
1005
|
* @param {?=} runAfter
|
|
986
1006
|
* @return {?}
|
|
987
1007
|
*/
|
|
@@ -1000,6 +1020,7 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
1000
1020
|
}
|
|
1001
1021
|
/**
|
|
1002
1022
|
* Run change detection.
|
|
1023
|
+
* @private
|
|
1003
1024
|
* @return {?}
|
|
1004
1025
|
*/
|
|
1005
1026
|
_doChangeDetection() {
|
|
@@ -1028,10 +1049,14 @@ CdkVirtualScrollViewport.decorators = [
|
|
|
1028
1049
|
host: {
|
|
1029
1050
|
'class': 'cdk-virtual-scroll-viewport',
|
|
1030
1051
|
'[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === "horizontal"',
|
|
1031
|
-
'[class.cdk-virtual-scroll-orientation-vertical]': 'orientation
|
|
1052
|
+
'[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== "horizontal"',
|
|
1032
1053
|
},
|
|
1033
1054
|
encapsulation: ViewEncapsulation.None,
|
|
1034
1055
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1056
|
+
providers: [{
|
|
1057
|
+
provide: CdkScrollable,
|
|
1058
|
+
useExisting: CdkVirtualScrollViewport,
|
|
1059
|
+
}]
|
|
1035
1060
|
},] },
|
|
1036
1061
|
];
|
|
1037
1062
|
/** @nocollapse */
|
|
@@ -1051,7 +1076,7 @@ CdkVirtualScrollViewport.propDecorators = {
|
|
|
1051
1076
|
|
|
1052
1077
|
/**
|
|
1053
1078
|
* @fileoverview added by tsickle
|
|
1054
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1079
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1055
1080
|
*/
|
|
1056
1081
|
/**
|
|
1057
1082
|
* Helper to extract size from a DOM Node.
|
|
@@ -1061,7 +1086,7 @@ CdkVirtualScrollViewport.propDecorators = {
|
|
|
1061
1086
|
*/
|
|
1062
1087
|
function getSize(orientation, node) {
|
|
1063
1088
|
/** @type {?} */
|
|
1064
|
-
const el = /** @type {?} */ (node);
|
|
1089
|
+
const el = (/** @type {?} */ (node));
|
|
1065
1090
|
if (!el.getBoundingClientRect) {
|
|
1066
1091
|
return 0;
|
|
1067
1092
|
}
|
|
@@ -1082,8 +1107,7 @@ class CdkVirtualForOf {
|
|
|
1082
1107
|
* @param {?} _viewport
|
|
1083
1108
|
* @param {?} ngZone
|
|
1084
1109
|
*/
|
|
1085
|
-
constructor(_viewContainerRef, _template, _differs,
|
|
1086
|
-
_viewport, ngZone) {
|
|
1110
|
+
constructor(_viewContainerRef, _template, _differs, _viewport, ngZone) {
|
|
1087
1111
|
this._viewContainerRef = _viewContainerRef;
|
|
1088
1112
|
this._template = _template;
|
|
1089
1113
|
this._differs = _differs;
|
|
@@ -1107,7 +1131,7 @@ class CdkVirtualForOf {
|
|
|
1107
1131
|
this.dataStream = this._dataSourceChanges
|
|
1108
1132
|
.pipe(
|
|
1109
1133
|
// Start off with null `DataSource`.
|
|
1110
|
-
startWith(/** @type {?} */ (
|
|
1134
|
+
startWith((/** @type {?} */ (null))),
|
|
1111
1135
|
// Bundle up the previous and current data sources so we can work with both.
|
|
1112
1136
|
pairwise(),
|
|
1113
1137
|
// Use `_changeDataSource` to disconnect from the previous data source and connect to the
|
|
@@ -1205,21 +1229,24 @@ class CdkVirtualForOf {
|
|
|
1205
1229
|
if (range.start < this._renderedRange.start || range.end > this._renderedRange.end) {
|
|
1206
1230
|
throw Error(`Error: attempted to measure an item that isn't rendered.`);
|
|
1207
1231
|
}
|
|
1232
|
+
// The index into the list of rendered views for the first item in the range.
|
|
1208
1233
|
/** @type {?} */
|
|
1209
1234
|
const renderedStartIndex = range.start - this._renderedRange.start;
|
|
1235
|
+
// The length of the range we're measuring.
|
|
1210
1236
|
/** @type {?} */
|
|
1211
1237
|
const rangeLen = range.end - range.start;
|
|
1238
|
+
// Loop over all root nodes for all items in the range and sum up their size.
|
|
1212
1239
|
/** @type {?} */
|
|
1213
1240
|
let totalSize = 0;
|
|
1214
1241
|
/** @type {?} */
|
|
1215
1242
|
let i = rangeLen;
|
|
1216
1243
|
while (i--) {
|
|
1217
1244
|
/** @type {?} */
|
|
1218
|
-
const view = /** @type {?} */ (this._viewContainerRef.get(i + renderedStartIndex));
|
|
1245
|
+
const view = (/** @type {?} */ (this._viewContainerRef.get(i + renderedStartIndex)));
|
|
1219
1246
|
/** @type {?} */
|
|
1220
1247
|
let j = view ? view.rootNodes.length : 0;
|
|
1221
1248
|
while (j--) {
|
|
1222
|
-
totalSize += getSize(orientation, /** @type {?} */ (
|
|
1249
|
+
totalSize += getSize(orientation, (/** @type {?} */ (view)).rootNodes[j]);
|
|
1223
1250
|
}
|
|
1224
1251
|
}
|
|
1225
1252
|
return totalSize;
|
|
@@ -1229,6 +1256,9 @@ class CdkVirtualForOf {
|
|
|
1229
1256
|
*/
|
|
1230
1257
|
ngDoCheck() {
|
|
1231
1258
|
if (this._differ && this._needsUpdate) {
|
|
1259
|
+
// TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of
|
|
1260
|
+
// this list being rendered (can use simpler algorithm) vs needs update due to data actually
|
|
1261
|
+
// changing (need to do this diff).
|
|
1232
1262
|
/** @type {?} */
|
|
1233
1263
|
const changes = this._differ.diff(this._renderedItems);
|
|
1234
1264
|
if (!changes) {
|
|
@@ -1255,6 +1285,7 @@ class CdkVirtualForOf {
|
|
|
1255
1285
|
}
|
|
1256
1286
|
/**
|
|
1257
1287
|
* React to scroll state changes in the viewport.
|
|
1288
|
+
* @private
|
|
1258
1289
|
* @return {?}
|
|
1259
1290
|
*/
|
|
1260
1291
|
_onRenderedDataChange() {
|
|
@@ -1269,6 +1300,7 @@ class CdkVirtualForOf {
|
|
|
1269
1300
|
}
|
|
1270
1301
|
/**
|
|
1271
1302
|
* Swap out one `DataSource` for another.
|
|
1303
|
+
* @private
|
|
1272
1304
|
* @param {?} oldDs
|
|
1273
1305
|
* @param {?} newDs
|
|
1274
1306
|
* @return {?}
|
|
@@ -1282,6 +1314,7 @@ class CdkVirtualForOf {
|
|
|
1282
1314
|
}
|
|
1283
1315
|
/**
|
|
1284
1316
|
* Update the `CdkVirtualForOfContext` for all views.
|
|
1317
|
+
* @private
|
|
1285
1318
|
* @return {?}
|
|
1286
1319
|
*/
|
|
1287
1320
|
_updateContext() {
|
|
@@ -1291,7 +1324,7 @@ class CdkVirtualForOf {
|
|
|
1291
1324
|
let i = this._viewContainerRef.length;
|
|
1292
1325
|
while (i--) {
|
|
1293
1326
|
/** @type {?} */
|
|
1294
|
-
let view = /** @type {?} */ (this._viewContainerRef.get(i));
|
|
1327
|
+
let view = (/** @type {?} */ (this._viewContainerRef.get(i)));
|
|
1295
1328
|
view.context.index = this._renderedRange.start + i;
|
|
1296
1329
|
view.context.count = count;
|
|
1297
1330
|
this._updateComputedContextProperties(view.context);
|
|
@@ -1300,6 +1333,7 @@ class CdkVirtualForOf {
|
|
|
1300
1333
|
}
|
|
1301
1334
|
/**
|
|
1302
1335
|
* Apply changes to the DOM.
|
|
1336
|
+
* @private
|
|
1303
1337
|
* @param {?} changes
|
|
1304
1338
|
* @return {?}
|
|
1305
1339
|
*/
|
|
@@ -1307,18 +1341,19 @@ class CdkVirtualForOf {
|
|
|
1307
1341
|
// Rearrange the views to put them in the right location.
|
|
1308
1342
|
changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {
|
|
1309
1343
|
if (record.previousIndex == null) { // Item added.
|
|
1344
|
+
// Item added.
|
|
1310
1345
|
/** @type {?} */
|
|
1311
1346
|
const view = this._getViewForNewItem();
|
|
1312
|
-
this._viewContainerRef.insert(view, /** @type {?} */ (
|
|
1347
|
+
this._viewContainerRef.insert(view, (/** @type {?} */ (currentIndex)));
|
|
1313
1348
|
view.context.$implicit = record.item;
|
|
1314
1349
|
}
|
|
1315
1350
|
else if (currentIndex == null) { // Item removed.
|
|
1316
|
-
|
|
1317
|
-
this._cacheView(/** @type {?} */ (this._viewContainerRef.detach(/** @type {?} */ ((adjustedPreviousIndex)))));
|
|
1351
|
+
this._cacheView((/** @type {?} */ (this._viewContainerRef.detach((/** @type {?} */ (adjustedPreviousIndex))))));
|
|
1318
1352
|
}
|
|
1319
1353
|
else { // Item moved.
|
|
1354
|
+
// Item moved.
|
|
1320
1355
|
/** @type {?} */
|
|
1321
|
-
const view = /** @type {?} */ (this._viewContainerRef.get(/** @type {?} */ (
|
|
1356
|
+
const view = (/** @type {?} */ (this._viewContainerRef.get((/** @type {?} */ (adjustedPreviousIndex)))));
|
|
1322
1357
|
this._viewContainerRef.move(view, currentIndex);
|
|
1323
1358
|
view.context.$implicit = record.item;
|
|
1324
1359
|
}
|
|
@@ -1326,16 +1361,17 @@ class CdkVirtualForOf {
|
|
|
1326
1361
|
// Update $implicit for any items that had an identity change.
|
|
1327
1362
|
changes.forEachIdentityChange((record) => {
|
|
1328
1363
|
/** @type {?} */
|
|
1329
|
-
const view = /** @type {?} */ (this._viewContainerRef.get(/** @type {?} */ (
|
|
1364
|
+
const view = (/** @type {?} */ (this._viewContainerRef.get((/** @type {?} */ (record.currentIndex)))));
|
|
1330
1365
|
view.context.$implicit = record.item;
|
|
1331
1366
|
});
|
|
1367
|
+
// Update the context variables on all items.
|
|
1332
1368
|
/** @type {?} */
|
|
1333
1369
|
const count = this._data.length;
|
|
1334
1370
|
/** @type {?} */
|
|
1335
1371
|
let i = this._viewContainerRef.length;
|
|
1336
1372
|
while (i--) {
|
|
1337
1373
|
/** @type {?} */
|
|
1338
|
-
const view = /** @type {?} */ (this._viewContainerRef.get(i));
|
|
1374
|
+
const view = (/** @type {?} */ (this._viewContainerRef.get(i)));
|
|
1339
1375
|
view.context.index = this._renderedRange.start + i;
|
|
1340
1376
|
view.context.count = count;
|
|
1341
1377
|
this._updateComputedContextProperties(view.context);
|
|
@@ -1343,6 +1379,7 @@ class CdkVirtualForOf {
|
|
|
1343
1379
|
}
|
|
1344
1380
|
/**
|
|
1345
1381
|
* Cache the given detached view.
|
|
1382
|
+
* @private
|
|
1346
1383
|
* @param {?} view
|
|
1347
1384
|
* @return {?}
|
|
1348
1385
|
*/
|
|
@@ -1366,11 +1403,12 @@ class CdkVirtualForOf {
|
|
|
1366
1403
|
}
|
|
1367
1404
|
/**
|
|
1368
1405
|
* Get a view for a new item, either from the cache or by creating a new one.
|
|
1406
|
+
* @private
|
|
1369
1407
|
* @return {?}
|
|
1370
1408
|
*/
|
|
1371
1409
|
_getViewForNewItem() {
|
|
1372
1410
|
return this._templateCache.pop() || this._viewContainerRef.createEmbeddedView(this._template, {
|
|
1373
|
-
$implicit: /** @type {?} */ (
|
|
1411
|
+
$implicit: (/** @type {?} */ (null)),
|
|
1374
1412
|
cdkVirtualForOf: this._cdkVirtualForOf,
|
|
1375
1413
|
index: -1,
|
|
1376
1414
|
count: -1,
|
|
@@ -1382,6 +1420,7 @@ class CdkVirtualForOf {
|
|
|
1382
1420
|
}
|
|
1383
1421
|
/**
|
|
1384
1422
|
* Update the computed properties on the `CdkVirtualForOfContext`.
|
|
1423
|
+
* @private
|
|
1385
1424
|
* @param {?} context
|
|
1386
1425
|
* @return {?}
|
|
1387
1426
|
*/
|
|
@@ -1414,7 +1453,7 @@ CdkVirtualForOf.propDecorators = {
|
|
|
1414
1453
|
|
|
1415
1454
|
/**
|
|
1416
1455
|
* @fileoverview added by tsickle
|
|
1417
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1456
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1418
1457
|
*/
|
|
1419
1458
|
class ScrollingModule {
|
|
1420
1459
|
}
|
|
@@ -1451,11 +1490,12 @@ ScrollDispatchModule.decorators = [
|
|
|
1451
1490
|
|
|
1452
1491
|
/**
|
|
1453
1492
|
* @fileoverview added by tsickle
|
|
1454
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1493
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1455
1494
|
*/
|
|
1456
|
-
/**
|
|
1495
|
+
/**
|
|
1457
1496
|
* Time in ms to throttle the resize events by default.
|
|
1458
|
-
|
|
1497
|
+
* @type {?}
|
|
1498
|
+
*/
|
|
1459
1499
|
const DEFAULT_RESIZE_TIME = 20;
|
|
1460
1500
|
/**
|
|
1461
1501
|
* Simple utility for getting the bounds of the browser viewport.
|
|
@@ -1495,7 +1535,7 @@ class ViewportRuler {
|
|
|
1495
1535
|
const output = { width: this._viewportSize.width, height: this._viewportSize.height };
|
|
1496
1536
|
// If we're not on a browser, don't cache the size since it'll be mocked out anyway.
|
|
1497
1537
|
if (!this._platform.isBrowser) {
|
|
1498
|
-
this._viewportSize = /** @type {?} */ (
|
|
1538
|
+
this._viewportSize = (/** @type {?} */ (null));
|
|
1499
1539
|
}
|
|
1500
1540
|
return output;
|
|
1501
1541
|
}
|
|
@@ -1504,6 +1544,15 @@ class ViewportRuler {
|
|
|
1504
1544
|
* @return {?}
|
|
1505
1545
|
*/
|
|
1506
1546
|
getViewportRect() {
|
|
1547
|
+
// Use the document element's bounding rect rather than the window scroll properties
|
|
1548
|
+
// (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll
|
|
1549
|
+
// properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different
|
|
1550
|
+
// conceptual viewports. Under most circumstances these viewports are equivalent, but they
|
|
1551
|
+
// can disagree when the page is pinch-zoomed (on devices that support touch).
|
|
1552
|
+
// See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4
|
|
1553
|
+
// We use the documentElement instead of the body because, by default (without a css reset)
|
|
1554
|
+
// browsers typically give the document body an 8px margin, which is not included in
|
|
1555
|
+
// getBoundingClientRect().
|
|
1507
1556
|
/** @type {?} */
|
|
1508
1557
|
const scrollPosition = this.getViewportScrollPosition();
|
|
1509
1558
|
const { width, height } = this.getViewportSize();
|
|
@@ -1526,8 +1575,14 @@ class ViewportRuler {
|
|
|
1526
1575
|
if (!this._platform.isBrowser) {
|
|
1527
1576
|
return { top: 0, left: 0 };
|
|
1528
1577
|
}
|
|
1578
|
+
// The top-left-corner of the viewport is determined by the scroll position of the document
|
|
1579
|
+
// body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about
|
|
1580
|
+
// whether `document.body` or `document.documentElement` is the scrolled element, so reading
|
|
1581
|
+
// `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of
|
|
1582
|
+
// `document.documentElement` works consistently, where the `top` and `left` values will
|
|
1583
|
+
// equal negative the scroll position.
|
|
1529
1584
|
/** @type {?} */
|
|
1530
|
-
const documentElement = /** @type {?} */ (
|
|
1585
|
+
const documentElement = (/** @type {?} */ (document.documentElement));
|
|
1531
1586
|
/** @type {?} */
|
|
1532
1587
|
const documentRect = documentElement.getBoundingClientRect();
|
|
1533
1588
|
/** @type {?} */
|
|
@@ -1548,6 +1603,7 @@ class ViewportRuler {
|
|
|
1548
1603
|
}
|
|
1549
1604
|
/**
|
|
1550
1605
|
* Updates the cached viewport size.
|
|
1606
|
+
* @private
|
|
1551
1607
|
* @return {?}
|
|
1552
1608
|
*/
|
|
1553
1609
|
_updateViewportSize() {
|
|
@@ -1575,9 +1631,10 @@ ViewportRuler.ctorParameters = () => [
|
|
|
1575
1631
|
function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler, platform, ngZone) {
|
|
1576
1632
|
return parentRuler || new ViewportRuler(platform, ngZone);
|
|
1577
1633
|
}
|
|
1578
|
-
/**
|
|
1634
|
+
/**
|
|
1579
1635
|
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
1580
|
-
|
|
1636
|
+
* @type {?}
|
|
1637
|
+
*/
|
|
1581
1638
|
const VIEWPORT_RULER_PROVIDER = {
|
|
1582
1639
|
// If there is already a ViewportRuler available, use that. Otherwise, provide a new one.
|
|
1583
1640
|
provide: ViewportRuler,
|
|
@@ -1587,12 +1644,12 @@ const VIEWPORT_RULER_PROVIDER = {
|
|
|
1587
1644
|
|
|
1588
1645
|
/**
|
|
1589
1646
|
* @fileoverview added by tsickle
|
|
1590
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1647
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1591
1648
|
*/
|
|
1592
1649
|
|
|
1593
1650
|
/**
|
|
1594
1651
|
* @fileoverview added by tsickle
|
|
1595
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1652
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1596
1653
|
*/
|
|
1597
1654
|
|
|
1598
1655
|
export { _fixedSizeVirtualScrollStrategyFactory, FixedSizeVirtualScrollStrategy, CdkFixedSizeVirtualScroll, SCROLL_DISPATCHER_PROVIDER_FACTORY, DEFAULT_SCROLL_TIME, ScrollDispatcher, SCROLL_DISPATCHER_PROVIDER, CdkScrollable, ScrollingModule, ScrollDispatchModule, VIEWPORT_RULER_PROVIDER_FACTORY, DEFAULT_RESIZE_TIME, ViewportRuler, VIEWPORT_RULER_PROVIDER, CdkVirtualForOf, VIRTUAL_SCROLL_STRATEGY, CdkVirtualScrollViewport };
|