@angular/core 8.2.0 → 8.2.4

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 (53) hide show
  1. package/bundles/core-testing.umd.js +94 -1
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +3 -2
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +427 -60
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +136 -156
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.d.ts +18 -8
  10. package/core.metadata.json +1 -1
  11. package/esm2015/core.externs.js +4 -4
  12. package/esm2015/index.js +1 -1
  13. package/esm2015/public_api.js +1 -1
  14. package/esm2015/src/application_module.js +11 -2
  15. package/esm2015/src/application_ref.js +9 -5
  16. package/esm2015/src/core.js +3 -3
  17. package/esm2015/src/core_private_export.js +2 -1
  18. package/esm2015/src/core_render3_private_export.js +2 -2
  19. package/esm2015/src/event_emitter.js +9 -4
  20. package/esm2015/src/i18n/localization.js +6 -1
  21. package/esm2015/src/metadata/directives.js +1 -1
  22. package/esm2015/src/render3/i18n.js +6 -5
  23. package/esm2015/src/render3/index.js +2 -2
  24. package/esm2015/src/version.js +1 -1
  25. package/esm5/src/application_module.js +11 -2
  26. package/esm5/src/application_ref.js +8 -4
  27. package/esm5/src/core_private_export.js +2 -1
  28. package/esm5/src/core_render3_private_export.js +2 -2
  29. package/esm5/src/event_emitter.js +9 -4
  30. package/esm5/src/i18n/localization.js +5 -1
  31. package/esm5/src/metadata/directives.js +1 -1
  32. package/esm5/src/render3/i18n.js +6 -4
  33. package/esm5/src/render3/index.js +2 -2
  34. package/esm5/src/version.js +1 -1
  35. package/fesm2015/core.js +7363 -69
  36. package/fesm2015/core.js.map +1 -1
  37. package/fesm2015/testing.js +593 -2
  38. package/fesm2015/testing.js.map +1 -1
  39. package/fesm5/core.js +327 -58
  40. package/fesm5/core.js.map +1 -1
  41. package/fesm5/testing.js +15 -2
  42. package/fesm5/testing.js.map +1 -1
  43. package/package.json +1 -1
  44. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +5 -5
  45. package/src/r3_symbols.d.ts +1 -1
  46. package/testing/testing.d.ts +1 -1
  47. package/testing.d.ts +1 -1
  48. package/schematics/migrations/injectable-pipe/angular/injectable_pipe_visitor.d.ts +0 -30
  49. package/schematics/migrations/injectable-pipe/angular/injectable_pipe_visitor.js +0 -68
  50. package/schematics/migrations/injectable-pipe/index.d.ts +0 -14
  51. package/schematics/migrations/injectable-pipe/index.js +0 -85
  52. package/schematics/migrations/injectable-pipe/util.d.ts +0 -19
  53. package/schematics/migrations/injectable-pipe/util.js +0 -44
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v8.2.0
2
+ * @license Angular v8.2.4
3
3
  * (c) 2010-2019 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -50,6 +50,16 @@
50
50
  return __assign.apply(this, arguments);
51
51
  };
52
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++) if (e.indexOf(p[i]) < 0)
59
+ t[p[i]] = s[p[i]];
60
+ return t;
61
+ }
62
+
53
63
  function __decorate(decorators, target, key, desc) {
54
64
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
55
65
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -65,6 +75,47 @@
65
75
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
66
76
  }
67
77
 
78
+ function __awaiter(thisArg, _arguments, P, generator) {
79
+ return new (P || (P = Promise))(function (resolve, reject) {
80
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
81
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
82
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
83
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
84
+ });
85
+ }
86
+
87
+ function __generator(thisArg, body) {
88
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
89
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
90
+ function verb(n) { return function (v) { return step([n, v]); }; }
91
+ function step(op) {
92
+ if (f) throw new TypeError("Generator is already executing.");
93
+ while (_) try {
94
+ 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;
95
+ if (y = 0, t) op = [op[0] & 2, t.value];
96
+ switch (op[0]) {
97
+ case 0: case 1: t = op; break;
98
+ case 4: _.label++; return { value: op[1], done: false };
99
+ case 5: _.label++; y = op[1]; op = [0]; continue;
100
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
101
+ default:
102
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
103
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
104
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
105
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
106
+ if (t[2]) _.ops.pop();
107
+ _.trys.pop(); continue;
108
+ }
109
+ op = body.call(thisArg, _);
110
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
111
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
112
+ }
113
+ }
114
+
115
+ function __exportStar(m, exports) {
116
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
117
+ }
118
+
68
119
  function __values(o) {
69
120
  var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
70
121
  if (m) return m.call(o);
@@ -97,6 +148,53 @@
97
148
  for (var ar = [], i = 0; i < arguments.length; i++)
98
149
  ar = ar.concat(__read(arguments[i]));
99
150
  return ar;
151
+ }
152
+
153
+ function __await(v) {
154
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
155
+ }
156
+
157
+ function __asyncGenerator(thisArg, _arguments, generator) {
158
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
159
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
160
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
161
+ 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); }); }; }
162
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
163
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
164
+ function fulfill(value) { resume("next", value); }
165
+ function reject(value) { resume("throw", value); }
166
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
167
+ }
168
+
169
+ function __asyncDelegator(o) {
170
+ var i, p;
171
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
172
+ 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; }
173
+ }
174
+
175
+ function __asyncValues(o) {
176
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
177
+ var m = o[Symbol.asyncIterator], i;
178
+ 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);
179
+ 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); }); }; }
180
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
181
+ }
182
+
183
+ function __makeTemplateObject(cooked, raw) {
184
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
185
+ return cooked;
186
+ };
187
+
188
+ function __importStar(mod) {
189
+ if (mod && mod.__esModule) return mod;
190
+ var result = {};
191
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
192
+ result.default = mod;
193
+ return result;
194
+ }
195
+
196
+ function __importDefault(mod) {
197
+ return (mod && mod.__esModule) ? mod : { default: mod };
100
198
  }
101
199
 
102
200
  /**
@@ -971,6 +1069,11 @@
971
1069
  * Use of this source code is governed by an MIT-style license that can be
972
1070
  * found in the LICENSE file at https://angular.io/license
973
1071
  */
1072
+ function assertNumber(actual, msg) {
1073
+ if (typeof actual != 'number') {
1074
+ throwError(msg);
1075
+ }
1076
+ }
974
1077
  function assertEqual(actual, expected, msg) {
975
1078
  if (actual != expected) {
976
1079
  throwError(msg);
@@ -981,6 +1084,11 @@
981
1084
  throwError(msg);
982
1085
  }
983
1086
  }
1087
+ function assertSame(actual, expected, msg) {
1088
+ if (actual !== expected) {
1089
+ throwError(msg);
1090
+ }
1091
+ }
984
1092
  function assertNotSame(actual, expected, msg) {
985
1093
  if (actual === expected) {
986
1094
  throwError(msg);
@@ -996,6 +1104,11 @@
996
1104
  throwError(msg);
997
1105
  }
998
1106
  }
1107
+ function assertNotDefined(actual, msg) {
1108
+ if (actual != null) {
1109
+ throwError(msg);
1110
+ }
1111
+ }
999
1112
  function assertDefined(actual, msg) {
1000
1113
  if (actual == null) {
1001
1114
  throwError(msg);
@@ -1605,6 +1718,9 @@
1605
1718
  var PREORDER_HOOK_FLAGS = 18;
1606
1719
  /** Size of LView's header. Necessary to adjust for it when setting slots. */
1607
1720
  var HEADER_OFFSET = 19;
1721
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
1722
+ // failure based on types.
1723
+ var unusedValueExportToPlacateAjd = 1;
1608
1724
 
1609
1725
  /**
1610
1726
  * @license
@@ -1639,6 +1755,9 @@
1639
1755
  * remove views from the DOM when they are no longer required.
1640
1756
  */
1641
1757
  var CONTAINER_HEADER_OFFSET = 9;
1758
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
1759
+ // failure based on types.
1760
+ var unusedValueExportToPlacateAjd$1 = 1;
1642
1761
 
1643
1762
  /**
1644
1763
  * @license
@@ -1703,6 +1822,11 @@
1703
1822
  assertDefined(tNode, 'previousOrParentTNode should exist!');
1704
1823
  assertDefined(tNode.parent, 'previousOrParentTNode should have a parent');
1705
1824
  }
1825
+ function assertDataNext(lView, index, arr) {
1826
+ if (arr == null)
1827
+ arr = lView;
1828
+ assertEqual(arr.length, index, "index " + index + " expected to be at the end of arr (length " + arr.length + ")");
1829
+ }
1706
1830
  function assertLContainerOrUndefined(value) {
1707
1831
  value && assertEqual(isLContainer(value), true, 'Expecting LContainer or undefined or null');
1708
1832
  }
@@ -1852,6 +1976,9 @@
1852
1976
  return obj !== null && typeof obj == 'object' &&
1853
1977
  Object.getPrototypeOf(obj) == NodeInjectorFactory.prototype;
1854
1978
  }
1979
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
1980
+ // failure based on types.
1981
+ var unusedValueExportToPlacateAjd$2 = 1;
1855
1982
 
1856
1983
  /**
1857
1984
  * @license
@@ -2254,6 +2381,34 @@
2254
2381
  }
2255
2382
  return value;
2256
2383
  }
2384
+ /**
2385
+ * Returns `LView` or `null` if not found.
2386
+ * @param value wrapped value of `RNode`, `LView`, `LContainer`
2387
+ */
2388
+ function unwrapLView(value) {
2389
+ while (Array.isArray(value)) {
2390
+ // This check is same as `isLView()` but we don't call at as we don't want to call
2391
+ // `Array.isArray()` twice and give JITer more work for inlining.
2392
+ if (typeof value[TYPE] === 'object')
2393
+ return value;
2394
+ value = value[HOST];
2395
+ }
2396
+ return null;
2397
+ }
2398
+ /**
2399
+ * Returns `LContainer` or `null` if not found.
2400
+ * @param value wrapped value of `RNode`, `LView`, `LContainer`
2401
+ */
2402
+ function unwrapLContainer(value) {
2403
+ while (Array.isArray(value)) {
2404
+ // This check is same as `isLContainer()` but we don't call at as we don't want to call
2405
+ // `Array.isArray()` twice and give JITer more work for inlining.
2406
+ if (value[TYPE] === true)
2407
+ return value;
2408
+ value = value[HOST];
2409
+ }
2410
+ return null;
2411
+ }
2257
2412
  /**
2258
2413
  * Retrieves an element value from the provided `viewData`, by unwrapping
2259
2414
  * from any containers, component views, or style contexts.
@@ -3056,6 +3211,9 @@
3056
3211
  return 6 /* MapBindingsBindingsStartPosition */ +
3057
3212
  context[4 /* MapBindingsValuesCountPosition */];
3058
3213
  }
3214
+ function isMapBased(prop) {
3215
+ return prop === MAP_BASED_ENTRY_PROP_NAME;
3216
+ }
3059
3217
  function hasValueChanged(a, b) {
3060
3218
  var compareValueA = Array.isArray(a) ? a[0 /* RawValuePosition */] : a;
3061
3219
  var compareValueB = Array.isArray(b) ? b[0 /* RawValuePosition */] : b;
@@ -3165,6 +3323,9 @@
3165
3323
  var domRendererFactory3 = {
3166
3324
  createRenderer: ɵ0$3
3167
3325
  };
3326
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
3327
+ // failure based on types.
3328
+ var unusedValueExportToPlacateAjd$3 = 1;
3168
3329
 
3169
3330
  /**
3170
3331
  * Assigns all attribute values to the provided element via the inferred renderer.
@@ -3242,6 +3403,15 @@
3242
3403
  // iterated over.
3243
3404
  return i;
3244
3405
  }
3406
+ function attrsStylingIndexOf(attrs, startIndex) {
3407
+ for (var i = startIndex; i < attrs.length; i++) {
3408
+ var val = attrs[i];
3409
+ if (val === 1 /* Classes */ || val === 2 /* Styles */) {
3410
+ return i;
3411
+ }
3412
+ }
3413
+ return -1;
3414
+ }
3245
3415
  /**
3246
3416
  * Test whether the given value is a marker that indicates that the following
3247
3417
  * attribute values in a `TAttributes` array are only the names of attributes,
@@ -3952,6 +4122,7 @@
3952
4122
  * Use of this source code is governed by an MIT-style license that can be
3953
4123
  * found in the LICENSE file at https://angular.io/license
3954
4124
  */
4125
+ var ERROR_TYPE = 'ngType';
3955
4126
  var ERROR_DEBUG_CONTEXT = 'ngDebugContext';
3956
4127
  var ERROR_ORIGINAL_ERROR = 'ngOriginalError';
3957
4128
  var ERROR_LOGGER = 'ngErrorLogger';
@@ -3969,6 +4140,9 @@
3969
4140
  * Use of this source code is governed by an MIT-style license that can be
3970
4141
  * found in the LICENSE file at https://angular.io/license
3971
4142
  */
4143
+ function getType(error) {
4144
+ return error[ERROR_TYPE];
4145
+ }
3972
4146
  function getDebugContext(error) {
3973
4147
  return error[ERROR_DEBUG_CONTEXT];
3974
4148
  }
@@ -4400,6 +4574,8 @@
4400
4574
  * This regular expression was taken from the Closure sanitization library.
4401
4575
  */
4402
4576
  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
4577
+ /* A pattern that matches safe srcset values */
4578
+ var SAFE_SRCSET_PATTERN = /^(?:(?:https?|file):|[^&:/?#]*(?:[/?#]|$))/gi;
4403
4579
  /** A pattern that matches safe data URLs. Only matches image, video and audio types. */
4404
4580
  var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;
4405
4581
  function _sanitizeUrl(url) {
@@ -5397,6 +5573,8 @@
5397
5573
  }
5398
5574
 
5399
5575
  // Note: This hack is necessary so we don't erroneously get a circular dependency
5576
+ // failure based on types.
5577
+ var unusedValueExportToPlacateAjd$4 = 1;
5400
5578
 
5401
5579
  /**
5402
5580
  * @license
@@ -5405,6 +5583,9 @@
5405
5583
  * Use of this source code is governed by an MIT-style license that can be
5406
5584
  * found in the LICENSE file at https://angular.io/license
5407
5585
  */
5586
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
5587
+ // failure based on types.
5588
+ var unusedValueExportToPlacateAjd$5 = 1;
5408
5589
 
5409
5590
  /**
5410
5591
  * @license
@@ -5413,6 +5594,7 @@
5413
5594
  * Use of this source code is governed by an MIT-style license that can be
5414
5595
  * found in the LICENSE file at https://angular.io/license
5415
5596
  */
5597
+ var unusedValueToPlacateAjd = unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5;
5416
5598
  var NG_TEMPLATE_SELECTOR = 'ng-template';
5417
5599
  function isCssClassMatching(nodeClassAttrVal, cssClassToMatch) {
5418
5600
  var nodeClassesLen = nodeClassAttrVal.length;
@@ -6193,6 +6375,7 @@
6193
6375
  (nativeStyle && nativeStyle.removeProperty(prop));
6194
6376
  }
6195
6377
  };
6378
+ var ɵ0$4 = setStyle;
6196
6379
  /**
6197
6380
  * Adds/removes the provided className value to the provided element.
6198
6381
  */
@@ -6215,6 +6398,7 @@
6215
6398
  }
6216
6399
  }
6217
6400
  };
6401
+ var ɵ1$1 = setClass;
6218
6402
  /**
6219
6403
  * Iterates over all provided styling entries and renders them on the element.
6220
6404
  *
@@ -6299,6 +6483,9 @@
6299
6483
  var COMMENT_MARKER = {
6300
6484
  marker: 'comment'
6301
6485
  };
6486
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
6487
+ // failure based on types.
6488
+ var unusedValueExportToPlacateAjd$6 = 1;
6302
6489
 
6303
6490
  /**
6304
6491
  * @license
@@ -7515,12 +7702,12 @@
7515
7702
  setSelectedIndex(index);
7516
7703
  }
7517
7704
 
7518
- var ɵ0$4 = function () { return Promise.resolve(null); };
7705
+ var ɵ0$5 = function () { return Promise.resolve(null); };
7519
7706
  /**
7520
7707
  * A permanent marker promise which signifies that the current CD tree is
7521
7708
  * clean.
7522
7709
  */
7523
- var _CLEAN_PROMISE = (ɵ0$4)();
7710
+ var _CLEAN_PROMISE = (ɵ0$5)();
7524
7711
  /**
7525
7712
  * Refreshes the view, executing the following steps in that order:
7526
7713
  * triggers init hooks, refreshes dynamic embedded views, triggers content hooks, sets host
@@ -8922,6 +9109,16 @@
8922
9109
  function detectChangesInRootView(lView) {
8923
9110
  tickRootContext(lView[CONTEXT]);
8924
9111
  }
9112
+ /**
9113
+ * Checks the change detector and its children, and throws if any changes are detected.
9114
+ *
9115
+ * This is used in development mode to verify that running change detection doesn't
9116
+ * introduce other changes.
9117
+ */
9118
+ function checkNoChanges(component) {
9119
+ var view = getComponentViewByInstance(component);
9120
+ checkNoChangesInternal(view, component);
9121
+ }
8925
9122
  function checkNoChangesInternal(view, context) {
8926
9123
  setCheckNoChangesMode(true);
8927
9124
  try {
@@ -9093,6 +9290,7 @@
9093
9290
  * Use of this source code is governed by an MIT-style license that can be
9094
9291
  * found in the LICENSE file at https://angular.io/license
9095
9292
  */
9293
+ var unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$3 + unusedValueExportToPlacateAjd;
9096
9294
  function getLContainer(tNode, embeddedView) {
9097
9295
  ngDevMode && assertLView(embeddedView);
9098
9296
  var container = embeddedView[PARENT];
@@ -10645,6 +10843,7 @@
10645
10843
  args[_i] = arguments[_i];
10646
10844
  }
10647
10845
  };
10846
+ var ɵ0$6 = SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__;
10648
10847
  var SWITCH_CHANGE_DETECTOR_REF_FACTORY = SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__;
10649
10848
 
10650
10849
  /**
@@ -11066,8 +11265,8 @@
11066
11265
  },
11067
11266
  });
11068
11267
  }
11069
- var ɵ0$5 = getClosureSafeProperty;
11070
- var USE_VALUE$1 = getClosureSafeProperty({ provide: String, useValue: ɵ0$5 });
11268
+ var ɵ0$7 = getClosureSafeProperty;
11269
+ var USE_VALUE$1 = getClosureSafeProperty({ provide: String, useValue: ɵ0$7 });
11071
11270
  function isUseClassProvider(meta) {
11072
11271
  return meta.useClass !== undefined;
11073
11272
  }
@@ -11088,8 +11287,8 @@
11088
11287
  * Use of this source code is governed by an MIT-style license that can be
11089
11288
  * found in the LICENSE file at https://angular.io/license
11090
11289
  */
11091
- var ɵ0$6 = getClosureSafeProperty;
11092
- var USE_VALUE$2 = getClosureSafeProperty({ provide: String, useValue: ɵ0$6 });
11290
+ var ɵ0$8 = getClosureSafeProperty;
11291
+ var USE_VALUE$2 = getClosureSafeProperty({ provide: String, useValue: ɵ0$8 });
11093
11292
  var EMPTY_ARRAY$1 = [];
11094
11293
  function convertInjectableProviderToFactory(type, provider) {
11095
11294
  if (!provider) {
@@ -11139,14 +11338,14 @@
11139
11338
  * Use of this source code is governed by an MIT-style license that can be
11140
11339
  * found in the LICENSE file at https://angular.io/license
11141
11340
  */
11142
- var ɵ0$7 = function (type, meta) { return SWITCH_COMPILE_INJECTABLE(type, meta); };
11341
+ var ɵ0$9 = function (type, meta) { return SWITCH_COMPILE_INJECTABLE(type, meta); };
11143
11342
  /**
11144
11343
  * Injectable decorator and metadata.
11145
11344
  *
11146
11345
  * @Annotation
11147
11346
  * @publicApi
11148
11347
  */
11149
- var Injectable = makeDecorator('Injectable', undefined, undefined, undefined, ɵ0$7);
11348
+ var Injectable = makeDecorator('Injectable', undefined, undefined, undefined, ɵ0$9);
11150
11349
  /**
11151
11350
  * Supports @Injectable() in JIT mode for Render2.
11152
11351
  */
@@ -11686,11 +11885,13 @@
11686
11885
  var IDENT = function (value) {
11687
11886
  return value;
11688
11887
  };
11888
+ var ɵ0$a = IDENT;
11689
11889
  var EMPTY = [];
11690
11890
  var CIRCULAR$1 = IDENT;
11691
11891
  var MULTI_PROVIDER_FN = function () {
11692
11892
  return Array.prototype.slice.call(arguments);
11693
11893
  };
11894
+ var ɵ1$2 = MULTI_PROVIDER_FN;
11694
11895
  var NO_NEW_LINE$1 = 'ɵ';
11695
11896
  var StaticInjector = /** @class */ (function () {
11696
11897
  function StaticInjector(providers, parent, source) {
@@ -11733,7 +11934,9 @@
11733
11934
  else if (provider.useFactory) {
11734
11935
  fn = provider.useFactory;
11735
11936
  }
11736
- else if (provider.useExisting) ;
11937
+ else if (provider.useExisting) {
11938
+ // Just use IDENT
11939
+ }
11737
11940
  else if (provider.useClass) {
11738
11941
  useNew = true;
11739
11942
  fn = resolveForwardRef(provider.useClass);
@@ -12843,7 +13046,7 @@
12843
13046
  }
12844
13047
  return Query;
12845
13048
  }());
12846
- var ɵ0$8 = function (selector, data) {
13049
+ var ɵ0$b = function (selector, data) {
12847
13050
  if (data === void 0) { data = {}; }
12848
13051
  return (__assign({ selector: selector, first: false, isViewQuery: false, descendants: false }, data));
12849
13052
  };
@@ -12854,8 +13057,8 @@
12854
13057
  * @Annotation
12855
13058
  * @publicApi
12856
13059
  */
12857
- var ContentChildren = makePropDecorator('ContentChildren', ɵ0$8, Query);
12858
- var ɵ1$1 = function (selector, data) {
13060
+ var ContentChildren = makePropDecorator('ContentChildren', ɵ0$b, Query);
13061
+ var ɵ1$3 = function (selector, data) {
12859
13062
  if (data === void 0) { data = {}; }
12860
13063
  return (__assign({ selector: selector, first: true, isViewQuery: false, descendants: true }, data));
12861
13064
  };
@@ -12867,7 +13070,7 @@
12867
13070
  *
12868
13071
  * @publicApi
12869
13072
  */
12870
- var ContentChild = makePropDecorator('ContentChild', ɵ1$1, Query);
13073
+ var ContentChild = makePropDecorator('ContentChild', ɵ1$3, Query);
12871
13074
  var ɵ2 = function (selector, data) {
12872
13075
  if (data === void 0) { data = {}; }
12873
13076
  return (__assign({ selector: selector, first: false, isViewQuery: true, descendants: true }, data));
@@ -12977,6 +13180,9 @@
12977
13180
  componentDefPendingResolution.add(type);
12978
13181
  }
12979
13182
  }
13183
+ function isComponentDefPendingResolution(type) {
13184
+ return componentDefPendingResolution.has(type);
13185
+ }
12980
13186
  function componentNeedsResolution(component) {
12981
13187
  return !!((component.templateUrl && !component.hasOwnProperty('template')) ||
12982
13188
  component.styleUrls && component.styleUrls.length);
@@ -12986,6 +13192,11 @@
12986
13192
  componentResourceResolutionQueue = new Map();
12987
13193
  return old;
12988
13194
  }
13195
+ function restoreComponentResolutionQueue(queue) {
13196
+ componentDefPendingResolution.clear();
13197
+ queue.forEach(function (_, type) { return componentDefPendingResolution.add(type); });
13198
+ componentResourceResolutionQueue = queue;
13199
+ }
12989
13200
  function isComponentResourceResolutionQueueEmpty() {
12990
13201
  return componentResourceResolutionQueue.size === 0;
12991
13202
  }
@@ -13090,6 +13301,44 @@
13090
13301
  * Use of this source code is governed by an MIT-style license that can be
13091
13302
  * found in the LICENSE file at https://angular.io/license
13092
13303
  */
13304
+ function isListLikeIterable(obj) {
13305
+ if (!isJsObject(obj))
13306
+ return false;
13307
+ return Array.isArray(obj) ||
13308
+ (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]
13309
+ getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
13310
+ }
13311
+ function areIterablesEqual(a, b, comparator) {
13312
+ var iterator1 = a[getSymbolIterator()]();
13313
+ var iterator2 = b[getSymbolIterator()]();
13314
+ while (true) {
13315
+ var item1 = iterator1.next();
13316
+ var item2 = iterator2.next();
13317
+ if (item1.done && item2.done)
13318
+ return true;
13319
+ if (item1.done || item2.done)
13320
+ return false;
13321
+ if (!comparator(item1.value, item2.value))
13322
+ return false;
13323
+ }
13324
+ }
13325
+ function iterateListLike(obj, fn) {
13326
+ if (Array.isArray(obj)) {
13327
+ for (var i = 0; i < obj.length; i++) {
13328
+ fn(obj[i]);
13329
+ }
13330
+ }
13331
+ else {
13332
+ var iterator = obj[getSymbolIterator()]();
13333
+ var item = void 0;
13334
+ while (!((item = iterator.next()).done)) {
13335
+ fn(item.value);
13336
+ }
13337
+ }
13338
+ }
13339
+ function isJsObject(o) {
13340
+ return o !== null && (typeof o === 'function' || typeof o === 'object');
13341
+ }
13093
13342
 
13094
13343
  /**
13095
13344
  * @license
@@ -13102,6 +13351,23 @@
13102
13351
  function looseIdentical(a, b) {
13103
13352
  return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
13104
13353
  }
13354
+ function devModeEqual(a, b) {
13355
+ var isListLikeIterableA = isListLikeIterable(a);
13356
+ var isListLikeIterableB = isListLikeIterable(b);
13357
+ if (isListLikeIterableA && isListLikeIterableB) {
13358
+ return areIterablesEqual(a, b, devModeEqual);
13359
+ }
13360
+ else {
13361
+ var isAObject = a && (typeof a === 'object' || typeof a === 'function');
13362
+ var isBObject = b && (typeof b === 'object' || typeof b === 'function');
13363
+ if (!isListLikeIterableA && isAObject && !isListLikeIterableB && isBObject) {
13364
+ return true;
13365
+ }
13366
+ else {
13367
+ return looseIdentical(a, b);
13368
+ }
13369
+ }
13370
+ }
13105
13371
 
13106
13372
  /**
13107
13373
  * @license
@@ -13110,11 +13376,11 @@
13110
13376
  * Use of this source code is governed by an MIT-style license that can be
13111
13377
  * found in the LICENSE file at https://angular.io/license
13112
13378
  */
13113
- function devModeEqual(a, b) {
13114
- var isListLikeIterableA = isListLikeIterable(a);
13115
- var isListLikeIterableB = isListLikeIterable(b);
13379
+ function devModeEqual$1(a, b) {
13380
+ var isListLikeIterableA = isListLikeIterable$1(a);
13381
+ var isListLikeIterableB = isListLikeIterable$1(b);
13116
13382
  if (isListLikeIterableA && isListLikeIterableB) {
13117
- return areIterablesEqual(a, b, devModeEqual);
13383
+ return areIterablesEqual$1(a, b, devModeEqual$1);
13118
13384
  }
13119
13385
  else {
13120
13386
  var isAObject = a && (typeof a === 'object' || typeof a === 'function');
@@ -13162,14 +13428,14 @@
13162
13428
  WrappedValue.isWrapped = function (value) { return value instanceof WrappedValue; };
13163
13429
  return WrappedValue;
13164
13430
  }());
13165
- function isListLikeIterable(obj) {
13166
- if (!isJsObject(obj))
13431
+ function isListLikeIterable$1(obj) {
13432
+ if (!isJsObject$1(obj))
13167
13433
  return false;
13168
13434
  return Array.isArray(obj) ||
13169
13435
  (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]
13170
13436
  getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
13171
13437
  }
13172
- function areIterablesEqual(a, b, comparator) {
13438
+ function areIterablesEqual$1(a, b, comparator) {
13173
13439
  var iterator1 = a[getSymbolIterator()]();
13174
13440
  var iterator2 = b[getSymbolIterator()]();
13175
13441
  while (true) {
@@ -13183,7 +13449,7 @@
13183
13449
  return false;
13184
13450
  }
13185
13451
  }
13186
- function iterateListLike(obj, fn) {
13452
+ function iterateListLike$1(obj, fn) {
13187
13453
  if (Array.isArray(obj)) {
13188
13454
  for (var i = 0; i < obj.length; i++) {
13189
13455
  fn(obj[i]);
@@ -13197,7 +13463,7 @@
13197
13463
  }
13198
13464
  }
13199
13465
  }
13200
- function isJsObject(o) {
13466
+ function isJsObject$1(o) {
13201
13467
  return o !== null && (typeof o === 'function' || typeof o === 'object');
13202
13468
  }
13203
13469
 
@@ -13231,7 +13497,7 @@
13231
13497
  // View engine didn't report undefined values as changed on the first checkNoChanges pass
13232
13498
  // (before the change detection was run).
13233
13499
  var oldValueToCompare = oldValue !== NO_CHANGE ? oldValue : undefined;
13234
- if (!devModeEqual(oldValueToCompare, value)) {
13500
+ if (!devModeEqual$1(oldValueToCompare, value)) {
13235
13501
  throwErrorIfNoChangesMode(oldValue === NO_CHANGE, oldValueToCompare, value);
13236
13502
  }
13237
13503
  }
@@ -13943,6 +14209,23 @@
13943
14209
  ngDevMode && assertDefined(rootView[CONTEXT], 'rootContext should be defined');
13944
14210
  scheduleTick(rootView[CONTEXT], 1 /* DetectChanges */);
13945
14211
  }
14212
+ /**
14213
+ * Used to perform change detection on the whole application.
14214
+ *
14215
+ * This is equivalent to `detectChanges`, but invoked on root component. Additionally, `tick`
14216
+ * executes lifecycle hooks and conditionally checks components based on their
14217
+ * `ChangeDetectionStrategy` and dirtiness.
14218
+ *
14219
+ * The preferred way to trigger change detection is to call `markDirty`. `markDirty` internally
14220
+ * schedules `tick` using a scheduler in order to coalesce multiple `markDirty` calls into a
14221
+ * single change detection run. By default, the scheduler is `requestAnimationFrame`, but can
14222
+ * be changed when calling `renderComponent` and providing the `scheduler` option.
14223
+ */
14224
+ function tick(component) {
14225
+ var rootView = getRootView(component);
14226
+ var rootContext = rootView[CONTEXT];
14227
+ tickRootContext(rootContext);
14228
+ }
13946
14229
 
13947
14230
  /**
13948
14231
  * @license
@@ -17095,6 +17378,20 @@
17095
17378
  function getHostElement(directive) {
17096
17379
  return getLContext(directive).native;
17097
17380
  }
17381
+ /**
17382
+ * Retrieves the rendered text for a given component.
17383
+ *
17384
+ * This function retrieves the host element of a component and
17385
+ * and then returns the `textContent` for that element. This implies
17386
+ * that the text returned will include re-projected content of
17387
+ * the component as well.
17388
+ *
17389
+ * @param component The component to return the content text for.
17390
+ */
17391
+ function getRenderedText(component) {
17392
+ var hostElement = getHostElement(component);
17393
+ return hostElement.textContent || '';
17394
+ }
17098
17395
  function loadLContextFromNode(node) {
17099
17396
  if (!(node instanceof Node))
17100
17397
  throw new Error('Expecting instance of DOM Node');
@@ -17245,6 +17542,13 @@
17245
17542
  * Use of this source code is governed by an MIT-style license that can be
17246
17543
  * found in the LICENSE file at https://angular.io/license
17247
17544
  */
17545
+ var ɵ0$c = function (token, notFoundValue) {
17546
+ throw new Error('NullInjector: Not found: ' + stringifyForError(token));
17547
+ };
17548
+ // TODO: A hack to not pull in the NullInjector from @angular/core.
17549
+ var NULL_INJECTOR$1 = {
17550
+ get: ɵ0$c
17551
+ };
17248
17552
  /**
17249
17553
  * Bootstraps a Component into an existing host element and returns an instance
17250
17554
  * of the component.
@@ -17440,6 +17744,7 @@
17440
17744
  * Use of this source code is governed by an MIT-style license that can be
17441
17745
  * found in the LICENSE file at https://angular.io/license
17442
17746
  */
17747
+ var PRIVATE_PREFIX = '__ngOnChanges_';
17443
17748
  /**
17444
17749
  * The NgOnChangesFeature decorates a component with support for the ngOnChanges
17445
17750
  * lifecycle hook, so it should be included in any component that implements
@@ -18005,6 +18310,9 @@
18005
18310
  return error;
18006
18311
  }
18007
18312
  var ERROR_COMPONENT = 'ngComponent';
18313
+ function getComponent$1(error) {
18314
+ return error[ERROR_COMPONENT];
18315
+ }
18008
18316
  var _NullComponentFactoryResolver = /** @class */ (function () {
18009
18317
  function _NullComponentFactoryResolver() {
18010
18318
  }
@@ -18254,7 +18562,7 @@
18254
18562
  /**
18255
18563
  * @publicApi
18256
18564
  */
18257
- var VERSION = new Version('8.2.0');
18565
+ var VERSION = new Version('8.2.4');
18258
18566
 
18259
18567
  /**
18260
18568
  * @license
@@ -18266,13 +18574,14 @@
18266
18574
  var DefaultIterableDifferFactory = /** @class */ (function () {
18267
18575
  function DefaultIterableDifferFactory() {
18268
18576
  }
18269
- DefaultIterableDifferFactory.prototype.supports = function (obj) { return isListLikeIterable(obj); };
18577
+ DefaultIterableDifferFactory.prototype.supports = function (obj) { return isListLikeIterable$1(obj); };
18270
18578
  DefaultIterableDifferFactory.prototype.create = function (trackByFn) {
18271
18579
  return new DefaultIterableDiffer(trackByFn);
18272
18580
  };
18273
18581
  return DefaultIterableDifferFactory;
18274
18582
  }());
18275
18583
  var trackByIdentity = function (index, item) { return item; };
18584
+ var ɵ0$d = trackByIdentity;
18276
18585
  /**
18277
18586
  * @deprecated v4.0.0 - Should not be part of public API.
18278
18587
  * @publicApi
@@ -18387,7 +18696,7 @@
18387
18696
  DefaultIterableDiffer.prototype.diff = function (collection) {
18388
18697
  if (collection == null)
18389
18698
  collection = [];
18390
- if (!isListLikeIterable(collection)) {
18699
+ if (!isListLikeIterable$1(collection)) {
18391
18700
  throw new Error("Error trying to diff '" + stringify(collection) + "'. Only arrays and iterables are allowed");
18392
18701
  }
18393
18702
  if (this.check(collection)) {
@@ -18428,7 +18737,7 @@
18428
18737
  }
18429
18738
  else {
18430
18739
  index = 0;
18431
- iterateListLike(collection, function (item) {
18740
+ iterateListLike$1(collection, function (item) {
18432
18741
  itemTrackBy = _this._trackByFn(index, item);
18433
18742
  if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {
18434
18743
  record = _this._mismatch(record, item, itemTrackBy, index);
@@ -18940,7 +19249,7 @@
18940
19249
  var DefaultKeyValueDifferFactory = /** @class */ (function () {
18941
19250
  function DefaultKeyValueDifferFactory() {
18942
19251
  }
18943
- DefaultKeyValueDifferFactory.prototype.supports = function (obj) { return obj instanceof Map || isJsObject(obj); };
19252
+ DefaultKeyValueDifferFactory.prototype.supports = function (obj) { return obj instanceof Map || isJsObject$1(obj); };
18944
19253
  DefaultKeyValueDifferFactory.prototype.create = function () { return new DefaultKeyValueDiffer(); };
18945
19254
  return DefaultKeyValueDifferFactory;
18946
19255
  }());
@@ -19000,7 +19309,7 @@
19000
19309
  if (!map) {
19001
19310
  map = new Map();
19002
19311
  }
19003
- else if (!(map instanceof Map || isJsObject(map))) {
19312
+ else if (!(map instanceof Map || isJsObject$1(map))) {
19004
19313
  throw new Error("Error trying to diff '" + stringify(map) + "'. Only maps and objects are allowed");
19005
19314
  }
19006
19315
  return this.check(map) ? this : null;
@@ -19513,6 +19822,22 @@
19513
19822
  }
19514
19823
  return false;
19515
19824
  }
19825
+ /**
19826
+ * Node instance data.
19827
+ *
19828
+ * We have a separate type per NodeType to save memory
19829
+ * (TextData | ElementData | ProviderData | PureExpressionData | QueryList<any>)
19830
+ *
19831
+ * To keep our code monomorphic,
19832
+ * we prohibit using `NodeData` directly but enforce the use of accessors (`asElementData`, ...).
19833
+ * This way, no usage site can get a `NodeData` from view.nodes and then use it for different
19834
+ * purposes.
19835
+ */
19836
+ var NodeData = /** @class */ (function () {
19837
+ function NodeData() {
19838
+ }
19839
+ return NodeData;
19840
+ }());
19516
19841
  /**
19517
19842
  * Accessor for view.nodes, enforcing that every usage site stays monomorphic.
19518
19843
  */
@@ -19645,7 +19970,7 @@
19645
19970
  }
19646
19971
  function checkBindingNoChanges(view, def, bindingIdx, value) {
19647
19972
  var oldValue = view.oldValues[def.bindingIndex + bindingIdx];
19648
- if ((view.state & 1 /* BeforeFirstCheck */) || !devModeEqual(oldValue, value)) {
19973
+ if ((view.state & 1 /* BeforeFirstCheck */) || !devModeEqual$1(oldValue, value)) {
19649
19974
  var bindingName = def.bindings[bindingIdx].name;
19650
19975
  throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.nodeIndex), bindingName + ": " + oldValue, bindingName + ": " + value, (view.state & 1 /* BeforeFirstCheck */) !== 0);
19651
19976
  }
@@ -21399,6 +21724,16 @@
21399
21724
  return ComponentFactory;
21400
21725
  }(ComponentFactory));
21401
21726
  var componentFactoryResolver = new ComponentFactoryResolver$1();
21727
+ /**
21728
+ * Creates a ComponentFactoryResolver and stores it on the injector. Or, if the
21729
+ * ComponentFactoryResolver
21730
+ * already exists, retrieves the existing ComponentFactoryResolver.
21731
+ *
21732
+ * @returns The ComponentFactoryResolver instance to use
21733
+ */
21734
+ function injectComponentFactoryResolver() {
21735
+ return componentFactoryResolver;
21736
+ }
21402
21737
  /**
21403
21738
  * Represents an instance of a Component created via a {@link ComponentFactory}.
21404
21739
  *
@@ -21609,6 +21944,10 @@
21609
21944
  return 'other';
21610
21945
  }
21611
21946
  }
21947
+ /**
21948
+ * The locale id that the application is using by default (for translations and ICU expressions).
21949
+ */
21950
+ var DEFAULT_LOCALE_ID = 'en-US';
21612
21951
 
21613
21952
  /**
21614
21953
  * @license
@@ -22763,7 +23102,6 @@
22763
23102
  * This is the ivy version of `LOCALE_ID` that was defined as an injection token for the view engine
22764
23103
  * but is now defined as a global value.
22765
23104
  */
22766
- var DEFAULT_LOCALE_ID = 'en-US';
22767
23105
  var LOCALE_ID = DEFAULT_LOCALE_ID;
22768
23106
  /**
22769
23107
  * Sets the locale id that will be used for translations and ICU expressions.
@@ -22773,7 +23111,10 @@
22773
23111
  * @param localeId
22774
23112
  */
22775
23113
  function setLocaleId(localeId) {
22776
- LOCALE_ID = localeId.toLowerCase().replace(/_/g, '-');
23114
+ assertDefined(localeId, "Expected localeId to be defined");
23115
+ if (typeof localeId === 'string') {
23116
+ LOCALE_ID = localeId.toLowerCase().replace(/_/g, '-');
23117
+ }
22777
23118
  }
22778
23119
  /**
22779
23120
  * Gets the locale id that will be used for translations and ICU expressions.
@@ -22826,6 +23167,9 @@
22826
23167
  imports.forEach(function (i) { return registerNgModuleType(i); });
22827
23168
  }
22828
23169
  }
23170
+ function clearModulesForTest() {
23171
+ modules.clear();
23172
+ }
22829
23173
  function getRegisteredNgModuleType(id) {
22830
23174
  return modules.get(id);
22831
23175
  }
@@ -23441,12 +23785,16 @@
23441
23785
  * found in the LICENSE file at https://angular.io/license
23442
23786
  */
23443
23787
  /**
23444
- * Use in directives and components to emit custom events synchronously
23445
- * or asynchronously, and register handlers for those events by subscribing
23446
- * to an instance.
23788
+ * Use in components with the `@Output` directive to emit custom events
23789
+ * synchronously or asynchronously, and register handlers for those events
23790
+ * by subscribing to an instance.
23447
23791
  *
23448
23792
  * @usageNotes
23449
23793
  *
23794
+ * Extends
23795
+ * [RxJS `Subject`](https://rxjs.dev/api/index/class/Subject)
23796
+ * for Angular by adding the `emit()` method.
23797
+ *
23450
23798
  * In the following example, a component defines two output properties
23451
23799
  * that create event emitters. When the title is clicked, the emitter
23452
23800
  * emits an open or close event to toggle the current visibility state.
@@ -23484,6 +23832,7 @@
23484
23832
  * <zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>
23485
23833
  * ```
23486
23834
  *
23835
+ * @see [Observables in Angular](guide/observables-in-angular)
23487
23836
  * @publicApi
23488
23837
  */
23489
23838
  var EventEmitter = /** @class */ (function (_super) {
@@ -23681,6 +24030,9 @@
23681
24030
  * Use of this source code is governed by an MIT-style license that can be
23682
24031
  * found in the LICENSE file at https://angular.io/license
23683
24032
  */
24033
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
24034
+ // failure based on types.
24035
+ var unusedValueExportToPlacateAjd$7 = 1;
23684
24036
 
23685
24037
  /**
23686
24038
  * @license
@@ -23689,6 +24041,9 @@
23689
24041
  * Use of this source code is governed by an MIT-style license that can be
23690
24042
  * found in the LICENSE file at https://angular.io/license
23691
24043
  */
24044
+ // Note: This hack is necessary so we don't erroneously get a circular dependency
24045
+ // failure based on types.
24046
+ var unusedValueExportToPlacateAjd$8 = 1;
23692
24047
 
23693
24048
  /**
23694
24049
  * @license
@@ -23697,6 +24052,7 @@
23697
24052
  * Use of this source code is governed by an MIT-style license that can be
23698
24053
  * found in the LICENSE file at https://angular.io/license
23699
24054
  */
24055
+ var unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$8;
23700
24056
  var LQuery_ = /** @class */ (function () {
23701
24057
  function LQuery_(queryList) {
23702
24058
  this.queryList = queryList;
@@ -24259,7 +24615,7 @@
24259
24615
  * Use of this source code is governed by an MIT-style license that can be
24260
24616
  * found in the LICENSE file at https://angular.io/license
24261
24617
  */
24262
- var ɵ0$9 = function () { return ({
24618
+ var ɵ0$e = function () { return ({
24263
24619
  'ɵɵattribute': ɵɵattribute,
24264
24620
  'ɵɵattributeInterpolate1': ɵɵattributeInterpolate1,
24265
24621
  'ɵɵattributeInterpolate2': ɵɵattributeInterpolate2,
@@ -24415,7 +24771,7 @@
24415
24771
  *
24416
24772
  * This should be kept up to date with the public exports of @angular/core.
24417
24773
  */
24418
- var angularCoreEnv = (ɵ0$9)();
24774
+ var angularCoreEnv = (ɵ0$e)();
24419
24775
 
24420
24776
  /**
24421
24777
  * @license
@@ -25147,16 +25503,16 @@
25147
25503
  * Use of this source code is governed by an MIT-style license that can be
25148
25504
  * found in the LICENSE file at https://angular.io/license
25149
25505
  */
25150
- var ɵ0$a = function (dir) {
25506
+ var ɵ0$f = function (dir) {
25151
25507
  if (dir === void 0) { dir = {}; }
25152
25508
  return dir;
25153
- }, ɵ1$2 = function (type, meta) { return SWITCH_COMPILE_DIRECTIVE(type, meta); };
25509
+ }, ɵ1$4 = function (type, meta) { return SWITCH_COMPILE_DIRECTIVE(type, meta); };
25154
25510
  /**
25155
25511
  * Type of the Directive metadata.
25156
25512
  *
25157
25513
  * @publicApi
25158
25514
  */
25159
- var Directive = makeDecorator('Directive', ɵ0$a, undefined, undefined, ɵ1$2);
25515
+ var Directive = makeDecorator('Directive', ɵ0$f, undefined, undefined, ɵ1$4);
25160
25516
  var ɵ2$1 = function (c) {
25161
25517
  if (c === void 0) { c = {}; }
25162
25518
  return (__assign({ changeDetection: exports.ChangeDetectionStrategy.Default }, c));
@@ -25244,7 +25600,7 @@
25244
25600
  * Use of this source code is governed by an MIT-style license that can be
25245
25601
  * found in the LICENSE file at https://angular.io/license
25246
25602
  */
25247
- var ɵ0$b = function (ngModule) { return ngModule; }, ɵ1$3 =
25603
+ var ɵ0$g = function (ngModule) { return ngModule; }, ɵ1$5 =
25248
25604
  /**
25249
25605
  * Decorator that marks the following class as an NgModule, and supplies
25250
25606
  * configuration metadata for it.
@@ -25261,7 +25617,7 @@
25261
25617
  * @Annotation
25262
25618
  * @publicApi
25263
25619
  */
25264
- var NgModule = makeDecorator('NgModule', ɵ0$b, undefined, undefined, ɵ1$3);
25620
+ var NgModule = makeDecorator('NgModule', ɵ0$g, undefined, undefined, ɵ1$5);
25265
25621
  function preR3NgModuleCompile(moduleType, metadata) {
25266
25622
  var imports = (metadata && metadata.imports) || [];
25267
25623
  if (metadata && metadata.exports) {
@@ -25513,6 +25869,17 @@
25513
25869
  MissingTranslationStrategy[MissingTranslationStrategy["Ignore"] = 2] = "Ignore";
25514
25870
  })(exports.MissingTranslationStrategy || (exports.MissingTranslationStrategy = {}));
25515
25871
 
25872
+ /**
25873
+ * @license
25874
+ * Copyright Google Inc. All Rights Reserved.
25875
+ *
25876
+ * Use of this source code is governed by an MIT-style license that can be
25877
+ * found in the LICENSE file at https://angular.io/license
25878
+ */
25879
+ var SWITCH_IVY_ENABLED__POST_R3__ = true;
25880
+ var SWITCH_IVY_ENABLED__PRE_R3__ = false;
25881
+ var ivyEnabled = SWITCH_IVY_ENABLED__PRE_R3__;
25882
+
25516
25883
  /**
25517
25884
  * @license
25518
25885
  * Copyright Google Inc. All Rights Reserved.
@@ -26498,8 +26865,10 @@
26498
26865
  throw new Error('No ErrorHandler. Is platform module (BrowserModule) included?');
26499
26866
  }
26500
26867
  // If the `LOCALE_ID` provider is defined at bootstrap we set the value for runtime i18n (ivy)
26501
- var localeId = moduleRef.injector.get(LOCALE_ID$1, DEFAULT_LOCALE_ID);
26502
- setLocaleId(localeId);
26868
+ if (ivyEnabled) {
26869
+ var localeId = moduleRef.injector.get(LOCALE_ID$1, DEFAULT_LOCALE_ID);
26870
+ setLocaleId(localeId || DEFAULT_LOCALE_ID);
26871
+ }
26503
26872
  moduleRef.onDestroy(function () { return remove(_this._modules, moduleRef); });
26504
26873
  ngZone.runOutsideAngular(function () { return ngZone.onError.subscribe({ next: function (error) { exceptionHandler.handleError(error); } }); });
26505
26874
  return _callAndReportToErrorHandler(exceptionHandler, ngZone, function () {
@@ -27011,17 +27380,6 @@
27011
27380
  return new Error("No module with ID " + id + " loaded");
27012
27381
  }
27013
27382
 
27014
- /**
27015
- * @license
27016
- * Copyright Google Inc. All Rights Reserved.
27017
- *
27018
- * Use of this source code is governed by an MIT-style license that can be
27019
- * found in the LICENSE file at https://angular.io/license
27020
- */
27021
- var SWITCH_IVY_ENABLED__POST_R3__ = true;
27022
- var SWITCH_IVY_ENABLED__PRE_R3__ = false;
27023
- var ivyEnabled = SWITCH_IVY_ENABLED__PRE_R3__;
27024
-
27025
27383
  /**
27026
27384
  * @license
27027
27385
  * Copyright Google Inc. All Rights Reserved.
@@ -27881,6 +28239,9 @@
27881
28239
  * @publicApi
27882
28240
  */
27883
28241
  var getDebugNode = getDebugNode__PRE_R3__;
28242
+ function getAllDebugNodes() {
28243
+ return Array.from(_nativeNodeToDebugNode.values());
28244
+ }
27884
28245
  function indexDebugNode(node) {
27885
28246
  _nativeNodeToDebugNode.set(node.nativeNode, node);
27886
28247
  }
@@ -27940,15 +28301,21 @@
27940
28301
  }
27941
28302
  function _localeFactory(locale) {
27942
28303
  if (locale) {
28304
+ if (ivyEnabled) {
28305
+ setLocaleId(locale);
28306
+ }
27943
28307
  return locale;
27944
28308
  }
27945
28309
  // Use `goog.LOCALE` as default value for `LOCALE_ID` token for Closure Compiler.
27946
28310
  // Note: default `goog.LOCALE` value is `en`, when Angular used `en-US`. In order to preserve
27947
28311
  // backwards compatibility, we use Angular default value over Closure Compiler's one.
27948
28312
  if (ngI18nClosureMode && typeof goog !== 'undefined' && goog.LOCALE !== 'en') {
28313
+ if (ivyEnabled) {
28314
+ setLocaleId(goog.LOCALE);
28315
+ }
27949
28316
  return goog.LOCALE;
27950
28317
  }
27951
- return 'en-US';
28318
+ return DEFAULT_LOCALE_ID;
27952
28319
  }
27953
28320
  /**
27954
28321
  * A built-in [dependency injection token](guide/glossary#di-token)
@@ -30519,13 +30886,14 @@
30519
30886
  exports.ɵAPP_ID_RANDOM_PROVIDER = APP_ID_RANDOM_PROVIDER;
30520
30887
  exports.ɵdefaultIterableDiffers = defaultIterableDiffers;
30521
30888
  exports.ɵdefaultKeyValueDiffers = defaultKeyValueDiffers;
30522
- exports.ɵdevModeEqual = devModeEqual;
30523
- exports.ɵisListLikeIterable = isListLikeIterable;
30889
+ exports.ɵdevModeEqual = devModeEqual$1;
30890
+ exports.ɵisListLikeIterable = isListLikeIterable$1;
30524
30891
  exports.ɵisDefaultChangeDetectionStrategy = isDefaultChangeDetectionStrategy;
30525
30892
  exports.ɵConsole = Console;
30526
30893
  exports.ɵsetCurrentInjector = setCurrentInjector;
30527
30894
  exports.ɵgetInjectableDef = getInjectableDef;
30528
30895
  exports.ɵAPP_ROOT = APP_ROOT;
30896
+ exports.ɵDEFAULT_LOCALE_ID = DEFAULT_LOCALE_ID;
30529
30897
  exports.ɵivyEnabled = ivyEnabled;
30530
30898
  exports.ɵCodegenComponentFactoryResolver = CodegenComponentFactoryResolver;
30531
30899
  exports.ɵclearResolutionOfComponentResourcesQueue = clearResolutionOfComponentResourcesQueue;
@@ -30700,7 +31068,6 @@
30700
31068
  exports.ɵi18nConfigureLocalize = i18nConfigureLocalize;
30701
31069
  exports.ɵɵi18nLocalize = ɵɵi18nLocalize;
30702
31070
  exports.ɵsetLocaleId = setLocaleId;
30703
- exports.ɵDEFAULT_LOCALE_ID = DEFAULT_LOCALE_ID;
30704
31071
  exports.ɵsetClassMetadata = setClassMetadata;
30705
31072
  exports.ɵɵresolveWindow = ɵɵresolveWindow;
30706
31073
  exports.ɵɵresolveDocument = ɵɵresolveDocument;