@angular/cdk 8.0.0-beta.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/_overlay.scss +4 -4
- package/bundles/cdk-a11y.umd.js +227 -79
- 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 +20 -8
- 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 +5 -5
- package/bundles/cdk-bidi.umd.min.js +1 -1
- package/bundles/cdk-bidi.umd.min.js.map +1 -1
- package/bundles/cdk-coercion.umd.js +5 -5
- package/bundles/cdk-collections.umd.js +38 -15
- package/bundles/cdk-collections.umd.js.map +1 -1
- package/bundles/cdk-collections.umd.min.js +1 -1
- package/bundles/cdk-collections.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +571 -180
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +2 -2
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-keycodes.umd.js +7 -3
- package/bundles/cdk-keycodes.umd.js.map +1 -1
- package/bundles/cdk-keycodes.umd.min.js.map +1 -1
- package/bundles/cdk-layout.umd.js +83 -30
- 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 +30 -11
- 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 +229 -108
- 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 +17 -10
- package/bundles/cdk-platform.umd.js.map +1 -1
- package/bundles/cdk-platform.umd.min.js +1 -1
- package/bundles/cdk-platform.umd.min.js.map +1 -1
- package/bundles/cdk-portal.umd.js +32 -13
- 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 +184 -62
- 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 +30 -12
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-table.umd.js +384 -74
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +1 -1
- package/bundles/cdk-table.umd.min.js.map +1 -1
- package/bundles/cdk-text-field.umd.js +61 -21
- 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 +85 -29
- package/bundles/cdk-tree.umd.js.map +1 -1
- package/bundles/cdk-tree.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +2 -2
- 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/drag-drop/typings/directives/drag.d.ts +11 -2
- package/drag-drop/typings/drag-events.d.ts +17 -0
- package/drag-drop/typings/drag-ref.d.ts +9 -5
- package/drag-drop/typings/drop-list-ref.d.ts +9 -3
- package/drag-drop/typings/index.metadata.json +1 -1
- package/esm2015/a11y.js +229 -81
- package/esm2015/a11y.js.map +1 -1
- package/esm2015/accordion.js +22 -10
- package/esm2015/accordion.js.map +1 -1
- package/esm2015/bidi.js +8 -8
- package/esm2015/cdk.js +4 -4
- package/esm2015/cdk.js.map +1 -1
- package/esm2015/coercion.js +7 -7
- package/esm2015/collections.js +41 -18
- package/esm2015/collections.js.map +1 -1
- package/esm2015/drag-drop.js +540 -181
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/keycodes.js +9 -5
- package/esm2015/keycodes.js.map +1 -1
- package/esm2015/layout.js +89 -36
- package/esm2015/layout.js.map +1 -1
- package/esm2015/observers.js +33 -14
- package/esm2015/observers.js.map +1 -1
- package/esm2015/overlay.js +232 -110
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/platform.js +20 -13
- package/esm2015/platform.js.map +1 -1
- package/esm2015/portal.js +34 -15
- package/esm2015/portal.js.map +1 -1
- package/esm2015/scrolling.js +180 -58
- package/esm2015/scrolling.js.map +1 -1
- package/esm2015/stepper.js +32 -14
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +369 -69
- package/esm2015/table.js.map +1 -1
- package/esm2015/text-field.js +64 -24
- package/esm2015/text-field.js.map +1 -1
- package/esm2015/tree.js +86 -30
- package/esm2015/tree.js.map +1 -1
- package/esm5/a11y.es5.js +230 -82
- package/esm5/a11y.es5.js.map +1 -1
- package/esm5/accordion.es5.js +22 -10
- package/esm5/accordion.es5.js.map +1 -1
- package/esm5/bidi.es5.js +8 -8
- package/esm5/cdk.es5.js +4 -4
- package/esm5/cdk.es5.js.map +1 -1
- package/esm5/coercion.es5.js +7 -7
- package/esm5/collections.es5.js +42 -19
- package/esm5/collections.es5.js.map +1 -1
- package/esm5/drag-drop.es5.js +574 -183
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/keycodes.es5.js +9 -5
- package/esm5/keycodes.es5.js.map +1 -1
- package/esm5/layout.es5.js +86 -33
- package/esm5/layout.es5.js.map +1 -1
- package/esm5/observers.es5.js +33 -14
- package/esm5/observers.es5.js.map +1 -1
- package/esm5/overlay.es5.js +232 -111
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/platform.es5.js +20 -13
- package/esm5/platform.es5.js.map +1 -1
- package/esm5/portal.es5.js +34 -15
- package/esm5/portal.es5.js.map +1 -1
- package/esm5/scrolling.es5.js +187 -65
- package/esm5/scrolling.es5.js.map +1 -1
- package/esm5/stepper.es5.js +32 -14
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +386 -72
- package/esm5/table.es5.js.map +1 -1
- package/esm5/text-field.es5.js +64 -24
- package/esm5/text-field.es5.js.map +1 -1
- package/esm5/tree.es5.js +87 -31
- package/esm5/tree.es5.js.map +1 -1
- package/layout/typings/breakpoints-observer.d.ts +3 -3
- package/layout/typings/index.metadata.json +1 -1
- package/layout/typings/media-matcher.d.ts +2 -2
- package/overlay/typings/index.metadata.json +1 -1
- package/overlay/typings/position/flexible-connected-position-strategy.d.ts +1 -3
- package/package.json +8 -8
- package/portal/typings/portal.d.ts +2 -2
- package/schematics/ng-update/data/attribute-selectors.js +1 -1
- package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
- package/schematics/ng-update/data/class-names.js +3 -3
- package/schematics/ng-update/data/class-names.js.map +1 -1
- package/schematics/ng-update/data/constructor-checks.js +1 -1
- package/schematics/ng-update/data/constructor-checks.js.map +1 -1
- package/schematics/ng-update/data/input-names.js +1 -1
- package/schematics/ng-update/data/input-names.js.map +1 -1
- package/schematics/ng-update/data/method-call-checks.js +1 -1
- package/schematics/ng-update/data/method-call-checks.js.map +1 -1
- package/schematics/ng-update/data/property-names.js +4 -4
- package/schematics/ng-update/data/property-names.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js +1 -1
- package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js.map +1 -1
- package/schematics/tsconfig.tsbuildinfo +5811 -0
- package/schematics/utils/ast.d.ts +1 -1
- package/schematics/utils/build-component.js +1 -1
- package/schematics/utils/build-component.js.map +1 -1
- package/schematics/utils/get-project.d.ts +1 -1
- package/schematics/utils/project-main-file.d.ts +1 -1
- package/schematics/utils/project-style-file.d.ts +1 -1
- package/schematics/utils/project-targets.d.ts +1 -1
- package/schematics/utils/schematic-options.d.ts +1 -1
- package/table/typings/cell.d.ts +3 -2
- package/table/typings/index.metadata.json +1 -1
- package/table/typings/public-api.d.ts +1 -0
- package/table/typings/row.d.ts +5 -4
- package/table/typings/sticky-styler.d.ts +5 -5
- package/table/typings/table-errors.d.ts +10 -0
- package/table/typings/text-column.d.ts +80 -0
- package/typings/drag-drop/directives/drag.d.ts +11 -2
- package/typings/drag-drop/drag-events.d.ts +17 -0
- package/typings/drag-drop/drag-ref.d.ts +9 -5
- package/typings/drag-drop/drop-list-ref.d.ts +9 -3
- package/typings/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/drag-drop/directives/drag.d.ts +11 -2
- package/typings/esm5/drag-drop/drag-events.d.ts +17 -0
- package/typings/esm5/drag-drop/drag-ref.d.ts +9 -5
- package/typings/esm5/drag-drop/drop-list-ref.d.ts +9 -3
- package/typings/esm5/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/layout/breakpoints-observer.d.ts +3 -3
- package/typings/esm5/layout/index.metadata.json +1 -1
- package/typings/esm5/layout/media-matcher.d.ts +2 -2
- package/typings/esm5/overlay/index.metadata.json +1 -1
- package/typings/esm5/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
- package/typings/esm5/portal/portal.d.ts +2 -2
- package/typings/esm5/table/cell.d.ts +3 -2
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/table/public-api.d.ts +1 -0
- package/typings/esm5/table/row.d.ts +5 -4
- package/typings/esm5/table/sticky-styler.d.ts +5 -5
- package/typings/esm5/table/table-errors.d.ts +10 -0
- package/typings/esm5/table/text-column.d.ts +80 -0
- package/typings/index.metadata.json +1 -1
- package/typings/layout/breakpoints-observer.d.ts +3 -3
- package/typings/layout/index.metadata.json +1 -1
- package/typings/layout/media-matcher.d.ts +2 -2
- package/typings/overlay/index.metadata.json +1 -1
- package/typings/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
- package/typings/portal/portal.d.ts +2 -2
- package/typings/schematics/utils/ast.d.ts +1 -1
- package/typings/schematics/utils/get-project.d.ts +1 -1
- package/typings/schematics/utils/project-main-file.d.ts +1 -1
- package/typings/schematics/utils/project-style-file.d.ts +1 -1
- package/typings/schematics/utils/project-targets.d.ts +1 -1
- package/typings/schematics/utils/schematic-options.d.ts +1 -1
- package/typings/table/cell.d.ts +3 -2
- package/typings/table/index.metadata.json +1 -1
- package/typings/table/public-api.d.ts +1 -0
- package/typings/table/row.d.ts +5 -4
- package/typings/table/sticky-styler.d.ts +5 -5
- package/typings/table/table-errors.d.ts +10 -0
- package/typings/table/text-column.d.ts +80 -0
package/esm5/keycodes.es5.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* @fileoverview added by tsickle
|
|
10
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
/** @type {?} */
|
|
@@ -258,7 +258,7 @@ var MAC_META = 224;
|
|
|
258
258
|
|
|
259
259
|
/**
|
|
260
260
|
* @fileoverview added by tsickle
|
|
261
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
261
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
262
262
|
*/
|
|
263
263
|
|
|
264
264
|
/**
|
|
@@ -273,19 +273,23 @@ function hasModifierKey(event) {
|
|
|
273
273
|
modifiers[_i - 1] = arguments[_i];
|
|
274
274
|
}
|
|
275
275
|
if (modifiers.length) {
|
|
276
|
-
return modifiers.some(
|
|
276
|
+
return modifiers.some((/**
|
|
277
|
+
* @param {?} modifier
|
|
278
|
+
* @return {?}
|
|
279
|
+
*/
|
|
280
|
+
function (modifier) { return event[modifier]; }));
|
|
277
281
|
}
|
|
278
282
|
return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;
|
|
279
283
|
}
|
|
280
284
|
|
|
281
285
|
/**
|
|
282
286
|
* @fileoverview added by tsickle
|
|
283
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
287
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
284
288
|
*/
|
|
285
289
|
|
|
286
290
|
/**
|
|
287
291
|
* @fileoverview added by tsickle
|
|
288
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
292
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
289
293
|
*/
|
|
290
294
|
|
|
291
295
|
export { MAC_ENTER, BACKSPACE, TAB, NUM_CENTER, ENTER, SHIFT, CONTROL, ALT, PAUSE, CAPS_LOCK, ESCAPE, SPACE, PAGE_UP, PAGE_DOWN, END, HOME, LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW, PLUS_SIGN, PRINT_SCREEN, INSERT, DELETE, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, FF_SEMICOLON, FF_EQUALS, QUESTION_MARK, AT_SIGN, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, CONTEXT_MENU, NUMPAD_ZERO, NUMPAD_ONE, NUMPAD_TWO, NUMPAD_THREE, NUMPAD_FOUR, NUMPAD_FIVE, NUMPAD_SIX, NUMPAD_SEVEN, NUMPAD_EIGHT, NUMPAD_NINE, NUMPAD_MULTIPLY, NUMPAD_PLUS, NUMPAD_MINUS, NUMPAD_PERIOD, NUMPAD_DIVIDE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, NUM_LOCK, SCROLL_LOCK, FIRST_MEDIA, FF_MINUS, MUTE, VOLUME_DOWN, VOLUME_UP, FF_MUTE, FF_VOLUME_DOWN, LAST_MEDIA, FF_VOLUME_UP, SEMICOLON, EQUALS, COMMA, DASH, SLASH, APOSTROPHE, TILDE, OPEN_SQUARE_BRACKET, BACKSLASH, CLOSE_SQUARE_BRACKET, SINGLE_QUOTE, MAC_META, hasModifierKey };
|
package/esm5/keycodes.es5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keycodes.es5.js","sources":["../../../src/cdk/keycodes/modifiers.ts","../../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ntype ModifierKey = 'altKey' | 'shiftKey' | 'ctrlKey' | 'metaKey';\n\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nexport function hasModifierKey(event: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"keycodes.es5.js","sources":["../../../src/cdk/keycodes/modifiers.ts","../../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ntype ModifierKey = 'altKey' | 'shiftKey' | 'ctrlKey' | 'metaKey';\n\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nexport function hasModifierKey(event: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n"],"names":[],"mappings":"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"}
|
package/esm5/layout.es5.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { NgModule, Injectable, NgZone,
|
|
8
|
+
import { NgModule, Injectable, NgZone, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
9
9
|
import { Platform } from '@angular/cdk/platform';
|
|
10
10
|
import { asapScheduler, combineLatest, Observable, Subject } from 'rxjs';
|
|
11
11
|
import { debounceTime, map, startWith, takeUntil } from 'rxjs/operators';
|
|
@@ -13,7 +13,7 @@ import { coerceArray } from '@angular/cdk/coercion';
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @fileoverview added by tsickle
|
|
16
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
16
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
17
17
|
*/
|
|
18
18
|
var LayoutModule = /** @class */ (function () {
|
|
19
19
|
function LayoutModule() {
|
|
@@ -26,7 +26,7 @@ var LayoutModule = /** @class */ (function () {
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @fileoverview added by tsickle
|
|
29
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
29
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
30
30
|
*/
|
|
31
31
|
/**
|
|
32
32
|
* Global registry for all dynamically-created, injected media queries.
|
|
@@ -42,9 +42,9 @@ var mediaQueryStyleNode;
|
|
|
42
42
|
* A utility for calling matchMedia queries.
|
|
43
43
|
*/
|
|
44
44
|
var MediaMatcher = /** @class */ (function () {
|
|
45
|
-
function MediaMatcher(
|
|
46
|
-
this.
|
|
47
|
-
this._matchMedia = this.
|
|
45
|
+
function MediaMatcher(_platform) {
|
|
46
|
+
this._platform = _platform;
|
|
47
|
+
this._matchMedia = this._platform.isBrowser && window.matchMedia ?
|
|
48
48
|
// matchMedia is bound to the window scope intentionally as it is an illegal invocation to
|
|
49
49
|
// call it from a different scope.
|
|
50
50
|
window.matchMedia.bind(window) :
|
|
@@ -73,7 +73,7 @@ var MediaMatcher = /** @class */ (function () {
|
|
|
73
73
|
* @return {?}
|
|
74
74
|
*/
|
|
75
75
|
function (query) {
|
|
76
|
-
if (this.
|
|
76
|
+
if (this._platform.WEBKIT) {
|
|
77
77
|
createEmptyStyleRule(query);
|
|
78
78
|
}
|
|
79
79
|
return this._matchMedia(query);
|
|
@@ -85,7 +85,7 @@ var MediaMatcher = /** @class */ (function () {
|
|
|
85
85
|
MediaMatcher.ctorParameters = function () { return [
|
|
86
86
|
{ type: Platform }
|
|
87
87
|
]; };
|
|
88
|
-
/** @nocollapse */ MediaMatcher.ngInjectableDef =
|
|
88
|
+
/** @nocollapse */ MediaMatcher.ngInjectableDef = ɵɵdefineInjectable({ factory: function MediaMatcher_Factory() { return new MediaMatcher(ɵɵinject(Platform)); }, token: MediaMatcher, providedIn: "root" });
|
|
89
89
|
return MediaMatcher;
|
|
90
90
|
}());
|
|
91
91
|
/**
|
|
@@ -125,22 +125,28 @@ function noopMatchMedia(query) {
|
|
|
125
125
|
return (/** @type {?} */ ({
|
|
126
126
|
matches: query === 'all' || query === '',
|
|
127
127
|
media: query,
|
|
128
|
-
addListener:
|
|
129
|
-
|
|
128
|
+
addListener: (/**
|
|
129
|
+
* @return {?}
|
|
130
|
+
*/
|
|
131
|
+
function () { }),
|
|
132
|
+
removeListener: (/**
|
|
133
|
+
* @return {?}
|
|
134
|
+
*/
|
|
135
|
+
function () { })
|
|
130
136
|
}));
|
|
131
137
|
}
|
|
132
138
|
|
|
133
139
|
/**
|
|
134
140
|
* @fileoverview added by tsickle
|
|
135
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
141
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
136
142
|
*/
|
|
137
143
|
/**
|
|
138
144
|
* Utility for checking the matching state of \@media queries.
|
|
139
145
|
*/
|
|
140
146
|
var BreakpointObserver = /** @class */ (function () {
|
|
141
|
-
function BreakpointObserver(
|
|
142
|
-
this.
|
|
143
|
-
this.
|
|
147
|
+
function BreakpointObserver(_mediaMatcher, _zone) {
|
|
148
|
+
this._mediaMatcher = _mediaMatcher;
|
|
149
|
+
this._zone = _zone;
|
|
144
150
|
/**
|
|
145
151
|
* A map of all media queries currently being listened for.
|
|
146
152
|
*/
|
|
@@ -182,7 +188,11 @@ var BreakpointObserver = /** @class */ (function () {
|
|
|
182
188
|
var _this = this;
|
|
183
189
|
/** @type {?} */
|
|
184
190
|
var queries = splitQueries(coerceArray(value));
|
|
185
|
-
return queries.some(
|
|
191
|
+
return queries.some((/**
|
|
192
|
+
* @param {?} mediaQuery
|
|
193
|
+
* @return {?}
|
|
194
|
+
*/
|
|
195
|
+
function (mediaQuery) { return _this._registerQuery(mediaQuery).mql.matches; }));
|
|
186
196
|
};
|
|
187
197
|
/**
|
|
188
198
|
* Gets an observable of results for the given queries that will emit new results for any changes
|
|
@@ -207,19 +217,31 @@ var BreakpointObserver = /** @class */ (function () {
|
|
|
207
217
|
/** @type {?} */
|
|
208
218
|
var queries = splitQueries(coerceArray(value));
|
|
209
219
|
/** @type {?} */
|
|
210
|
-
var observables = queries.map(
|
|
211
|
-
|
|
220
|
+
var observables = queries.map((/**
|
|
221
|
+
* @param {?} query
|
|
222
|
+
* @return {?}
|
|
223
|
+
*/
|
|
224
|
+
function (query) { return _this._registerQuery(query).observable; }));
|
|
225
|
+
return combineLatest(observables).pipe(debounceTime(0, asapScheduler), map((/**
|
|
226
|
+
* @param {?} breakpointStates
|
|
227
|
+
* @return {?}
|
|
228
|
+
*/
|
|
229
|
+
function (breakpointStates) {
|
|
212
230
|
/** @type {?} */
|
|
213
231
|
var response = {
|
|
214
232
|
matches: false,
|
|
215
233
|
breakpoints: {},
|
|
216
234
|
};
|
|
217
|
-
breakpointStates.forEach(
|
|
235
|
+
breakpointStates.forEach((/**
|
|
236
|
+
* @param {?} state
|
|
237
|
+
* @return {?}
|
|
238
|
+
*/
|
|
239
|
+
function (state) {
|
|
218
240
|
response.matches = response.matches || state.matches;
|
|
219
241
|
response.breakpoints[state.query] = state.matches;
|
|
220
|
-
});
|
|
242
|
+
}));
|
|
221
243
|
return response;
|
|
222
|
-
}));
|
|
244
|
+
})));
|
|
223
245
|
};
|
|
224
246
|
/** Registers a specific query to be listened for. */
|
|
225
247
|
/**
|
|
@@ -241,22 +263,40 @@ var BreakpointObserver = /** @class */ (function () {
|
|
|
241
263
|
return (/** @type {?} */ (this._queries.get(query)));
|
|
242
264
|
}
|
|
243
265
|
/** @type {?} */
|
|
244
|
-
var mql = this.
|
|
266
|
+
var mql = this._mediaMatcher.matchMedia(query);
|
|
245
267
|
// Create callback for match changes and add it is as a listener.
|
|
246
268
|
/** @type {?} */
|
|
247
|
-
var queryObservable = new Observable(
|
|
269
|
+
var queryObservable = new Observable((/**
|
|
270
|
+
* @param {?} observer
|
|
271
|
+
* @return {?}
|
|
272
|
+
*/
|
|
273
|
+
function (observer) {
|
|
248
274
|
// Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
|
|
249
275
|
// back into the zone because matchMedia is only included in Zone.js by loading the
|
|
250
276
|
// webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not
|
|
251
277
|
// have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
|
|
252
278
|
// patches it.
|
|
253
279
|
/** @type {?} */
|
|
254
|
-
var handler =
|
|
280
|
+
var handler = (/**
|
|
281
|
+
* @param {?} e
|
|
282
|
+
* @return {?}
|
|
283
|
+
*/
|
|
284
|
+
function (e) { return _this._zone.run((/**
|
|
285
|
+
* @return {?}
|
|
286
|
+
*/
|
|
287
|
+
function () { return observer.next(e); })); });
|
|
255
288
|
mql.addListener(handler);
|
|
256
|
-
return
|
|
289
|
+
return (/**
|
|
290
|
+
* @return {?}
|
|
291
|
+
*/
|
|
292
|
+
function () {
|
|
257
293
|
mql.removeListener(handler);
|
|
258
|
-
};
|
|
259
|
-
}).pipe(startWith(mql), map(
|
|
294
|
+
});
|
|
295
|
+
})).pipe(startWith(mql), map((/**
|
|
296
|
+
* @param {?} nextMql
|
|
297
|
+
* @return {?}
|
|
298
|
+
*/
|
|
299
|
+
function (nextMql) { return ({ query: query, matches: nextMql.matches }); })), takeUntil(this._destroySubject));
|
|
260
300
|
// Add the MediaQueryList to the set of queries.
|
|
261
301
|
/** @type {?} */
|
|
262
302
|
var output = { observable: queryObservable, mql: mql };
|
|
@@ -271,7 +311,7 @@ var BreakpointObserver = /** @class */ (function () {
|
|
|
271
311
|
{ type: MediaMatcher },
|
|
272
312
|
{ type: NgZone }
|
|
273
313
|
]; };
|
|
274
|
-
/** @nocollapse */ BreakpointObserver.ngInjectableDef =
|
|
314
|
+
/** @nocollapse */ BreakpointObserver.ngInjectableDef = ɵɵdefineInjectable({ factory: function BreakpointObserver_Factory() { return new BreakpointObserver(ɵɵinject(MediaMatcher), ɵɵinject(NgZone)); }, token: BreakpointObserver, providedIn: "root" });
|
|
275
315
|
return BreakpointObserver;
|
|
276
316
|
}());
|
|
277
317
|
/**
|
|
@@ -281,14 +321,27 @@ var BreakpointObserver = /** @class */ (function () {
|
|
|
281
321
|
* @return {?}
|
|
282
322
|
*/
|
|
283
323
|
function splitQueries(queries) {
|
|
284
|
-
return queries.map(
|
|
285
|
-
|
|
286
|
-
|
|
324
|
+
return queries.map((/**
|
|
325
|
+
* @param {?} query
|
|
326
|
+
* @return {?}
|
|
327
|
+
*/
|
|
328
|
+
function (query) { return query.split(','); }))
|
|
329
|
+
.reduce((/**
|
|
330
|
+
* @param {?} a1
|
|
331
|
+
* @param {?} a2
|
|
332
|
+
* @return {?}
|
|
333
|
+
*/
|
|
334
|
+
function (a1, a2) { return a1.concat(a2); }))
|
|
335
|
+
.map((/**
|
|
336
|
+
* @param {?} query
|
|
337
|
+
* @return {?}
|
|
338
|
+
*/
|
|
339
|
+
function (query) { return query.trim(); }));
|
|
287
340
|
}
|
|
288
341
|
|
|
289
342
|
/**
|
|
290
343
|
* @fileoverview added by tsickle
|
|
291
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
344
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
292
345
|
*/
|
|
293
346
|
// PascalCase is being used as Breakpoints is used like an enum.
|
|
294
347
|
// tslint:disable-next-line:variable-name
|
|
@@ -322,12 +375,12 @@ var Breakpoints = {
|
|
|
322
375
|
|
|
323
376
|
/**
|
|
324
377
|
* @fileoverview added by tsickle
|
|
325
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
378
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
326
379
|
*/
|
|
327
380
|
|
|
328
381
|
/**
|
|
329
382
|
* @fileoverview added by tsickle
|
|
330
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
383
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
331
384
|
*/
|
|
332
385
|
|
|
333
386
|
export { LayoutModule, BreakpointObserver, Breakpoints, MediaMatcher };
|
package/esm5/layout.es5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.es5.js","sources":["../../../src/cdk/layout/breakpoints.ts","../../../src/cdk/layout/breakpoints-observer.ts","../../../src/cdk/layout/media-matcher.ts","../../../src/cdk/layout/layout-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n XSmall: '(max-width: 599.99px)',\n Small: '(min-width: 600px) and (max-width: 959.99px)',\n Medium: '(min-width: 960px) and (max-width: 1279.99px)',\n Large: '(min-width: 1280px) and (max-width: 1919.99px)',\n XLarge: '(min-width: 1920px)',\n\n Handset: '(max-width: 599.99px) and (orientation: portrait), ' +\n '(max-width: 959.99px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n\n HandsetPortrait: '(max-width: 599.99px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n HandsetLandscape: '(max-width: 959.99px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {asapScheduler, combineLatest, Observable, Subject, Observer} from 'rxjs';\nimport {debounceTime, map, startWith, takeUntil} from 'rxjs/operators';\nimport {coerceArray} from '@angular/cdk/coercion';\n\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /**\n * A key boolean pair for each query provided to the observe method,\n * with its current matched state.\n */\n breakpoints: {\n [key: string]: boolean;\n };\n}\n\n/** The current state of a layout breakpoint. */\ninterface InternalBreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /** The media query being to be matched */\n query: string;\n}\n\ninterface Query {\n observable: Observable<InternalBreakpointState>;\n mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable({providedIn: 'root'})\nexport class BreakpointObserver implements OnDestroy {\n /** A map of all media queries currently being listened for. */\n private _queries = new Map<string, Query>();\n /** A subject for all other observables to takeUntil based on. */\n private _destroySubject = new Subject<void>();\n\n constructor(private mediaMatcher: MediaMatcher, private zone: NgZone) {}\n\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value: string | string[]): boolean {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value: string | string[]): Observable<BreakpointState> {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n\n return combineLatest(observables).pipe(\n debounceTime(0, asapScheduler),\n map((breakpointStates: InternalBreakpointState[]) => {\n const response: BreakpointState = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach((state: InternalBreakpointState) => {\n response.matches = response.matches || state.matches;\n response.breakpoints[state.query] = state.matches;\n });\n return response;\n }));\n }\n\n /** Registers a specific query to be listened for. */\n private _registerQuery(query: string): Query {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query)!;\n }\n\n const mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable<MediaQueryList>((observer: Observer<MediaQueryList>) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e: any) => this.zone.run(() => observer.next(e));\n mql.addListener(handler);\n\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(\n startWith(mql),\n map((nextMql: MediaQueryList) => ({query, matches: nextMql.matches})),\n takeUntil(this._destroySubject)\n );\n\n // Add the MediaQueryList to the set of queries.\n const output = {observable: queryObservable, mql};\n this._queries.set(query, output);\n return output;\n }\n}\n\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries: string[]): string[] {\n return queries.map((query: string) => query.split(','))\n .reduce((a1: string[], a2: string[]) => a1.concat(a2))\n .map(query => query.trim());\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility: Set<string> = new Set<string>();\n\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode: HTMLStyleElement | undefined;\n\n/** A utility for calling matchMedia queries. */\n@Injectable({providedIn: 'root'})\nexport class MediaMatcher {\n /** The internal matchMedia method to return back a MediaQueryList like object. */\n private _matchMedia: (query: string) => MediaQueryList;\n\n constructor(private platform: Platform) {\n this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query: string): MediaQueryList {\n if (this.platform.WEBKIT) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when\n * there is at least one CSS selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head!.appendChild(mediaQueryStyleNode);\n }\n\n if (mediaQueryStyleNode.sheet) {\n (mediaQueryStyleNode.sheet as CSSStyleSheet)\n .insertRule(`@media ${query} {.fx-query-test{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n } catch (e) {\n console.error(e);\n }\n}\n\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n } as any;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class LayoutModule {}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.es5.js","sources":["../../../src/cdk/layout/breakpoints.ts","../../../src/cdk/layout/breakpoints-observer.ts","../../../src/cdk/layout/media-matcher.ts","../../../src/cdk/layout/layout-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n XSmall: '(max-width: 599.99px)',\n Small: '(min-width: 600px) and (max-width: 959.99px)',\n Medium: '(min-width: 960px) and (max-width: 1279.99px)',\n Large: '(min-width: 1280px) and (max-width: 1919.99px)',\n XLarge: '(min-width: 1920px)',\n\n Handset: '(max-width: 599.99px) and (orientation: portrait), ' +\n '(max-width: 959.99px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n\n HandsetPortrait: '(max-width: 599.99px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n HandsetLandscape: '(max-width: 959.99px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {asapScheduler, combineLatest, Observable, Subject, Observer} from 'rxjs';\nimport {debounceTime, map, startWith, takeUntil} from 'rxjs/operators';\nimport {coerceArray} from '@angular/cdk/coercion';\n\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /**\n * A key boolean pair for each query provided to the observe method,\n * with its current matched state.\n */\n breakpoints: {\n [key: string]: boolean;\n };\n}\n\n/** The current state of a layout breakpoint. */\ninterface InternalBreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /** The media query being to be matched */\n query: string;\n}\n\ninterface Query {\n observable: Observable<InternalBreakpointState>;\n mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable({providedIn: 'root'})\nexport class BreakpointObserver implements OnDestroy {\n /** A map of all media queries currently being listened for. */\n private _queries = new Map<string, Query>();\n /** A subject for all other observables to takeUntil based on. */\n private _destroySubject = new Subject<void>();\n\n constructor(private _mediaMatcher: MediaMatcher, private _zone: NgZone) {}\n\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value: string | string[]): boolean {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value: string | string[]): Observable<BreakpointState> {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n\n return combineLatest(observables).pipe(\n debounceTime(0, asapScheduler),\n map((breakpointStates: InternalBreakpointState[]) => {\n const response: BreakpointState = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach((state: InternalBreakpointState) => {\n response.matches = response.matches || state.matches;\n response.breakpoints[state.query] = state.matches;\n });\n return response;\n }));\n }\n\n /** Registers a specific query to be listened for. */\n private _registerQuery(query: string): Query {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query)!;\n }\n\n const mql: MediaQueryList = this._mediaMatcher.matchMedia(query);\n\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable<MediaQueryList>((observer: Observer<MediaQueryList>) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e: any) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(\n startWith(mql),\n map((nextMql: MediaQueryList) => ({query, matches: nextMql.matches})),\n takeUntil(this._destroySubject)\n );\n\n // Add the MediaQueryList to the set of queries.\n const output = {observable: queryObservable, mql};\n this._queries.set(query, output);\n return output;\n }\n}\n\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries: string[]): string[] {\n return queries.map((query: string) => query.split(','))\n .reduce((a1: string[], a2: string[]) => a1.concat(a2))\n .map(query => query.trim());\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility: Set<string> = new Set<string>();\n\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode: HTMLStyleElement | undefined;\n\n/** A utility for calling matchMedia queries. */\n@Injectable({providedIn: 'root'})\nexport class MediaMatcher {\n /** The internal matchMedia method to return back a MediaQueryList like object. */\n private _matchMedia: (query: string) => MediaQueryList;\n\n constructor(private _platform: Platform) {\n this._matchMedia = this._platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query: string): MediaQueryList {\n if (this._platform.WEBKIT) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when\n * there is at least one CSS selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head!.appendChild(mediaQueryStyleNode);\n }\n\n if (mediaQueryStyleNode.sheet) {\n (mediaQueryStyleNode.sheet as CSSStyleSheet)\n .insertRule(`@media ${query} {.fx-query-test{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n } catch (e) {\n console.error(e);\n }\n}\n\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n } as any;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class LayoutModule {}\n"],"names":[],"mappings":"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"}
|
package/esm5/observers.es5.js
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
import { coerceBooleanProperty, coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
|
|
9
|
-
import { Directive, ElementRef, EventEmitter, Injectable, Input, NgModule, NgZone, Output,
|
|
9
|
+
import { Directive, ElementRef, EventEmitter, Injectable, Input, NgModule, NgZone, Output, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
10
10
|
import { Observable, Subject } from 'rxjs';
|
|
11
11
|
import { debounceTime } from 'rxjs/operators';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @fileoverview added by tsickle
|
|
15
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
15
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
16
16
|
*/
|
|
17
17
|
/**
|
|
18
18
|
* Factory that creates a new MutationObserver and allows us to stub it out in unit tests.
|
|
@@ -35,7 +35,7 @@ var MutationObserverFactory = /** @class */ (function () {
|
|
|
35
35
|
MutationObserverFactory.decorators = [
|
|
36
36
|
{ type: Injectable, args: [{ providedIn: 'root' },] },
|
|
37
37
|
];
|
|
38
|
-
/** @nocollapse */ MutationObserverFactory.ngInjectableDef =
|
|
38
|
+
/** @nocollapse */ MutationObserverFactory.ngInjectableDef = ɵɵdefineInjectable({ factory: function MutationObserverFactory_Factory() { return new MutationObserverFactory(); }, token: MutationObserverFactory, providedIn: "root" });
|
|
39
39
|
return MutationObserverFactory;
|
|
40
40
|
}());
|
|
41
41
|
/**
|
|
@@ -57,7 +57,12 @@ var ContentObserver = /** @class */ (function () {
|
|
|
57
57
|
*/
|
|
58
58
|
function () {
|
|
59
59
|
var _this = this;
|
|
60
|
-
this._observedElements.forEach(
|
|
60
|
+
this._observedElements.forEach((/**
|
|
61
|
+
* @param {?} _
|
|
62
|
+
* @param {?} element
|
|
63
|
+
* @return {?}
|
|
64
|
+
*/
|
|
65
|
+
function (_, element) { return _this._cleanupObserver(element); }));
|
|
61
66
|
};
|
|
62
67
|
/**
|
|
63
68
|
* @param {?} elementOrRef
|
|
@@ -71,16 +76,23 @@ var ContentObserver = /** @class */ (function () {
|
|
|
71
76
|
var _this = this;
|
|
72
77
|
/** @type {?} */
|
|
73
78
|
var element = coerceElement(elementOrRef);
|
|
74
|
-
return new Observable(
|
|
79
|
+
return new Observable((/**
|
|
80
|
+
* @param {?} observer
|
|
81
|
+
* @return {?}
|
|
82
|
+
*/
|
|
83
|
+
function (observer) {
|
|
75
84
|
/** @type {?} */
|
|
76
85
|
var stream = _this._observeElement(element);
|
|
77
86
|
/** @type {?} */
|
|
78
87
|
var subscription = stream.subscribe(observer);
|
|
79
|
-
return
|
|
88
|
+
return (/**
|
|
89
|
+
* @return {?}
|
|
90
|
+
*/
|
|
91
|
+
function () {
|
|
80
92
|
subscription.unsubscribe();
|
|
81
93
|
_this._unobserveElement(element);
|
|
82
|
-
};
|
|
83
|
-
});
|
|
94
|
+
});
|
|
95
|
+
}));
|
|
84
96
|
};
|
|
85
97
|
/**
|
|
86
98
|
* Observes the given element by using the existing MutationObserver if available, or creating a
|
|
@@ -105,7 +117,11 @@ var ContentObserver = /** @class */ (function () {
|
|
|
105
117
|
/** @type {?} */
|
|
106
118
|
var stream_1 = new Subject();
|
|
107
119
|
/** @type {?} */
|
|
108
|
-
var observer = this._mutationObserverFactory.create(
|
|
120
|
+
var observer = this._mutationObserverFactory.create((/**
|
|
121
|
+
* @param {?} mutations
|
|
122
|
+
* @return {?}
|
|
123
|
+
*/
|
|
124
|
+
function (mutations) { return stream_1.next(mutations); }));
|
|
109
125
|
if (observer) {
|
|
110
126
|
observer.observe(element, {
|
|
111
127
|
characterData: true,
|
|
@@ -176,7 +192,7 @@ var ContentObserver = /** @class */ (function () {
|
|
|
176
192
|
ContentObserver.ctorParameters = function () { return [
|
|
177
193
|
{ type: MutationObserverFactory }
|
|
178
194
|
]; };
|
|
179
|
-
/** @nocollapse */ ContentObserver.ngInjectableDef =
|
|
195
|
+
/** @nocollapse */ ContentObserver.ngInjectableDef = ɵɵdefineInjectable({ factory: function ContentObserver_Factory() { return new ContentObserver(ɵɵinject(MutationObserverFactory)); }, token: ContentObserver, providedIn: "root" });
|
|
180
196
|
return ContentObserver;
|
|
181
197
|
}());
|
|
182
198
|
/**
|
|
@@ -272,10 +288,13 @@ var CdkObserveContent = /** @class */ (function () {
|
|
|
272
288
|
// Consider brining it back inside the zone next time we're making breaking changes.
|
|
273
289
|
// Bringing it back inside can cause things like infinite change detection loops and changed
|
|
274
290
|
// after checked errors if people's code isn't handling it properly.
|
|
275
|
-
this._ngZone.runOutsideAngular(
|
|
291
|
+
this._ngZone.runOutsideAngular((/**
|
|
292
|
+
* @return {?}
|
|
293
|
+
*/
|
|
294
|
+
function () {
|
|
276
295
|
_this._currentSubscription =
|
|
277
296
|
(_this.debounce ? stream.pipe(debounceTime(_this.debounce)) : stream).subscribe(_this.event);
|
|
278
|
-
});
|
|
297
|
+
}));
|
|
279
298
|
};
|
|
280
299
|
/**
|
|
281
300
|
* @private
|
|
@@ -324,12 +343,12 @@ var ObserversModule = /** @class */ (function () {
|
|
|
324
343
|
|
|
325
344
|
/**
|
|
326
345
|
* @fileoverview added by tsickle
|
|
327
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
346
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
328
347
|
*/
|
|
329
348
|
|
|
330
349
|
/**
|
|
331
350
|
* @fileoverview added by tsickle
|
|
332
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
351
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
333
352
|
*/
|
|
334
353
|
|
|
335
354
|
export { MutationObserverFactory, ContentObserver, CdkObserveContent, ObserversModule };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observers.es5.js","sources":["../../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, coerceNumberProperty, coerceElement} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Injectable,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, Subject, Subscription, Observer} from 'rxjs';\nimport {debounceTime} from 'rxjs/operators';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Injectable({providedIn: 'root'})\nexport class ContentObserver implements OnDestroy {\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map<Element, {\n observer: MutationObserver | null,\n stream: Subject<MutationRecord[]>,\n count: number\n }>();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable<MutationRecord[]>;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input('cdkObserveContentDisabled')\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number { return this._debounce; }\n set debounce(value: number) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(private _contentObserver: ContentObserver,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n\n private _unsubscribe() {\n if (this._currentSubscription) {\n this._currentSubscription.unsubscribe();\n }\n }\n}\n\n\n@NgModule({\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observers.es5.js","sources":["../../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, coerceNumberProperty, coerceElement} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Injectable,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, Subject, Subscription, Observer} from 'rxjs';\nimport {debounceTime} from 'rxjs/operators';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Injectable({providedIn: 'root'})\nexport class ContentObserver implements OnDestroy {\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map<Element, {\n observer: MutationObserver | null,\n stream: Subject<MutationRecord[]>,\n count: number\n }>();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable<MutationRecord[]>;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input('cdkObserveContentDisabled')\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number { return this._debounce; }\n set debounce(value: number) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(private _contentObserver: ContentObserver,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n\n private _unsubscribe() {\n if (this._currentSubscription) {\n this._currentSubscription.unsubscribe();\n }\n }\n}\n\n\n@NgModule({\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BA,AAAA,IAAA,uBAAA,kBAAA,YAAA;IAAA,SAAA,uBAAA,GAAA;KAKC;;;;;IAHC,uBAAF,CAAA,SAAA,CAAA,MAAQ;;;;IAAN,UAAO,QAA0B,EAAnC;QACI,OAAO,OAAO,gBAAgB,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KACxF,CAAH;;QAJA,EAAA,IAAA,EAAC,UAAU,EAAX,IAAA,EAAA,CAAY,EAAC,UAAU,EAAE,MAAM,EAAC,EAAhC,EAAA;;;IA5BA,OAAA,uBAAA,CAAA;CAiCC,EAAD,CAAA,CAAC;AAJD;;;AAQA,AAAA,IAAA,eAAA,kBAAA,YAAA;IASE,SAAF,eAAA,CAAsB,wBAAiD,EAAvE;QAAsB,IAAtB,CAAA,wBAA8C,GAAxB,wBAAwB,CAAyB;;;;QAN7D,IAAV,CAAA,iBAA2B,GAAG,IAAI,GAAG,EAI/B,CAAC;KAEoE;;;;IAEzE,eAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QAAE,IAAF,KAAA,GAAA,IAAA,CAEG;QADC,IAAI,CAAC,iBAAiB,CAAC,OAAO;;;;;QAAC,UAAC,CAAC,EAAE,OAAO,EAA9C,EAAmD,OAAA,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAjF,EAAiF,EAAC,CAAC;KAChF,CAAH;;;;;IAcE,eAAF,CAAA,SAAA,CAAA,OAAS;;;;IAAP,UAAQ,YAA2C,EAArD;QAAE,IAAF,KAAA,GAAA,IAAA,CAYG;;QAXH,IAAU,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAA/C;QAEI,OAAO,IAAI,UAAU;;;;QAAC,UAAC,QAAoC,EAA/D;;YACA,IAAY,MAAM,GAAG,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAlD;;YACA,IAAY,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAArD;YAEM;;;YAAO,YAAb;gBACQ,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC3B,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACjC,EAAC;SACH,EAAC,CAAC;KACJ,CAAH;;;;;;;;;;;;IAMU,eAAV,CAAA,SAAA,CAAA,eAAyB;;;;;;;IAAvB,UAAwB,OAAgB,EAA1C;QACI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;;YAC9C,IAAY,QAAM,GAAG,IAAI,OAAO,EAAoB,CAApD;;YACA,IAAY,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM;;;;YAAC,UAAA,SAAS,EAArE,EAAyE,OAAA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAA/F,EAA+F,EAAC,CAAhG;YACM,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;oBACxB,aAAa,EAAE,IAAI;oBACnB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAnD,QAAmD,EAAE,MAAM,EAA3D,QAA2D,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;SACnE;aAAM;YACL,mBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAE,KAAK,EAAE,CAAC;SAC9C;QACD,OAAO,mBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAE,MAAM,CAAC;KACpD,CAAH;;;;;;;;;;;;IAMU,eAAV,CAAA,SAAA,CAAA,iBAA2B;;;;;;;IAAzB,UAA0B,OAAgB,EAA5C;QACI,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACvC,mBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAE,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,mBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAE,KAAK,EAAE;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aAChC;SACF;KACF,CAAH;;;;;;;;IAGU,eAAV,CAAA,SAAA,CAAA,gBAA0B;;;;;;IAAxB,UAAyB,OAAgB,EAA3C;QACI,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACjC,IAAA,EAAZ,sBAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,OAAA,CAAA,EAAqE,EAAxD,QAAb,GAAA,EAAA,CAAA,QAAqB,EAAE,MAAvB,GAAA,EAAA,CAAA,MAAqE,CAArE;YACM,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;aACvB;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACxC;KACF,CAAH;;QAtFA,EAAA,IAAA,EAAC,UAAU,EAAX,IAAA,EAAA,CAAY,EAAC,UAAU,EAAE,MAAM,EAAC,EAAhC,EAAA;;;;QASA,EAAA,IAAA,EAAgD,uBAAuB,EAAvE;;;IA9CA,OAAA,eAAA,CAAA;CA4HC,EAAD,CAAA,CAAC;AAtFD;;;;AA6FA,AAAA,IAAA,iBAAA,kBAAA,YAAA;IA+BE,SAAF,iBAAA,CAAsB,gBAAiC,EACjC,WAAoC,EACpC,OAAe,EAFrC;QAAsB,IAAtB,CAAA,gBAAsC,GAAhB,gBAAgB,CAAiB;QACjC,IAAtB,CAAA,WAAiC,GAAX,WAAW,CAAyB;QACpC,IAAtB,CAAA,OAA6B,GAAP,OAAO,CAAQ;;;;QA3BN,IAA/B,CAAA,KAAoC,GAAG,IAAI,YAAY,EAAoB,CAAC;QAYlE,IAAV,CAAA,SAAmB,GAAG,KAAK,CAAC;QAWlB,IAAV,CAAA,oBAA8B,GAAwB,IAAI,CAAC;KAIlB;IArBvC,MAAF,CAAA,cAAA,CACM,iBADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;;;;;QAAE,YAAF,EACmB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;;;;;QACzC,UAAa,KAAU,EAAzB;YACI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;SAC1D;;;KAJH,CAAA,CAA2C;IAQzC,MAAF,CAAA,cAAA,CACM,iBADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;QAAE,YAAF,EAC2B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;;;;;QACjD,UAAa,KAAa,EAA5B;YACI,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;;;KAJH,CAAA,CAAmD;;;;IAajD,iBAAF,CAAA,SAAA,CAAA,kBAAoB;;;IAAlB,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF,CAAH;;;;IAEE,iBAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB,CAAH;;;;;IAEU,iBAAV,CAAA,SAAA,CAAA,UAAoB;;;;IAAlB,YAAF;QAAE,IAAF,KAAA,GAAA,IAAA,CAYG;QAXC,IAAI,CAAC,YAAY,EAAE,CAAC;;QACxB,IAAU,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAlE;;;;;QAMI,IAAI,CAAC,OAAO,CAAC,iBAAiB;;;QAAC,YAAnC;YACM,KAAI,CAAC,oBAAoB;gBACrB,CAAC,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;SAC/F,EAAC,CAAC;KACJ,CAAH;;;;;IAEU,iBAAV,CAAA,SAAA,CAAA,YAAsB;;;;IAApB,YAAF;QACI,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;SACzC;KACF,CAAH;;QA/DA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,mBAAmB;iBAC9B,EAAD,EAAA;;;;QA4BA,EAAA,IAAA,EAAwC,eAAe,EAAvD;QAtJA,EAAA,IAAA,EAAE,UAAU,EAAZ;QAKA,EAAA,IAAA,EAAE,MAAM,EAAR;;;QAwHA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAG,MAAM,EAAT,IAAA,EAAA,CAAU,mBAAmB,EAA7B,EAAA,CAAA;QAMA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,IAAA,EAAA,CAAS,2BAA2B,EAApC,EAAA,CAAA;QASA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,CAAA;;IA2CA,OAAA,iBAAC,CAAD;CAAC,EAAD,CAAA,CAAC;AA5DD,AA+DA,IAAA,eAAA,kBAAA,YAAA;IAAA,SAAA,eAAA,GAAA;KAK+B;;QAL/B,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;oBACR,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,SAAS,EAAE,CAAC,uBAAuB,CAAC;iBACrC,EAAD,EAAA;;IAC8B,OAA9B,eAA+B,CAA/B;CAA+B,EAA/B,CAAA;;;;;;;;;;;;;;"}
|