@angular/cdk 10.1.1 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/a11y/index.metadata.json +1 -1
  2. package/a11y/key-manager/list-key-manager.d.ts +4 -3
  3. package/bundles/cdk-a11y.umd.js +440 -384
  4. package/bundles/cdk-a11y.umd.js.map +1 -1
  5. package/bundles/cdk-a11y.umd.min.js +34 -10
  6. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  7. package/bundles/cdk-accordion.umd.js +40 -40
  8. package/bundles/cdk-accordion.umd.js.map +1 -1
  9. package/bundles/cdk-accordion.umd.min.js +10 -2
  10. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  11. package/bundles/cdk-bidi.umd.js +25 -25
  12. package/bundles/cdk-bidi.umd.js.map +1 -1
  13. package/bundles/cdk-bidi.umd.min.js +5 -4
  14. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  15. package/bundles/cdk-clipboard.umd.js +37 -36
  16. package/bundles/cdk-clipboard.umd.js.map +1 -1
  17. package/bundles/cdk-clipboard.umd.min.js +10 -2
  18. package/bundles/cdk-clipboard.umd.min.js.map +1 -1
  19. package/bundles/cdk-coercion.umd.js.map +1 -1
  20. package/bundles/cdk-collections.umd.js +498 -238
  21. package/bundles/cdk-collections.umd.js.map +1 -1
  22. package/bundles/cdk-collections.umd.min.js +6 -4
  23. package/bundles/cdk-collections.umd.min.js.map +1 -1
  24. package/bundles/cdk-drag-drop.umd.js +508 -448
  25. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  26. package/bundles/cdk-drag-drop.umd.min.js +64 -8
  27. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  28. package/bundles/cdk-keycodes.umd.js.map +1 -1
  29. package/bundles/cdk-layout.umd.js +30 -26
  30. package/bundles/cdk-layout.umd.js.map +1 -1
  31. package/bundles/cdk-layout.umd.min.js +7 -6
  32. package/bundles/cdk-layout.umd.min.js.map +1 -1
  33. package/bundles/cdk-observers.umd.js +34 -34
  34. package/bundles/cdk-observers.umd.js.map +1 -1
  35. package/bundles/cdk-observers.umd.min.js +2 -2
  36. package/bundles/cdk-observers.umd.min.js.map +1 -1
  37. package/bundles/cdk-overlay.umd.js +492 -435
  38. package/bundles/cdk-overlay.umd.js.map +1 -1
  39. package/bundles/cdk-overlay.umd.min.js +51 -11
  40. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  41. package/bundles/cdk-platform.umd.js +38 -11
  42. package/bundles/cdk-platform.umd.js.map +1 -1
  43. package/bundles/cdk-platform.umd.min.js +5 -12
  44. package/bundles/cdk-platform.umd.min.js.map +1 -1
  45. package/bundles/cdk-portal.umd.js +385 -322
  46. package/bundles/cdk-portal.umd.js.map +1 -1
  47. package/bundles/cdk-portal.umd.min.js +3 -12
  48. package/bundles/cdk-portal.umd.min.js.map +1 -1
  49. package/bundles/cdk-scrolling.umd.js +503 -490
  50. package/bundles/cdk-scrolling.umd.js.map +1 -1
  51. package/bundles/cdk-scrolling.umd.min.js +20 -34
  52. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  53. package/bundles/cdk-stepper.umd.js +135 -136
  54. package/bundles/cdk-stepper.umd.js.map +1 -1
  55. package/bundles/cdk-stepper.umd.min.js +11 -2
  56. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  57. package/bundles/cdk-table.umd.js +923 -653
  58. package/bundles/cdk-table.umd.js.map +1 -1
  59. package/bundles/cdk-table.umd.min.js +7 -22
  60. package/bundles/cdk-table.umd.min.js.map +1 -1
  61. package/bundles/cdk-testing-protractor.umd.js +310 -245
  62. package/bundles/cdk-testing-protractor.umd.js.map +1 -1
  63. package/bundles/cdk-testing-protractor.umd.min.js +2 -9
  64. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  65. package/bundles/cdk-testing-testbed.umd.js +341 -292
  66. package/bundles/cdk-testing-testbed.umd.js.map +1 -1
  67. package/bundles/cdk-testing-testbed.umd.min.js +6 -29
  68. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  69. package/bundles/cdk-testing.umd.js +342 -270
  70. package/bundles/cdk-testing.umd.js.map +1 -1
  71. package/bundles/cdk-testing.umd.min.js +3 -17
  72. package/bundles/cdk-testing.umd.min.js.map +1 -1
  73. package/bundles/cdk-text-field.umd.js +53 -53
  74. package/bundles/cdk-text-field.umd.js.map +1 -1
  75. package/bundles/cdk-text-field.umd.min.js +10 -2
  76. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  77. package/bundles/cdk-tree.umd.js +481 -417
  78. package/bundles/cdk-tree.umd.js.map +1 -1
  79. package/bundles/cdk-tree.umd.min.js +28 -3
  80. package/bundles/cdk-tree.umd.min.js.map +1 -1
  81. package/bundles/cdk.umd.js +1 -1
  82. package/bundles/cdk.umd.js.map +1 -1
  83. package/bundles/cdk.umd.min.js +1 -1
  84. package/bundles/cdk.umd.min.js.map +1 -1
  85. package/collections/dispose-view-repeater-strategy.d.ts +22 -0
  86. package/collections/index.metadata.json +1 -1
  87. package/collections/public-api.d.ts +3 -0
  88. package/collections/recycle-view-repeater-strategy.d.ts +56 -0
  89. package/collections/view-repeater.d.ts +94 -0
  90. package/drag-drop/index.d.ts +1 -2
  91. package/drag-drop/index.metadata.json +1 -1
  92. package/drag-drop/public-api.d.ts +2 -1
  93. package/esm2015/a11y/aria-describer/aria-describer.js +3 -3
  94. package/esm2015/a11y/focus-monitor/focus-monitor.js +3 -3
  95. package/esm2015/a11y/focus-trap/focus-trap.js +5 -4
  96. package/esm2015/a11y/key-manager/list-key-manager.js +8 -6
  97. package/esm2015/clipboard/pending-copy.js +7 -6
  98. package/esm2015/collections/collection-viewer.js +1 -0
  99. package/esm2015/collections/dispose-view-repeater-strategy.js +48 -0
  100. package/esm2015/collections/public-api.js +4 -1
  101. package/esm2015/collections/recycle-view-repeater-strategy.js +128 -0
  102. package/esm2015/collections/selection-model.js +2 -2
  103. package/esm2015/collections/tree-adapter.js +1 -0
  104. package/esm2015/collections/view-repeater.js +16 -0
  105. package/esm2015/drag-drop/clone-node.js +9 -1
  106. package/esm2015/drag-drop/directives/drag-handle.js +1 -3
  107. package/esm2015/drag-drop/directives/drag.js +7 -5
  108. package/esm2015/drag-drop/directives/drop-list.js +3 -3
  109. package/esm2015/drag-drop/drag-events.js +1 -0
  110. package/esm2015/drag-drop/drag-ref.js +2 -2
  111. package/esm2015/drag-drop/index.js +1 -3
  112. package/esm2015/drag-drop/public-api.js +3 -2
  113. package/esm2015/layout/breakpoints-observer.js +9 -9
  114. package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +11 -9
  115. package/esm2015/overlay/overlay-config.js +1 -5
  116. package/esm2015/overlay/overlay-directives.js +18 -2
  117. package/esm2015/overlay/overlay-ref.js +6 -8
  118. package/esm2015/overlay/overlay-reference.js +1 -0
  119. package/esm2015/overlay/overlay.js +4 -4
  120. package/esm2015/overlay/position/connected-position-strategy.js +2 -9
  121. package/esm2015/overlay/position/flexible-connected-position-strategy.js +19 -16
  122. package/esm2015/overlay/position/position-strategy.js +1 -0
  123. package/esm2015/overlay/scroll/close-scroll-strategy.js +2 -2
  124. package/esm2015/overlay/scroll/reposition-scroll-strategy.js +2 -2
  125. package/esm2015/platform/features/scrolling.js +29 -2
  126. package/esm2015/portal/dom-portal-outlet.js +7 -4
  127. package/esm2015/portal/portal-directives.js +3 -3
  128. package/esm2015/portal/portal-injector.js +3 -1
  129. package/esm2015/portal/portal.js +25 -19
  130. package/esm2015/scrolling/fixed-size-virtual-scroll.js +2 -2
  131. package/esm2015/scrolling/scrolling-module.js +4 -1
  132. package/esm2015/scrolling/virtual-for-of.js +67 -92
  133. package/esm2015/scrolling/virtual-scroll-repeater.js +1 -0
  134. package/esm2015/scrolling/virtual-scroll-viewport.js +5 -5
  135. package/esm2015/stepper/stepper.js +19 -17
  136. package/esm2015/table/cell.js +34 -14
  137. package/esm2015/table/coalesced-style-scheduler.js +87 -0
  138. package/esm2015/table/public-api.js +2 -1
  139. package/esm2015/table/sticky-styler.js +79 -45
  140. package/esm2015/table/table-module.js +4 -2
  141. package/esm2015/table/table.js +70 -44
  142. package/esm2015/table/text-column.js +9 -5
  143. package/esm2015/testing/element-dimensions.js +1 -0
  144. package/esm2015/testing/protractor/protractor-element.js +6 -3
  145. package/esm2015/testing/public-api.js +2 -1
  146. package/esm2015/testing/test-element.js +1 -1
  147. package/esm2015/testing/testbed/task-state-zone-interceptor.js +2 -2
  148. package/esm2015/testing/testbed/unit-test-element.js +26 -21
  149. package/esm2015/testing/text-filtering.js +23 -0
  150. package/esm2015/text-field/autofill.js +3 -3
  151. package/esm2015/tree/control/tree-control.js +1 -0
  152. package/esm2015/tree/nested-node.js +2 -2
  153. package/esm2015/tree/padding.js +34 -20
  154. package/esm2015/tree/tree.js +14 -27
  155. package/esm2015/version.js +1 -1
  156. package/fesm2015/a11y.js +15 -12
  157. package/fesm2015/a11y.js.map +1 -1
  158. package/fesm2015/cdk.js +1 -1
  159. package/fesm2015/cdk.js.map +1 -1
  160. package/fesm2015/clipboard.js +6 -5
  161. package/fesm2015/clipboard.js.map +1 -1
  162. package/fesm2015/collections.js +194 -3
  163. package/fesm2015/collections.js.map +1 -1
  164. package/fesm2015/drag-drop.js +32 -23
  165. package/fesm2015/drag-drop.js.map +1 -1
  166. package/fesm2015/layout.js +8 -8
  167. package/fesm2015/layout.js.map +1 -1
  168. package/fesm2015/overlay.js +55 -48
  169. package/fesm2015/overlay.js.map +1 -1
  170. package/fesm2015/platform.js +28 -1
  171. package/fesm2015/platform.js.map +1 -1
  172. package/fesm2015/portal.js +34 -23
  173. package/fesm2015/portal.js.map +1 -1
  174. package/fesm2015/scrolling.js +72 -95
  175. package/fesm2015/scrolling.js.map +1 -1
  176. package/fesm2015/stepper.js +19 -17
  177. package/fesm2015/stepper.js.map +1 -1
  178. package/fesm2015/table.js +274 -105
  179. package/fesm2015/table.js.map +1 -1
  180. package/fesm2015/testing/protractor.js +5 -2
  181. package/fesm2015/testing/protractor.js.map +1 -1
  182. package/fesm2015/testing/testbed.js +26 -21
  183. package/fesm2015/testing/testbed.js.map +1 -1
  184. package/fesm2015/testing.js +24 -1
  185. package/fesm2015/testing.js.map +1 -1
  186. package/fesm2015/text-field.js +2 -2
  187. package/fesm2015/text-field.js.map +1 -1
  188. package/fesm2015/tree.js +46 -45
  189. package/fesm2015/tree.js.map +1 -1
  190. package/layout/breakpoints-observer.d.ts +3 -3
  191. package/overlay/index.metadata.json +1 -1
  192. package/overlay/overlay-config.d.ts +0 -4
  193. package/overlay/overlay-directives.d.ts +1 -0
  194. package/overlay/position/connected-position-strategy.d.ts +1 -3
  195. package/package.json +1 -1
  196. package/platform/index.metadata.json +1 -1
  197. package/portal/index.metadata.json +1 -1
  198. package/portal/portal-injector.d.ts +2 -0
  199. package/schematics/index.js +1 -1
  200. package/schematics/ng-add/index.js +1 -1
  201. package/schematics/ng-update/data/index.js +1 -1
  202. package/schematics/ng-update/public-api.js +1 -1
  203. package/schematics/update-tool/public-api.js +1 -1
  204. package/schematics/utils/index.js +1 -1
  205. package/scrolling/index.metadata.json +1 -1
  206. package/scrolling/scrolling-module.d.ts +3 -0
  207. package/scrolling/virtual-for-of.d.ts +11 -19
  208. package/stepper/index.metadata.json +1 -1
  209. package/stepper/stepper.d.ts +7 -10
  210. package/table/cell.d.ts +21 -1
  211. package/table/coalesced-style-scheduler.d.ts +41 -0
  212. package/table/index.metadata.json +1 -1
  213. package/table/public-api.d.ts +1 -0
  214. package/table/sticky-styler.d.ts +7 -1
  215. package/table/table.d.ts +14 -8
  216. package/testing/protractor/protractor-element.d.ts +2 -2
  217. package/testing/public-api.d.ts +1 -0
  218. package/testing/test-element.d.ts +9 -2
  219. package/testing/testbed/unit-test-element.d.ts +9 -2
  220. package/testing/text-filtering.d.ts +13 -0
  221. package/tree/index.metadata.json +1 -1
  222. package/tree/padding.d.ts +14 -0
  223. package/tree/tree.d.ts +2 -4
@@ -4,232 +4,305 @@
4
4
  (global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.overlay = {}), global.ng.cdk.scrolling, global.ng.common, global.ng.core, global.ng.cdk.coercion, global.ng.cdk.bidi, global.ng.cdk.portal, global.ng.cdk.platform, global.rxjs, global.rxjs.operators, global.ng.cdk.keycodes));
5
5
  }(this, (function (exports, i1, i1$1, i0, coercion, bidi, portal, i2, rxjs, operators, keycodes) { 'use strict';
6
6
 
7
- /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation.
9
-
10
- Permission to use, copy, modify, and/or distribute this software for any
11
- purpose with or without fee is hereby granted.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
- PERFORMANCE OF THIS SOFTWARE.
20
- ***************************************************************************** */
21
- /* global Reflect, Promise */
22
-
23
- var extendStatics = function(d, b) {
24
- extendStatics = Object.setPrototypeOf ||
25
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
26
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
27
- return extendStatics(d, b);
28
- };
29
-
30
- function __extends(d, b) {
31
- extendStatics(d, b);
32
- function __() { this.constructor = d; }
33
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
- }
35
-
36
- var __assign = function() {
37
- __assign = Object.assign || function __assign(t) {
38
- for (var s, i = 1, n = arguments.length; i < n; i++) {
39
- s = arguments[i];
40
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
41
- }
42
- return t;
43
- };
44
- return __assign.apply(this, arguments);
45
- };
46
-
47
- function __rest(s, e) {
48
- var t = {};
49
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
50
- t[p] = s[p];
51
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
52
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
53
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
54
- t[p[i]] = s[p[i]];
55
- }
56
- return t;
57
- }
58
-
59
- function __decorate(decorators, target, key, desc) {
60
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
62
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
63
- return c > 3 && r && Object.defineProperty(target, key, r), r;
64
- }
65
-
66
- function __param(paramIndex, decorator) {
67
- return function (target, key) { decorator(target, key, paramIndex); }
68
- }
69
-
70
- function __metadata(metadataKey, metadataValue) {
71
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
72
- }
73
-
74
- function __awaiter(thisArg, _arguments, P, generator) {
75
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
76
- return new (P || (P = Promise))(function (resolve, reject) {
77
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
78
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
79
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
80
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81
- });
82
- }
83
-
84
- function __generator(thisArg, body) {
85
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
86
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
87
- function verb(n) { return function (v) { return step([n, v]); }; }
88
- function step(op) {
89
- if (f) throw new TypeError("Generator is already executing.");
90
- while (_) try {
91
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
92
- if (y = 0, t) op = [op[0] & 2, t.value];
93
- switch (op[0]) {
94
- case 0: case 1: t = op; break;
95
- case 4: _.label++; return { value: op[1], done: false };
96
- case 5: _.label++; y = op[1]; op = [0]; continue;
97
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
98
- default:
99
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
100
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
101
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
102
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
103
- if (t[2]) _.ops.pop();
104
- _.trys.pop(); continue;
105
- }
106
- op = body.call(thisArg, _);
107
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
108
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
109
- }
110
- }
111
-
112
- var __createBinding = Object.create ? (function(o, m, k, k2) {
113
- if (k2 === undefined) k2 = k;
114
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
115
- }) : (function(o, m, k, k2) {
116
- if (k2 === undefined) k2 = k;
117
- o[k2] = m[k];
118
- });
119
-
120
- function __exportStar(m, exports) {
121
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
122
- }
123
-
124
- function __values(o) {
125
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
126
- if (m) return m.call(o);
127
- if (o && typeof o.length === "number") return {
128
- next: function () {
129
- if (o && i >= o.length) o = void 0;
130
- return { value: o && o[i++], done: !o };
131
- }
132
- };
133
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
134
- }
135
-
136
- function __read(o, n) {
137
- var m = typeof Symbol === "function" && o[Symbol.iterator];
138
- if (!m) return o;
139
- var i = m.call(o), r, ar = [], e;
140
- try {
141
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
142
- }
143
- catch (error) { e = { error: error }; }
144
- finally {
145
- try {
146
- if (r && !r.done && (m = i["return"])) m.call(i);
147
- }
148
- finally { if (e) throw e.error; }
149
- }
150
- return ar;
151
- }
152
-
153
- function __spread() {
154
- for (var ar = [], i = 0; i < arguments.length; i++)
155
- ar = ar.concat(__read(arguments[i]));
156
- return ar;
157
- }
158
-
159
- function __spreadArrays() {
160
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
161
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
162
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
163
- r[k] = a[j];
164
- return r;
165
- };
166
-
167
- function __await(v) {
168
- return this instanceof __await ? (this.v = v, this) : new __await(v);
169
- }
170
-
171
- function __asyncGenerator(thisArg, _arguments, generator) {
172
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
173
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
174
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
175
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
176
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
177
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
178
- function fulfill(value) { resume("next", value); }
179
- function reject(value) { resume("throw", value); }
180
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
181
- }
182
-
183
- function __asyncDelegator(o) {
184
- var i, p;
185
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
186
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
187
- }
188
-
189
- function __asyncValues(o) {
190
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
191
- var m = o[Symbol.asyncIterator], i;
192
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
193
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
194
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
195
- }
196
-
197
- function __makeTemplateObject(cooked, raw) {
198
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
199
- return cooked;
200
- };
201
-
202
- var __setModuleDefault = Object.create ? (function(o, v) {
203
- Object.defineProperty(o, "default", { enumerable: true, value: v });
204
- }) : function(o, v) {
205
- o["default"] = v;
206
- };
207
-
208
- function __importStar(mod) {
209
- if (mod && mod.__esModule) return mod;
210
- var result = {};
211
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
212
- __setModuleDefault(result, mod);
213
- return result;
214
- }
215
-
216
- function __importDefault(mod) {
217
- return (mod && mod.__esModule) ? mod : { default: mod };
218
- }
219
-
220
- function __classPrivateFieldGet(receiver, privateMap) {
221
- if (!privateMap.has(receiver)) {
222
- throw new TypeError("attempted to get private field on non-instance");
223
- }
224
- return privateMap.get(receiver);
225
- }
226
-
227
- function __classPrivateFieldSet(receiver, privateMap, value) {
228
- if (!privateMap.has(receiver)) {
229
- throw new TypeError("attempted to set private field on non-instance");
230
- }
231
- privateMap.set(receiver, value);
232
- return value;
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise */
22
+ var extendStatics = function (d, b) {
23
+ extendStatics = Object.setPrototypeOf ||
24
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
+ function (d, b) { for (var p in b)
26
+ if (b.hasOwnProperty(p))
27
+ d[p] = b[p]; };
28
+ return extendStatics(d, b);
29
+ };
30
+ function __extends(d, b) {
31
+ extendStatics(d, b);
32
+ function __() { this.constructor = d; }
33
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
+ }
35
+ var __assign = function () {
36
+ __assign = Object.assign || function __assign(t) {
37
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
38
+ s = arguments[i];
39
+ for (var p in s)
40
+ if (Object.prototype.hasOwnProperty.call(s, p))
41
+ t[p] = s[p];
42
+ }
43
+ return t;
44
+ };
45
+ return __assign.apply(this, arguments);
46
+ };
47
+ function __rest(s, e) {
48
+ var t = {};
49
+ for (var p in s)
50
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ }
59
+ function __decorate(decorators, target, key, desc) {
60
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
62
+ r = Reflect.decorate(decorators, target, key, desc);
63
+ else
64
+ for (var i = decorators.length - 1; i >= 0; i--)
65
+ if (d = decorators[i])
66
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
67
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
68
+ }
69
+ function __param(paramIndex, decorator) {
70
+ return function (target, key) { decorator(target, key, paramIndex); };
71
+ }
72
+ function __metadata(metadataKey, metadataValue) {
73
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
74
+ return Reflect.metadata(metadataKey, metadataValue);
75
+ }
76
+ function __awaiter(thisArg, _arguments, P, generator) {
77
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
78
+ return new (P || (P = Promise))(function (resolve, reject) {
79
+ function fulfilled(value) { try {
80
+ step(generator.next(value));
81
+ }
82
+ catch (e) {
83
+ reject(e);
84
+ } }
85
+ function rejected(value) { try {
86
+ step(generator["throw"](value));
87
+ }
88
+ catch (e) {
89
+ reject(e);
90
+ } }
91
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
92
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
93
+ });
94
+ }
95
+ function __generator(thisArg, body) {
96
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
97
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
98
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
99
+ function verb(n) { return function (v) { return step([n, v]); }; }
100
+ function step(op) {
101
+ if (f)
102
+ throw new TypeError("Generator is already executing.");
103
+ while (_)
104
+ try {
105
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
106
+ return t;
107
+ if (y = 0, t)
108
+ op = [op[0] & 2, t.value];
109
+ switch (op[0]) {
110
+ case 0:
111
+ case 1:
112
+ t = op;
113
+ break;
114
+ case 4:
115
+ _.label++;
116
+ return { value: op[1], done: false };
117
+ case 5:
118
+ _.label++;
119
+ y = op[1];
120
+ op = [0];
121
+ continue;
122
+ case 7:
123
+ op = _.ops.pop();
124
+ _.trys.pop();
125
+ continue;
126
+ default:
127
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
128
+ _ = 0;
129
+ continue;
130
+ }
131
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
132
+ _.label = op[1];
133
+ break;
134
+ }
135
+ if (op[0] === 6 && _.label < t[1]) {
136
+ _.label = t[1];
137
+ t = op;
138
+ break;
139
+ }
140
+ if (t && _.label < t[2]) {
141
+ _.label = t[2];
142
+ _.ops.push(op);
143
+ break;
144
+ }
145
+ if (t[2])
146
+ _.ops.pop();
147
+ _.trys.pop();
148
+ continue;
149
+ }
150
+ op = body.call(thisArg, _);
151
+ }
152
+ catch (e) {
153
+ op = [6, e];
154
+ y = 0;
155
+ }
156
+ finally {
157
+ f = t = 0;
158
+ }
159
+ if (op[0] & 5)
160
+ throw op[1];
161
+ return { value: op[0] ? op[1] : void 0, done: true };
162
+ }
163
+ }
164
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
165
+ if (k2 === undefined)
166
+ k2 = k;
167
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
168
+ }) : (function (o, m, k, k2) {
169
+ if (k2 === undefined)
170
+ k2 = k;
171
+ o[k2] = m[k];
172
+ });
173
+ function __exportStar(m, exports) {
174
+ for (var p in m)
175
+ if (p !== "default" && !exports.hasOwnProperty(p))
176
+ __createBinding(exports, m, p);
177
+ }
178
+ function __values(o) {
179
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
180
+ if (m)
181
+ return m.call(o);
182
+ if (o && typeof o.length === "number")
183
+ return {
184
+ next: function () {
185
+ if (o && i >= o.length)
186
+ o = void 0;
187
+ return { value: o && o[i++], done: !o };
188
+ }
189
+ };
190
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
191
+ }
192
+ function __read(o, n) {
193
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
194
+ if (!m)
195
+ return o;
196
+ var i = m.call(o), r, ar = [], e;
197
+ try {
198
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
199
+ ar.push(r.value);
200
+ }
201
+ catch (error) {
202
+ e = { error: error };
203
+ }
204
+ finally {
205
+ try {
206
+ if (r && !r.done && (m = i["return"]))
207
+ m.call(i);
208
+ }
209
+ finally {
210
+ if (e)
211
+ throw e.error;
212
+ }
213
+ }
214
+ return ar;
215
+ }
216
+ function __spread() {
217
+ for (var ar = [], i = 0; i < arguments.length; i++)
218
+ ar = ar.concat(__read(arguments[i]));
219
+ return ar;
220
+ }
221
+ function __spreadArrays() {
222
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
223
+ s += arguments[i].length;
224
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
225
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
226
+ r[k] = a[j];
227
+ return r;
228
+ }
229
+ ;
230
+ function __await(v) {
231
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
232
+ }
233
+ function __asyncGenerator(thisArg, _arguments, generator) {
234
+ if (!Symbol.asyncIterator)
235
+ throw new TypeError("Symbol.asyncIterator is not defined.");
236
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
237
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
238
+ function verb(n) { if (g[n])
239
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
240
+ function resume(n, v) { try {
241
+ step(g[n](v));
242
+ }
243
+ catch (e) {
244
+ settle(q[0][3], e);
245
+ } }
246
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
247
+ function fulfill(value) { resume("next", value); }
248
+ function reject(value) { resume("throw", value); }
249
+ function settle(f, v) { if (f(v), q.shift(), q.length)
250
+ resume(q[0][0], q[0][1]); }
251
+ }
252
+ function __asyncDelegator(o) {
253
+ var i, p;
254
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
255
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
256
+ }
257
+ function __asyncValues(o) {
258
+ if (!Symbol.asyncIterator)
259
+ throw new TypeError("Symbol.asyncIterator is not defined.");
260
+ var m = o[Symbol.asyncIterator], i;
261
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
262
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
263
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
264
+ }
265
+ function __makeTemplateObject(cooked, raw) {
266
+ if (Object.defineProperty) {
267
+ Object.defineProperty(cooked, "raw", { value: raw });
268
+ }
269
+ else {
270
+ cooked.raw = raw;
271
+ }
272
+ return cooked;
273
+ }
274
+ ;
275
+ var __setModuleDefault = Object.create ? (function (o, v) {
276
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
277
+ }) : function (o, v) {
278
+ o["default"] = v;
279
+ };
280
+ function __importStar(mod) {
281
+ if (mod && mod.__esModule)
282
+ return mod;
283
+ var result = {};
284
+ if (mod != null)
285
+ for (var k in mod)
286
+ if (Object.hasOwnProperty.call(mod, k))
287
+ __createBinding(result, mod, k);
288
+ __setModuleDefault(result, mod);
289
+ return result;
290
+ }
291
+ function __importDefault(mod) {
292
+ return (mod && mod.__esModule) ? mod : { default: mod };
293
+ }
294
+ function __classPrivateFieldGet(receiver, privateMap) {
295
+ if (!privateMap.has(receiver)) {
296
+ throw new TypeError("attempted to get private field on non-instance");
297
+ }
298
+ return privateMap.get(receiver);
299
+ }
300
+ function __classPrivateFieldSet(receiver, privateMap, value) {
301
+ if (!privateMap.has(receiver)) {
302
+ throw new TypeError("attempted to set private field on non-instance");
303
+ }
304
+ privateMap.set(receiver, value);
305
+ return value;
233
306
  }
234
307
 
235
308
  /**
@@ -338,7 +411,7 @@
338
411
  }
339
412
  /** Attaches this scroll strategy to an overlay. */
340
413
  CloseScrollStrategy.prototype.attach = function (overlayRef) {
341
- if (this._overlayRef) {
414
+ if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {
342
415
  throw getMatScrollStrategyAlreadyAttachedError();
343
416
  }
344
417
  this._overlayRef = overlayRef;
@@ -462,7 +535,7 @@
462
535
  }
463
536
  /** Attaches this scroll strategy to an overlay. */
464
537
  RepositionScrollStrategy.prototype.attach = function (overlayRef) {
465
- if (this._overlayRef) {
538
+ if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {
466
539
  throw getMatScrollStrategyAlreadyAttachedError();
467
540
  }
468
541
  this._overlayRef = overlayRef;
@@ -539,18 +612,18 @@
539
612
  this.reposition = function (config) { return new RepositionScrollStrategy(_this._scrollDispatcher, _this._viewportRuler, _this._ngZone, config); };
540
613
  this._document = document;
541
614
  }
542
- ScrollStrategyOptions.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(i0.ɵɵinject(i1.ScrollDispatcher), i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1$1.DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: "root" });
543
- ScrollStrategyOptions.decorators = [
544
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
545
- ];
546
- ScrollStrategyOptions.ctorParameters = function () { return [
547
- { type: i1.ScrollDispatcher },
548
- { type: i1.ViewportRuler },
549
- { type: i0.NgZone },
550
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] }
551
- ]; };
552
615
  return ScrollStrategyOptions;
553
616
  }());
617
+ ScrollStrategyOptions.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(i0.ɵɵinject(i1.ScrollDispatcher), i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1$1.DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: "root" });
618
+ ScrollStrategyOptions.decorators = [
619
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
620
+ ];
621
+ ScrollStrategyOptions.ctorParameters = function () { return [
622
+ { type: i1.ScrollDispatcher },
623
+ { type: i1.ViewportRuler },
624
+ { type: i0.NgZone },
625
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] }
626
+ ]; };
554
627
 
555
628
  /**
556
629
  * @license
@@ -560,13 +633,6 @@
560
633
  * found in the LICENSE file at https://angular.io/license
561
634
  */
562
635
 
563
- /**
564
- * @license
565
- * Copyright Google LLC All Rights Reserved.
566
- *
567
- * Use of this source code is governed by an MIT-style license that can be
568
- * found in the LICENSE file at https://angular.io/license
569
- */
570
636
  /** Initial configuration used when creating an overlay. */
571
637
  var OverlayConfig = /** @class */ (function () {
572
638
  function OverlayConfig(config) {
@@ -585,10 +651,6 @@
585
651
  * the `HashLocationStrategy`).
586
652
  */
587
653
  this.disposeOnNavigation = false;
588
- /**
589
- * Array of HTML elements clicking on which should not be considered as outside click
590
- */
591
- this.excludeFromOutsideClick = [];
592
654
  if (config) {
593
655
  // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,
594
656
  // loses the array generic type in the `for of`. But we *also* have to use `Array` because
@@ -686,12 +748,12 @@
686
748
  this.connectionPair = connectionPair;
687
749
  this.scrollableViewProperties = scrollableViewProperties;
688
750
  }
689
- ConnectedOverlayPositionChange.ctorParameters = function () { return [
690
- { type: ConnectionPositionPair },
691
- { type: ScrollingVisibility, decorators: [{ type: i0.Optional }] }
692
- ]; };
693
751
  return ConnectedOverlayPositionChange;
694
752
  }());
753
+ ConnectedOverlayPositionChange.ctorParameters = function () { return [
754
+ { type: ConnectionPositionPair },
755
+ { type: ScrollingVisibility, decorators: [{ type: i0.Optional }] }
756
+ ]; };
695
757
  /**
696
758
  * Validates whether a vertical position property matches the expected values.
697
759
  * @param property Name of the property being validated.
@@ -755,15 +817,15 @@
755
817
  this.detach();
756
818
  }
757
819
  };
758
- BaseOverlayDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function BaseOverlayDispatcher_Factory() { return new BaseOverlayDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: BaseOverlayDispatcher, providedIn: "root" });
759
- BaseOverlayDispatcher.decorators = [
760
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
761
- ];
762
- BaseOverlayDispatcher.ctorParameters = function () { return [
763
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] }
764
- ]; };
765
820
  return BaseOverlayDispatcher;
766
821
  }());
822
+ BaseOverlayDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function BaseOverlayDispatcher_Factory() { return new BaseOverlayDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: BaseOverlayDispatcher, providedIn: "root" });
823
+ BaseOverlayDispatcher.decorators = [
824
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
825
+ ];
826
+ BaseOverlayDispatcher.ctorParameters = function () { return [
827
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] }
828
+ ]; };
767
829
 
768
830
  /**
769
831
  * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
@@ -808,15 +870,15 @@
808
870
  this._isAttached = false;
809
871
  }
810
872
  };
811
- OverlayKeyboardDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
812
- OverlayKeyboardDispatcher.decorators = [
813
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
814
- ];
815
- OverlayKeyboardDispatcher.ctorParameters = function () { return [
816
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] }
817
- ]; };
818
873
  return OverlayKeyboardDispatcher;
819
874
  }(BaseOverlayDispatcher));
875
+ OverlayKeyboardDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
876
+ OverlayKeyboardDispatcher.decorators = [
877
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
878
+ ];
879
+ OverlayKeyboardDispatcher.ctorParameters = function () { return [
880
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] }
881
+ ]; };
820
882
  /** @docs-private @deprecated @breaking-change 8.0.0 */
821
883
  function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(dispatcher, _document) {
822
884
  return dispatcher || new OverlayKeyboardDispatcher(_document);
@@ -850,22 +912,22 @@
850
912
  _this._clickListener = function (event) {
851
913
  // Get the target through the `composedPath` if possible to account for shadow DOM.
852
914
  var target = event.composedPath ? event.composedPath()[0] : event.target;
853
- var overlays = _this._attachedOverlays;
915
+ // We copy the array because the original may be modified asynchronously if the
916
+ // outsidePointerEvents listener decides to detach overlays resulting in index errors inside
917
+ // the for loop.
918
+ var overlays = _this._attachedOverlays.slice();
854
919
  // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.
855
920
  // We want to target all overlays for which the click could be considered as outside click.
856
921
  // As soon as we reach an overlay for which the click is not outside click we break off
857
922
  // the loop.
858
923
  for (var i = overlays.length - 1; i > -1; i--) {
859
924
  var overlayRef = overlays[i];
860
- if (overlayRef._outsidePointerEvents.observers.length < 1) {
925
+ if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {
861
926
  continue;
862
927
  }
863
- var config = overlayRef.getConfig();
864
- var excludeElements = __spread(config.excludeFromOutsideClick, [overlayRef.overlayElement]);
865
- var isInsideClick = excludeElements.some(function (e) { return e.contains(target); });
866
- // If it is inside click just break - we should do nothing
867
- // If it is outside click dispatch the mouse event, and proceed with the next overlay
868
- if (isInsideClick) {
928
+ // If it's a click inside the overlay, just break - we should do nothing
929
+ // If it's an outside click dispatch the mouse event, and proceed with the next overlay
930
+ if (overlayRef.overlayElement.contains(target)) {
869
931
  break;
870
932
  }
871
933
  overlayRef._outsidePointerEvents.next(event);
@@ -886,6 +948,7 @@
886
948
  // tslint:enable: max-line-length
887
949
  if (!this._isAttached) {
888
950
  this._document.body.addEventListener('click', this._clickListener, true);
951
+ this._document.body.addEventListener('contextmenu', this._clickListener, true);
889
952
  // click event is not fired on iOS. To make element "clickable" we are
890
953
  // setting the cursor to pointer
891
954
  if (this._platform.IOS && !this._cursorStyleIsSet) {
@@ -900,6 +963,7 @@
900
963
  OverlayOutsideClickDispatcher.prototype.detach = function () {
901
964
  if (this._isAttached) {
902
965
  this._document.body.removeEventListener('click', this._clickListener, true);
966
+ this._document.body.removeEventListener('contextmenu', this._clickListener, true);
903
967
  if (this._platform.IOS && this._cursorStyleIsSet) {
904
968
  this._document.body.style.cursor = this._cursorOriginalValue;
905
969
  this._cursorStyleIsSet = false;
@@ -907,16 +971,16 @@
907
971
  this._isAttached = false;
908
972
  }
909
973
  };
910
- OverlayOutsideClickDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayOutsideClickDispatcher_Factory() { return new OverlayOutsideClickDispatcher(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayOutsideClickDispatcher, providedIn: "root" });
911
- OverlayOutsideClickDispatcher.decorators = [
912
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
913
- ];
914
- OverlayOutsideClickDispatcher.ctorParameters = function () { return [
915
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
916
- { type: i2.Platform }
917
- ]; };
918
974
  return OverlayOutsideClickDispatcher;
919
975
  }(BaseOverlayDispatcher));
976
+ OverlayOutsideClickDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayOutsideClickDispatcher_Factory() { return new OverlayOutsideClickDispatcher(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayOutsideClickDispatcher, providedIn: "root" });
977
+ OverlayOutsideClickDispatcher.decorators = [
978
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
979
+ ];
980
+ OverlayOutsideClickDispatcher.ctorParameters = function () { return [
981
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
982
+ { type: i2.Platform }
983
+ ]; };
920
984
 
921
985
  /**
922
986
  * @license
@@ -997,16 +1061,16 @@
997
1061
  this._document.body.appendChild(container);
998
1062
  this._containerElement = container;
999
1063
  };
1000
- OverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayContainer, providedIn: "root" });
1001
- OverlayContainer.decorators = [
1002
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
1003
- ];
1004
- OverlayContainer.ctorParameters = function () { return [
1005
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
1006
- { type: i2.Platform }
1007
- ]; };
1008
1064
  return OverlayContainer;
1009
1065
  }());
1066
+ OverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayContainer, providedIn: "root" });
1067
+ OverlayContainer.decorators = [
1068
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
1069
+ ];
1070
+ OverlayContainer.ctorParameters = function () { return [
1071
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
1072
+ { type: i2.Platform }
1073
+ ]; };
1010
1074
  /** @docs-private @deprecated @breaking-change 8.0.0 */
1011
1075
  function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer, _document) {
1012
1076
  return parentContainer || new OverlayContainer(_document);
@@ -1120,7 +1184,6 @@
1120
1184
  // before attempting to position it, as the position may depend on the size of the rendered
1121
1185
  // content.
1122
1186
  this._ngZone.onStable
1123
- .asObservable()
1124
1187
  .pipe(operators.take(1))
1125
1188
  .subscribe(function () {
1126
1189
  // The overlay could've been detached before the zone has stabilized.
@@ -1221,23 +1284,23 @@
1221
1284
  };
1222
1285
  /** Gets an observable that emits when the backdrop has been clicked. */
1223
1286
  OverlayRef.prototype.backdropClick = function () {
1224
- return this._backdropClick.asObservable();
1287
+ return this._backdropClick;
1225
1288
  };
1226
1289
  /** Gets an observable that emits when the overlay has been attached. */
1227
1290
  OverlayRef.prototype.attachments = function () {
1228
- return this._attachments.asObservable();
1291
+ return this._attachments;
1229
1292
  };
1230
1293
  /** Gets an observable that emits when the overlay has been detached. */
1231
1294
  OverlayRef.prototype.detachments = function () {
1232
- return this._detachments.asObservable();
1295
+ return this._detachments;
1233
1296
  };
1234
1297
  /** Gets an observable of keydown events targeted to this overlay. */
1235
1298
  OverlayRef.prototype.keydownEvents = function () {
1236
- return this._keydownEvents.asObservable();
1299
+ return this._keydownEvents;
1237
1300
  };
1238
1301
  /** Gets an observable of pointer events targeted outside this overlay. */
1239
1302
  OverlayRef.prototype.outsidePointerEvents = function () {
1240
- return this._outsidePointerEvents.asObservable();
1303
+ return this._outsidePointerEvents;
1241
1304
  };
1242
1305
  /** Gets the current overlay configuration, which is immutable. */
1243
1306
  OverlayRef.prototype.getConfig = function () {
@@ -1265,12 +1328,12 @@
1265
1328
  };
1266
1329
  /** Update the size properties of the overlay. */
1267
1330
  OverlayRef.prototype.updateSize = function (sizeConfig) {
1268
- this._config = __assign(__assign({}, this._config), sizeConfig);
1331
+ this._config = Object.assign(Object.assign({}, this._config), sizeConfig);
1269
1332
  this._updateElementSize();
1270
1333
  };
1271
1334
  /** Sets the LTR/RTL direction for the overlay. */
1272
1335
  OverlayRef.prototype.setDirection = function (dir) {
1273
- this._config = __assign(__assign({}, this._config), { direction: dir });
1336
+ this._config = Object.assign(Object.assign({}, this._config), { direction: dir });
1274
1337
  this._updateElementDirection();
1275
1338
  };
1276
1339
  /** Add a CSS class or an array of classes to the overlay pane. */
@@ -1431,7 +1494,6 @@
1431
1494
  // might still be animating. This stream helps us avoid interrupting the animation
1432
1495
  // by waiting for the pane to become empty.
1433
1496
  var subscription = _this._ngZone.onStable
1434
- .asObservable()
1435
1497
  .pipe(operators.takeUntil(rxjs.merge(_this._attachments, _this._detachments)))
1436
1498
  .subscribe(function () {
1437
1499
  // Needs a couple of checks for the pane and host, because
@@ -1462,13 +1524,6 @@
1462
1524
  return OverlayRef;
1463
1525
  }());
1464
1526
 
1465
- /**
1466
- * @license
1467
- * Copyright Google LLC All Rights Reserved.
1468
- *
1469
- * Use of this source code is governed by an MIT-style license that can be
1470
- * found in the LICENSE file at https://angular.io/license
1471
- */
1472
1527
  // TODO: refactor clipping detection into a separate thing (part of scrolling module)
1473
1528
  // TODO: doesn't handle both flexible width and height when it has to scroll along both axis.
1474
1529
  /** Class to be added to the overlay bounding box. */
@@ -1517,7 +1572,7 @@
1517
1572
  /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */
1518
1573
  this._appliedPanelClasses = [];
1519
1574
  /** Observable sequence of position changes. */
1520
- this.positionChanges = this._positionChanges.asObservable();
1575
+ this.positionChanges = this._positionChanges;
1521
1576
  this.setOrigin(connectedTo);
1522
1577
  }
1523
1578
  Object.defineProperty(FlexibleConnectedPositionStrategy.prototype, "positions", {
@@ -1531,7 +1586,8 @@
1531
1586
  /** Attaches this position strategy to an overlay. */
1532
1587
  FlexibleConnectedPositionStrategy.prototype.attach = function (overlayRef) {
1533
1588
  var _this = this;
1534
- if (this._overlayRef && overlayRef !== this._overlayRef) {
1589
+ if (this._overlayRef && overlayRef !== this._overlayRef &&
1590
+ (typeof ngDevMode === 'undefined' || ngDevMode)) {
1535
1591
  throw Error('This position strategy is already attached to an overlay');
1536
1592
  }
1537
1593
  this._validatePositions();
@@ -1955,8 +2011,8 @@
1955
2011
  var viewport = this._viewportRect;
1956
2012
  // Determine how much the overlay goes outside the viewport on each
1957
2013
  // side, which we'll use to decide which direction to push it.
1958
- var overflowRight = Math.max(start.x + overlay.width - viewport.right, 0);
1959
- var overflowBottom = Math.max(start.y + overlay.height - viewport.bottom, 0);
2014
+ var overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);
2015
+ var overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);
1960
2016
  var overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);
1961
2017
  var overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);
1962
2018
  // Amount by which to push the overlay in each axis such that it remains on-screen.
@@ -2350,17 +2406,19 @@
2350
2406
  };
2351
2407
  /** Validates that the current position match the expected values. */
2352
2408
  FlexibleConnectedPositionStrategy.prototype._validatePositions = function () {
2353
- if (!this._preferredPositions.length) {
2354
- throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');
2355
- }
2356
- // TODO(crisbeto): remove these once Angular's template type
2357
- // checking is advanced enough to catch these cases.
2358
- this._preferredPositions.forEach(function (pair) {
2359
- validateHorizontalPosition('originX', pair.originX);
2360
- validateVerticalPosition('originY', pair.originY);
2361
- validateHorizontalPosition('overlayX', pair.overlayX);
2362
- validateVerticalPosition('overlayY', pair.overlayY);
2363
- });
2409
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
2410
+ if (!this._preferredPositions.length) {
2411
+ throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');
2412
+ }
2413
+ // TODO(crisbeto): remove these once Angular's template type
2414
+ // checking is advanced enough to catch these cases.
2415
+ this._preferredPositions.forEach(function (pair) {
2416
+ validateHorizontalPosition('originX', pair.originX);
2417
+ validateVerticalPosition('originY', pair.originY);
2418
+ validateHorizontalPosition('overlayX', pair.overlayX);
2419
+ validateVerticalPosition('overlayY', pair.overlayY);
2420
+ });
2421
+ }
2364
2422
  };
2365
2423
  /** Adds a single CSS class or an array of classes on the overlay panel. */
2366
2424
  FlexibleConnectedPositionStrategy.prototype._addPanelClasses = function (cssClasses) {
@@ -2458,23 +2516,8 @@
2458
2516
  .withPush(false)
2459
2517
  .withViewportMargin(0);
2460
2518
  this.withFallbackPosition(originPos, overlayPos);
2519
+ this.onPositionChange = this._positionStrategy.positionChanges;
2461
2520
  }
2462
- Object.defineProperty(ConnectedPositionStrategy.prototype, "_isRtl", {
2463
- /** Whether the we're dealing with an RTL context */
2464
- get: function () {
2465
- return this._overlayRef.getDirection() === 'rtl';
2466
- },
2467
- enumerable: false,
2468
- configurable: true
2469
- });
2470
- Object.defineProperty(ConnectedPositionStrategy.prototype, "onPositionChange", {
2471
- /** Emits an event when the connection point changes. */
2472
- get: function () {
2473
- return this._positionStrategy.positionChanges;
2474
- },
2475
- enumerable: false,
2476
- configurable: true
2477
- });
2478
2521
  Object.defineProperty(ConnectedPositionStrategy.prototype, "positions", {
2479
2522
  /** Ordered list of preferred positions, from most to least desirable. */
2480
2523
  get: function () {
@@ -2842,18 +2885,18 @@
2842
2885
  OverlayPositionBuilder.prototype.flexibleConnectedTo = function (origin) {
2843
2886
  return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);
2844
2887
  };
2845
- OverlayPositionBuilder.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform), i0.ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: "root" });
2846
- OverlayPositionBuilder.decorators = [
2847
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2848
- ];
2849
- OverlayPositionBuilder.ctorParameters = function () { return [
2850
- { type: i1.ViewportRuler },
2851
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
2852
- { type: i2.Platform },
2853
- { type: OverlayContainer }
2854
- ]; };
2855
2888
  return OverlayPositionBuilder;
2856
2889
  }());
2890
+ OverlayPositionBuilder.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform), i0.ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: "root" });
2891
+ OverlayPositionBuilder.decorators = [
2892
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2893
+ ];
2894
+ OverlayPositionBuilder.ctorParameters = function () { return [
2895
+ { type: i1.ViewportRuler },
2896
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
2897
+ { type: i2.Platform },
2898
+ { type: OverlayContainer }
2899
+ ]; };
2857
2900
 
2858
2901
  /**
2859
2902
  * @license
@@ -2949,24 +2992,24 @@
2949
2992
  }
2950
2993
  return new portal.DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);
2951
2994
  };
2952
- Overlay.decorators = [
2953
- { type: i0.Injectable }
2954
- ];
2955
- Overlay.ctorParameters = function () { return [
2956
- { type: ScrollStrategyOptions },
2957
- { type: OverlayContainer },
2958
- { type: i0.ComponentFactoryResolver },
2959
- { type: OverlayPositionBuilder },
2960
- { type: OverlayKeyboardDispatcher },
2961
- { type: i0.Injector },
2962
- { type: i0.NgZone },
2963
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
2964
- { type: bidi.Directionality },
2965
- { type: i1$1.Location, decorators: [{ type: i0.Optional }] },
2966
- { type: OverlayOutsideClickDispatcher, decorators: [{ type: i0.Optional }] }
2967
- ]; };
2968
2995
  return Overlay;
2969
2996
  }());
2997
+ Overlay.decorators = [
2998
+ { type: i0.Injectable }
2999
+ ];
3000
+ Overlay.ctorParameters = function () { return [
3001
+ { type: ScrollStrategyOptions },
3002
+ { type: OverlayContainer },
3003
+ { type: i0.ComponentFactoryResolver },
3004
+ { type: OverlayPositionBuilder },
3005
+ { type: OverlayKeyboardDispatcher },
3006
+ { type: i0.Injector },
3007
+ { type: i0.NgZone },
3008
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
3009
+ { type: bidi.Directionality },
3010
+ { type: i1$1.Location },
3011
+ { type: OverlayOutsideClickDispatcher }
3012
+ ]; };
2970
3013
 
2971
3014
  /**
2972
3015
  * @license
@@ -3018,17 +3061,17 @@
3018
3061
  elementRef) {
3019
3062
  this.elementRef = elementRef;
3020
3063
  }
3021
- CdkOverlayOrigin.decorators = [
3022
- { type: i0.Directive, args: [{
3023
- selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
3024
- exportAs: 'cdkOverlayOrigin',
3025
- },] }
3026
- ];
3027
- CdkOverlayOrigin.ctorParameters = function () { return [
3028
- { type: i0.ElementRef }
3029
- ]; };
3030
3064
  return CdkOverlayOrigin;
3031
3065
  }());
3066
+ CdkOverlayOrigin.decorators = [
3067
+ { type: i0.Directive, args: [{
3068
+ selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
3069
+ exportAs: 'cdkOverlayOrigin',
3070
+ },] }
3071
+ ];
3072
+ CdkOverlayOrigin.ctorParameters = function () { return [
3073
+ { type: i0.ElementRef }
3074
+ ]; };
3032
3075
  /**
3033
3076
  * Directive to facilitate declarative creation of an
3034
3077
  * Overlay using a FlexibleConnectedPositionStrategy.
@@ -3046,6 +3089,7 @@
3046
3089
  this._backdropSubscription = rxjs.Subscription.EMPTY;
3047
3090
  this._attachSubscription = rxjs.Subscription.EMPTY;
3048
3091
  this._detachSubscription = rxjs.Subscription.EMPTY;
3092
+ this._positionSubscription = rxjs.Subscription.EMPTY;
3049
3093
  /** Margin between the overlay and the viewport edges. */
3050
3094
  this.viewportMargin = 0;
3051
3095
  /** Whether the overlay is open. */
@@ -3147,6 +3191,7 @@
3147
3191
  this._attachSubscription.unsubscribe();
3148
3192
  this._detachSubscription.unsubscribe();
3149
3193
  this._backdropSubscription.unsubscribe();
3194
+ this._positionSubscription.unsubscribe();
3150
3195
  if (this._overlayRef) {
3151
3196
  this._overlayRef.dispose();
3152
3197
  }
@@ -3242,10 +3287,8 @@
3242
3287
  };
3243
3288
  /** Returns the position strategy of the overlay to be set on the overlay config */
3244
3289
  CdkConnectedOverlay.prototype._createPositionStrategy = function () {
3245
- var _this = this;
3246
3290
  var strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);
3247
3291
  this._updatePositionStrategy(strategy);
3248
- strategy.positionChanges.subscribe(function (p) { return _this.positionChange.emit(p); });
3249
3292
  return strategy;
3250
3293
  };
3251
3294
  /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */
@@ -3269,6 +3312,19 @@
3269
3312
  else {
3270
3313
  this._backdropSubscription.unsubscribe();
3271
3314
  }
3315
+ this._positionSubscription.unsubscribe();
3316
+ // Only subscribe to `positionChanges` if requested, because putting
3317
+ // together all the information for it can be expensive.
3318
+ if (this.positionChange.observers.length > 0) {
3319
+ this._positionSubscription = this._position.positionChanges
3320
+ .pipe(operators.takeWhile(function () { return _this.positionChange.observers.length > 0; }))
3321
+ .subscribe(function (position) {
3322
+ _this.positionChange.emit(position);
3323
+ if (_this.positionChange.observers.length === 0) {
3324
+ _this._positionSubscription.unsubscribe();
3325
+ }
3326
+ });
3327
+ }
3272
3328
  };
3273
3329
  /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */
3274
3330
  CdkConnectedOverlay.prototype._detachOverlay = function () {
@@ -3276,50 +3332,51 @@
3276
3332
  this._overlayRef.detach();
3277
3333
  }
3278
3334
  this._backdropSubscription.unsubscribe();
3279
- };
3280
- CdkConnectedOverlay.decorators = [
3281
- { type: i0.Directive, args: [{
3282
- selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
3283
- exportAs: 'cdkConnectedOverlay'
3284
- },] }
3285
- ];
3286
- CdkConnectedOverlay.ctorParameters = function () { return [
3287
- { type: Overlay },
3288
- { type: i0.TemplateRef },
3289
- { type: i0.ViewContainerRef },
3290
- { type: undefined, decorators: [{ type: i0.Inject, args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,] }] },
3291
- { type: bidi.Directionality, decorators: [{ type: i0.Optional }] }
3292
- ]; };
3293
- CdkConnectedOverlay.propDecorators = {
3294
- origin: [{ type: i0.Input, args: ['cdkConnectedOverlayOrigin',] }],
3295
- positions: [{ type: i0.Input, args: ['cdkConnectedOverlayPositions',] }],
3296
- positionStrategy: [{ type: i0.Input, args: ['cdkConnectedOverlayPositionStrategy',] }],
3297
- offsetX: [{ type: i0.Input, args: ['cdkConnectedOverlayOffsetX',] }],
3298
- offsetY: [{ type: i0.Input, args: ['cdkConnectedOverlayOffsetY',] }],
3299
- width: [{ type: i0.Input, args: ['cdkConnectedOverlayWidth',] }],
3300
- height: [{ type: i0.Input, args: ['cdkConnectedOverlayHeight',] }],
3301
- minWidth: [{ type: i0.Input, args: ['cdkConnectedOverlayMinWidth',] }],
3302
- minHeight: [{ type: i0.Input, args: ['cdkConnectedOverlayMinHeight',] }],
3303
- backdropClass: [{ type: i0.Input, args: ['cdkConnectedOverlayBackdropClass',] }],
3304
- panelClass: [{ type: i0.Input, args: ['cdkConnectedOverlayPanelClass',] }],
3305
- viewportMargin: [{ type: i0.Input, args: ['cdkConnectedOverlayViewportMargin',] }],
3306
- scrollStrategy: [{ type: i0.Input, args: ['cdkConnectedOverlayScrollStrategy',] }],
3307
- open: [{ type: i0.Input, args: ['cdkConnectedOverlayOpen',] }],
3308
- transformOriginSelector: [{ type: i0.Input, args: ['cdkConnectedOverlayTransformOriginOn',] }],
3309
- hasBackdrop: [{ type: i0.Input, args: ['cdkConnectedOverlayHasBackdrop',] }],
3310
- lockPosition: [{ type: i0.Input, args: ['cdkConnectedOverlayLockPosition',] }],
3311
- flexibleDimensions: [{ type: i0.Input, args: ['cdkConnectedOverlayFlexibleDimensions',] }],
3312
- growAfterOpen: [{ type: i0.Input, args: ['cdkConnectedOverlayGrowAfterOpen',] }],
3313
- push: [{ type: i0.Input, args: ['cdkConnectedOverlayPush',] }],
3314
- backdropClick: [{ type: i0.Output }],
3315
- positionChange: [{ type: i0.Output }],
3316
- attach: [{ type: i0.Output }],
3317
- detach: [{ type: i0.Output }],
3318
- overlayKeydown: [{ type: i0.Output }],
3319
- overlayOutsideClick: [{ type: i0.Output }]
3335
+ this._positionSubscription.unsubscribe();
3320
3336
  };
3321
3337
  return CdkConnectedOverlay;
3322
3338
  }());
3339
+ CdkConnectedOverlay.decorators = [
3340
+ { type: i0.Directive, args: [{
3341
+ selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
3342
+ exportAs: 'cdkConnectedOverlay'
3343
+ },] }
3344
+ ];
3345
+ CdkConnectedOverlay.ctorParameters = function () { return [
3346
+ { type: Overlay },
3347
+ { type: i0.TemplateRef },
3348
+ { type: i0.ViewContainerRef },
3349
+ { type: undefined, decorators: [{ type: i0.Inject, args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,] }] },
3350
+ { type: bidi.Directionality, decorators: [{ type: i0.Optional }] }
3351
+ ]; };
3352
+ CdkConnectedOverlay.propDecorators = {
3353
+ origin: [{ type: i0.Input, args: ['cdkConnectedOverlayOrigin',] }],
3354
+ positions: [{ type: i0.Input, args: ['cdkConnectedOverlayPositions',] }],
3355
+ positionStrategy: [{ type: i0.Input, args: ['cdkConnectedOverlayPositionStrategy',] }],
3356
+ offsetX: [{ type: i0.Input, args: ['cdkConnectedOverlayOffsetX',] }],
3357
+ offsetY: [{ type: i0.Input, args: ['cdkConnectedOverlayOffsetY',] }],
3358
+ width: [{ type: i0.Input, args: ['cdkConnectedOverlayWidth',] }],
3359
+ height: [{ type: i0.Input, args: ['cdkConnectedOverlayHeight',] }],
3360
+ minWidth: [{ type: i0.Input, args: ['cdkConnectedOverlayMinWidth',] }],
3361
+ minHeight: [{ type: i0.Input, args: ['cdkConnectedOverlayMinHeight',] }],
3362
+ backdropClass: [{ type: i0.Input, args: ['cdkConnectedOverlayBackdropClass',] }],
3363
+ panelClass: [{ type: i0.Input, args: ['cdkConnectedOverlayPanelClass',] }],
3364
+ viewportMargin: [{ type: i0.Input, args: ['cdkConnectedOverlayViewportMargin',] }],
3365
+ scrollStrategy: [{ type: i0.Input, args: ['cdkConnectedOverlayScrollStrategy',] }],
3366
+ open: [{ type: i0.Input, args: ['cdkConnectedOverlayOpen',] }],
3367
+ transformOriginSelector: [{ type: i0.Input, args: ['cdkConnectedOverlayTransformOriginOn',] }],
3368
+ hasBackdrop: [{ type: i0.Input, args: ['cdkConnectedOverlayHasBackdrop',] }],
3369
+ lockPosition: [{ type: i0.Input, args: ['cdkConnectedOverlayLockPosition',] }],
3370
+ flexibleDimensions: [{ type: i0.Input, args: ['cdkConnectedOverlayFlexibleDimensions',] }],
3371
+ growAfterOpen: [{ type: i0.Input, args: ['cdkConnectedOverlayGrowAfterOpen',] }],
3372
+ push: [{ type: i0.Input, args: ['cdkConnectedOverlayPush',] }],
3373
+ backdropClick: [{ type: i0.Output }],
3374
+ positionChange: [{ type: i0.Output }],
3375
+ attach: [{ type: i0.Output }],
3376
+ detach: [{ type: i0.Output }],
3377
+ overlayKeydown: [{ type: i0.Output }],
3378
+ overlayOutsideClick: [{ type: i0.Output }]
3379
+ };
3323
3380
  /** @docs-private */
3324
3381
  function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
3325
3382
  return function () { return overlay.scrollStrategies.reposition(); };
@@ -3341,19 +3398,19 @@
3341
3398
  var OverlayModule = /** @class */ (function () {
3342
3399
  function OverlayModule() {
3343
3400
  }
3344
- OverlayModule.decorators = [
3345
- { type: i0.NgModule, args: [{
3346
- imports: [bidi.BidiModule, portal.PortalModule, i1.ScrollingModule],
3347
- exports: [CdkConnectedOverlay, CdkOverlayOrigin, i1.ScrollingModule],
3348
- declarations: [CdkConnectedOverlay, CdkOverlayOrigin],
3349
- providers: [
3350
- Overlay,
3351
- CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,
3352
- ],
3353
- },] }
3354
- ];
3355
3401
  return OverlayModule;
3356
3402
  }());
3403
+ OverlayModule.decorators = [
3404
+ { type: i0.NgModule, args: [{
3405
+ imports: [bidi.BidiModule, portal.PortalModule, i1.ScrollingModule],
3406
+ exports: [CdkConnectedOverlay, CdkOverlayOrigin, i1.ScrollingModule],
3407
+ declarations: [CdkConnectedOverlay, CdkOverlayOrigin],
3408
+ providers: [
3409
+ Overlay,
3410
+ CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,
3411
+ ],
3412
+ },] }
3413
+ ];
3357
3414
  /**
3358
3415
  * @deprecated Use `OverlayModule` instead.
3359
3416
  * @breaking-change 8.0.0
@@ -3452,16 +3509,16 @@
3452
3509
  _document.msFullscreenElement ||
3453
3510
  null;
3454
3511
  };
3455
- FullscreenOverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: FullscreenOverlayContainer, providedIn: "root" });
3456
- FullscreenOverlayContainer.decorators = [
3457
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
3458
- ];
3459
- FullscreenOverlayContainer.ctorParameters = function () { return [
3460
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
3461
- { type: i2.Platform }
3462
- ]; };
3463
3512
  return FullscreenOverlayContainer;
3464
3513
  }(OverlayContainer));
3514
+ FullscreenOverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: FullscreenOverlayContainer, providedIn: "root" });
3515
+ FullscreenOverlayContainer.decorators = [
3516
+ { type: i0.Injectable, args: [{ providedIn: 'root' },] }
3517
+ ];
3518
+ FullscreenOverlayContainer.ctorParameters = function () { return [
3519
+ { type: undefined, decorators: [{ type: i0.Inject, args: [i1$1.DOCUMENT,] }] },
3520
+ { type: i2.Platform }
3521
+ ]; };
3465
3522
 
3466
3523
  /**
3467
3524
  * @license