@angular/core 10.0.1 → 10.0.5

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 (54) hide show
  1. package/bundles/core-testing.umd.js +320 -271
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +11 -25
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +834 -1043
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +132 -286
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.d.ts +193 -183
  10. package/core.metadata.json +1 -1
  11. package/esm2015/core.js +11 -10
  12. package/esm2015/src/application_init.js +9 -5
  13. package/esm2015/src/application_tokens.js +16 -12
  14. package/esm2015/src/change_detection/change_detector_ref.js +6 -3
  15. package/esm2015/src/change_detection/constants.js +3 -1
  16. package/esm2015/src/core_render3_private_export.js +2 -2
  17. package/esm2015/src/di/injectable.js +1 -1
  18. package/esm2015/src/di/metadata.js +2 -2
  19. package/esm2015/src/interface/type.js +2 -2
  20. package/esm2015/src/linker/ng_module_factory.js +3 -5
  21. package/esm2015/src/linker/view_ref.js +3 -6
  22. package/esm2015/src/metadata/directives.js +1 -1
  23. package/esm2015/src/metadata/ng_module.js +1 -1
  24. package/esm2015/src/render3/definition.js +3 -11
  25. package/esm2015/src/render3/di.js +13 -5
  26. package/esm2015/src/render3/di_setup.js +5 -5
  27. package/esm2015/src/render3/features/inherit_definition_feature.js +1 -11
  28. package/esm2015/src/render3/features/ng_onchanges_feature.js +32 -22
  29. package/esm2015/src/render3/hooks.js +27 -23
  30. package/esm2015/src/render3/i18n.js +3 -3
  31. package/esm2015/src/render3/index.js +3 -3
  32. package/esm2015/src/render3/instructions/element.js +4 -4
  33. package/esm2015/src/render3/instructions/host_property.js +3 -3
  34. package/esm2015/src/render3/instructions/listener.js +3 -3
  35. package/esm2015/src/render3/instructions/shared.js +15 -26
  36. package/esm2015/src/render3/interfaces/definition.js +1 -1
  37. package/esm2015/src/render3/interfaces/node.js +1 -1
  38. package/esm2015/src/render3/jit/environment.js +3 -3
  39. package/esm2015/src/render3/util/discovery_utils.js +2 -2
  40. package/esm2015/src/render3/view_ref.js +3 -3
  41. package/esm2015/src/sanitization/html_sanitizer.js +3 -3
  42. package/esm2015/src/sanitization/inert_body.js +39 -82
  43. package/esm2015/src/util/ng_dev_mode.js +2 -2
  44. package/esm2015/src/version.js +1 -1
  45. package/esm2015/testing/src/fake_async_fallback.js +5 -1
  46. package/fesm2015/core.js +266 -309
  47. package/fesm2015/core.js.map +1 -1
  48. package/fesm2015/testing.js +5 -1
  49. package/fesm2015/testing.js.map +1 -1
  50. package/package.json +1 -1
  51. package/src/r3_symbols.d.ts +15 -17
  52. package/testing/testing.d.ts +1 -1
  53. package/testing.d.ts +1 -1
  54. package/esm2015/src/util/WrappedValue.js +0 -48
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v10.0.1
2
+ * @license Angular v10.0.5
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -10,232 +10,305 @@
10
10
  (global = global || self, factory((global.ng = global.ng || {}, global.ng.core = {}), global.rxjs, global.rxjs.operators));
11
11
  }(this, (function (exports, rxjs, operators) { 'use strict';
12
12
 
13
- /*! *****************************************************************************
14
- Copyright (c) Microsoft Corporation.
15
-
16
- Permission to use, copy, modify, and/or distribute this software for any
17
- purpose with or without fee is hereby granted.
18
-
19
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
20
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
21
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
22
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
23
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
24
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25
- PERFORMANCE OF THIS SOFTWARE.
26
- ***************************************************************************** */
27
- /* global Reflect, Promise */
28
-
29
- var extendStatics = function(d, b) {
30
- extendStatics = Object.setPrototypeOf ||
31
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
32
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
33
- return extendStatics(d, b);
34
- };
35
-
36
- function __extends(d, b) {
37
- extendStatics(d, b);
38
- function __() { this.constructor = d; }
39
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
40
- }
41
-
42
- var __assign = function() {
43
- __assign = Object.assign || function __assign(t) {
44
- for (var s, i = 1, n = arguments.length; i < n; i++) {
45
- s = arguments[i];
46
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
47
- }
48
- return t;
49
- };
50
- return __assign.apply(this, arguments);
51
- };
52
-
53
- function __rest(s, e) {
54
- var t = {};
55
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
56
- t[p] = s[p];
57
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
58
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
59
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
60
- t[p[i]] = s[p[i]];
61
- }
62
- return t;
63
- }
64
-
65
- function __decorate(decorators, target, key, desc) {
66
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
67
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
68
- 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;
69
- return c > 3 && r && Object.defineProperty(target, key, r), r;
70
- }
71
-
72
- function __param(paramIndex, decorator) {
73
- return function (target, key) { decorator(target, key, paramIndex); }
74
- }
75
-
76
- function __metadata(metadataKey, metadataValue) {
77
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
78
- }
79
-
80
- function __awaiter(thisArg, _arguments, P, generator) {
81
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
82
- return new (P || (P = Promise))(function (resolve, reject) {
83
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
84
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
85
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
86
- step((generator = generator.apply(thisArg, _arguments || [])).next());
87
- });
88
- }
89
-
90
- function __generator(thisArg, body) {
91
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
92
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
93
- function verb(n) { return function (v) { return step([n, v]); }; }
94
- function step(op) {
95
- if (f) throw new TypeError("Generator is already executing.");
96
- while (_) try {
97
- 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;
98
- if (y = 0, t) op = [op[0] & 2, t.value];
99
- switch (op[0]) {
100
- case 0: case 1: t = op; break;
101
- case 4: _.label++; return { value: op[1], done: false };
102
- case 5: _.label++; y = op[1]; op = [0]; continue;
103
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
104
- default:
105
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
106
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
107
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
108
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
109
- if (t[2]) _.ops.pop();
110
- _.trys.pop(); continue;
111
- }
112
- op = body.call(thisArg, _);
113
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
114
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
115
- }
116
- }
117
-
118
- var __createBinding = Object.create ? (function(o, m, k, k2) {
119
- if (k2 === undefined) k2 = k;
120
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
121
- }) : (function(o, m, k, k2) {
122
- if (k2 === undefined) k2 = k;
123
- o[k2] = m[k];
124
- });
125
-
126
- function __exportStar(m, exports) {
127
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
128
- }
129
-
130
- function __values(o) {
131
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
132
- if (m) return m.call(o);
133
- if (o && typeof o.length === "number") return {
134
- next: function () {
135
- if (o && i >= o.length) o = void 0;
136
- return { value: o && o[i++], done: !o };
137
- }
138
- };
139
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
140
- }
141
-
142
- function __read(o, n) {
143
- var m = typeof Symbol === "function" && o[Symbol.iterator];
144
- if (!m) return o;
145
- var i = m.call(o), r, ar = [], e;
146
- try {
147
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
148
- }
149
- catch (error) { e = { error: error }; }
150
- finally {
151
- try {
152
- if (r && !r.done && (m = i["return"])) m.call(i);
153
- }
154
- finally { if (e) throw e.error; }
155
- }
156
- return ar;
157
- }
158
-
159
- function __spread() {
160
- for (var ar = [], i = 0; i < arguments.length; i++)
161
- ar = ar.concat(__read(arguments[i]));
162
- return ar;
163
- }
164
-
165
- function __spreadArrays() {
166
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
167
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
168
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
169
- r[k] = a[j];
170
- return r;
171
- };
172
-
173
- function __await(v) {
174
- return this instanceof __await ? (this.v = v, this) : new __await(v);
175
- }
176
-
177
- function __asyncGenerator(thisArg, _arguments, generator) {
178
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
179
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
180
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
181
- 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); }); }; }
182
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
183
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
184
- function fulfill(value) { resume("next", value); }
185
- function reject(value) { resume("throw", value); }
186
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
187
- }
188
-
189
- function __asyncDelegator(o) {
190
- var i, p;
191
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
192
- 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; }
193
- }
194
-
195
- function __asyncValues(o) {
196
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
197
- var m = o[Symbol.asyncIterator], i;
198
- 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);
199
- 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); }); }; }
200
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
201
- }
202
-
203
- function __makeTemplateObject(cooked, raw) {
204
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
205
- return cooked;
206
- };
207
-
208
- var __setModuleDefault = Object.create ? (function(o, v) {
209
- Object.defineProperty(o, "default", { enumerable: true, value: v });
210
- }) : function(o, v) {
211
- o["default"] = v;
212
- };
213
-
214
- function __importStar(mod) {
215
- if (mod && mod.__esModule) return mod;
216
- var result = {};
217
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
218
- __setModuleDefault(result, mod);
219
- return result;
220
- }
221
-
222
- function __importDefault(mod) {
223
- return (mod && mod.__esModule) ? mod : { default: mod };
224
- }
225
-
226
- function __classPrivateFieldGet(receiver, privateMap) {
227
- if (!privateMap.has(receiver)) {
228
- throw new TypeError("attempted to get private field on non-instance");
229
- }
230
- return privateMap.get(receiver);
231
- }
232
-
233
- function __classPrivateFieldSet(receiver, privateMap, value) {
234
- if (!privateMap.has(receiver)) {
235
- throw new TypeError("attempted to set private field on non-instance");
236
- }
237
- privateMap.set(receiver, value);
238
- return value;
13
+ /*! *****************************************************************************
14
+ Copyright (c) Microsoft Corporation.
15
+
16
+ Permission to use, copy, modify, and/or distribute this software for any
17
+ purpose with or without fee is hereby granted.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
20
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
21
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
22
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
23
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
24
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25
+ PERFORMANCE OF THIS SOFTWARE.
26
+ ***************************************************************************** */
27
+ /* global Reflect, Promise */
28
+ var extendStatics = function (d, b) {
29
+ extendStatics = Object.setPrototypeOf ||
30
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
31
+ function (d, b) { for (var p in b)
32
+ if (b.hasOwnProperty(p))
33
+ d[p] = b[p]; };
34
+ return extendStatics(d, b);
35
+ };
36
+ function __extends(d, b) {
37
+ extendStatics(d, b);
38
+ function __() { this.constructor = d; }
39
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
40
+ }
41
+ var __assign = function () {
42
+ __assign = Object.assign || function __assign(t) {
43
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
44
+ s = arguments[i];
45
+ for (var p in s)
46
+ if (Object.prototype.hasOwnProperty.call(s, p))
47
+ t[p] = s[p];
48
+ }
49
+ return t;
50
+ };
51
+ return __assign.apply(this, arguments);
52
+ };
53
+ function __rest(s, e) {
54
+ var t = {};
55
+ for (var p in s)
56
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
57
+ t[p] = s[p];
58
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
59
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
60
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
61
+ t[p[i]] = s[p[i]];
62
+ }
63
+ return t;
64
+ }
65
+ function __decorate(decorators, target, key, desc) {
66
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
67
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
68
+ r = Reflect.decorate(decorators, target, key, desc);
69
+ else
70
+ for (var i = decorators.length - 1; i >= 0; i--)
71
+ if (d = decorators[i])
72
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
73
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
74
+ }
75
+ function __param(paramIndex, decorator) {
76
+ return function (target, key) { decorator(target, key, paramIndex); };
77
+ }
78
+ function __metadata(metadataKey, metadataValue) {
79
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
80
+ return Reflect.metadata(metadataKey, metadataValue);
81
+ }
82
+ function __awaiter(thisArg, _arguments, P, generator) {
83
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
84
+ return new (P || (P = Promise))(function (resolve, reject) {
85
+ function fulfilled(value) { try {
86
+ step(generator.next(value));
87
+ }
88
+ catch (e) {
89
+ reject(e);
90
+ } }
91
+ function rejected(value) { try {
92
+ step(generator["throw"](value));
93
+ }
94
+ catch (e) {
95
+ reject(e);
96
+ } }
97
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
98
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
99
+ });
100
+ }
101
+ function __generator(thisArg, body) {
102
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
103
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
104
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
105
+ function verb(n) { return function (v) { return step([n, v]); }; }
106
+ function step(op) {
107
+ if (f)
108
+ throw new TypeError("Generator is already executing.");
109
+ while (_)
110
+ try {
111
+ 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)
112
+ return t;
113
+ if (y = 0, t)
114
+ op = [op[0] & 2, t.value];
115
+ switch (op[0]) {
116
+ case 0:
117
+ case 1:
118
+ t = op;
119
+ break;
120
+ case 4:
121
+ _.label++;
122
+ return { value: op[1], done: false };
123
+ case 5:
124
+ _.label++;
125
+ y = op[1];
126
+ op = [0];
127
+ continue;
128
+ case 7:
129
+ op = _.ops.pop();
130
+ _.trys.pop();
131
+ continue;
132
+ default:
133
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
134
+ _ = 0;
135
+ continue;
136
+ }
137
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
138
+ _.label = op[1];
139
+ break;
140
+ }
141
+ if (op[0] === 6 && _.label < t[1]) {
142
+ _.label = t[1];
143
+ t = op;
144
+ break;
145
+ }
146
+ if (t && _.label < t[2]) {
147
+ _.label = t[2];
148
+ _.ops.push(op);
149
+ break;
150
+ }
151
+ if (t[2])
152
+ _.ops.pop();
153
+ _.trys.pop();
154
+ continue;
155
+ }
156
+ op = body.call(thisArg, _);
157
+ }
158
+ catch (e) {
159
+ op = [6, e];
160
+ y = 0;
161
+ }
162
+ finally {
163
+ f = t = 0;
164
+ }
165
+ if (op[0] & 5)
166
+ throw op[1];
167
+ return { value: op[0] ? op[1] : void 0, done: true };
168
+ }
169
+ }
170
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
171
+ if (k2 === undefined)
172
+ k2 = k;
173
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
174
+ }) : (function (o, m, k, k2) {
175
+ if (k2 === undefined)
176
+ k2 = k;
177
+ o[k2] = m[k];
178
+ });
179
+ function __exportStar(m, exports) {
180
+ for (var p in m)
181
+ if (p !== "default" && !exports.hasOwnProperty(p))
182
+ __createBinding(exports, m, p);
183
+ }
184
+ function __values(o) {
185
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
186
+ if (m)
187
+ return m.call(o);
188
+ if (o && typeof o.length === "number")
189
+ return {
190
+ next: function () {
191
+ if (o && i >= o.length)
192
+ o = void 0;
193
+ return { value: o && o[i++], done: !o };
194
+ }
195
+ };
196
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
197
+ }
198
+ function __read(o, n) {
199
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
200
+ if (!m)
201
+ return o;
202
+ var i = m.call(o), r, ar = [], e;
203
+ try {
204
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
205
+ ar.push(r.value);
206
+ }
207
+ catch (error) {
208
+ e = { error: error };
209
+ }
210
+ finally {
211
+ try {
212
+ if (r && !r.done && (m = i["return"]))
213
+ m.call(i);
214
+ }
215
+ finally {
216
+ if (e)
217
+ throw e.error;
218
+ }
219
+ }
220
+ return ar;
221
+ }
222
+ function __spread() {
223
+ for (var ar = [], i = 0; i < arguments.length; i++)
224
+ ar = ar.concat(__read(arguments[i]));
225
+ return ar;
226
+ }
227
+ function __spreadArrays() {
228
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
229
+ s += arguments[i].length;
230
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
231
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
232
+ r[k] = a[j];
233
+ return r;
234
+ }
235
+ ;
236
+ function __await(v) {
237
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
238
+ }
239
+ function __asyncGenerator(thisArg, _arguments, generator) {
240
+ if (!Symbol.asyncIterator)
241
+ throw new TypeError("Symbol.asyncIterator is not defined.");
242
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
243
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
244
+ function verb(n) { if (g[n])
245
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
246
+ function resume(n, v) { try {
247
+ step(g[n](v));
248
+ }
249
+ catch (e) {
250
+ settle(q[0][3], e);
251
+ } }
252
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
253
+ function fulfill(value) { resume("next", value); }
254
+ function reject(value) { resume("throw", value); }
255
+ function settle(f, v) { if (f(v), q.shift(), q.length)
256
+ resume(q[0][0], q[0][1]); }
257
+ }
258
+ function __asyncDelegator(o) {
259
+ var i, p;
260
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
261
+ 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; }
262
+ }
263
+ function __asyncValues(o) {
264
+ if (!Symbol.asyncIterator)
265
+ throw new TypeError("Symbol.asyncIterator is not defined.");
266
+ var m = o[Symbol.asyncIterator], i;
267
+ 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);
268
+ 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); }); }; }
269
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
270
+ }
271
+ function __makeTemplateObject(cooked, raw) {
272
+ if (Object.defineProperty) {
273
+ Object.defineProperty(cooked, "raw", { value: raw });
274
+ }
275
+ else {
276
+ cooked.raw = raw;
277
+ }
278
+ return cooked;
279
+ }
280
+ ;
281
+ var __setModuleDefault = Object.create ? (function (o, v) {
282
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
283
+ }) : function (o, v) {
284
+ o["default"] = v;
285
+ };
286
+ function __importStar(mod) {
287
+ if (mod && mod.__esModule)
288
+ return mod;
289
+ var result = {};
290
+ if (mod != null)
291
+ for (var k in mod)
292
+ if (Object.hasOwnProperty.call(mod, k))
293
+ __createBinding(result, mod, k);
294
+ __setModuleDefault(result, mod);
295
+ return result;
296
+ }
297
+ function __importDefault(mod) {
298
+ return (mod && mod.__esModule) ? mod : { default: mod };
299
+ }
300
+ function __classPrivateFieldGet(receiver, privateMap) {
301
+ if (!privateMap.has(receiver)) {
302
+ throw new TypeError("attempted to get private field on non-instance");
303
+ }
304
+ return privateMap.get(receiver);
305
+ }
306
+ function __classPrivateFieldSet(receiver, privateMap, value) {
307
+ if (!privateMap.has(receiver)) {
308
+ throw new TypeError("attempted to set private field on non-instance");
309
+ }
310
+ privateMap.set(receiver, value);
311
+ return value;
239
312
  }
240
313
 
241
314
  /**
@@ -258,13 +331,6 @@
258
331
  return { toString: fn }.toString();
259
332
  }
260
333
 
261
- /**
262
- * @license
263
- * Copyright Google LLC All Rights Reserved.
264
- *
265
- * Use of this source code is governed by an MIT-style license that can be
266
- * found in the LICENSE file at https://angular.io/license
267
- */
268
334
  var ANNOTATIONS = '__annotations__';
269
335
  var PARAMETERS = '__parameters__';
270
336
  var PROP_METADATA = '__prop__metadata__';
@@ -275,7 +341,6 @@
275
341
  return noSideEffects(function () {
276
342
  var metaCtor = makeMetadataCtor(props);
277
343
  function DecoratorFactory() {
278
- var _a;
279
344
  var args = [];
280
345
  for (var _i = 0; _i < arguments.length; _i++) {
281
346
  args[_i] = arguments[_i];
@@ -284,7 +349,7 @@
284
349
  metaCtor.call.apply(metaCtor, __spread([this], args));
285
350
  return this;
286
351
  }
287
- var annotationInstance = new ((_a = DecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
352
+ var annotationInstance = new (DecoratorFactory.bind.apply(DecoratorFactory, __spread([void 0], args)))();
288
353
  return function TypeDecorator(cls) {
289
354
  if (typeFn)
290
355
  typeFn.apply(void 0, __spread([cls], args));
@@ -325,7 +390,6 @@
325
390
  return noSideEffects(function () {
326
391
  var metaCtor = makeMetadataCtor(props);
327
392
  function ParamDecoratorFactory() {
328
- var _a;
329
393
  var args = [];
330
394
  for (var _i = 0; _i < arguments.length; _i++) {
331
395
  args[_i] = arguments[_i];
@@ -334,7 +398,7 @@
334
398
  metaCtor.apply(this, args);
335
399
  return this;
336
400
  }
337
- var annotationInstance = new ((_a = ParamDecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
401
+ var annotationInstance = new (ParamDecoratorFactory.bind.apply(ParamDecoratorFactory, __spread([void 0], args)))();
338
402
  ParamDecorator.annotation = annotationInstance;
339
403
  return ParamDecorator;
340
404
  function ParamDecorator(cls, unusedKey, index) {
@@ -364,7 +428,6 @@
364
428
  return noSideEffects(function () {
365
429
  var metaCtor = makeMetadataCtor(props);
366
430
  function PropDecoratorFactory() {
367
- var _a;
368
431
  var args = [];
369
432
  for (var _i = 0; _i < arguments.length; _i++) {
370
433
  args[_i] = arguments[_i];
@@ -373,7 +436,7 @@
373
436
  metaCtor.apply(this, args);
374
437
  return this;
375
438
  }
376
- var decoratorInstance = new ((_a = PropDecoratorFactory).bind.apply(_a, __spread([void 0], args)))();
439
+ var decoratorInstance = new (PropDecoratorFactory.bind.apply(PropDecoratorFactory, __spread([void 0], args)))();
377
440
  function PropDecorator(target, name) {
378
441
  var constructor = target.constructor;
379
442
  // Use of Object.defineProperty is important because it creates a non-enumerable property
@@ -427,7 +490,7 @@
427
490
  */
428
491
  var Self = makeParamDecorator('Self');
429
492
  /**
430
- * SkipSelf decorator and metadata.
493
+ * `SkipSelf` decorator and metadata.
431
494
  *
432
495
  * @Annotation
433
496
  * @publicApi
@@ -882,7 +945,7 @@
882
945
  * (and thus Ivy instructions), so a single initialization there is sufficient to ensure ngDevMode
883
946
  * is defined for the entire instruction set.
884
947
  *
885
- * When using checking `ngDevMode` on toplevel, always init it before referencing it
948
+ * When checking `ngDevMode` on toplevel, always init it before referencing it
886
949
  * (e.g. `((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode())`), otherwise you can
887
950
  * get a `ReferenceError` like in https://github.com/angular/angular/issues/31595.
888
951
  *
@@ -1238,10 +1301,8 @@
1238
1301
  * found in the LICENSE file at https://angular.io/license
1239
1302
  */
1240
1303
  /**
1241
- * Represents an instance of an NgModule created via a {@link NgModuleFactory}.
1242
- *
1243
- * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this
1244
- * NgModule Instance.
1304
+ * Represents an instance of an `NgModule` created by an `NgModuleFactory`.
1305
+ * Provides access to the `NgModule` instance and related objects.
1245
1306
  *
1246
1307
  * @publicApi
1247
1308
  */
@@ -1833,14 +1894,6 @@
1833
1894
  inputs: null,
1834
1895
  outputs: null,
1835
1896
  exportAs: componentDefinition.exportAs || null,
1836
- onChanges: null,
1837
- onInit: typePrototype.ngOnInit || null,
1838
- doCheck: typePrototype.ngDoCheck || null,
1839
- afterContentInit: typePrototype.ngAfterContentInit || null,
1840
- afterContentChecked: typePrototype.ngAfterContentChecked || null,
1841
- afterViewInit: typePrototype.ngAfterViewInit || null,
1842
- afterViewChecked: typePrototype.ngAfterViewChecked || null,
1843
- onDestroy: typePrototype.ngOnDestroy || null,
1844
1897
  onPush: componentDefinition.changeDetection === exports.ChangeDetectionStrategy.OnPush,
1845
1898
  directiveDefs: null,
1846
1899
  pipeDefs: null,
@@ -1848,8 +1901,8 @@
1848
1901
  viewQuery: componentDefinition.viewQuery || null,
1849
1902
  features: componentDefinition.features || null,
1850
1903
  data: componentDefinition.data || {},
1851
- // TODO(misko): convert ViewEncapsulation into const enum so that it can be used directly in
1852
- // the next line. Also `None` should be 0 not 2.
1904
+ // TODO(misko): convert ViewEncapsulation into const enum so that it can be used
1905
+ // directly in the next line. Also `None` should be 0 not 2.
1853
1906
  encapsulation: componentDefinition.encapsulation || exports.ViewEncapsulation.Emulated,
1854
1907
  id: 'c',
1855
1908
  styles: componentDefinition.styles || EMPTY_ARRAY,
@@ -2086,49 +2139,6 @@
2086
2139
  return type[NG_LOC_ID_DEF] || null;
2087
2140
  }
2088
2141
 
2089
- /**
2090
- * @license
2091
- * Copyright Google LLC All Rights Reserved.
2092
- *
2093
- * Use of this source code is governed by an MIT-style license that can be
2094
- * found in the LICENSE file at https://angular.io/license
2095
- */
2096
- // Below are constants for LView indices to help us look up LView members
2097
- // without having to remember the specific indices.
2098
- // Uglify will inline these when minifying so there shouldn't be a cost.
2099
- var HOST = 0;
2100
- var TVIEW = 1;
2101
- var FLAGS = 2;
2102
- var PARENT = 3;
2103
- var NEXT = 4;
2104
- var TRANSPLANTED_VIEWS_TO_REFRESH = 5;
2105
- var T_HOST = 6;
2106
- var CLEANUP = 7;
2107
- var CONTEXT = 8;
2108
- var INJECTOR$1 = 9;
2109
- var RENDERER_FACTORY = 10;
2110
- var RENDERER = 11;
2111
- var SANITIZER = 12;
2112
- var CHILD_HEAD = 13;
2113
- var CHILD_TAIL = 14;
2114
- var DECLARATION_VIEW = 15;
2115
- var DECLARATION_COMPONENT_VIEW = 16;
2116
- var DECLARATION_LCONTAINER = 17;
2117
- var PREORDER_HOOK_FLAGS = 18;
2118
- var QUERIES = 19;
2119
- /** Size of LView's header. Necessary to adjust for it when setting slots. */
2120
- var HEADER_OFFSET = 20;
2121
- // Note: This hack is necessary so we don't erroneously get a circular dependency
2122
- // failure based on types.
2123
- var unusedValueExportToPlacateAjd = 1;
2124
-
2125
- /**
2126
- * @license
2127
- * Copyright Google LLC All Rights Reserved.
2128
- *
2129
- * Use of this source code is governed by an MIT-style license that can be
2130
- * found in the LICENSE file at https://angular.io/license
2131
- */
2132
2142
  /**
2133
2143
  * Special location which allows easy identification of type. If we have an array which was
2134
2144
  * retrieved from the `LView` and that array has `true` at `TYPE` location, we know it is
@@ -2165,6 +2175,42 @@
2165
2175
  var CONTAINER_HEADER_OFFSET = 10;
2166
2176
  // Note: This hack is necessary so we don't erroneously get a circular dependency
2167
2177
  // failure based on types.
2178
+ var unusedValueExportToPlacateAjd = 1;
2179
+
2180
+ /**
2181
+ * @license
2182
+ * Copyright Google LLC All Rights Reserved.
2183
+ *
2184
+ * Use of this source code is governed by an MIT-style license that can be
2185
+ * found in the LICENSE file at https://angular.io/license
2186
+ */
2187
+ // Below are constants for LView indices to help us look up LView members
2188
+ // without having to remember the specific indices.
2189
+ // Uglify will inline these when minifying so there shouldn't be a cost.
2190
+ var HOST = 0;
2191
+ var TVIEW = 1;
2192
+ var FLAGS = 2;
2193
+ var PARENT = 3;
2194
+ var NEXT = 4;
2195
+ var TRANSPLANTED_VIEWS_TO_REFRESH = 5;
2196
+ var T_HOST = 6;
2197
+ var CLEANUP = 7;
2198
+ var CONTEXT = 8;
2199
+ var INJECTOR$1 = 9;
2200
+ var RENDERER_FACTORY = 10;
2201
+ var RENDERER = 11;
2202
+ var SANITIZER = 12;
2203
+ var CHILD_HEAD = 13;
2204
+ var CHILD_TAIL = 14;
2205
+ var DECLARATION_VIEW = 15;
2206
+ var DECLARATION_COMPONENT_VIEW = 16;
2207
+ var DECLARATION_LCONTAINER = 17;
2208
+ var PREORDER_HOOK_FLAGS = 18;
2209
+ var QUERIES = 19;
2210
+ /** Size of LView's header. Necessary to adjust for it when setting slots. */
2211
+ var HEADER_OFFSET = 20;
2212
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
2213
+ // failure based on types.
2168
2214
  var unusedValueExportToPlacateAjd$1 = 1;
2169
2215
 
2170
2216
  /**
@@ -2268,6 +2314,127 @@
2268
2314
  }
2269
2315
  }
2270
2316
 
2317
+ /**
2318
+ * @license
2319
+ * Copyright Google LLC All Rights Reserved.
2320
+ *
2321
+ * Use of this source code is governed by an MIT-style license that can be
2322
+ * found in the LICENSE file at https://angular.io/license
2323
+ */
2324
+ /**
2325
+ * Represents a basic change from a previous to a new value for a single
2326
+ * property on a directive instance. Passed as a value in a
2327
+ * {@link SimpleChanges} object to the `ngOnChanges` hook.
2328
+ *
2329
+ * @see `OnChanges`
2330
+ *
2331
+ * @publicApi
2332
+ */
2333
+ var SimpleChange = /** @class */ (function () {
2334
+ function SimpleChange(previousValue, currentValue, firstChange) {
2335
+ this.previousValue = previousValue;
2336
+ this.currentValue = currentValue;
2337
+ this.firstChange = firstChange;
2338
+ }
2339
+ /**
2340
+ * Check whether the new value is the first value assigned.
2341
+ */
2342
+ SimpleChange.prototype.isFirstChange = function () {
2343
+ return this.firstChange;
2344
+ };
2345
+ return SimpleChange;
2346
+ }());
2347
+
2348
+ /**
2349
+ * @license
2350
+ * Copyright Google LLC All Rights Reserved.
2351
+ *
2352
+ * Use of this source code is governed by an MIT-style license that can be
2353
+ * found in the LICENSE file at https://angular.io/license
2354
+ */
2355
+ /**
2356
+ * The NgOnChangesFeature decorates a component with support for the ngOnChanges
2357
+ * lifecycle hook, so it should be included in any component that implements
2358
+ * that hook.
2359
+ *
2360
+ * If the component or directive uses inheritance, the NgOnChangesFeature MUST
2361
+ * be included as a feature AFTER {@link InheritDefinitionFeature}, otherwise
2362
+ * inherited properties will not be propagated to the ngOnChanges lifecycle
2363
+ * hook.
2364
+ *
2365
+ * Example usage:
2366
+ *
2367
+ * ```
2368
+ * static ɵcmp = defineComponent({
2369
+ * ...
2370
+ * inputs: {name: 'publicName'},
2371
+ * features: [NgOnChangesFeature]
2372
+ * });
2373
+ * ```
2374
+ *
2375
+ * @codeGenApi
2376
+ */
2377
+ function ɵɵNgOnChangesFeature() {
2378
+ return NgOnChangesFeatureImpl;
2379
+ }
2380
+ function NgOnChangesFeatureImpl(definition) {
2381
+ if (definition.type.prototype.ngOnChanges) {
2382
+ definition.setInput = ngOnChangesSetInput;
2383
+ }
2384
+ return rememberChangeHistoryAndInvokeOnChangesHook;
2385
+ }
2386
+ // This option ensures that the ngOnChanges lifecycle hook will be inherited
2387
+ // from superclasses (in InheritDefinitionFeature).
2388
+ /** @nocollapse */
2389
+ // tslint:disable-next-line:no-toplevel-property-access
2390
+ ɵɵNgOnChangesFeature.ngInherit = true;
2391
+ /**
2392
+ * This is a synthetic lifecycle hook which gets inserted into `TView.preOrderHooks` to simulate
2393
+ * `ngOnChanges`.
2394
+ *
2395
+ * The hook reads the `NgSimpleChangesStore` data from the component instance and if changes are
2396
+ * found it invokes `ngOnChanges` on the component instance.
2397
+ *
2398
+ * @param this Component instance. Because this function gets inserted into `TView.preOrderHooks`,
2399
+ * it is guaranteed to be called with component instance.
2400
+ */
2401
+ function rememberChangeHistoryAndInvokeOnChangesHook() {
2402
+ var simpleChangesStore = getSimpleChangesStore(this);
2403
+ var current = simpleChangesStore === null || simpleChangesStore === void 0 ? void 0 : simpleChangesStore.current;
2404
+ if (current) {
2405
+ var previous = simpleChangesStore.previous;
2406
+ if (previous === EMPTY_OBJ) {
2407
+ simpleChangesStore.previous = current;
2408
+ }
2409
+ else {
2410
+ // New changes are copied to the previous store, so that we don't lose history for inputs
2411
+ // which were not changed this time
2412
+ for (var key in current) {
2413
+ previous[key] = current[key];
2414
+ }
2415
+ }
2416
+ simpleChangesStore.current = null;
2417
+ this.ngOnChanges(current);
2418
+ }
2419
+ }
2420
+ function ngOnChangesSetInput(instance, value, publicName, privateName) {
2421
+ var simpleChangesStore = getSimpleChangesStore(instance) ||
2422
+ setSimpleChangesStore(instance, { previous: EMPTY_OBJ, current: null });
2423
+ var current = simpleChangesStore.current || (simpleChangesStore.current = {});
2424
+ var previous = simpleChangesStore.previous;
2425
+ var declaredName = this.declaredInputs[publicName];
2426
+ var previousChange = previous[declaredName];
2427
+ current[declaredName] = new SimpleChange(previousChange && previousChange.currentValue, value, previous === EMPTY_OBJ);
2428
+ instance[privateName] = value;
2429
+ }
2430
+ var SIMPLE_CHANGES_STORE = '__ngSimpleChanges__';
2431
+ function getSimpleChangesStore(instance) {
2432
+ return instance[SIMPLE_CHANGES_STORE] || null;
2433
+ }
2434
+ function setSimpleChangesStore(instance, store) {
2435
+ return instance[SIMPLE_CHANGES_STORE] = store;
2436
+ }
2437
+
2271
2438
  /**
2272
2439
  * @license
2273
2440
  * Copyright Google LLC All Rights Reserved.
@@ -2963,17 +3130,19 @@
2963
3130
  */
2964
3131
  function registerPreOrderHooks(directiveIndex, directiveDef, tView) {
2965
3132
  ngDevMode && assertFirstCreatePass(tView);
2966
- var onChanges = directiveDef.onChanges, onInit = directiveDef.onInit, doCheck = directiveDef.doCheck;
2967
- if (onChanges) {
2968
- (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, onChanges);
2969
- (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, onChanges);
3133
+ var _a = directiveDef.type.prototype, ngOnChanges = _a.ngOnChanges, ngOnInit = _a.ngOnInit, ngDoCheck = _a.ngDoCheck;
3134
+ if (ngOnChanges) {
3135
+ var wrappedOnChanges = NgOnChangesFeatureImpl(directiveDef);
3136
+ (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, wrappedOnChanges);
3137
+ (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = []))
3138
+ .push(directiveIndex, wrappedOnChanges);
2970
3139
  }
2971
- if (onInit) {
2972
- (tView.preOrderHooks || (tView.preOrderHooks = [])).push(-directiveIndex, onInit);
3140
+ if (ngOnInit) {
3141
+ (tView.preOrderHooks || (tView.preOrderHooks = [])).push(0 - directiveIndex, ngOnInit);
2973
3142
  }
2974
- if (doCheck) {
2975
- (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, doCheck);
2976
- (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, doCheck);
3143
+ if (ngDoCheck) {
3144
+ (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, ngDoCheck);
3145
+ (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, ngDoCheck);
2977
3146
  }
2978
3147
  }
2979
3148
  /**
@@ -3001,23 +3170,24 @@
3001
3170
  // hooks for projected components and directives must be called *before* their hosts.
3002
3171
  for (var i = tNode.directiveStart, end = tNode.directiveEnd; i < end; i++) {
3003
3172
  var directiveDef = tView.data[i];
3004
- if (directiveDef.afterContentInit) {
3005
- (tView.contentHooks || (tView.contentHooks = [])).push(-i, directiveDef.afterContentInit);
3173
+ var lifecycleHooks = directiveDef.type.prototype;
3174
+ var ngAfterContentInit = lifecycleHooks.ngAfterContentInit, ngAfterContentChecked = lifecycleHooks.ngAfterContentChecked, ngAfterViewInit = lifecycleHooks.ngAfterViewInit, ngAfterViewChecked = lifecycleHooks.ngAfterViewChecked, ngOnDestroy = lifecycleHooks.ngOnDestroy;
3175
+ if (ngAfterContentInit) {
3176
+ (tView.contentHooks || (tView.contentHooks = [])).push(-i, ngAfterContentInit);
3006
3177
  }
3007
- if (directiveDef.afterContentChecked) {
3008
- (tView.contentHooks || (tView.contentHooks = [])).push(i, directiveDef.afterContentChecked);
3009
- (tView.contentCheckHooks || (tView.contentCheckHooks = []))
3010
- .push(i, directiveDef.afterContentChecked);
3178
+ if (ngAfterContentChecked) {
3179
+ (tView.contentHooks || (tView.contentHooks = [])).push(i, ngAfterContentChecked);
3180
+ (tView.contentCheckHooks || (tView.contentCheckHooks = [])).push(i, ngAfterContentChecked);
3011
3181
  }
3012
- if (directiveDef.afterViewInit) {
3013
- (tView.viewHooks || (tView.viewHooks = [])).push(-i, directiveDef.afterViewInit);
3182
+ if (ngAfterViewInit) {
3183
+ (tView.viewHooks || (tView.viewHooks = [])).push(-i, ngAfterViewInit);
3014
3184
  }
3015
- if (directiveDef.afterViewChecked) {
3016
- (tView.viewHooks || (tView.viewHooks = [])).push(i, directiveDef.afterViewChecked);
3017
- (tView.viewCheckHooks || (tView.viewCheckHooks = [])).push(i, directiveDef.afterViewChecked);
3185
+ if (ngAfterViewChecked) {
3186
+ (tView.viewHooks || (tView.viewHooks = [])).push(i, ngAfterViewChecked);
3187
+ (tView.viewCheckHooks || (tView.viewCheckHooks = [])).push(i, ngAfterViewChecked);
3018
3188
  }
3019
- if (directiveDef.onDestroy != null) {
3020
- (tView.destroyHooks || (tView.destroyHooks = [])).push(i, directiveDef.onDestroy);
3189
+ if (ngOnDestroy != null) {
3190
+ (tView.destroyHooks || (tView.destroyHooks = [])).push(i, ngOnDestroy);
3021
3191
  }
3022
3192
  }
3023
3193
  }
@@ -3730,7 +3900,13 @@
3730
3900
  */
3731
3901
  function bloomAdd(injectorIndex, tView, type) {
3732
3902
  ngDevMode && assertEqual(tView.firstCreatePass, true, 'expected firstCreatePass to be true');
3733
- var id = typeof type !== 'string' ? type[NG_ELEMENT_ID] : type.charCodeAt(0) || 0;
3903
+ var id;
3904
+ if (typeof type === 'string') {
3905
+ id = type.charCodeAt(0) || 0;
3906
+ }
3907
+ else if (type.hasOwnProperty(NG_ELEMENT_ID)) {
3908
+ id = type[NG_ELEMENT_ID];
3909
+ }
3734
3910
  // Set a unique ID on the directive type, so if something tries to inject the directive,
3735
3911
  // we can easily retrieve the ID and hash it into the bloom bit that should be checked.
3736
3912
  if (id == null) {
@@ -4093,10 +4269,10 @@
4093
4269
  function locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders, isHostSpecialCase) {
4094
4270
  var nodeProviderIndexes = tNode.providerIndexes;
4095
4271
  var tInjectables = tView.data;
4096
- var injectablesStart = nodeProviderIndexes & 65535 /* ProvidersStartIndexMask */;
4272
+ var injectablesStart = nodeProviderIndexes & 1048575 /* ProvidersStartIndexMask */;
4097
4273
  var directivesStart = tNode.directiveStart;
4098
4274
  var directiveEnd = tNode.directiveEnd;
4099
- var cptViewProvidersCount = nodeProviderIndexes >> 16 /* CptViewProvidersCountShift */;
4275
+ var cptViewProvidersCount = nodeProviderIndexes >> 20 /* CptViewProvidersCountShift */;
4100
4276
  var startingIndex = canAccessViewProviders ? injectablesStart : injectablesStart + cptViewProvidersCount;
4101
4277
  // When the host special case applies, only the viewProviders and the component are visible
4102
4278
  var endIndex = isHostSpecialCase ? injectablesStart + cptViewProvidersCount : directiveEnd;
@@ -4177,7 +4353,9 @@
4177
4353
  if (typeof token === 'string') {
4178
4354
  return token.charCodeAt(0) || 0;
4179
4355
  }
4180
- var tokenId = token[NG_ELEMENT_ID];
4356
+ var tokenId =
4357
+ // First check with `hasOwnProperty` so we don't get an inherited ID.
4358
+ token.hasOwnProperty(NG_ELEMENT_ID) ? token[NG_ELEMENT_ID] : undefined;
4181
4359
  // Negative token IDs are used for special objects such as `Injector`
4182
4360
  return (typeof tokenId === 'number' && tokenId > 0) ? tokenId & BLOOM_MASK : tokenId;
4183
4361
  }
@@ -4285,13 +4463,6 @@
4285
4463
  return error;
4286
4464
  }
4287
4465
 
4288
- /**
4289
- * @license
4290
- * Copyright Google LLC All Rights Reserved.
4291
- *
4292
- * Use of this source code is governed by an MIT-style license that can be
4293
- * found in the LICENSE file at https://angular.io/license
4294
- */
4295
4466
  function getType(error) {
4296
4467
  return error[ERROR_TYPE];
4297
4468
  }
@@ -4608,77 +4779,23 @@
4608
4779
  * found in the LICENSE file at https://angular.io/license
4609
4780
  */
4610
4781
  /**
4611
- * This helper class is used to get hold of an inert tree of DOM elements containing dirty HTML
4782
+ * This helper is used to get hold of an inert tree of DOM elements containing dirty HTML
4612
4783
  * that needs sanitizing.
4613
- * Depending upon browser support we must use one of three strategies for doing this.
4614
- * Support: Safari 10.x -> XHR strategy
4615
- * Support: Firefox -> DomParser strategy
4616
- * Default: InertDocument strategy
4784
+ * Depending upon browser support we use one of two strategies for doing this.
4785
+ * Default: DOMParser strategy
4786
+ * Fallback: InertDocument strategy
4617
4787
  */
4618
- var InertBodyHelper = /** @class */ (function () {
4619
- function InertBodyHelper(defaultDoc) {
4620
- this.defaultDoc = defaultDoc;
4621
- this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert');
4622
- var inertBodyElement = this.inertDocument.body;
4623
- if (inertBodyElement == null) {
4624
- // usually there should be only one body element in the document, but IE doesn't have any, so
4625
- // we need to create one.
4626
- var inertHtml = this.inertDocument.createElement('html');
4627
- this.inertDocument.appendChild(inertHtml);
4628
- inertBodyElement = this.inertDocument.createElement('body');
4629
- inertHtml.appendChild(inertBodyElement);
4630
- }
4631
- inertBodyElement.innerHTML = '<svg><g onload="this.parentNode.remove()"></g></svg>';
4632
- if (inertBodyElement.querySelector && !inertBodyElement.querySelector('svg')) {
4633
- // We just hit the Safari 10.1 bug - which allows JS to run inside the SVG G element
4634
- // so use the XHR strategy.
4635
- this.getInertBodyElement = this.getInertBodyElement_XHR;
4636
- return;
4637
- }
4638
- inertBodyElement.innerHTML = '<svg><p><style><img src="</style><img src=x onerror=alert(1)//">';
4639
- if (inertBodyElement.querySelector && inertBodyElement.querySelector('svg img')) {
4640
- // We just hit the Firefox bug - which prevents the inner img JS from being sanitized
4641
- // so use the DOMParser strategy, if it is available.
4642
- // If the DOMParser is not available then we are not in Firefox (Server/WebWorker?) so we
4643
- // fall through to the default strategy below.
4644
- if (isDOMParserAvailable()) {
4645
- this.getInertBodyElement = this.getInertBodyElement_DOMParser;
4646
- return;
4647
- }
4648
- }
4649
- // None of the bugs were hit so it is safe for us to use the default InertDocument strategy
4650
- this.getInertBodyElement = this.getInertBodyElement_InertDocument;
4788
+ function getInertBodyHelper(defaultDoc) {
4789
+ return isDOMParserAvailable() ? new DOMParserHelper() : new InertDocumentHelper(defaultDoc);
4790
+ }
4791
+ /**
4792
+ * Uses DOMParser to create and fill an inert body element.
4793
+ * This is the default strategy used in browsers that support it.
4794
+ */
4795
+ var DOMParserHelper = /** @class */ (function () {
4796
+ function DOMParserHelper() {
4651
4797
  }
4652
- /**
4653
- * Use XHR to create and fill an inert body element (on Safari 10.1)
4654
- * See
4655
- * https://github.com/cure53/DOMPurify/blob/a992d3a75031cb8bb032e5ea8399ba972bdf9a65/src/purify.js#L439-L449
4656
- */
4657
- InertBodyHelper.prototype.getInertBodyElement_XHR = function (html) {
4658
- // We add these extra elements to ensure that the rest of the content is parsed as expected
4659
- // e.g. leading whitespace is maintained and tags like `<meta>` do not get hoisted to the
4660
- // `<head>` tag.
4661
- html = '<body><remove></remove>' + html + '</body>';
4662
- try {
4663
- html = encodeURI(html);
4664
- }
4665
- catch (_a) {
4666
- return null;
4667
- }
4668
- var xhr = new XMLHttpRequest();
4669
- xhr.responseType = 'document';
4670
- xhr.open('GET', 'data:text/html;charset=utf-8,' + html, false);
4671
- xhr.send(undefined);
4672
- var body = xhr.response.body;
4673
- body.removeChild(body.firstChild);
4674
- return body;
4675
- };
4676
- /**
4677
- * Use DOMParser to create and fill an inert body element (on Firefox)
4678
- * See https://github.com/cure53/DOMPurify/releases/tag/0.6.7
4679
- *
4680
- */
4681
- InertBodyHelper.prototype.getInertBodyElement_DOMParser = function (html) {
4798
+ DOMParserHelper.prototype.getInertBodyElement = function (html) {
4682
4799
  // We add these extra elements to ensure that the rest of the content is parsed as expected
4683
4800
  // e.g. leading whitespace is maintained and tags like `<meta>` do not get hoisted to the
4684
4801
  // `<head>` tag.
@@ -4692,13 +4809,27 @@
4692
4809
  return null;
4693
4810
  }
4694
4811
  };
4695
- /**
4696
- * Use an HTML5 `template` element, if supported, or an inert body element created via
4697
- * `createHtmlDocument` to create and fill an inert DOM element.
4698
- * This is the default sane strategy to use if the browser does not require one of the specialised
4699
- * strategies above.
4700
- */
4701
- InertBodyHelper.prototype.getInertBodyElement_InertDocument = function (html) {
4812
+ return DOMParserHelper;
4813
+ }());
4814
+ /**
4815
+ * Use an HTML5 `template` element, if supported, or an inert body element created via
4816
+ * `createHtmlDocument` to create and fill an inert DOM element.
4817
+ * This is the fallback strategy if the browser does not support DOMParser.
4818
+ */
4819
+ var InertDocumentHelper = /** @class */ (function () {
4820
+ function InertDocumentHelper(defaultDoc) {
4821
+ this.defaultDoc = defaultDoc;
4822
+ this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert');
4823
+ if (this.inertDocument.body == null) {
4824
+ // usually there should be only one body element in the document, but IE doesn't have any, so
4825
+ // we need to create one.
4826
+ var inertHtml = this.inertDocument.createElement('html');
4827
+ this.inertDocument.appendChild(inertHtml);
4828
+ var inertBodyElement = this.inertDocument.createElement('body');
4829
+ inertHtml.appendChild(inertBodyElement);
4830
+ }
4831
+ }
4832
+ InertDocumentHelper.prototype.getInertBodyElement = function (html) {
4702
4833
  // Prefer using <template> element if supported.
4703
4834
  var templateEl = this.inertDocument.createElement('template');
4704
4835
  if ('content' in templateEl) {
@@ -4729,7 +4860,7 @@
4729
4860
  * This is undesirable since we don't want to allow any of these custom attributes. This method
4730
4861
  * strips them all.
4731
4862
  */
4732
- InertBodyHelper.prototype.stripCustomNsAttrs = function (el) {
4863
+ InertDocumentHelper.prototype.stripCustomNsAttrs = function (el) {
4733
4864
  var elAttrs = el.attributes;
4734
4865
  // loop backwards so that we can support removals.
4735
4866
  for (var i = elAttrs.length - 1; 0 < i; i--) {
@@ -4746,18 +4877,18 @@
4746
4877
  childNode = childNode.nextSibling;
4747
4878
  }
4748
4879
  };
4749
- return InertBodyHelper;
4880
+ return InertDocumentHelper;
4750
4881
  }());
4751
4882
  /**
4752
- * We need to determine whether the DOMParser exists in the global context.
4753
- * The try-catch is because, on some browsers, trying to access this property
4754
- * on window can actually throw an error.
4883
+ * We need to determine whether the DOMParser exists in the global context and
4884
+ * supports parsing HTML; HTML parsing support is not as wide as other formats, see
4885
+ * https://developer.mozilla.org/en-US/docs/Web/API/DOMParser#Browser_compatibility.
4755
4886
  *
4756
4887
  * @suppress {uselessCode}
4757
4888
  */
4758
4889
  function isDOMParserAvailable() {
4759
4890
  try {
4760
- return !!window.DOMParser;
4891
+ return !!new window.DOMParser().parseFromString('', 'text/html');
4761
4892
  }
4762
4893
  catch (_a) {
4763
4894
  return false;
@@ -4816,13 +4947,6 @@
4816
4947
  return srcset.split(',').map(function (srcset) { return _sanitizeUrl(srcset.trim()); }).join(', ');
4817
4948
  }
4818
4949
 
4819
- /**
4820
- * @license
4821
- * Copyright Google LLC All Rights Reserved.
4822
- *
4823
- * Use of this source code is governed by an MIT-style license that can be
4824
- * found in the LICENSE file at https://angular.io/license
4825
- */
4826
4950
  function tagSet(tags) {
4827
4951
  var e_1, _a;
4828
4952
  var res = {};
@@ -5051,7 +5175,7 @@
5051
5175
  function _sanitizeHtml(defaultDoc, unsafeHtmlInput) {
5052
5176
  var inertBodyElement = null;
5053
5177
  try {
5054
- inertBodyHelper = inertBodyHelper || new InertBodyHelper(defaultDoc);
5178
+ inertBodyHelper = inertBodyHelper || getInertBodyHelper(defaultDoc);
5055
5179
  // Make sure unsafeHtml is actually a string (TypeScript types are not enforced at runtime).
5056
5180
  var unsafeHtml = unsafeHtmlInput ? String(unsafeHtmlInput) : '';
5057
5181
  inertBodyElement = inertBodyHelper.getInertBodyElement(unsafeHtml);
@@ -5078,9 +5202,9 @@
5078
5202
  finally {
5079
5203
  // In case anything goes wrong, clear out inertElement to reset the entire DOM structure.
5080
5204
  if (inertBodyElement) {
5081
- var parent_1 = getTemplateContent(inertBodyElement) || inertBodyElement;
5082
- while (parent_1.firstChild) {
5083
- parent_1.removeChild(parent_1.firstChild);
5205
+ var parent = getTemplateContent(inertBodyElement) || inertBodyElement;
5206
+ while (parent.firstChild) {
5207
+ parent.removeChild(parent.firstChild);
5084
5208
  }
5085
5209
  }
5086
5210
  }
@@ -5443,9 +5567,9 @@
5443
5567
  ngDevMode && assertDomNode(rElement);
5444
5568
  // if the context is not found then we need to traverse upwards up the DOM
5445
5569
  // to find the nearest element that has already been monkey patched with data
5446
- var parent_1 = rElement;
5447
- while (parent_1 = parent_1.parentNode) {
5448
- var parentContext = readPatchedData(parent_1);
5570
+ var parent = rElement;
5571
+ while (parent = parent.parentNode) {
5572
+ var parentContext = readPatchedData(parent);
5449
5573
  if (parentContext) {
5450
5574
  var lView = void 0;
5451
5575
  if (Array.isArray(parentContext)) {
@@ -5816,9 +5940,9 @@
5816
5940
  return foundIndex;
5817
5941
  if (foundIndex === 0 || className.charCodeAt(foundIndex - 1) <= 32 /* SPACE */) {
5818
5942
  // Ensure that it has leading whitespace
5819
- var length_1 = classToSearch.length;
5820
- if (foundIndex + length_1 === end ||
5821
- className.charCodeAt(foundIndex + length_1) <= 32 /* SPACE */) {
5943
+ var length = classToSearch.length;
5944
+ if (foundIndex + length === end ||
5945
+ className.charCodeAt(foundIndex + length) <= 32 /* SPACE */) {
5822
5946
  // Ensure that it has trailing whitespace
5823
5947
  return foundIndex;
5824
5948
  }
@@ -7424,6 +7548,8 @@
7424
7548
  else {
7425
7549
  // If it's not a number, it's a host binding function that needs to be executed.
7426
7550
  if (instruction !== null) {
7551
+ ngDevMode &&
7552
+ assertLessThan(currentDirectiveIndex, 1048576 /* CptViewProvidersCountShifter */, 'Reached the max number of host bindings');
7427
7553
  setBindingRootForHostBindings(bindingRootIndex, currentDirectiveIndex);
7428
7554
  var hostCtx = lView[currentDirectiveIndex];
7429
7555
  instruction(2 /* Update */, hostCtx);
@@ -8013,20 +8139,6 @@
8013
8139
  getTViewCleanup(tView).push(cleanupFn, lCleanup.length - 1);
8014
8140
  }
8015
8141
  }
8016
- /**
8017
- * Saves the cleanup function itself in LView.cleanupInstances.
8018
- *
8019
- * This is necessary for functions that are wrapped with their contexts, like in renderer2
8020
- * listeners.
8021
- *
8022
- * On the first template pass, the index of the cleanup function is saved in TView.
8023
- */
8024
- function storeCleanupFn(tView, lView, cleanupFn) {
8025
- getLCleanup(lView).push(cleanupFn);
8026
- if (tView.firstCreatePass) {
8027
- getTViewCleanup(tView).push(lView[CLEANUP].length - 1, null);
8028
- }
8029
- }
8030
8142
  /**
8031
8143
  * Constructs a TNode object from the arguments.
8032
8144
  *
@@ -8201,7 +8313,7 @@
8201
8313
  propName = mapPropName(propName);
8202
8314
  if (ngDevMode) {
8203
8315
  validateAgainstEventProperties(propName);
8204
- if (!validateProperty(tView, lView, element, propName, tNode)) {
8316
+ if (!validateProperty(tView, element, propName, tNode)) {
8205
8317
  // Return here since we only log warnings for unknown properties.
8206
8318
  logUnknownPropertyError(propName, tNode);
8207
8319
  return;
@@ -8219,10 +8331,10 @@
8219
8331
  element[propName] = value;
8220
8332
  }
8221
8333
  }
8222
- else if (tNode.type === 0 /* Container */) {
8334
+ else if (tNode.type === 0 /* Container */ || tNode.type === 4 /* ElementContainer */) {
8223
8335
  // If the node is a container and the property didn't
8224
8336
  // match any of the inputs or schemas we should throw.
8225
- if (ngDevMode && !matchingSchemas(tView, lView, tNode.tagName)) {
8337
+ if (ngDevMode && !matchingSchemas(tView, tNode.tagName)) {
8226
8338
  logUnknownPropertyError(propName, tNode);
8227
8339
  }
8228
8340
  }
@@ -8276,7 +8388,7 @@
8276
8388
  }
8277
8389
  }
8278
8390
  }
8279
- function validateProperty(tView, lView, element, propName, tNode) {
8391
+ function validateProperty(tView, element, propName, tNode) {
8280
8392
  // If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
8281
8393
  // mode where this check happens at compile time. In JIT mode, `schemas` is always present and
8282
8394
  // defined as an array (as an empty array in case `schemas` field is not defined) and we should
@@ -8285,15 +8397,14 @@
8285
8397
  return true;
8286
8398
  // The property is considered valid if the element matches the schema, it exists on the element
8287
8399
  // or it is synthetic, and we are in a browser context (web worker nodes should be skipped).
8288
- if (matchingSchemas(tView, lView, tNode.tagName) || propName in element ||
8289
- isAnimationProp(propName)) {
8400
+ if (matchingSchemas(tView, tNode.tagName) || propName in element || isAnimationProp(propName)) {
8290
8401
  return true;
8291
8402
  }
8292
8403
  // Note: `typeof Node` returns 'function' in most browsers, but on IE it is 'object' so we
8293
8404
  // need to account for both here, while being careful for `typeof null` also returning 'object'.
8294
8405
  return typeof Node === 'undefined' || Node === null || !(element instanceof Node);
8295
8406
  }
8296
- function matchingSchemas(tView, lView, tagName) {
8407
+ function matchingSchemas(tView, tagName) {
8297
8408
  var schemas = tView.schemas;
8298
8409
  if (schemas !== null) {
8299
8410
  for (var i = 0; i < schemas.length; i++) {
@@ -8373,16 +8484,18 @@
8373
8484
  tNode.flags |= 8 /* hasContentQuery */;
8374
8485
  if (def.hostBindings !== null || def.hostAttrs !== null || def.hostVars !== 0)
8375
8486
  tNode.flags |= 128 /* hasHostBindings */;
8487
+ var lifeCycleHooks = def.type.prototype;
8376
8488
  // Only push a node index into the preOrderHooks array if this is the first
8377
8489
  // pre-order hook found on this node.
8378
- if (!preOrderHooksFound && (def.onChanges || def.onInit || def.doCheck)) {
8490
+ if (!preOrderHooksFound &&
8491
+ (lifeCycleHooks.ngOnChanges || lifeCycleHooks.ngOnInit || lifeCycleHooks.ngDoCheck)) {
8379
8492
  // We will push the actual hook function into this array later during dir instantiation.
8380
8493
  // We cannot do it now because we must ensure hooks are registered in the same
8381
8494
  // order that directives are created (i.e. injection order).
8382
8495
  (tView.preOrderHooks || (tView.preOrderHooks = [])).push(tNode.index - HEADER_OFFSET);
8383
8496
  preOrderHooksFound = true;
8384
8497
  }
8385
- if (!preOrderCheckHooksFound && (def.onChanges || def.doCheck)) {
8498
+ if (!preOrderCheckHooksFound && (lifeCycleHooks.ngOnChanges || lifeCycleHooks.ngDoCheck)) {
8386
8499
  (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = []))
8387
8500
  .push(tNode.index - HEADER_OFFSET);
8388
8501
  preOrderCheckHooksFound = true;
@@ -8522,7 +8635,7 @@
8522
8635
  // requires non standard math arithmetic and it can prevent VM optimizations.
8523
8636
  // `0-0` will always produce `0` and will not cause a potential deoptimization in VM.
8524
8637
  var elementIndex = HEADER_OFFSET - tNode.index;
8525
- var providerStartIndex = tNode.providerIndexes & 65535 /* ProvidersStartIndexMask */;
8638
+ var providerStartIndex = tNode.providerIndexes & 1048575 /* ProvidersStartIndexMask */;
8526
8639
  var providerCount = tView.data.length - providerStartIndex;
8527
8640
  (tView.expandoInstructions || (tView.expandoInstructions = []))
8528
8641
  .push(elementIndex, providerCount, directiveCount);
@@ -8946,13 +9059,13 @@
8946
9059
  function markViewDirty(lView) {
8947
9060
  while (lView) {
8948
9061
  lView[FLAGS] |= 64 /* Dirty */;
8949
- var parent_1 = getLViewParent(lView);
9062
+ var parent = getLViewParent(lView);
8950
9063
  // Stop traversing up as soon as you find a root view that wasn't attached to any container
8951
- if (isRootView(lView) && !parent_1) {
9064
+ if (isRootView(lView) && !parent) {
8952
9065
  return lView;
8953
9066
  }
8954
9067
  // continue otherwise
8955
- lView = parent_1;
9068
+ lView = parent;
8956
9069
  }
8957
9070
  return null;
8958
9071
  }
@@ -9173,7 +9286,7 @@
9173
9286
  * Use of this source code is governed by an MIT-style license that can be
9174
9287
  * found in the LICENSE file at https://angular.io/license
9175
9288
  */
9176
- var unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd;
9289
+ var unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd$1;
9177
9290
  function getLContainer(tNode, embeddedView) {
9178
9291
  ngDevMode && assertLView(embeddedView);
9179
9292
  var container = embeddedView[PARENT];
@@ -10138,13 +10251,6 @@
10138
10251
  return parentTNode;
10139
10252
  }
10140
10253
 
10141
- /**
10142
- * @license
10143
- * Copyright Google LLC All Rights Reserved.
10144
- *
10145
- * Use of this source code is governed by an MIT-style license that can be
10146
- * found in the LICENSE file at https://angular.io/license
10147
- */
10148
10254
  var ViewRef = /** @class */ (function () {
10149
10255
  function ViewRef(
10150
10256
  /**
@@ -10211,7 +10317,7 @@
10211
10317
  destroyLView(this._lView[TVIEW], this._lView);
10212
10318
  };
10213
10319
  ViewRef.prototype.onDestroy = function (callback) {
10214
- storeCleanupFn(this._lView[TVIEW], this._lView, callback);
10320
+ storeCleanupWithContext(this._lView[TVIEW], this._lView, null, callback);
10215
10321
  };
10216
10322
  /**
10217
10323
  * Marks a view and all of its ancestors dirty.
@@ -10488,13 +10594,6 @@
10488
10594
  return result;
10489
10595
  }
10490
10596
 
10491
- /**
10492
- * @license
10493
- * Copyright Google LLC All Rights Reserved.
10494
- *
10495
- * Use of this source code is governed by an MIT-style license that can be
10496
- * found in the LICENSE file at https://angular.io/license
10497
- */
10498
10597
  /**
10499
10598
  * Creates an ElementRef from the most recent node.
10500
10599
  *
@@ -10849,10 +10948,13 @@
10849
10948
  * found in the LICENSE file at https://angular.io/license
10850
10949
  */
10851
10950
  /**
10852
- * Base class for Angular Views, provides change detection functionality.
10951
+ * Base class that provides change detection functionality.
10853
10952
  * A change-detection tree collects all views that are to be checked for changes.
10854
10953
  * Use the methods to add and remove views from the tree, initiate change-detection,
10855
- * and explicitly mark views as _dirty_, meaning that they have changed and need to be rerendered.
10954
+ * and explicitly mark views as _dirty_, meaning that they have changed and need to be re-rendered.
10955
+ *
10956
+ * @see [Using change detection hooks](guide/lifecycle-hooks#using-change-detection-hooks)
10957
+ * @see [Defining custom change detection](guide/lifecycle-hooks#defining-custom-change-detection)
10856
10958
  *
10857
10959
  * @usageNotes
10858
10960
  *
@@ -10893,13 +10995,13 @@
10893
10995
  var ChangeDetectorRef = /** @class */ (function () {
10894
10996
  function ChangeDetectorRef() {
10895
10997
  }
10896
- /**
10897
- * @internal
10898
- * @nocollapse
10899
- */
10900
- ChangeDetectorRef.__NG_ELEMENT_ID__ = function () { return SWITCH_CHANGE_DETECTOR_REF_FACTORY(); };
10901
10998
  return ChangeDetectorRef;
10902
10999
  }());
11000
+ /**
11001
+ * @internal
11002
+ * @nocollapse
11003
+ */
11004
+ ChangeDetectorRef.__NG_ELEMENT_ID__ = function () { return SWITCH_CHANGE_DETECTOR_REF_FACTORY(); };
10903
11005
  var SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ = injectChangeDetectorRef;
10904
11006
  var SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__ = function () {
10905
11007
  var args = [];
@@ -10922,7 +11024,7 @@
10922
11024
  *
10923
11025
  * Represents a type that a Component or other object is instances of.
10924
11026
  *
10925
- * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by
11027
+ * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by
10926
11028
  * the `MyCustomComponent` constructor function.
10927
11029
  *
10928
11030
  * @publicApi
@@ -10932,13 +11034,6 @@
10932
11034
  return typeof v === 'function';
10933
11035
  }
10934
11036
 
10935
- /**
10936
- * @license
10937
- * Copyright Google LLC All Rights Reserved.
10938
- *
10939
- * Use of this source code is governed by an MIT-style license that can be
10940
- * found in the LICENSE file at https://angular.io/license
10941
- */
10942
11037
  /**
10943
11038
  * Attention: These regex has to hold even if the code is minified!
10944
11039
  */
@@ -11025,9 +11120,7 @@
11025
11120
  // Retain the non-function case for compatibility with older tsickle
11026
11121
  var ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;
11027
11122
  var paramTypes_1 = ctorParameters.map(function (ctorParam) { return ctorParam && ctorParam.type; });
11028
- var paramAnnotations_1 = ctorParameters.map(function (ctorParam) {
11029
- return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators);
11030
- });
11123
+ var paramAnnotations_1 = ctorParameters.map(function (ctorParam) { return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators); });
11031
11124
  return this._zipTypesAndAnnotations(paramTypes_1, paramAnnotations_1);
11032
11125
  }
11033
11126
  // API for metadata created by invoking the decorators.
@@ -11379,13 +11472,6 @@
11379
11472
  return compilerMeta;
11380
11473
  }
11381
11474
 
11382
- /**
11383
- * @license
11384
- * Copyright Google LLC All Rights Reserved.
11385
- *
11386
- * Use of this source code is governed by an MIT-style license that can be
11387
- * found in the LICENSE file at https://angular.io/license
11388
- */
11389
11475
  var ɵ0$7 = getClosureSafeProperty;
11390
11476
  var USE_VALUE$2 = getClosureSafeProperty({ provide: String, useValue: ɵ0$7 });
11391
11477
  var EMPTY_ARRAY$1 = [];
@@ -11475,13 +11561,6 @@
11475
11561
  */
11476
11562
  var INJECTOR_SCOPE = new InjectionToken('Set Injector scope.');
11477
11563
 
11478
- /**
11479
- * @license
11480
- * Copyright Google LLC All Rights Reserved.
11481
- *
11482
- * Use of this source code is governed by an MIT-style license that can be
11483
- * found in the LICENSE file at https://angular.io/license
11484
- */
11485
11564
  /**
11486
11565
  * Marker which indicates that a value has not yet been created from the factory function.
11487
11566
  */
@@ -11950,13 +12029,6 @@
11950
12029
  (typeof value === 'object' && value instanceof InjectionToken);
11951
12030
  }
11952
12031
 
11953
- /**
11954
- * @license
11955
- * Copyright Google LLC All Rights Reserved.
11956
- *
11957
- * Use of this source code is governed by an MIT-style license that can be
11958
- * found in the LICENSE file at https://angular.io/license
11959
- */
11960
12032
  function INJECTOR_IMPL__PRE_R3__(providers, parent, name) {
11961
12033
  return new StaticInjector(providers, parent, name);
11962
12034
  }
@@ -11999,21 +12071,21 @@
11999
12071
  return INJECTOR_IMPL(options.providers, options.parent, options.name || '');
12000
12072
  }
12001
12073
  };
12002
- Injector.THROW_IF_NOT_FOUND = THROW_IF_NOT_FOUND;
12003
- Injector.NULL = new NullInjector();
12004
- /** @nocollapse */
12005
- Injector.ɵprov = ɵɵdefineInjectable({
12006
- token: Injector,
12007
- providedIn: 'any',
12008
- factory: function () { return ɵɵinject(INJECTOR); },
12009
- });
12010
- /**
12011
- * @internal
12012
- * @nocollapse
12013
- */
12014
- Injector.__NG_ELEMENT_ID__ = -1;
12015
12074
  return Injector;
12016
12075
  }());
12076
+ Injector.THROW_IF_NOT_FOUND = THROW_IF_NOT_FOUND;
12077
+ Injector.NULL = new NullInjector();
12078
+ /** @nocollapse */
12079
+ Injector.ɵprov = ɵɵdefineInjectable({
12080
+ token: Injector,
12081
+ providedIn: 'any',
12082
+ factory: function () { return ɵɵinject(INJECTOR); },
12083
+ });
12084
+ /**
12085
+ * @internal
12086
+ * @nocollapse
12087
+ */
12088
+ Injector.__NG_ELEMENT_ID__ = -1;
12017
12089
  var IDENT = function (value) {
12018
12090
  return value;
12019
12091
  };
@@ -12179,7 +12251,6 @@
12179
12251
  }
12180
12252
  }
12181
12253
  function resolveToken(token, record, records, parent, notFoundValue, flags) {
12182
- var _a;
12183
12254
  var value;
12184
12255
  if (record && !(flags & exports.InjectFlags.SkipSelf)) {
12185
12256
  // If we don't have a record, this implies that we don't own the provider hence don't know how
@@ -12214,7 +12285,7 @@
12214
12285
  !childRecord && !(options & 4 /* CheckParent */) ? Injector.NULL : parent, options & 1 /* Optional */ ? null : Injector.THROW_IF_NOT_FOUND, exports.InjectFlags.Default));
12215
12286
  }
12216
12287
  }
12217
- record.value = value = useNew ? new ((_a = fn).bind.apply(_a, __spread([void 0], deps)))() : fn.apply(obj, deps);
12288
+ record.value = value = useNew ? new (fn.bind.apply(fn, __spread([void 0], deps)))() : fn.apply(obj, deps);
12218
12289
  }
12219
12290
  }
12220
12291
  else if (!(flags & exports.InjectFlags.Self)) {
@@ -12843,13 +12914,6 @@
12843
12914
  return new ReflectiveDependency(ReflectiveKey.get(token), optional, visibility);
12844
12915
  }
12845
12916
 
12846
- /**
12847
- * @license
12848
- * Copyright Google LLC All Rights Reserved.
12849
- *
12850
- * Use of this source code is governed by an MIT-style license that can be
12851
- * found in the LICENSE file at https://angular.io/license
12852
- */
12853
12917
  // Threshold for the dynamic version
12854
12918
  var UNDEFINED = {};
12855
12919
  /**
@@ -13144,9 +13208,9 @@
13144
13208
  ReflectiveInjector_.prototype.toString = function () {
13145
13209
  return this.displayName;
13146
13210
  };
13147
- ReflectiveInjector_.INJECTOR_KEY = ReflectiveKey.get(Injector);
13148
13211
  return ReflectiveInjector_;
13149
13212
  }());
13213
+ ReflectiveInjector_.INJECTOR_KEY = ReflectiveKey.get(Injector);
13150
13214
  function _mapProviders(injector, fn) {
13151
13215
  var res = [];
13152
13216
  for (var i = 0; i < injector._providers.length; ++i) {
@@ -13233,7 +13297,7 @@
13233
13297
  }());
13234
13298
  var ɵ0$a = function (selector, data) {
13235
13299
  if (data === void 0) { data = {}; }
13236
- return (__assign({ selector: selector, first: false, isViewQuery: false, descendants: false }, data));
13300
+ return (Object.assign({ selector: selector, first: false, isViewQuery: false, descendants: false }, data));
13237
13301
  };
13238
13302
  /**
13239
13303
  * ContentChildren decorator and metadata.
@@ -13245,7 +13309,7 @@
13245
13309
  var ContentChildren = makePropDecorator('ContentChildren', ɵ0$a, Query);
13246
13310
  var ɵ1$2 = function (selector, data) {
13247
13311
  if (data === void 0) { data = {}; }
13248
- return (__assign({ selector: selector, first: true, isViewQuery: false, descendants: true }, data));
13312
+ return (Object.assign({ selector: selector, first: true, isViewQuery: false, descendants: true }, data));
13249
13313
  };
13250
13314
  /**
13251
13315
  * ContentChild decorator and metadata.
@@ -13258,7 +13322,7 @@
13258
13322
  var ContentChild = makePropDecorator('ContentChild', ɵ1$2, Query);
13259
13323
  var ɵ2 = function (selector, data) {
13260
13324
  if (data === void 0) { data = {}; }
13261
- return (__assign({ selector: selector, first: false, isViewQuery: true, descendants: true }, data));
13325
+ return (Object.assign({ selector: selector, first: false, isViewQuery: true, descendants: true }, data));
13262
13326
  };
13263
13327
  /**
13264
13328
  * ViewChildren decorator and metadata.
@@ -13267,9 +13331,7 @@
13267
13331
  * @publicApi
13268
13332
  */
13269
13333
  var ViewChildren = makePropDecorator('ViewChildren', ɵ2, Query);
13270
- var ɵ3 = function (selector, data) {
13271
- return (__assign({ selector: selector, first: true, isViewQuery: true, descendants: true }, data));
13272
- };
13334
+ var ɵ3 = function (selector, data) { return (Object.assign({ selector: selector, first: true, isViewQuery: true, descendants: true }, data)); };
13273
13335
  /**
13274
13336
  * ViewChild decorator and metadata.
13275
13337
  *
@@ -13446,9 +13508,9 @@
13446
13508
  var _symbolIterator = null;
13447
13509
  function getSymbolIterator() {
13448
13510
  if (!_symbolIterator) {
13449
- var Symbol_1 = _global['Symbol'];
13450
- if (Symbol_1 && Symbol_1.iterator) {
13451
- _symbolIterator = Symbol_1.iterator;
13511
+ var Symbol = _global['Symbol'];
13512
+ if (Symbol && Symbol.iterator) {
13513
+ _symbolIterator = Symbol.iterator;
13452
13514
  }
13453
13515
  else {
13454
13516
  // es6-shim specific logic
@@ -14189,8 +14251,7 @@
14189
14251
  for (var i = 2; i < values.length; i += 2) {
14190
14252
  interpolationInBetween.push(values[i]);
14191
14253
  }
14192
- storePropertyBindingMetadata.apply(void 0, __spread([getTView().data, tNode, 'attr.' + attrName,
14193
- getBindingIndex() - interpolationInBetween.length + 1], interpolationInBetween));
14254
+ storePropertyBindingMetadata.apply(void 0, __spread([getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - interpolationInBetween.length + 1], interpolationInBetween));
14194
14255
  }
14195
14256
  }
14196
14257
  return ɵɵattributeInterpolateV;
@@ -14447,7 +14508,7 @@
14447
14508
  var attrs = getConstant(tViewConsts, attrsIndex);
14448
14509
  var tNode = getOrCreateTNode(tView, lView[T_HOST], index, 3 /* Element */, name, attrs);
14449
14510
  var hasDirectives = resolveDirectives(tView, lView, tNode, getConstant(tViewConsts, localRefsIndex));
14450
- ngDevMode && logUnknownElementError(tView, lView, native, tNode, hasDirectives);
14511
+ ngDevMode && logUnknownElementError(tView, native, tNode, hasDirectives);
14451
14512
  if (tNode.attrs !== null) {
14452
14513
  computeStaticStyling(tNode, tNode.attrs, false);
14453
14514
  }
@@ -14562,7 +14623,7 @@
14562
14623
  ɵɵelementStart(index, name, attrsIndex, localRefsIndex);
14563
14624
  ɵɵelementEnd();
14564
14625
  }
14565
- function logUnknownElementError(tView, lView, element, tNode, hasDirectives) {
14626
+ function logUnknownElementError(tView, element, tNode, hasDirectives) {
14566
14627
  var schemas = tView.schemas;
14567
14628
  // If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
14568
14629
  // mode where this check happens at compile time. In JIT mode, `schemas` is always present and
@@ -14583,7 +14644,7 @@
14583
14644
  element instanceof HTMLUnknownElement) ||
14584
14645
  (typeof customElements !== 'undefined' && tagName.indexOf('-') > -1 &&
14585
14646
  !customElements.get(tagName));
14586
- if (isUnknown && !matchingSchemas(tView, lView, tagName)) {
14647
+ if (isUnknown && !matchingSchemas(tView, tagName)) {
14587
14648
  var message = "'" + tagName + "' is not a known element:\n";
14588
14649
  message += "1. If '" + tagName + "' is an Angular component, then verify that it is part of this module.\n";
14589
14650
  if (tagName && tagName.indexOf('-') > -1) {
@@ -14786,7 +14847,7 @@
14786
14847
  *
14787
14848
  * @codeGenApi
14788
14849
  */
14789
- function ɵɵcomponentHostSyntheticListener(eventName, listenerFn, useCapture, eventTargetResolver) {
14850
+ function ɵɵsyntheticHostListener(eventName, listenerFn, useCapture, eventTargetResolver) {
14790
14851
  if (useCapture === void 0) { useCapture = false; }
14791
14852
  var tNode = getPreviousOrParentTNode();
14792
14853
  var lView = getLView();
@@ -14794,7 +14855,7 @@
14794
14855
  var currentDef = getCurrentDirectiveDef(tView.data);
14795
14856
  var renderer = loadComponentRenderer(currentDef, tNode, lView);
14796
14857
  listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn, useCapture, eventTargetResolver);
14797
- return ɵɵcomponentHostSyntheticListener;
14858
+ return ɵɵsyntheticHostListener;
14798
14859
  }
14799
14860
  /**
14800
14861
  * A utility function that checks if a given element has already an event handler registered for an
@@ -18412,7 +18473,7 @@
18412
18473
  *
18413
18474
  * @codeGenApi
18414
18475
  */
18415
- function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
18476
+ function ɵɵsyntheticHostProperty(propName, value, sanitizer) {
18416
18477
  var lView = getLView();
18417
18478
  var bindingIndex = nextBindingIndex();
18418
18479
  if (bindingUpdated(lView, bindingIndex, value)) {
@@ -18423,7 +18484,7 @@
18423
18484
  elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, true);
18424
18485
  ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
18425
18486
  }
18426
- return ɵɵupdateSyntheticHostBinding;
18487
+ return ɵɵsyntheticHostProperty;
18427
18488
  }
18428
18489
 
18429
18490
  /**
@@ -18434,13 +18495,6 @@
18434
18495
  * found in the LICENSE file at https://angular.io/license
18435
18496
  */
18436
18497
 
18437
- /**
18438
- * @license
18439
- * Copyright Google LLC All Rights Reserved.
18440
- *
18441
- * Use of this source code is governed by an MIT-style license that can be
18442
- * found in the LICENSE file at https://angular.io/license
18443
- */
18444
18498
  /**
18445
18499
  * Retrieves the component instance associated with a given DOM element.
18446
18500
  *
@@ -18565,7 +18619,7 @@
18565
18619
  var tView = lView[TVIEW];
18566
18620
  var tNode = tView.data[context.nodeIndex];
18567
18621
  var providerTokens = [];
18568
- var startIndex = tNode.providerIndexes & 65535 /* ProvidersStartIndexMask */;
18622
+ var startIndex = tNode.providerIndexes & 1048575 /* ProvidersStartIndexMask */;
18569
18623
  var endIndex = tNode.directiveEnd;
18570
18624
  for (var i = startIndex; i < endIndex; i++) {
18571
18625
  var value = tView.data[i];
@@ -18715,7 +18769,7 @@
18715
18769
  var firstParam = tCleanup[i++];
18716
18770
  var secondParam = tCleanup[i++];
18717
18771
  if (typeof firstParam === 'string') {
18718
- var name_1 = firstParam;
18772
+ var name = firstParam;
18719
18773
  var listenerElement = unwrapRNode(lView[secondParam]);
18720
18774
  var callback = lCleanup[tCleanup[i++]];
18721
18775
  var useCaptureOrIndx = tCleanup[i++];
@@ -18725,7 +18779,7 @@
18725
18779
  var type = (typeof useCaptureOrIndx === 'boolean' || useCaptureOrIndx >= 0) ? 'dom' : 'output';
18726
18780
  var useCapture = typeof useCaptureOrIndx === 'boolean' ? useCaptureOrIndx : false;
18727
18781
  if (element == listenerElement) {
18728
- listeners.push({ element: element, name: name_1, callback: callback, useCapture: useCapture, type: type });
18782
+ listeners.push({ element: element, name: name, callback: callback, useCapture: useCapture, type: type });
18729
18783
  }
18730
18784
  }
18731
18785
  }
@@ -19120,16 +19174,6 @@
19120
19174
  var defData = definition.data;
19121
19175
  defData.animation = (defData.animation || []).concat(superDef.data.animation);
19122
19176
  }
19123
- // Inherit hooks
19124
- // Assume super class inheritance feature has already run.
19125
- writeableDef.afterContentChecked =
19126
- writeableDef.afterContentChecked || superDef.afterContentChecked;
19127
- writeableDef.afterContentInit = definition.afterContentInit || superDef.afterContentInit;
19128
- writeableDef.afterViewChecked = definition.afterViewChecked || superDef.afterViewChecked;
19129
- writeableDef.afterViewInit = definition.afterViewInit || superDef.afterViewInit;
19130
- writeableDef.doCheck = definition.doCheck || superDef.doCheck;
19131
- writeableDef.onDestroy = definition.onDestroy || superDef.onDestroy;
19132
- writeableDef.onInit = definition.onInit || superDef.onInit;
19133
19177
  }
19134
19178
  // Run parent features
19135
19179
  var features = superDef.features;
@@ -19224,13 +19268,6 @@
19224
19268
  }
19225
19269
  }
19226
19270
 
19227
- /**
19228
- * @license
19229
- * Copyright Google LLC All Rights Reserved.
19230
- *
19231
- * Use of this source code is governed by an MIT-style license that can be
19232
- * found in the LICENSE file at https://angular.io/license
19233
- */
19234
19271
  /**
19235
19272
  * Fields which exist on either directive or component definitions, and need to be copied from
19236
19273
  * parent to child classes by the `ɵɵCopyDefinitionFeature`.
@@ -19269,169 +19306,58 @@
19269
19306
  * entire decorator is inherited from a parent to a child class. When ngcc detects this case, it
19270
19307
  * generates a skeleton definition on the child class, and applies this feature.
19271
19308
  *
19272
- * The `ɵɵCopyDefinitionFeature` then copies any needed fields from the parent class' definition,
19273
- * including things like the component template function.
19274
- *
19275
- * @param definition The definition of a child class which inherits from a parent class with its
19276
- * own definition.
19277
- *
19278
- * @codeGenApi
19279
- */
19280
- function ɵɵCopyDefinitionFeature(definition) {
19281
- var e_1, _a, e_2, _b;
19282
- var superType = getSuperType(definition.type);
19283
- var superDef = undefined;
19284
- if (isComponentDef(definition)) {
19285
- // Don't use getComponentDef/getDirectiveDef. This logic relies on inheritance.
19286
- superDef = superType.ɵcmp;
19287
- }
19288
- else {
19289
- // Don't use getComponentDef/getDirectiveDef. This logic relies on inheritance.
19290
- superDef = superType.ɵdir;
19291
- }
19292
- // Needed because `definition` fields are readonly.
19293
- var defAny = definition;
19294
- try {
19295
- // Copy over any fields that apply to either directives or components.
19296
- for (var COPY_DIRECTIVE_FIELDS_1 = __values(COPY_DIRECTIVE_FIELDS), COPY_DIRECTIVE_FIELDS_1_1 = COPY_DIRECTIVE_FIELDS_1.next(); !COPY_DIRECTIVE_FIELDS_1_1.done; COPY_DIRECTIVE_FIELDS_1_1 = COPY_DIRECTIVE_FIELDS_1.next()) {
19297
- var field = COPY_DIRECTIVE_FIELDS_1_1.value;
19298
- defAny[field] = superDef[field];
19299
- }
19300
- }
19301
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
19302
- finally {
19303
- try {
19304
- if (COPY_DIRECTIVE_FIELDS_1_1 && !COPY_DIRECTIVE_FIELDS_1_1.done && (_a = COPY_DIRECTIVE_FIELDS_1.return)) _a.call(COPY_DIRECTIVE_FIELDS_1);
19305
- }
19306
- finally { if (e_1) throw e_1.error; }
19307
- }
19308
- if (isComponentDef(superDef)) {
19309
- try {
19310
- // Copy over any component-specific fields.
19311
- for (var COPY_COMPONENT_FIELDS_1 = __values(COPY_COMPONENT_FIELDS), COPY_COMPONENT_FIELDS_1_1 = COPY_COMPONENT_FIELDS_1.next(); !COPY_COMPONENT_FIELDS_1_1.done; COPY_COMPONENT_FIELDS_1_1 = COPY_COMPONENT_FIELDS_1.next()) {
19312
- var field = COPY_COMPONENT_FIELDS_1_1.value;
19313
- defAny[field] = superDef[field];
19314
- }
19315
- }
19316
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
19317
- finally {
19318
- try {
19319
- if (COPY_COMPONENT_FIELDS_1_1 && !COPY_COMPONENT_FIELDS_1_1.done && (_b = COPY_COMPONENT_FIELDS_1.return)) _b.call(COPY_COMPONENT_FIELDS_1);
19320
- }
19321
- finally { if (e_2) throw e_2.error; }
19322
- }
19323
- }
19324
- }
19325
-
19326
- /**
19327
- * @license
19328
- * Copyright Google LLC All Rights Reserved.
19329
- *
19330
- * Use of this source code is governed by an MIT-style license that can be
19331
- * found in the LICENSE file at https://angular.io/license
19332
- */
19333
- /**
19334
- * Represents a basic change from a previous to a new value for a single
19335
- * property on a directive instance. Passed as a value in a
19336
- * {@link SimpleChanges} object to the `ngOnChanges` hook.
19337
- *
19338
- * @see `OnChanges`
19339
- *
19340
- * @publicApi
19341
- */
19342
- var SimpleChange = /** @class */ (function () {
19343
- function SimpleChange(previousValue, currentValue, firstChange) {
19344
- this.previousValue = previousValue;
19345
- this.currentValue = currentValue;
19346
- this.firstChange = firstChange;
19347
- }
19348
- /**
19349
- * Check whether the new value is the first value assigned.
19350
- */
19351
- SimpleChange.prototype.isFirstChange = function () {
19352
- return this.firstChange;
19353
- };
19354
- return SimpleChange;
19355
- }());
19356
-
19357
- /**
19358
- * @license
19359
- * Copyright Google LLC All Rights Reserved.
19360
- *
19361
- * Use of this source code is governed by an MIT-style license that can be
19362
- * found in the LICENSE file at https://angular.io/license
19363
- */
19364
- var PRIVATE_PREFIX = '__ngOnChanges_';
19365
- /**
19366
- * The NgOnChangesFeature decorates a component with support for the ngOnChanges
19367
- * lifecycle hook, so it should be included in any component that implements
19368
- * that hook.
19369
- *
19370
- * If the component or directive uses inheritance, the NgOnChangesFeature MUST
19371
- * be included as a feature AFTER {@link InheritDefinitionFeature}, otherwise
19372
- * inherited properties will not be propagated to the ngOnChanges lifecycle
19373
- * hook.
19374
- *
19375
- * Example usage:
19376
- *
19377
- * ```
19378
- * static ɵcmp = defineComponent({
19379
- * ...
19380
- * inputs: {name: 'publicName'},
19381
- * features: [NgOnChangesFeature]
19382
- * });
19383
- * ```
19309
+ * The `ɵɵCopyDefinitionFeature` then copies any needed fields from the parent class' definition,
19310
+ * including things like the component template function.
19311
+ *
19312
+ * @param definition The definition of a child class which inherits from a parent class with its
19313
+ * own definition.
19384
19314
  *
19385
19315
  * @codeGenApi
19386
19316
  */
19387
- function ɵɵNgOnChangesFeature(definition) {
19388
- if (definition.type.prototype.ngOnChanges) {
19389
- definition.setInput = ngOnChangesSetInput;
19390
- definition.onChanges = wrapOnChanges();
19317
+ function ɵɵCopyDefinitionFeature(definition) {
19318
+ var e_1, _a, e_2, _b;
19319
+ var superType = getSuperType(definition.type);
19320
+ var superDef = undefined;
19321
+ if (isComponentDef(definition)) {
19322
+ // Don't use getComponentDef/getDirectiveDef. This logic relies on inheritance.
19323
+ superDef = superType.ɵcmp;
19391
19324
  }
19392
- }
19393
- // This option ensures that the ngOnChanges lifecycle hook will be inherited
19394
- // from superclasses (in InheritDefinitionFeature).
19395
- /** @nocollapse */
19396
- // tslint:disable-next-line:no-toplevel-property-access
19397
- ɵɵNgOnChangesFeature.ngInherit = true;
19398
- function wrapOnChanges() {
19399
- return function wrapOnChangesHook_inPreviousChangesStorage() {
19400
- var simpleChangesStore = getSimpleChangesStore(this);
19401
- var current = simpleChangesStore && simpleChangesStore.current;
19402
- if (current) {
19403
- var previous = simpleChangesStore.previous;
19404
- if (previous === EMPTY_OBJ) {
19405
- simpleChangesStore.previous = current;
19325
+ else {
19326
+ // Don't use getComponentDef/getDirectiveDef. This logic relies on inheritance.
19327
+ superDef = superType.ɵdir;
19328
+ }
19329
+ // Needed because `definition` fields are readonly.
19330
+ var defAny = definition;
19331
+ try {
19332
+ // Copy over any fields that apply to either directives or components.
19333
+ for (var COPY_DIRECTIVE_FIELDS_1 = __values(COPY_DIRECTIVE_FIELDS), COPY_DIRECTIVE_FIELDS_1_1 = COPY_DIRECTIVE_FIELDS_1.next(); !COPY_DIRECTIVE_FIELDS_1_1.done; COPY_DIRECTIVE_FIELDS_1_1 = COPY_DIRECTIVE_FIELDS_1.next()) {
19334
+ var field = COPY_DIRECTIVE_FIELDS_1_1.value;
19335
+ defAny[field] = superDef[field];
19336
+ }
19337
+ }
19338
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
19339
+ finally {
19340
+ try {
19341
+ if (COPY_DIRECTIVE_FIELDS_1_1 && !COPY_DIRECTIVE_FIELDS_1_1.done && (_a = COPY_DIRECTIVE_FIELDS_1.return)) _a.call(COPY_DIRECTIVE_FIELDS_1);
19342
+ }
19343
+ finally { if (e_1) throw e_1.error; }
19344
+ }
19345
+ if (isComponentDef(superDef)) {
19346
+ try {
19347
+ // Copy over any component-specific fields.
19348
+ for (var COPY_COMPONENT_FIELDS_1 = __values(COPY_COMPONENT_FIELDS), COPY_COMPONENT_FIELDS_1_1 = COPY_COMPONENT_FIELDS_1.next(); !COPY_COMPONENT_FIELDS_1_1.done; COPY_COMPONENT_FIELDS_1_1 = COPY_COMPONENT_FIELDS_1.next()) {
19349
+ var field = COPY_COMPONENT_FIELDS_1_1.value;
19350
+ defAny[field] = superDef[field];
19406
19351
  }
19407
- else {
19408
- // New changes are copied to the previous store, so that we don't lose history for inputs
19409
- // which were not changed this time
19410
- for (var key in current) {
19411
- previous[key] = current[key];
19412
- }
19352
+ }
19353
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
19354
+ finally {
19355
+ try {
19356
+ if (COPY_COMPONENT_FIELDS_1_1 && !COPY_COMPONENT_FIELDS_1_1.done && (_b = COPY_COMPONENT_FIELDS_1.return)) _b.call(COPY_COMPONENT_FIELDS_1);
19413
19357
  }
19414
- simpleChangesStore.current = null;
19415
- this.ngOnChanges(current);
19358
+ finally { if (e_2) throw e_2.error; }
19416
19359
  }
19417
- };
19418
- }
19419
- function ngOnChangesSetInput(instance, value, publicName, privateName) {
19420
- var simpleChangesStore = getSimpleChangesStore(instance) ||
19421
- setSimpleChangesStore(instance, { previous: EMPTY_OBJ, current: null });
19422
- var current = simpleChangesStore.current || (simpleChangesStore.current = {});
19423
- var previous = simpleChangesStore.previous;
19424
- var declaredName = this.declaredInputs[publicName];
19425
- var previousChange = previous[declaredName];
19426
- current[declaredName] = new SimpleChange(previousChange && previousChange.currentValue, value, previous === EMPTY_OBJ);
19427
- instance[privateName] = value;
19428
- }
19429
- var SIMPLE_CHANGES_STORE = '__ngSimpleChanges__';
19430
- function getSimpleChangesStore(instance) {
19431
- return instance[SIMPLE_CHANGES_STORE] || null;
19432
- }
19433
- function setSimpleChangesStore(instance, store) {
19434
- return instance[SIMPLE_CHANGES_STORE] = store;
19360
+ }
19435
19361
  }
19436
19362
 
19437
19363
  /**
@@ -19488,9 +19414,9 @@
19488
19414
  var token = isTypeProvider(provider) ? provider : resolveForwardRef(provider.provide);
19489
19415
  var providerFactory = providerToFactory(provider);
19490
19416
  var tNode = getPreviousOrParentTNode();
19491
- var beginIndex = tNode.providerIndexes & 65535 /* ProvidersStartIndexMask */;
19417
+ var beginIndex = tNode.providerIndexes & 1048575 /* ProvidersStartIndexMask */;
19492
19418
  var endIndex = tNode.directiveStart;
19493
- var cptViewProvidersCount = tNode.providerIndexes >> 16 /* CptViewProvidersCountShift */;
19419
+ var cptViewProvidersCount = tNode.providerIndexes >> 20 /* CptViewProvidersCountShift */;
19494
19420
  if (isTypeProvider(provider) || !provider.multi) {
19495
19421
  // Single provider case: the factory is created and pushed immediately
19496
19422
  var factory = new NodeInjectorFactory(providerFactory, isViewProvider, ɵɵdirectiveInject);
@@ -19502,7 +19428,7 @@
19502
19428
  tNode.directiveStart++;
19503
19429
  tNode.directiveEnd++;
19504
19430
  if (isViewProvider) {
19505
- tNode.providerIndexes += 65536 /* CptViewProvidersCountShifter */;
19431
+ tNode.providerIndexes += 1048576 /* CptViewProvidersCountShifter */;
19506
19432
  }
19507
19433
  lInjectablesBlueprint.push(factory);
19508
19434
  lView.push(factory);
@@ -19552,7 +19478,7 @@
19552
19478
  tNode.directiveStart++;
19553
19479
  tNode.directiveEnd++;
19554
19480
  if (isViewProvider) {
19555
- tNode.providerIndexes += 65536 /* CptViewProvidersCountShifter */;
19481
+ tNode.providerIndexes += 1048576 /* CptViewProvidersCountShifter */;
19556
19482
  }
19557
19483
  lInjectablesBlueprint.push(factory);
19558
19484
  lView.push(factory);
@@ -19755,13 +19681,6 @@
19755
19681
  return ComponentFactory;
19756
19682
  }());
19757
19683
 
19758
- /**
19759
- * @license
19760
- * Copyright Google LLC All Rights Reserved.
19761
- *
19762
- * Use of this source code is governed by an MIT-style license that can be
19763
- * found in the LICENSE file at https://angular.io/license
19764
- */
19765
19684
  function noComponentFactoryError(component) {
19766
19685
  var error = Error("No component factory found for " + stringify(component) + ". Did you add it to @NgModule.entryComponents?");
19767
19686
  error[ERROR_COMPONENT] = component;
@@ -19791,9 +19710,9 @@
19791
19710
  var ComponentFactoryResolver = /** @class */ (function () {
19792
19711
  function ComponentFactoryResolver() {
19793
19712
  }
19794
- ComponentFactoryResolver.NULL = new _NullComponentFactoryResolver();
19795
19713
  return ComponentFactoryResolver;
19796
19714
  }());
19715
+ ComponentFactoryResolver.NULL = new _NullComponentFactoryResolver();
19797
19716
  var CodegenComponentFactoryResolver = /** @class */ (function () {
19798
19717
  function CodegenComponentFactoryResolver(factories, _parent, _ngModule) {
19799
19718
  this._parent = _parent;
@@ -19876,13 +19795,13 @@
19876
19795
  function ElementRef(nativeElement) {
19877
19796
  this.nativeElement = nativeElement;
19878
19797
  }
19879
- /**
19880
- * @internal
19881
- * @nocollapse
19882
- */
19883
- ElementRef.__NG_ELEMENT_ID__ = function () { return SWITCH_ELEMENT_REF_FACTORY(ElementRef); };
19884
19798
  return ElementRef;
19885
19799
  }());
19800
+ /**
19801
+ * @internal
19802
+ * @nocollapse
19803
+ */
19804
+ ElementRef.__NG_ELEMENT_ID__ = function () { return SWITCH_ELEMENT_REF_FACTORY(ElementRef); };
19886
19805
  var SWITCH_ELEMENT_REF_FACTORY__POST_R3__ = injectElementRef;
19887
19806
  var SWITCH_ELEMENT_REF_FACTORY__PRE_R3__ = noop;
19888
19807
  var SWITCH_ELEMENT_REF_FACTORY = SWITCH_ELEMENT_REF_FACTORY__PRE_R3__;
@@ -19936,13 +19855,13 @@
19936
19855
  var Renderer2 = /** @class */ (function () {
19937
19856
  function Renderer2() {
19938
19857
  }
19939
- /**
19940
- * @internal
19941
- * @nocollapse
19942
- */
19943
- Renderer2.__NG_ELEMENT_ID__ = function () { return SWITCH_RENDERER2_FACTORY(); };
19944
19858
  return Renderer2;
19945
19859
  }());
19860
+ /**
19861
+ * @internal
19862
+ * @nocollapse
19863
+ */
19864
+ Renderer2.__NG_ELEMENT_ID__ = function () { return SWITCH_RENDERER2_FACTORY(); };
19946
19865
  var SWITCH_RENDERER2_FACTORY__POST_R3__ = injectRenderer2;
19947
19866
  var SWITCH_RENDERER2_FACTORY__PRE_R3__ = noop;
19948
19867
  var SWITCH_RENDERER2_FACTORY = SWITCH_RENDERER2_FACTORY__PRE_R3__;
@@ -19962,14 +19881,14 @@
19962
19881
  var Sanitizer = /** @class */ (function () {
19963
19882
  function Sanitizer() {
19964
19883
  }
19965
- /** @nocollapse */
19966
- Sanitizer.ɵprov = ɵɵdefineInjectable({
19967
- token: Sanitizer,
19968
- providedIn: 'root',
19969
- factory: function () { return null; },
19970
- });
19971
19884
  return Sanitizer;
19972
19885
  }());
19886
+ /** @nocollapse */
19887
+ Sanitizer.ɵprov = ɵɵdefineInjectable({
19888
+ token: Sanitizer,
19889
+ providedIn: 'root',
19890
+ factory: function () { return null; },
19891
+ });
19973
19892
 
19974
19893
  /**
19975
19894
  * @license
@@ -19995,7 +19914,7 @@
19995
19914
  /**
19996
19915
  * @publicApi
19997
19916
  */
19998
- var VERSION = new Version('10.0.1');
19917
+ var VERSION = new Version('10.0.5');
19999
19918
 
20000
19919
  /**
20001
19920
  * @license
@@ -21006,14 +20925,14 @@
21006
20925
  throw new Error("Cannot find a differ supporting object '" + iterable + "' of type '" + getTypeNameForDebugging(iterable) + "'");
21007
20926
  }
21008
20927
  };
21009
- /** @nocollapse */
21010
- IterableDiffers.ɵprov = ɵɵdefineInjectable({
21011
- token: IterableDiffers,
21012
- providedIn: 'root',
21013
- factory: function () { return new IterableDiffers([new DefaultIterableDifferFactory()]); }
21014
- });
21015
20928
  return IterableDiffers;
21016
20929
  }());
20930
+ /** @nocollapse */
20931
+ IterableDiffers.ɵprov = ɵɵdefineInjectable({
20932
+ token: IterableDiffers,
20933
+ providedIn: 'root',
20934
+ factory: function () { return new IterableDiffers([new DefaultIterableDifferFactory()]); }
20935
+ });
21017
20936
  function getTypeNameForDebugging(type) {
21018
20937
  return type['name'] || typeof type;
21019
20938
  }
@@ -21083,14 +21002,14 @@
21083
21002
  }
21084
21003
  throw new Error("Cannot find a differ supporting object '" + kv + "'");
21085
21004
  };
21086
- /** @nocollapse */
21087
- KeyValueDiffers.ɵprov = ɵɵdefineInjectable({
21088
- token: KeyValueDiffers,
21089
- providedIn: 'root',
21090
- factory: function () { return new KeyValueDiffers([new DefaultKeyValueDifferFactory()]); }
21091
- });
21092
21005
  return KeyValueDiffers;
21093
21006
  }());
21007
+ /** @nocollapse */
21008
+ KeyValueDiffers.ɵprov = ɵɵdefineInjectable({
21009
+ token: KeyValueDiffers,
21010
+ providedIn: 'root',
21011
+ factory: function () { return new KeyValueDiffers([new DefaultKeyValueDifferFactory()]); }
21012
+ });
21094
21013
 
21095
21014
  /**
21096
21015
  * @license
@@ -21138,13 +21057,13 @@
21138
21057
  var TemplateRef = /** @class */ (function () {
21139
21058
  function TemplateRef() {
21140
21059
  }
21141
- /**
21142
- * @internal
21143
- * @nocollapse
21144
- */
21145
- TemplateRef.__NG_ELEMENT_ID__ = function () { return SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef); };
21146
21060
  return TemplateRef;
21147
21061
  }());
21062
+ /**
21063
+ * @internal
21064
+ * @nocollapse
21065
+ */
21066
+ TemplateRef.__NG_ELEMENT_ID__ = function () { return SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef); };
21148
21067
  var SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ = injectTemplateRef;
21149
21068
  var SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__ = noop;
21150
21069
  var SWITCH_TEMPLATE_REF_FACTORY = SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__;
@@ -21174,13 +21093,13 @@
21174
21093
  var ViewContainerRef = /** @class */ (function () {
21175
21094
  function ViewContainerRef() {
21176
21095
  }
21177
- /**
21178
- * @internal
21179
- * @nocollapse
21180
- */
21181
- ViewContainerRef.__NG_ELEMENT_ID__ = function () { return SWITCH_VIEW_CONTAINER_REF_FACTORY(ViewContainerRef, ElementRef); };
21182
21096
  return ViewContainerRef;
21183
21097
  }());
21098
+ /**
21099
+ * @internal
21100
+ * @nocollapse
21101
+ */
21102
+ ViewContainerRef.__NG_ELEMENT_ID__ = function () { return SWITCH_VIEW_CONTAINER_REF_FACTORY(ViewContainerRef, ElementRef); };
21184
21103
  var SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ = injectViewContainerRef;
21185
21104
  var SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__ = noop;
21186
21105
  var SWITCH_VIEW_CONTAINER_REF_FACTORY = SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__;
@@ -21340,13 +21259,6 @@
21340
21259
  dirtyParentQueries: undefined,
21341
21260
  };
21342
21261
 
21343
- /**
21344
- * @license
21345
- * Copyright Google LLC All Rights Reserved.
21346
- *
21347
- * Use of this source code is governed by an MIT-style license that can be
21348
- * found in the LICENSE file at https://angular.io/license
21349
- */
21350
21262
  var NOOP = function () { };
21351
21263
  var _tokenKeyCache = new Map();
21352
21264
  function tokenKey(token) {
@@ -21710,13 +21622,6 @@
21710
21622
  var EMPTY_ARRAY$4 = [];
21711
21623
  var EMPTY_MAP = {};
21712
21624
 
21713
- /**
21714
- * @license
21715
- * Copyright Google LLC All Rights Reserved.
21716
- *
21717
- * Use of this source code is governed by an MIT-style license that can be
21718
- * found in the LICENSE file at https://angular.io/license
21719
- */
21720
21625
  var UNDEFINED_VALUE = {};
21721
21626
  var InjectorRefTokenKey = tokenKey(Injector);
21722
21627
  var INJECTORRefTokenKey = tokenKey(INJECTOR);
@@ -22027,13 +21932,6 @@
22027
21932
  visitRootRenderNodes(view, 3 /* RemoveChild */, null, null, undefined);
22028
21933
  }
22029
21934
 
22030
- /**
22031
- * @license
22032
- * Copyright Google LLC All Rights Reserved.
22033
- *
22034
- * Use of this source code is governed by an MIT-style license that can be
22035
- * found in the LICENSE file at https://angular.io/license
22036
- */
22037
21935
  var EMPTY_CONTEXT = {};
22038
21936
  // Attention: this function is called as top level function.
22039
21937
  // Putting any logic in here will destroy closure tree shaking!
@@ -22450,13 +22348,6 @@
22450
22348
  return NgModuleRef_;
22451
22349
  }());
22452
22350
 
22453
- /**
22454
- * @license
22455
- * Copyright Google LLC All Rights Reserved.
22456
- *
22457
- * Use of this source code is governed by an MIT-style license that can be
22458
- * found in the LICENSE file at https://angular.io/license
22459
- */
22460
22351
  var Renderer2TokenKey = tokenKey(Renderer2);
22461
22352
  var ElementRefTokenKey = tokenKey(ElementRef);
22462
22353
  var ViewContainerRefTokenKey = tokenKey(ViewContainerRef);
@@ -22888,8 +22779,8 @@
22888
22779
  var initIndex = 0;
22889
22780
  for (var i = 0; i < nodes.length; i++) {
22890
22781
  var nodeDef = nodes[i];
22891
- var parent_1 = nodeDef.parent;
22892
- if (!parent_1 && nodeDef.flags & lifecycles) {
22782
+ var parent = nodeDef.parent;
22783
+ if (!parent && nodeDef.flags & lifecycles) {
22893
22784
  // matching root node (e.g. a pipe)
22894
22785
  callProviderLifecycles(view, i, nodeDef.flags & lifecycles, initIndex++);
22895
22786
  }
@@ -22897,13 +22788,13 @@
22897
22788
  // no child matches one of the lifecycles
22898
22789
  i += nodeDef.childCount;
22899
22790
  }
22900
- while (parent_1 && (parent_1.flags & 1 /* TypeElement */) &&
22901
- i === parent_1.nodeIndex + parent_1.childCount) {
22791
+ while (parent && (parent.flags & 1 /* TypeElement */) &&
22792
+ i === parent.nodeIndex + parent.childCount) {
22902
22793
  // last child of an element
22903
- if (parent_1.directChildFlags & lifecycles) {
22904
- initIndex = callElementProvidersLifecycles(view, parent_1, lifecycles, initIndex);
22794
+ if (parent.directChildFlags & lifecycles) {
22795
+ initIndex = callElementProvidersLifecycles(view, parent, lifecycles, initIndex);
22905
22796
  }
22906
- parent_1 = parent_1.parent;
22797
+ parent = parent.parent;
22907
22798
  }
22908
22799
  }
22909
22800
  }
@@ -22947,13 +22838,6 @@
22947
22838
  }
22948
22839
  }
22949
22840
 
22950
- /**
22951
- * @license
22952
- * Copyright Google LLC All Rights Reserved.
22953
- *
22954
- * Use of this source code is governed by an MIT-style license that can be
22955
- * found in the LICENSE file at https://angular.io/license
22956
- */
22957
22841
  var ComponentFactoryResolver$1 = /** @class */ (function (_super) {
22958
22842
  __extends(ComponentFactoryResolver, _super);
22959
22843
  /**
@@ -24443,7 +24327,7 @@
24443
24327
  * @param expandoStartIndex
24444
24328
  */
24445
24329
  function parseIcuCase(unsafeHtml, parentIndex, nestedIcus, tIcus, expandoStartIndex) {
24446
- var inertBodyHelper = new InertBodyHelper(getDocument());
24330
+ var inertBodyHelper = getInertBodyHelper(getDocument());
24447
24331
  var inertBodyElement = inertBodyHelper.getInertBodyElement(unsafeHtml);
24448
24332
  if (!inertBodyElement) {
24449
24333
  throw new Error('Unable to generate inert body element');
@@ -24601,13 +24485,6 @@
24601
24485
  return LOCALE_ID;
24602
24486
  }
24603
24487
 
24604
- /**
24605
- * @license
24606
- * Copyright Google LLC All Rights Reserved.
24607
- *
24608
- * Use of this source code is governed by an MIT-style license that can be
24609
- * found in the LICENSE file at https://angular.io/license
24610
- */
24611
24488
  /**
24612
24489
  * Adds decorator, constructor, and property metadata to a given type via static metadata fields
24613
24490
  * on the type.
@@ -24651,7 +24528,7 @@
24651
24528
  if (clazz.propDecorators !== undefined &&
24652
24529
  (!parentConstructor ||
24653
24530
  parentConstructor.propDecorators !== clazz.propDecorators)) {
24654
- clazz.propDecorators = __assign(__assign({}, clazz.propDecorators), propDecorators);
24531
+ clazz.propDecorators = Object.assign(Object.assign({}, clazz.propDecorators), propDecorators);
24655
24532
  }
24656
24533
  else {
24657
24534
  clazz.propDecorators = propDecorators;
@@ -24709,13 +24586,6 @@
24709
24586
  return modules.get(id) || autoRegisterModuleById[id];
24710
24587
  }
24711
24588
 
24712
- /**
24713
- * @license
24714
- * Copyright Google LLC All Rights Reserved.
24715
- *
24716
- * Use of this source code is governed by an MIT-style license that can be
24717
- * found in the LICENSE file at https://angular.io/license
24718
- */
24719
24589
  var NgModuleRef$1 = /** @class */ (function (_super) {
24720
24590
  __extends(NgModuleRef$1, _super);
24721
24591
  function NgModuleRef$1(ngModuleType, _parent) {
@@ -25340,13 +25210,6 @@
25340
25210
  return newValue;
25341
25211
  }
25342
25212
 
25343
- /**
25344
- * @license
25345
- * Copyright Google LLC All Rights Reserved.
25346
- *
25347
- * Use of this source code is governed by an MIT-style license that can be
25348
- * found in the LICENSE file at https://angular.io/license
25349
- */
25350
25213
  var EventEmitter_ = /** @class */ (function (_super) {
25351
25214
  __extends(EventEmitter_, _super);
25352
25215
  function EventEmitter_(isAsync) {
@@ -25740,7 +25603,7 @@
25740
25603
  TQuery_.prototype.isApplyingToNode = function (tNode) {
25741
25604
  if (this._appliesToNextNode && this.metadata.descendants === false) {
25742
25605
  var declarationNodeIdx = this._declarationNodeIndex;
25743
- var parent_1 = tNode.parent;
25606
+ var parent = tNode.parent;
25744
25607
  // Determine if a given TNode is a "direct" child of a node on which a content query was
25745
25608
  // declared (only direct children of query's host node can match with the descendants: false
25746
25609
  // option). There are 3 main use-case / conditions to consider here:
@@ -25751,11 +25614,11 @@
25751
25614
  // - <needs-target><ng-container><i #target></i></ng-container></needs-target>: here we need
25752
25615
  // to go past `<ng-container>` to determine <i #target> parent node (but we shouldn't traverse
25753
25616
  // up past the query's host node!).
25754
- while (parent_1 !== null && parent_1.type === 4 /* ElementContainer */ &&
25755
- parent_1.index !== declarationNodeIdx) {
25756
- parent_1 = parent_1.parent;
25617
+ while (parent !== null && parent.type === 4 /* ElementContainer */ &&
25618
+ parent.index !== declarationNodeIdx) {
25619
+ parent = parent.parent;
25757
25620
  }
25758
- return declarationNodeIdx === (parent_1 !== null ? parent_1.index : -1);
25621
+ return declarationNodeIdx === (parent !== null ? parent.index : -1);
25759
25622
  }
25760
25623
  return this._appliesToNextNode;
25761
25624
  };
@@ -26179,8 +26042,8 @@
26179
26042
  'ɵɵrestoreView': ɵɵrestoreView,
26180
26043
  'ɵɵlistener': ɵɵlistener,
26181
26044
  'ɵɵprojection': ɵɵprojection,
26182
- 'ɵɵupdateSyntheticHostBinding': ɵɵupdateSyntheticHostBinding,
26183
- 'ɵɵcomponentHostSyntheticListener': ɵɵcomponentHostSyntheticListener,
26045
+ 'ɵɵsyntheticHostProperty': ɵɵsyntheticHostProperty,
26046
+ 'ɵɵsyntheticHostListener': ɵɵsyntheticHostListener,
26184
26047
  'ɵɵpipeBind1': ɵɵpipeBind1,
26185
26048
  'ɵɵpipeBind2': ɵɵpipeBind2,
26186
26049
  'ɵɵpipeBind3': ɵɵpipeBind3,
@@ -26301,13 +26164,6 @@
26301
26164
  jitOptions = null;
26302
26165
  }
26303
26166
 
26304
- /**
26305
- * @license
26306
- * Copyright Google LLC All Rights Reserved.
26307
- *
26308
- * Use of this source code is governed by an MIT-style license that can be
26309
- * found in the LICENSE file at https://angular.io/license
26310
- */
26311
26167
  var EMPTY_ARRAY$5 = [];
26312
26168
  var moduleQueue = [];
26313
26169
  /**
@@ -26644,14 +26500,10 @@
26644
26500
  * a given module.
26645
26501
  */
26646
26502
  function patchComponentDefWithScope(componentDef, transitiveScopes) {
26647
- componentDef.directiveDefs = function () {
26648
- return Array.from(transitiveScopes.compilation.directives)
26649
- .map(function (dir) { return dir.hasOwnProperty(NG_COMP_DEF) ? getComponentDef(dir) : getDirectiveDef(dir); })
26650
- .filter(function (def) { return !!def; });
26651
- };
26652
- componentDef.pipeDefs = function () {
26653
- return Array.from(transitiveScopes.compilation.pipes).map(function (pipe) { return getPipeDef(pipe); });
26654
- };
26503
+ componentDef.directiveDefs = function () { return Array.from(transitiveScopes.compilation.directives)
26504
+ .map(function (dir) { return dir.hasOwnProperty(NG_COMP_DEF) ? getComponentDef(dir) : getDirectiveDef(dir); })
26505
+ .filter(function (def) { return !!def; }); };
26506
+ componentDef.pipeDefs = function () { return Array.from(transitiveScopes.compilation.pipes).map(function (pipe) { return getPipeDef(pipe); }); };
26655
26507
  componentDef.schemas = transitiveScopes.schemas;
26656
26508
  // Since we avoid Components/Directives/Pipes recompiling in case there are no overrides, we
26657
26509
  // may face a problem where previously compiled defs available to a given Component/Directive
@@ -26816,7 +26668,7 @@
26816
26668
  }
26817
26669
  }
26818
26670
  var templateUrl = metadata.templateUrl || "ng:///" + type.name + "/template.html";
26819
- var meta = __assign(__assign({}, directiveMetadata(type, metadata)), { typeSourceSpan: compiler.createParseSourceSpan('Component', type.name, templateUrl), template: metadata.template || '', preserveWhitespaces: preserveWhitespaces, styles: metadata.styles || EMPTY_ARRAY, animations: metadata.animations, directives: [], changeDetection: metadata.changeDetection, pipes: new Map(), encapsulation: encapsulation, interpolation: metadata.interpolation, viewProviders: metadata.viewProviders || null });
26671
+ var meta = Object.assign(Object.assign({}, directiveMetadata(type, metadata)), { typeSourceSpan: compiler.createParseSourceSpan('Component', type.name, templateUrl), template: metadata.template || '', preserveWhitespaces: preserveWhitespaces, styles: metadata.styles || EMPTY_ARRAY, animations: metadata.animations, directives: [], changeDetection: metadata.changeDetection, pipes: new Map(), encapsulation: encapsulation, interpolation: metadata.interpolation, viewProviders: metadata.viewProviders || null });
26820
26672
  if (meta.usesInheritance) {
26821
26673
  addDirectiveDefToUndecoratedParents(type);
26822
26674
  }
@@ -26889,7 +26741,7 @@
26889
26741
  if (ngFactoryDef === null) {
26890
26742
  var meta = getDirectiveMetadata(type, metadata);
26891
26743
  var compiler = getCompilerFacade();
26892
- ngFactoryDef = compiler.compileFactory(angularCoreEnv, "ng:///" + type.name + "/\u0275fac.js", __assign(__assign({}, meta.metadata), { injectFn: 'directiveInject', target: compiler.R3FactoryTarget.Directive }));
26744
+ ngFactoryDef = compiler.compileFactory(angularCoreEnv, "ng:///" + type.name + "/\u0275fac.js", Object.assign(Object.assign({}, meta.metadata), { injectFn: 'directiveInject', target: compiler.R3FactoryTarget.Directive }));
26893
26745
  }
26894
26746
  return ngFactoryDef;
26895
26747
  },
@@ -27038,7 +26890,7 @@
27038
26890
  if (ngFactoryDef === null) {
27039
26891
  var metadata = getPipeMetadata(type, meta);
27040
26892
  var compiler = getCompilerFacade();
27041
- ngFactoryDef = compiler.compileFactory(angularCoreEnv, "ng:///" + metadata.name + "/\u0275fac.js", __assign(__assign({}, metadata), { injectFn: 'directiveInject', target: compiler.R3FactoryTarget.Pipe }));
26893
+ ngFactoryDef = compiler.compileFactory(angularCoreEnv, "ng:///" + metadata.name + "/\u0275fac.js", Object.assign(Object.assign({}, metadata), { injectFn: 'directiveInject', target: compiler.R3FactoryTarget.Pipe }));
27042
26894
  }
27043
26895
  return ngFactoryDef;
27044
26896
  },
@@ -27087,7 +26939,7 @@
27087
26939
  var Directive = makeDecorator('Directive', ɵ0$e, undefined, undefined, ɵ1$3);
27088
26940
  var ɵ2$1 = function (c) {
27089
26941
  if (c === void 0) { c = {}; }
27090
- return (__assign({ changeDetection: exports.ChangeDetectionStrategy.Default }, c));
26942
+ return (Object.assign({ changeDetection: exports.ChangeDetectionStrategy.Default }, c));
27091
26943
  }, ɵ3$1 = function (type, meta) { return SWITCH_COMPILE_COMPONENT(type, meta); };
27092
26944
  /**
27093
26945
  * Component decorator and metadata.
@@ -27096,7 +26948,7 @@
27096
26948
  * @publicApi
27097
26949
  */
27098
26950
  var Component = makeDecorator('Component', ɵ2$1, Directive, undefined, ɵ3$1);
27099
- var ɵ4 = function (p) { return (__assign({ pure: true }, p)); }, ɵ5 = function (type, meta) { return SWITCH_COMPILE_PIPE(type, meta); };
26951
+ var ɵ4 = function (p) { return (Object.assign({ pure: true }, p)); }, ɵ5 = function (type, meta) { return SWITCH_COMPILE_PIPE(type, meta); };
27100
26952
  /**
27101
26953
  * @Annotation
27102
26954
  * @publicApi
@@ -27188,13 +27040,6 @@
27188
27040
  var SWITCH_COMPILE_DIRECTIVE = SWITCH_COMPILE_DIRECTIVE__PRE_R3__;
27189
27041
  var SWITCH_COMPILE_PIPE = SWITCH_COMPILE_PIPE__PRE_R3__;
27190
27042
 
27191
- /**
27192
- * @license
27193
- * Copyright Google LLC All Rights Reserved.
27194
- *
27195
- * Use of this source code is governed by an MIT-style license that can be
27196
- * found in the LICENSE file at https://angular.io/license
27197
- */
27198
27043
  var ɵ0$f = function (ngModule) { return ngModule; }, ɵ1$4 =
27199
27044
  /**
27200
27045
  * Decorator that marks the following class as an NgModule, and supplies
@@ -27252,21 +27097,25 @@
27252
27097
  * found in the LICENSE file at https://angular.io/license
27253
27098
  */
27254
27099
  /**
27255
- * An injection token that allows you to provide one or more initialization functions.
27256
- * These function are injected at application startup and executed during
27100
+ * A [DI token](guide/glossary#di-token "DI token definition") that you can use to provide
27101
+ * one or more initialization functions.
27102
+ *
27103
+ * The provided function are injected at application startup and executed during
27257
27104
  * app initialization. If any of these functions returns a Promise, initialization
27258
27105
  * does not complete until the Promise is resolved.
27259
27106
  *
27260
27107
  * You can, for example, create a factory function that loads language data
27261
27108
  * or an external configuration, and provide that function to the `APP_INITIALIZER` token.
27262
- * That way, the function is executed during the application bootstrap process,
27109
+ * The function is executed during the application bootstrap process,
27263
27110
  * and the needed data is available on startup.
27264
27111
  *
27112
+ * @see `ApplicationInitStatus`
27113
+ *
27265
27114
  * @publicApi
27266
27115
  */
27267
27116
  var APP_INITIALIZER = new InjectionToken('Application Initializer');
27268
27117
  /**
27269
- * A class that reflects the state of running {@link APP_INITIALIZER}s.
27118
+ * A class that reflects the state of running {@link APP_INITIALIZER} functions.
27270
27119
  *
27271
27120
  * @publicApi
27272
27121
  */
@@ -27312,14 +27161,14 @@
27312
27161
  }
27313
27162
  this.initialized = true;
27314
27163
  };
27315
- ApplicationInitStatus.decorators = [
27316
- { type: Injectable }
27317
- ];
27318
- ApplicationInitStatus.ctorParameters = function () { return [
27319
- { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional }] }
27320
- ]; };
27321
27164
  return ApplicationInitStatus;
27322
27165
  }());
27166
+ ApplicationInitStatus.decorators = [
27167
+ { type: Injectable }
27168
+ ];
27169
+ ApplicationInitStatus.ctorParameters = function () { return [
27170
+ { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional }] }
27171
+ ]; };
27323
27172
 
27324
27173
  /**
27325
27174
  * @license
@@ -27329,13 +27178,14 @@
27329
27178
  * found in the LICENSE file at https://angular.io/license
27330
27179
  */
27331
27180
  /**
27332
- * A DI Token representing a unique string id assigned to the application by Angular and used
27181
+ * A [DI token](guide/glossary#di-token "DI token definition") representing a unique string ID, used
27333
27182
  * primarily for prefixing application attributes and CSS styles when
27334
27183
  * {@link ViewEncapsulation#Emulated ViewEncapsulation.Emulated} is being used.
27335
27184
  *
27336
- * If you need to avoid randomly generated value to be used as an application id, you can provide
27337
- * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}
27338
- * using this token.
27185
+ * BY default, the value is randomly generated and assigned to the application by Angular.
27186
+ * To provide a custom ID value, use a DI provider <!-- TODO: provider --> to configure
27187
+ * the root {@link Injector} that uses this token.
27188
+ *
27339
27189
  * @publicApi
27340
27190
  */
27341
27191
  var APP_ID = new InjectionToken('AppId');
@@ -27343,7 +27193,7 @@
27343
27193
  return "" + _randomChar() + _randomChar() + _randomChar();
27344
27194
  }
27345
27195
  /**
27346
- * Providers that will generate a random APP_ID_TOKEN.
27196
+ * Providers that generate a random `APP_ID_TOKEN`.
27347
27197
  * @publicApi
27348
27198
  */
27349
27199
  var APP_ID_RANDOM_PROVIDER = {
@@ -27355,26 +27205,29 @@
27355
27205
  return String.fromCharCode(97 + Math.floor(Math.random() * 25));
27356
27206
  }
27357
27207
  /**
27358
- * A function that will be executed when a platform is initialized.
27208
+ * A function that is executed when a platform is initialized.
27359
27209
  * @publicApi
27360
27210
  */
27361
27211
  var PLATFORM_INITIALIZER = new InjectionToken('Platform Initializer');
27362
27212
  /**
27363
- * A token that indicates an opaque platform id.
27213
+ * A token that indicates an opaque platform ID.
27364
27214
  * @publicApi
27365
27215
  */
27366
27216
  var PLATFORM_ID = new InjectionToken('Platform ID');
27367
27217
  /**
27368
- * All callbacks provided via this token will be called for every component that is bootstrapped.
27369
- * Signature of the callback:
27218
+ * A [DI token](guide/glossary#di-token "DI token definition") that provides a set of callbacks to
27219
+ * be called for every component that is bootstrapped.
27370
27220
  *
27371
- * `(componentRef: ComponentRef) => void`.
27221
+ * Each callback must take a `ComponentRef` instance and return nothing.
27222
+ *
27223
+ * `(componentRef: ComponentRef) => void`
27372
27224
  *
27373
27225
  * @publicApi
27374
27226
  */
27375
27227
  var APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener');
27376
27228
  /**
27377
- * A token which indicates the root directory of the application
27229
+ * A [DI token](guide/glossary#di-token "DI token definition") that indicates the root directory of
27230
+ * the application
27378
27231
  * @publicApi
27379
27232
  */
27380
27233
  var PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL');
@@ -27398,11 +27251,11 @@
27398
27251
  // tslint:disable-next-line:no-console
27399
27252
  console.warn(message);
27400
27253
  };
27401
- Console.decorators = [
27402
- { type: Injectable }
27403
- ];
27404
27254
  return Console;
27405
27255
  }());
27256
+ Console.decorators = [
27257
+ { type: Injectable }
27258
+ ];
27406
27259
 
27407
27260
  /**
27408
27261
  * @license
@@ -27632,11 +27485,11 @@
27632
27485
  Compiler.prototype.getModuleId = function (moduleType) {
27633
27486
  return undefined;
27634
27487
  };
27635
- Compiler.decorators = [
27636
- { type: Injectable }
27637
- ];
27638
27488
  return Compiler;
27639
27489
  }());
27490
+ Compiler.decorators = [
27491
+ { type: Injectable }
27492
+ ];
27640
27493
  /**
27641
27494
  * Token to provide CompilerOptions in the platform injector.
27642
27495
  *
@@ -28223,14 +28076,14 @@
28223
28076
  // TODO(juliemr): implement.
28224
28077
  return [];
28225
28078
  };
28226
- Testability.decorators = [
28227
- { type: Injectable }
28228
- ];
28229
- Testability.ctorParameters = function () { return [
28230
- { type: NgZone }
28231
- ]; };
28232
28079
  return Testability;
28233
28080
  }());
28081
+ Testability.decorators = [
28082
+ { type: Injectable }
28083
+ ];
28084
+ Testability.ctorParameters = function () { return [
28085
+ { type: NgZone }
28086
+ ]; };
28234
28087
  /**
28235
28088
  * A global registry of {@link Testability} instances for specific elements.
28236
28089
  * @publicApi
@@ -28291,12 +28144,12 @@
28291
28144
  if (findInAncestors === void 0) { findInAncestors = true; }
28292
28145
  return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);
28293
28146
  };
28294
- TestabilityRegistry.decorators = [
28295
- { type: Injectable }
28296
- ];
28297
- TestabilityRegistry.ctorParameters = function () { return []; };
28298
28147
  return TestabilityRegistry;
28299
28148
  }());
28149
+ TestabilityRegistry.decorators = [
28150
+ { type: Injectable }
28151
+ ];
28152
+ TestabilityRegistry.ctorParameters = function () { return []; };
28300
28153
  var _NoopGetTestability = /** @class */ (function () {
28301
28154
  function _NoopGetTestability() {
28302
28155
  }
@@ -28315,13 +28168,6 @@
28315
28168
  }
28316
28169
  var _testabilityGetter = new _NoopGetTestability();
28317
28170
 
28318
- /**
28319
- * @license
28320
- * Copyright Google LLC All Rights Reserved.
28321
- *
28322
- * Use of this source code is governed by an MIT-style license that can be
28323
- * found in the LICENSE file at https://angular.io/license
28324
- */
28325
28171
  var _platform;
28326
28172
  var compileNgModuleFactory = compileNgModuleFactory__PRE_R3__;
28327
28173
  function compileNgModuleFactory__PRE_R3__(injector, options, moduleType) {
@@ -28629,14 +28475,14 @@
28629
28475
  enumerable: false,
28630
28476
  configurable: true
28631
28477
  });
28632
- PlatformRef.decorators = [
28633
- { type: Injectable }
28634
- ];
28635
- PlatformRef.ctorParameters = function () { return [
28636
- { type: Injector }
28637
- ]; };
28638
28478
  return PlatformRef;
28639
28479
  }());
28480
+ PlatformRef.decorators = [
28481
+ { type: Injectable }
28482
+ ];
28483
+ PlatformRef.ctorParameters = function () { return [
28484
+ { type: Injector }
28485
+ ]; };
28640
28486
  function getNgZone(ngZoneOption, ngZoneEventCoalescing) {
28641
28487
  var ngZone;
28642
28488
  if (ngZoneOption === 'noop') {
@@ -28673,7 +28519,7 @@
28673
28519
  dst = objs.reduce(optionsReducer, dst);
28674
28520
  }
28675
28521
  else {
28676
- dst = __assign(__assign({}, dst), objs);
28522
+ dst = Object.assign(Object.assign({}, dst), objs);
28677
28523
  }
28678
28524
  return dst;
28679
28525
  }
@@ -28994,19 +28840,19 @@
28994
28840
  enumerable: false,
28995
28841
  configurable: true
28996
28842
  });
28997
- ApplicationRef.decorators = [
28998
- { type: Injectable }
28999
- ];
29000
- ApplicationRef.ctorParameters = function () { return [
29001
- { type: NgZone },
29002
- { type: Console },
29003
- { type: Injector },
29004
- { type: ErrorHandler },
29005
- { type: ComponentFactoryResolver },
29006
- { type: ApplicationInitStatus }
29007
- ]; };
29008
28843
  return ApplicationRef;
29009
28844
  }());
28845
+ ApplicationRef.decorators = [
28846
+ { type: Injectable }
28847
+ ];
28848
+ ApplicationRef.ctorParameters = function () { return [
28849
+ { type: NgZone },
28850
+ { type: Console },
28851
+ { type: Injector },
28852
+ { type: ErrorHandler },
28853
+ { type: ComponentFactoryResolver },
28854
+ { type: ApplicationInitStatus }
28855
+ ]; };
29010
28856
  function remove(list, el) {
29011
28857
  var index = list.indexOf(el);
29012
28858
  if (index > -1) {
@@ -29085,13 +28931,6 @@
29085
28931
  return new Error("No module with ID " + id + " loaded");
29086
28932
  }
29087
28933
 
29088
- /**
29089
- * @license
29090
- * Copyright Google LLC All Rights Reserved.
29091
- *
29092
- * Use of this source code is governed by an MIT-style license that can be
29093
- * found in the LICENSE file at https://angular.io/license
29094
- */
29095
28934
  var _SEPARATOR = '#';
29096
28935
  var FACTORY_CLASS_SUFFIX = 'NgFactory';
29097
28936
  /**
@@ -29148,15 +28987,15 @@
29148
28987
  .then(function (module) { return module[exportName + factoryClassSuffix]; })
29149
28988
  .then(function (factory) { return checkNotEmpty(factory, module, exportName); });
29150
28989
  };
29151
- SystemJsNgModuleLoader.decorators = [
29152
- { type: Injectable }
29153
- ];
29154
- SystemJsNgModuleLoader.ctorParameters = function () { return [
29155
- { type: Compiler },
29156
- { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional }] }
29157
- ]; };
29158
28990
  return SystemJsNgModuleLoader;
29159
28991
  }());
28992
+ SystemJsNgModuleLoader.decorators = [
28993
+ { type: Injectable }
28994
+ ];
28995
+ SystemJsNgModuleLoader.ctorParameters = function () { return [
28996
+ { type: Compiler },
28997
+ { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional }] }
28998
+ ]; };
29160
28999
  function checkNotEmpty(value, modulePath, exportName) {
29161
29000
  if (!value) {
29162
29001
  throw new Error("Cannot find '" + exportName + "' in '" + modulePath + "'");
@@ -29165,19 +29004,9 @@
29165
29004
  }
29166
29005
 
29167
29006
  /**
29168
- * @license
29169
- * Copyright Google LLC All Rights Reserved.
29170
- *
29171
- * Use of this source code is governed by an MIT-style license that can be
29172
- * found in the LICENSE file at https://angular.io/license
29173
- */
29174
- /**
29175
- * Represents an Angular [view](guide/glossary#view),
29176
- * specifically the [host view](guide/glossary#view-tree) that is defined by a component.
29177
- * Also serves as the base class
29178
- * that adds destroy methods for [embedded views](guide/glossary#view-tree).
29007
+ * Represents an Angular [view](guide/glossary#view "Definition").
29179
29008
  *
29180
- * @see `EmbeddedViewRef`
29009
+ * @see {@link ChangeDetectorRef#usage-notes Change detection usage}
29181
29010
  *
29182
29011
  * @publicApi
29183
29012
  */
@@ -29257,13 +29086,6 @@
29257
29086
  * found in the LICENSE file at https://angular.io/license
29258
29087
  */
29259
29088
 
29260
- /**
29261
- * @license
29262
- * Copyright Google LLC All Rights Reserved.
29263
- *
29264
- * Use of this source code is governed by an MIT-style license that can be
29265
- * found in the LICENSE file at https://angular.io/license
29266
- */
29267
29089
  /**
29268
29090
  * @publicApi
29269
29091
  */
@@ -30121,22 +29943,15 @@
30121
29943
  // Inject ApplicationRef to make it eager...
30122
29944
  function ApplicationModule(appRef) {
30123
29945
  }
30124
- ApplicationModule.decorators = [
30125
- { type: NgModule, args: [{ providers: APPLICATION_MODULE_PROVIDERS },] }
30126
- ];
30127
- ApplicationModule.ctorParameters = function () { return [
30128
- { type: ApplicationRef }
30129
- ]; };
30130
29946
  return ApplicationModule;
30131
29947
  }());
29948
+ ApplicationModule.decorators = [
29949
+ { type: NgModule, args: [{ providers: APPLICATION_MODULE_PROVIDERS },] }
29950
+ ];
29951
+ ApplicationModule.ctorParameters = function () { return [
29952
+ { type: ApplicationRef }
29953
+ ]; };
30132
29954
 
30133
- /**
30134
- * @license
30135
- * Copyright Google LLC All Rights Reserved.
30136
- *
30137
- * Use of this source code is governed by an MIT-style license that can be
30138
- * found in the LICENSE file at https://angular.io/license
30139
- */
30140
29955
  function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleEvent, templateFactory) {
30141
29956
  flags |= 1 /* TypeElement */;
30142
29957
  var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds;
@@ -30294,8 +30109,8 @@
30294
30109
  }
30295
30110
  if (elDef.attrs) {
30296
30111
  for (var i = 0; i < elDef.attrs.length; i++) {
30297
- var _a = __read(elDef.attrs[i], 3), ns = _a[0], name_2 = _a[1], value = _a[2];
30298
- renderer.setAttribute(el, name_2, value, ns);
30112
+ var _a = __read(elDef.attrs[i], 3), ns = _a[0], name = _a[1], value = _a[2];
30113
+ renderer.setAttribute(el, name, value, ns);
30299
30114
  }
30300
30115
  }
30301
30116
  return el;
@@ -30647,13 +30462,6 @@
30647
30462
  visitProjectedRenderNodes(view, ngContentIndex, 1 /* AppendChild */, parentEl, null, undefined);
30648
30463
  }
30649
30464
 
30650
- /**
30651
- * @license
30652
- * Copyright Google LLC All Rights Reserved.
30653
- *
30654
- * Use of this source code is governed by an MIT-style license that can be
30655
- * found in the LICENSE file at https://angular.io/license
30656
- */
30657
30465
  function purePipeDef(checkIndex, argCount) {
30658
30466
  // argCount + 1 to include the pipe as first arg
30659
30467
  return _pureExpressionDef(128 /* TypePurePipe */, checkIndex, newArray(argCount + 1));
@@ -31110,9 +30918,7 @@
31110
30918
  }
31111
30919
  }
31112
30920
  }
31113
- var handleEvent = function (view, nodeIndex, eventName, event) {
31114
- return nodes[nodeIndex].element.handleEvent(view, eventName, event);
31115
- };
30921
+ var handleEvent = function (view, nodeIndex, eventName, event) { return nodes[nodeIndex].element.handleEvent(view, eventName, event); };
31116
30922
  return {
31117
30923
  // Will be filled later...
31118
30924
  factory: null,
@@ -31617,13 +31423,6 @@
31617
31423
  }
31618
31424
  }
31619
31425
 
31620
- /**
31621
- * @license
31622
- * Copyright Google LLC All Rights Reserved.
31623
- *
31624
- * Use of this source code is governed by an MIT-style license that can be
31625
- * found in the LICENSE file at https://angular.io/license
31626
- */
31627
31426
  var initialized = false;
31628
31427
  function initServicesIfNeeded() {
31629
31428
  if (initialized) {
@@ -31663,9 +31462,7 @@
31663
31462
  checkNoChangesView: checkNoChangesView,
31664
31463
  destroyView: destroyView,
31665
31464
  createDebugContext: function (view, nodeIndex) { return new DebugContext_(view, nodeIndex); },
31666
- handleEvent: function (view, nodeIndex, eventName, event) {
31667
- return view.def.handleEvent(view, nodeIndex, eventName, event);
31668
- },
31465
+ handleEvent: function (view, nodeIndex, eventName, event) { return view.def.handleEvent(view, nodeIndex, eventName, event); },
31669
31466
  updateDirectives: function (view, checkType) { return view.def.updateDirectives(checkType === 0 /* CheckAndUpdate */ ? prodCheckAndUpdateNode : prodCheckNoChangesNode, view); },
31670
31467
  updateRenderer: function (view, checkType) { return view.def.updateRenderer(checkType === 0 /* CheckAndUpdate */ ? prodCheckAndUpdateNode : prodCheckNoChangesNode, view); },
31671
31468
  };
@@ -32400,13 +32197,6 @@
32400
32197
  return DebugRenderer2;
32401
32198
  }());
32402
32199
 
32403
- /**
32404
- * @license
32405
- * Copyright Google LLC All Rights Reserved.
32406
- *
32407
- * Use of this source code is governed by an MIT-style license that can be
32408
- * found in the LICENSE file at https://angular.io/license
32409
- */
32410
32200
  function overrideProvider(override) {
32411
32201
  initServicesIfNeeded();
32412
32202
  return Services.overrideProvider(override);
@@ -32683,21 +32473,22 @@
32683
32473
  exports.ɵand = anchorDef;
32684
32474
  exports.ɵangular_packages_core_core_a = isForwardRef;
32685
32475
  exports.ɵangular_packages_core_core_b = injectInjectorOnly;
32686
- exports.ɵangular_packages_core_core_ba = getLView;
32687
- exports.ɵangular_packages_core_core_bb = getPreviousOrParentTNode;
32688
- exports.ɵangular_packages_core_core_bc = getBindingRoot;
32689
- exports.ɵangular_packages_core_core_bd = nextContextImpl;
32690
- exports.ɵangular_packages_core_core_bf = pureFunction1Internal;
32691
- exports.ɵangular_packages_core_core_bg = pureFunction2Internal;
32692
- exports.ɵangular_packages_core_core_bh = pureFunction3Internal;
32693
- exports.ɵangular_packages_core_core_bi = pureFunction4Internal;
32694
- exports.ɵangular_packages_core_core_bj = pureFunctionVInternal;
32695
- exports.ɵangular_packages_core_core_bk = getUrlSanitizer;
32696
- exports.ɵangular_packages_core_core_bl = makeParamDecorator;
32697
- exports.ɵangular_packages_core_core_bm = makePropDecorator;
32698
- exports.ɵangular_packages_core_core_bn = getClosureSafeProperty;
32699
- exports.ɵangular_packages_core_core_bp = noSideEffects;
32700
- exports.ɵangular_packages_core_core_bq = getRootContext;
32476
+ exports.ɵangular_packages_core_core_ba = instructionState;
32477
+ exports.ɵangular_packages_core_core_bb = getLView;
32478
+ exports.ɵangular_packages_core_core_bc = getPreviousOrParentTNode;
32479
+ exports.ɵangular_packages_core_core_bd = getBindingRoot;
32480
+ exports.ɵangular_packages_core_core_be = nextContextImpl;
32481
+ exports.ɵangular_packages_core_core_bg = pureFunction1Internal;
32482
+ exports.ɵangular_packages_core_core_bh = pureFunction2Internal;
32483
+ exports.ɵangular_packages_core_core_bi = pureFunction3Internal;
32484
+ exports.ɵangular_packages_core_core_bj = pureFunction4Internal;
32485
+ exports.ɵangular_packages_core_core_bk = pureFunctionVInternal;
32486
+ exports.ɵangular_packages_core_core_bl = getUrlSanitizer;
32487
+ exports.ɵangular_packages_core_core_bm = makeParamDecorator;
32488
+ exports.ɵangular_packages_core_core_bn = makePropDecorator;
32489
+ exports.ɵangular_packages_core_core_bo = getClosureSafeProperty;
32490
+ exports.ɵangular_packages_core_core_bq = noSideEffects;
32491
+ exports.ɵangular_packages_core_core_br = getRootContext;
32701
32492
  exports.ɵangular_packages_core_core_c = NullInjector;
32702
32493
  exports.ɵangular_packages_core_core_d = ReflectiveInjector_;
32703
32494
  exports.ɵangular_packages_core_core_e = ReflectiveDependency;
@@ -32719,9 +32510,9 @@
32719
32510
  exports.ɵangular_packages_core_core_u = USD_CURRENCY_CODE;
32720
32511
  exports.ɵangular_packages_core_core_v = _def;
32721
32512
  exports.ɵangular_packages_core_core_w = DebugContext;
32722
- exports.ɵangular_packages_core_core_x = SCHEDULER;
32723
- exports.ɵangular_packages_core_core_y = injectAttributeImpl;
32724
- exports.ɵangular_packages_core_core_z = instructionState;
32513
+ exports.ɵangular_packages_core_core_x = NgOnChangesFeatureImpl;
32514
+ exports.ɵangular_packages_core_core_y = SCHEDULER;
32515
+ exports.ɵangular_packages_core_core_z = injectAttributeImpl;
32725
32516
  exports.ɵbypassSanitizationTrustHtml = bypassSanitizationTrustHtml;
32726
32517
  exports.ɵbypassSanitizationTrustResourceUrl = bypassSanitizationTrustResourceUrl;
32727
32518
  exports.ɵbypassSanitizationTrustScript = bypassSanitizationTrustScript;
@@ -32831,7 +32622,6 @@
32831
32622
  exports.ɵɵclassMapInterpolate8 = ɵɵclassMapInterpolate8;
32832
32623
  exports.ɵɵclassMapInterpolateV = ɵɵclassMapInterpolateV;
32833
32624
  exports.ɵɵclassProp = ɵɵclassProp;
32834
- exports.ɵɵcomponentHostSyntheticListener = ɵɵcomponentHostSyntheticListener;
32835
32625
  exports.ɵɵcontentQuery = ɵɵcontentQuery;
32836
32626
  exports.ɵɵdefineComponent = ɵɵdefineComponent;
32837
32627
  exports.ɵɵdefineDirective = ɵɵdefineDirective;
@@ -32936,6 +32726,8 @@
32936
32726
  exports.ɵɵstylePropInterpolate7 = ɵɵstylePropInterpolate7;
32937
32727
  exports.ɵɵstylePropInterpolate8 = ɵɵstylePropInterpolate8;
32938
32728
  exports.ɵɵstylePropInterpolateV = ɵɵstylePropInterpolateV;
32729
+ exports.ɵɵsyntheticHostListener = ɵɵsyntheticHostListener;
32730
+ exports.ɵɵsyntheticHostProperty = ɵɵsyntheticHostProperty;
32939
32731
  exports.ɵɵtemplate = ɵɵtemplate;
32940
32732
  exports.ɵɵtemplateRefExtractor = ɵɵtemplateRefExtractor;
32941
32733
  exports.ɵɵtext = ɵɵtext;
@@ -32949,7 +32741,6 @@
32949
32741
  exports.ɵɵtextInterpolate7 = ɵɵtextInterpolate7;
32950
32742
  exports.ɵɵtextInterpolate8 = ɵɵtextInterpolate8;
32951
32743
  exports.ɵɵtextInterpolateV = ɵɵtextInterpolateV;
32952
- exports.ɵɵupdateSyntheticHostBinding = ɵɵupdateSyntheticHostBinding;
32953
32744
  exports.ɵɵviewQuery = ɵɵviewQuery;
32954
32745
 
32955
32746
  Object.defineProperty(exports, '__esModule', { value: true });