@angular/core 19.2.16 → 19.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/event_dispatcher.d-K56StcHr.d.ts +1 -1
- package/fesm2022/core.mjs +527 -493
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/di.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +1 -1
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/untracked-BKcld_ew.mjs +1 -1
- package/fesm2022/untracked-BKcld_ew.mjs.map +1 -1
- package/index.d.ts +11 -10
- package/navigation_types.d-fAxd92YV.d.ts +1 -1
- package/package.json +1 -1
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +2 -2
- package/schematics/bundles/{apply_import_manager-DF0BUe6N.cjs → apply_import_manager-BDckZ-aO.cjs} +3 -3
- package/schematics/bundles/{change_tracker-BfH3nBIf.cjs → change_tracker-EC4_OX_3.cjs} +2 -2
- package/schematics/bundles/{checker-BwV9MjSQ.cjs → checker-B7WeiY-n.cjs} +107 -69
- package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
- package/schematics/bundles/compiler_host-CAfDJO3W.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +3 -3
- package/schematics/bundles/explicit-standalone-flag.cjs +3 -3
- package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
- package/schematics/bundles/{index-BnJH1Hc7.cjs → index-DeAjKhiO.cjs} +12 -12
- package/schematics/bundles/{index-B6p5mHIY.cjs → index-DyN3x_2s.cjs} +4 -4
- package/schematics/bundles/inject-migration.cjs +3 -3
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-DQe6JtwN.cjs → migrate_ts_type_references-L5PQQLA-.cjs} +5 -5
- package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +6 -6
- package/schematics/bundles/pending-tasks.cjs +3 -3
- package/schematics/bundles/{project_paths-DY3SIODd.cjs → project_paths-DIZUxMOI.cjs} +3 -3
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/provide-initializer.cjs +3 -3
- package/schematics/bundles/route-lazy-loading.cjs +3 -3
- package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
- package/schematics/bundles/signal-input-migration.cjs +7 -7
- package/schematics/bundles/signal-queries-migration.cjs +7 -7
- package/schematics/bundles/signals.cjs +7 -7
- package/schematics/bundles/standalone-migration.cjs +4 -4
- package/testing/index.d.ts +1 -1
- package/weak_ref.d-DWHPG08n.d.ts +1 -1
package/fesm2022/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.2.
|
|
2
|
+
* @license Angular v19.2.18
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -10162,6 +10162,295 @@ var ViewEncapsulation;
|
|
|
10162
10162
|
ViewEncapsulation[ViewEncapsulation["ShadowDom"] = 3] = "ShadowDom";
|
|
10163
10163
|
})(ViewEncapsulation || (ViewEncapsulation = {}));
|
|
10164
10164
|
|
|
10165
|
+
/**
|
|
10166
|
+
* Defines a schema that allows an NgModule to contain the following:
|
|
10167
|
+
* - Non-Angular elements named with dash case (`-`).
|
|
10168
|
+
* - Element properties named with dash case (`-`).
|
|
10169
|
+
* Dash case is the naming convention for custom elements.
|
|
10170
|
+
*
|
|
10171
|
+
* @publicApi
|
|
10172
|
+
*/
|
|
10173
|
+
const CUSTOM_ELEMENTS_SCHEMA = {
|
|
10174
|
+
name: 'custom-elements',
|
|
10175
|
+
};
|
|
10176
|
+
/**
|
|
10177
|
+
* Defines a schema that allows any property on any element.
|
|
10178
|
+
*
|
|
10179
|
+
* This schema allows you to ignore the errors related to any unknown elements or properties in a
|
|
10180
|
+
* template. The usage of this schema is generally discouraged because it prevents useful validation
|
|
10181
|
+
* and may hide real errors in your template. Consider using the `CUSTOM_ELEMENTS_SCHEMA` instead.
|
|
10182
|
+
*
|
|
10183
|
+
* @publicApi
|
|
10184
|
+
*/
|
|
10185
|
+
const NO_ERRORS_SCHEMA = {
|
|
10186
|
+
name: 'no-errors-schema',
|
|
10187
|
+
};
|
|
10188
|
+
|
|
10189
|
+
let shouldThrowErrorOnUnknownElement = false;
|
|
10190
|
+
/**
|
|
10191
|
+
* Sets a strict mode for JIT-compiled components to throw an error on unknown elements,
|
|
10192
|
+
* instead of just logging the error.
|
|
10193
|
+
* (for AOT-compiled ones this check happens at build time).
|
|
10194
|
+
*/
|
|
10195
|
+
function ɵsetUnknownElementStrictMode(shouldThrow) {
|
|
10196
|
+
shouldThrowErrorOnUnknownElement = shouldThrow;
|
|
10197
|
+
}
|
|
10198
|
+
/**
|
|
10199
|
+
* Gets the current value of the strict mode.
|
|
10200
|
+
*/
|
|
10201
|
+
function ɵgetUnknownElementStrictMode() {
|
|
10202
|
+
return shouldThrowErrorOnUnknownElement;
|
|
10203
|
+
}
|
|
10204
|
+
let shouldThrowErrorOnUnknownProperty = false;
|
|
10205
|
+
/**
|
|
10206
|
+
* Sets a strict mode for JIT-compiled components to throw an error on unknown properties,
|
|
10207
|
+
* instead of just logging the error.
|
|
10208
|
+
* (for AOT-compiled ones this check happens at build time).
|
|
10209
|
+
*/
|
|
10210
|
+
function ɵsetUnknownPropertyStrictMode(shouldThrow) {
|
|
10211
|
+
shouldThrowErrorOnUnknownProperty = shouldThrow;
|
|
10212
|
+
}
|
|
10213
|
+
/**
|
|
10214
|
+
* Gets the current value of the strict mode.
|
|
10215
|
+
*/
|
|
10216
|
+
function ɵgetUnknownPropertyStrictMode() {
|
|
10217
|
+
return shouldThrowErrorOnUnknownProperty;
|
|
10218
|
+
}
|
|
10219
|
+
/**
|
|
10220
|
+
* Validates that the element is known at runtime and produces
|
|
10221
|
+
* an error if it's not the case.
|
|
10222
|
+
* This check is relevant for JIT-compiled components (for AOT-compiled
|
|
10223
|
+
* ones this check happens at build time).
|
|
10224
|
+
*
|
|
10225
|
+
* The element is considered known if either:
|
|
10226
|
+
* - it's a known HTML element
|
|
10227
|
+
* - it's a known custom element
|
|
10228
|
+
* - the element matches any directive
|
|
10229
|
+
* - the element is allowed by one of the schemas
|
|
10230
|
+
*
|
|
10231
|
+
* @param element Element to validate
|
|
10232
|
+
* @param lView An `LView` that represents a current component that is being rendered
|
|
10233
|
+
* @param tagName Name of the tag to check
|
|
10234
|
+
* @param schemas Array of schemas
|
|
10235
|
+
* @param hasDirectives Boolean indicating that the element matches any directive
|
|
10236
|
+
*/
|
|
10237
|
+
function validateElementIsKnown(element, lView, tagName, schemas, hasDirectives) {
|
|
10238
|
+
// If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
|
|
10239
|
+
// mode where this check happens at compile time. In JIT mode, `schemas` is always present and
|
|
10240
|
+
// defined as an array (as an empty array in case `schemas` field is not defined) and we should
|
|
10241
|
+
// execute the check below.
|
|
10242
|
+
if (schemas === null)
|
|
10243
|
+
return;
|
|
10244
|
+
// If the element matches any directive, it's considered as valid.
|
|
10245
|
+
if (!hasDirectives && tagName !== null) {
|
|
10246
|
+
// The element is unknown if it's an instance of HTMLUnknownElement, or it isn't registered
|
|
10247
|
+
// as a custom element. Note that unknown elements with a dash in their name won't be instances
|
|
10248
|
+
// of HTMLUnknownElement in browsers that support web components.
|
|
10249
|
+
const isUnknown =
|
|
10250
|
+
// Note that we can't check for `typeof HTMLUnknownElement === 'function'` because
|
|
10251
|
+
// Domino doesn't expose HTMLUnknownElement globally.
|
|
10252
|
+
(typeof HTMLUnknownElement !== 'undefined' &&
|
|
10253
|
+
HTMLUnknownElement &&
|
|
10254
|
+
element instanceof HTMLUnknownElement) ||
|
|
10255
|
+
(typeof customElements !== 'undefined' &&
|
|
10256
|
+
tagName.indexOf('-') > -1 &&
|
|
10257
|
+
!customElements.get(tagName));
|
|
10258
|
+
if (isUnknown && !matchingSchemas(schemas, tagName)) {
|
|
10259
|
+
const isHostStandalone = isHostComponentStandalone(lView);
|
|
10260
|
+
const templateLocation = getTemplateLocationDetails(lView);
|
|
10261
|
+
const schemas = `'${isHostStandalone ? '@Component' : '@NgModule'}.schemas'`;
|
|
10262
|
+
let message = `'${tagName}' is not a known element${templateLocation}:\n`;
|
|
10263
|
+
message += `1. If '${tagName}' is an Angular component, then verify that it is ${isHostStandalone
|
|
10264
|
+
? "included in the '@Component.imports' of this component"
|
|
10265
|
+
: 'a part of an @NgModule where this component is declared'}.\n`;
|
|
10266
|
+
if (tagName && tagName.indexOf('-') > -1) {
|
|
10267
|
+
message += `2. If '${tagName}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the ${schemas} of this component to suppress this message.`;
|
|
10268
|
+
}
|
|
10269
|
+
else {
|
|
10270
|
+
message += `2. To allow any element add 'NO_ERRORS_SCHEMA' to the ${schemas} of this component.`;
|
|
10271
|
+
}
|
|
10272
|
+
if (shouldThrowErrorOnUnknownElement) {
|
|
10273
|
+
throw new RuntimeError(304 /* RuntimeErrorCode.UNKNOWN_ELEMENT */, message);
|
|
10274
|
+
}
|
|
10275
|
+
else {
|
|
10276
|
+
console.error(formatRuntimeError(304 /* RuntimeErrorCode.UNKNOWN_ELEMENT */, message));
|
|
10277
|
+
}
|
|
10278
|
+
}
|
|
10279
|
+
}
|
|
10280
|
+
}
|
|
10281
|
+
/**
|
|
10282
|
+
* Validates that the property of the element is known at runtime and returns
|
|
10283
|
+
* false if it's not the case.
|
|
10284
|
+
* This check is relevant for JIT-compiled components (for AOT-compiled
|
|
10285
|
+
* ones this check happens at build time).
|
|
10286
|
+
*
|
|
10287
|
+
* The property is considered known if either:
|
|
10288
|
+
* - it's a known property of the element
|
|
10289
|
+
* - the element is allowed by one of the schemas
|
|
10290
|
+
* - the property is used for animations
|
|
10291
|
+
*
|
|
10292
|
+
* @param element Element to validate
|
|
10293
|
+
* @param propName Name of the property to check
|
|
10294
|
+
* @param tagName Name of the tag hosting the property
|
|
10295
|
+
* @param schemas Array of schemas
|
|
10296
|
+
*/
|
|
10297
|
+
function isPropertyValid(element, propName, tagName, schemas) {
|
|
10298
|
+
// If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
|
|
10299
|
+
// mode where this check happens at compile time. In JIT mode, `schemas` is always present and
|
|
10300
|
+
// defined as an array (as an empty array in case `schemas` field is not defined) and we should
|
|
10301
|
+
// execute the check below.
|
|
10302
|
+
if (schemas === null)
|
|
10303
|
+
return true;
|
|
10304
|
+
// The property is considered valid if the element matches the schema, it exists on the element,
|
|
10305
|
+
// or it is synthetic.
|
|
10306
|
+
if (matchingSchemas(schemas, tagName) || propName in element || isAnimationProp(propName)) {
|
|
10307
|
+
return true;
|
|
10308
|
+
}
|
|
10309
|
+
// Note: `typeof Node` returns 'function' in most browsers, but is undefined with domino.
|
|
10310
|
+
return typeof Node === 'undefined' || Node === null || !(element instanceof Node);
|
|
10311
|
+
}
|
|
10312
|
+
/**
|
|
10313
|
+
* Logs or throws an error that a property is not supported on an element.
|
|
10314
|
+
*
|
|
10315
|
+
* @param propName Name of the invalid property
|
|
10316
|
+
* @param tagName Name of the tag hosting the property
|
|
10317
|
+
* @param nodeType Type of the node hosting the property
|
|
10318
|
+
* @param lView An `LView` that represents a current component
|
|
10319
|
+
*/
|
|
10320
|
+
function handleUnknownPropertyError(propName, tagName, nodeType, lView) {
|
|
10321
|
+
// Special-case a situation when a structural directive is applied to
|
|
10322
|
+
// an `<ng-template>` element, for example: `<ng-template *ngIf="true">`.
|
|
10323
|
+
// In this case the compiler generates the `ɵɵtemplate` instruction with
|
|
10324
|
+
// the `null` as the tagName. The directive matching logic at runtime relies
|
|
10325
|
+
// on this effect (see `isInlineTemplate`), thus using the 'ng-template' as
|
|
10326
|
+
// a default value of the `tNode.value` is not feasible at this moment.
|
|
10327
|
+
if (!tagName && nodeType === 4 /* TNodeType.Container */) {
|
|
10328
|
+
tagName = 'ng-template';
|
|
10329
|
+
}
|
|
10330
|
+
const isHostStandalone = isHostComponentStandalone(lView);
|
|
10331
|
+
const templateLocation = getTemplateLocationDetails(lView);
|
|
10332
|
+
let message = `Can't bind to '${propName}' since it isn't a known property of '${tagName}'${templateLocation}.`;
|
|
10333
|
+
const schemas = `'${isHostStandalone ? '@Component' : '@NgModule'}.schemas'`;
|
|
10334
|
+
const importLocation = isHostStandalone
|
|
10335
|
+
? "included in the '@Component.imports' of this component"
|
|
10336
|
+
: 'a part of an @NgModule where this component is declared';
|
|
10337
|
+
if (KNOWN_CONTROL_FLOW_DIRECTIVES.has(propName)) {
|
|
10338
|
+
// Most likely this is a control flow directive (such as `*ngIf`) used in
|
|
10339
|
+
// a template, but the directive or the `CommonModule` is not imported.
|
|
10340
|
+
const correspondingImport = KNOWN_CONTROL_FLOW_DIRECTIVES.get(propName);
|
|
10341
|
+
message +=
|
|
10342
|
+
`\nIf the '${propName}' is an Angular control flow directive, ` +
|
|
10343
|
+
`please make sure that either the '${correspondingImport}' directive or the 'CommonModule' is ${importLocation}.`;
|
|
10344
|
+
}
|
|
10345
|
+
else {
|
|
10346
|
+
// May be an Angular component, which is not imported/declared?
|
|
10347
|
+
message +=
|
|
10348
|
+
`\n1. If '${tagName}' is an Angular component and it has the ` +
|
|
10349
|
+
`'${propName}' input, then verify that it is ${importLocation}.`;
|
|
10350
|
+
// May be a Web Component?
|
|
10351
|
+
if (tagName && tagName.indexOf('-') > -1) {
|
|
10352
|
+
message +=
|
|
10353
|
+
`\n2. If '${tagName}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' ` +
|
|
10354
|
+
`to the ${schemas} of this component to suppress this message.`;
|
|
10355
|
+
message +=
|
|
10356
|
+
`\n3. To allow any property add 'NO_ERRORS_SCHEMA' to ` +
|
|
10357
|
+
`the ${schemas} of this component.`;
|
|
10358
|
+
}
|
|
10359
|
+
else {
|
|
10360
|
+
// If it's expected, the error can be suppressed by the `NO_ERRORS_SCHEMA` schema.
|
|
10361
|
+
message +=
|
|
10362
|
+
`\n2. To allow any property add 'NO_ERRORS_SCHEMA' to ` +
|
|
10363
|
+
`the ${schemas} of this component.`;
|
|
10364
|
+
}
|
|
10365
|
+
}
|
|
10366
|
+
reportUnknownPropertyError(message);
|
|
10367
|
+
}
|
|
10368
|
+
function reportUnknownPropertyError(message) {
|
|
10369
|
+
if (shouldThrowErrorOnUnknownProperty) {
|
|
10370
|
+
throw new RuntimeError(303 /* RuntimeErrorCode.UNKNOWN_BINDING */, message);
|
|
10371
|
+
}
|
|
10372
|
+
else {
|
|
10373
|
+
console.error(formatRuntimeError(303 /* RuntimeErrorCode.UNKNOWN_BINDING */, message));
|
|
10374
|
+
}
|
|
10375
|
+
}
|
|
10376
|
+
/**
|
|
10377
|
+
* WARNING: this is a **dev-mode only** function (thus should always be guarded by the `ngDevMode`)
|
|
10378
|
+
* and must **not** be used in production bundles. The function makes megamorphic reads, which might
|
|
10379
|
+
* be too slow for production mode and also it relies on the constructor function being available.
|
|
10380
|
+
*
|
|
10381
|
+
* Gets a reference to the host component def (where a current component is declared).
|
|
10382
|
+
*
|
|
10383
|
+
* @param lView An `LView` that represents a current component that is being rendered.
|
|
10384
|
+
*/
|
|
10385
|
+
function getDeclarationComponentDef(lView) {
|
|
10386
|
+
!ngDevMode && throwError('Must never be called in production mode');
|
|
10387
|
+
const declarationLView = lView[DECLARATION_COMPONENT_VIEW];
|
|
10388
|
+
const context = declarationLView[CONTEXT];
|
|
10389
|
+
// Unable to obtain a context.
|
|
10390
|
+
if (!context)
|
|
10391
|
+
return null;
|
|
10392
|
+
return context.constructor ? getComponentDef(context.constructor) : null;
|
|
10393
|
+
}
|
|
10394
|
+
/**
|
|
10395
|
+
* WARNING: this is a **dev-mode only** function (thus should always be guarded by the `ngDevMode`)
|
|
10396
|
+
* and must **not** be used in production bundles. The function makes megamorphic reads, which might
|
|
10397
|
+
* be too slow for production mode.
|
|
10398
|
+
*
|
|
10399
|
+
* Checks if the current component is declared inside of a standalone component template.
|
|
10400
|
+
*
|
|
10401
|
+
* @param lView An `LView` that represents a current component that is being rendered.
|
|
10402
|
+
*/
|
|
10403
|
+
function isHostComponentStandalone(lView) {
|
|
10404
|
+
!ngDevMode && throwError('Must never be called in production mode');
|
|
10405
|
+
const componentDef = getDeclarationComponentDef(lView);
|
|
10406
|
+
// Treat host component as non-standalone if we can't obtain the def.
|
|
10407
|
+
return !!componentDef?.standalone;
|
|
10408
|
+
}
|
|
10409
|
+
/**
|
|
10410
|
+
* WARNING: this is a **dev-mode only** function (thus should always be guarded by the `ngDevMode`)
|
|
10411
|
+
* and must **not** be used in production bundles. The function makes megamorphic reads, which might
|
|
10412
|
+
* be too slow for production mode.
|
|
10413
|
+
*
|
|
10414
|
+
* Constructs a string describing the location of the host component template. The function is used
|
|
10415
|
+
* in dev mode to produce error messages.
|
|
10416
|
+
*
|
|
10417
|
+
* @param lView An `LView` that represents a current component that is being rendered.
|
|
10418
|
+
*/
|
|
10419
|
+
function getTemplateLocationDetails(lView) {
|
|
10420
|
+
!ngDevMode && throwError('Must never be called in production mode');
|
|
10421
|
+
const hostComponentDef = getDeclarationComponentDef(lView);
|
|
10422
|
+
const componentClassName = hostComponentDef?.type?.name;
|
|
10423
|
+
return componentClassName ? ` (used in the '${componentClassName}' component template)` : '';
|
|
10424
|
+
}
|
|
10425
|
+
/**
|
|
10426
|
+
* The set of known control flow directives and their corresponding imports.
|
|
10427
|
+
* We use this set to produce a more precises error message with a note
|
|
10428
|
+
* that the `CommonModule` should also be included.
|
|
10429
|
+
*/
|
|
10430
|
+
const KNOWN_CONTROL_FLOW_DIRECTIVES = new Map([
|
|
10431
|
+
['ngIf', 'NgIf'],
|
|
10432
|
+
['ngFor', 'NgFor'],
|
|
10433
|
+
['ngSwitchCase', 'NgSwitchCase'],
|
|
10434
|
+
['ngSwitchDefault', 'NgSwitchDefault'],
|
|
10435
|
+
]);
|
|
10436
|
+
/**
|
|
10437
|
+
* Returns true if the tag name is allowed by specified schemas.
|
|
10438
|
+
* @param schemas Array of schemas
|
|
10439
|
+
* @param tagName Name of the tag
|
|
10440
|
+
*/
|
|
10441
|
+
function matchingSchemas(schemas, tagName) {
|
|
10442
|
+
if (schemas !== null) {
|
|
10443
|
+
for (let i = 0; i < schemas.length; i++) {
|
|
10444
|
+
const schema = schemas[i];
|
|
10445
|
+
if (schema === NO_ERRORS_SCHEMA ||
|
|
10446
|
+
(schema === CUSTOM_ELEMENTS_SCHEMA && tagName && tagName.indexOf('-') > -1)) {
|
|
10447
|
+
return true;
|
|
10448
|
+
}
|
|
10449
|
+
}
|
|
10450
|
+
}
|
|
10451
|
+
return false;
|
|
10452
|
+
}
|
|
10453
|
+
|
|
10165
10454
|
/**
|
|
10166
10455
|
* @fileoverview
|
|
10167
10456
|
* A module to facilitate use of a Trusted Types policy internally within
|
|
@@ -10805,6 +11094,186 @@ function isTemplateElement(el) {
|
|
|
10805
11094
|
return el.nodeType === Node.ELEMENT_NODE && el.nodeName === 'TEMPLATE';
|
|
10806
11095
|
}
|
|
10807
11096
|
|
|
11097
|
+
/**
|
|
11098
|
+
* Disallowed strings in the comment.
|
|
11099
|
+
*
|
|
11100
|
+
* see: https://html.spec.whatwg.org/multipage/syntax.html#comments
|
|
11101
|
+
*/
|
|
11102
|
+
const COMMENT_DISALLOWED = /^>|^->|<!--|-->|--!>|<!-$/g;
|
|
11103
|
+
/**
|
|
11104
|
+
* Delimiter in the disallowed strings which needs to be wrapped with zero with character.
|
|
11105
|
+
*/
|
|
11106
|
+
const COMMENT_DELIMITER = /(<|>)/g;
|
|
11107
|
+
const COMMENT_DELIMITER_ESCAPED = '\u200B$1\u200B';
|
|
11108
|
+
/**
|
|
11109
|
+
* Escape the content of comment strings so that it can be safely inserted into a comment node.
|
|
11110
|
+
*
|
|
11111
|
+
* The issue is that HTML does not specify any way to escape comment end text inside the comment.
|
|
11112
|
+
* Consider: `<!-- The way you close a comment is with ">", and "->" at the beginning or by "-->" or
|
|
11113
|
+
* "--!>" at the end. -->`. Above the `"-->"` is meant to be text not an end to the comment. This
|
|
11114
|
+
* can be created programmatically through DOM APIs. (`<!--` are also disallowed.)
|
|
11115
|
+
*
|
|
11116
|
+
* see: https://html.spec.whatwg.org/multipage/syntax.html#comments
|
|
11117
|
+
*
|
|
11118
|
+
* ```ts
|
|
11119
|
+
* div.innerHTML = div.innerHTML
|
|
11120
|
+
* ```
|
|
11121
|
+
*
|
|
11122
|
+
* One would expect that the above code would be safe to do, but it turns out that because comment
|
|
11123
|
+
* text is not escaped, the comment may contain text which will prematurely close the comment
|
|
11124
|
+
* opening up the application for XSS attack. (In SSR we programmatically create comment nodes which
|
|
11125
|
+
* may contain such text and expect them to be safe.)
|
|
11126
|
+
*
|
|
11127
|
+
* This function escapes the comment text by looking for comment delimiters (`<` and `>`) and
|
|
11128
|
+
* surrounding them with `_>_` where the `_` is a zero width space `\u200B`. The result is that if a
|
|
11129
|
+
* comment contains any of the comment start/end delimiters (such as `<!--`, `-->` or `--!>`) the
|
|
11130
|
+
* text it will render normally but it will not cause the HTML parser to close/open the comment.
|
|
11131
|
+
*
|
|
11132
|
+
* @param value text to make safe for comment node by escaping the comment open/close character
|
|
11133
|
+
* sequence.
|
|
11134
|
+
*/
|
|
11135
|
+
function escapeCommentText(value) {
|
|
11136
|
+
return value.replace(COMMENT_DISALLOWED, (text) => text.replace(COMMENT_DELIMITER, COMMENT_DELIMITER_ESCAPED));
|
|
11137
|
+
}
|
|
11138
|
+
|
|
11139
|
+
function createTextNode(renderer, value) {
|
|
11140
|
+
ngDevMode && ngDevMode.rendererCreateTextNode++;
|
|
11141
|
+
ngDevMode && ngDevMode.rendererSetText++;
|
|
11142
|
+
return renderer.createText(value);
|
|
11143
|
+
}
|
|
11144
|
+
function updateTextNode(renderer, rNode, value) {
|
|
11145
|
+
ngDevMode && ngDevMode.rendererSetText++;
|
|
11146
|
+
renderer.setValue(rNode, value);
|
|
11147
|
+
}
|
|
11148
|
+
function createCommentNode(renderer, value) {
|
|
11149
|
+
ngDevMode && ngDevMode.rendererCreateComment++;
|
|
11150
|
+
return renderer.createComment(escapeCommentText(value));
|
|
11151
|
+
}
|
|
11152
|
+
/**
|
|
11153
|
+
* Creates a native element from a tag name, using a renderer.
|
|
11154
|
+
* @param renderer A renderer to use
|
|
11155
|
+
* @param name the tag name
|
|
11156
|
+
* @param namespace Optional namespace for element.
|
|
11157
|
+
* @returns the element created
|
|
11158
|
+
*/
|
|
11159
|
+
function createElementNode(renderer, name, namespace) {
|
|
11160
|
+
ngDevMode && ngDevMode.rendererCreateElement++;
|
|
11161
|
+
return renderer.createElement(name, namespace);
|
|
11162
|
+
}
|
|
11163
|
+
/**
|
|
11164
|
+
* Inserts a native node before another native node for a given parent.
|
|
11165
|
+
* This is a utility function that can be used when native nodes were determined.
|
|
11166
|
+
*/
|
|
11167
|
+
function nativeInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
11168
|
+
ngDevMode && ngDevMode.rendererInsertBefore++;
|
|
11169
|
+
renderer.insertBefore(parent, child, beforeNode, isMove);
|
|
11170
|
+
}
|
|
11171
|
+
function nativeAppendChild(renderer, parent, child) {
|
|
11172
|
+
ngDevMode && ngDevMode.rendererAppendChild++;
|
|
11173
|
+
ngDevMode && assertDefined(parent, 'parent node must be defined');
|
|
11174
|
+
renderer.appendChild(parent, child);
|
|
11175
|
+
}
|
|
11176
|
+
function nativeAppendOrInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
11177
|
+
if (beforeNode !== null) {
|
|
11178
|
+
nativeInsertBefore(renderer, parent, child, beforeNode, isMove);
|
|
11179
|
+
}
|
|
11180
|
+
else {
|
|
11181
|
+
nativeAppendChild(renderer, parent, child);
|
|
11182
|
+
}
|
|
11183
|
+
}
|
|
11184
|
+
/**
|
|
11185
|
+
* Removes a native node itself using a given renderer. To remove the node we are looking up its
|
|
11186
|
+
* parent from the native tree as not all platforms / browsers support the equivalent of
|
|
11187
|
+
* node.remove().
|
|
11188
|
+
*
|
|
11189
|
+
* @param renderer A renderer to be used
|
|
11190
|
+
* @param rNode The native node that should be removed
|
|
11191
|
+
* @param isHostElement A flag indicating if a node to be removed is a host of a component.
|
|
11192
|
+
*/
|
|
11193
|
+
function nativeRemoveNode(renderer, rNode, isHostElement) {
|
|
11194
|
+
ngDevMode && ngDevMode.rendererRemoveNode++;
|
|
11195
|
+
renderer.removeChild(null, rNode, isHostElement);
|
|
11196
|
+
}
|
|
11197
|
+
/**
|
|
11198
|
+
* Clears the contents of a given RElement.
|
|
11199
|
+
*
|
|
11200
|
+
* @param rElement the native RElement to be cleared
|
|
11201
|
+
*/
|
|
11202
|
+
function clearElementContents(rElement) {
|
|
11203
|
+
rElement.textContent = '';
|
|
11204
|
+
}
|
|
11205
|
+
/**
|
|
11206
|
+
* Write `cssText` to `RElement`.
|
|
11207
|
+
*
|
|
11208
|
+
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
11209
|
+
* that static styling values do not pull in the style parser.
|
|
11210
|
+
*
|
|
11211
|
+
* @param renderer Renderer to use
|
|
11212
|
+
* @param element The element which needs to be updated.
|
|
11213
|
+
* @param newValue The new class list to write.
|
|
11214
|
+
*/
|
|
11215
|
+
function writeDirectStyle(renderer, element, newValue) {
|
|
11216
|
+
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
11217
|
+
renderer.setAttribute(element, 'style', newValue);
|
|
11218
|
+
ngDevMode && ngDevMode.rendererSetStyle++;
|
|
11219
|
+
}
|
|
11220
|
+
/**
|
|
11221
|
+
* Write `className` to `RElement`.
|
|
11222
|
+
*
|
|
11223
|
+
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
11224
|
+
* that static styling values do not pull in the style parser.
|
|
11225
|
+
*
|
|
11226
|
+
* @param renderer Renderer to use
|
|
11227
|
+
* @param element The element which needs to be updated.
|
|
11228
|
+
* @param newValue The new class list to write.
|
|
11229
|
+
*/
|
|
11230
|
+
function writeDirectClass(renderer, element, newValue) {
|
|
11231
|
+
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
11232
|
+
if (newValue === '') {
|
|
11233
|
+
// There are tests in `google3` which expect `element.getAttribute('class')` to be `null`.
|
|
11234
|
+
renderer.removeAttribute(element, 'class');
|
|
11235
|
+
}
|
|
11236
|
+
else {
|
|
11237
|
+
renderer.setAttribute(element, 'class', newValue);
|
|
11238
|
+
}
|
|
11239
|
+
ngDevMode && ngDevMode.rendererSetClassName++;
|
|
11240
|
+
}
|
|
11241
|
+
/** Sets up the static DOM attributes on an `RNode`. */
|
|
11242
|
+
function setupStaticAttributes(renderer, element, tNode) {
|
|
11243
|
+
const { mergedAttrs, classes, styles } = tNode;
|
|
11244
|
+
if (mergedAttrs !== null) {
|
|
11245
|
+
setUpAttributes(renderer, element, mergedAttrs);
|
|
11246
|
+
}
|
|
11247
|
+
if (classes !== null) {
|
|
11248
|
+
writeDirectClass(renderer, element, classes);
|
|
11249
|
+
}
|
|
11250
|
+
if (styles !== null) {
|
|
11251
|
+
writeDirectStyle(renderer, element, styles);
|
|
11252
|
+
}
|
|
11253
|
+
}
|
|
11254
|
+
|
|
11255
|
+
/**
|
|
11256
|
+
* Enforces security by neutralizing an `<iframe>` if a security-sensitive attribute is set.
|
|
11257
|
+
*
|
|
11258
|
+
* This function is invoked at runtime when a security-sensitive attribute is bound to an `<iframe>`.
|
|
11259
|
+
* It clears the `src` and `srcdoc` attributes and removes the `<iframe>` from the DOM to prevent
|
|
11260
|
+
* potential security risks.
|
|
11261
|
+
*
|
|
11262
|
+
* @see [SECURITY_SCHEMA](../../../compiler/src/schema/dom_security_schema.ts) for the full list
|
|
11263
|
+
* of such attributes.
|
|
11264
|
+
*
|
|
11265
|
+
* @codeGenApi
|
|
11266
|
+
*/
|
|
11267
|
+
function enforceIframeSecurity(iframe) {
|
|
11268
|
+
const lView = getLView();
|
|
11269
|
+
// Unset previously applied `src` and `srcdoc` if we come across a situation when
|
|
11270
|
+
// a security-sensitive attribute is set later via an attribute/property binding.
|
|
11271
|
+
iframe.src = '';
|
|
11272
|
+
iframe.srcdoc = trustedHTMLFromString('');
|
|
11273
|
+
// Also remove the <iframe> from the document.
|
|
11274
|
+
nativeRemoveNode(lView[RENDERER], iframe);
|
|
11275
|
+
}
|
|
11276
|
+
|
|
10808
11277
|
/**
|
|
10809
11278
|
* A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property
|
|
10810
11279
|
* like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly
|
|
@@ -10989,6 +11458,9 @@ function ɵɵtrustConstantResourceUrl(url) {
|
|
|
10989
11458
|
}
|
|
10990
11459
|
return trustedScriptURLFromString(url[0]);
|
|
10991
11460
|
}
|
|
11461
|
+
// Define sets outside the function for O(1) lookups and memory efficiency
|
|
11462
|
+
const SRC_RESOURCE_TAGS = new Set(['embed', 'frame', 'iframe', 'media', 'script']);
|
|
11463
|
+
const HREF_RESOURCE_TAGS = new Set(['base', 'link', 'script']);
|
|
10992
11464
|
/**
|
|
10993
11465
|
* Detects which sanitizer to use for URL property, based on tag name and prop name.
|
|
10994
11466
|
*
|
|
@@ -10997,16 +11469,10 @@ function ɵɵtrustConstantResourceUrl(url) {
|
|
|
10997
11469
|
* If tag and prop names don't match Resource URL schema, use URL sanitizer.
|
|
10998
11470
|
*/
|
|
10999
11471
|
function getUrlSanitizer(tag, prop) {
|
|
11000
|
-
|
|
11001
|
-
(
|
|
11002
|
-
|
|
11003
|
-
|
|
11004
|
-
tag === 'media' ||
|
|
11005
|
-
tag === 'script')) ||
|
|
11006
|
-
(prop === 'href' && (tag === 'base' || tag === 'link'))) {
|
|
11007
|
-
return ɵɵsanitizeResourceUrl;
|
|
11008
|
-
}
|
|
11009
|
-
return ɵɵsanitizeUrl;
|
|
11472
|
+
const isResource = (prop === 'src' && SRC_RESOURCE_TAGS.has(tag)) ||
|
|
11473
|
+
(prop === 'href' && HREF_RESOURCE_TAGS.has(tag)) ||
|
|
11474
|
+
(prop === 'xlink:href' && tag === 'script');
|
|
11475
|
+
return isResource ? ɵɵsanitizeResourceUrl : ɵɵsanitizeUrl;
|
|
11010
11476
|
}
|
|
11011
11477
|
/**
|
|
11012
11478
|
* Sanitizes URL, selecting sanitizer function based on tag and property names.
|
|
@@ -11046,47 +11512,55 @@ function getSanitizer() {
|
|
|
11046
11512
|
const lView = getLView();
|
|
11047
11513
|
return lView && lView[ENVIRONMENT].sanitizer;
|
|
11048
11514
|
}
|
|
11049
|
-
|
|
11515
|
+
const attributeName = new Set(['attributename']);
|
|
11516
|
+
/**
|
|
11517
|
+
* @remarks Keep this in sync with DOM Security Schema.
|
|
11518
|
+
* @see [SECURITY_SCHEMA](../../../compiler/src/schema/dom_security_schema.ts)
|
|
11519
|
+
*/
|
|
11520
|
+
const SECURITY_SENSITIVE_ELEMENTS = {
|
|
11521
|
+
'iframe': new Set([
|
|
11522
|
+
'sandbox',
|
|
11523
|
+
'allow',
|
|
11524
|
+
'allowfullscreen',
|
|
11525
|
+
'referrerpolicy',
|
|
11526
|
+
'csp',
|
|
11527
|
+
'fetchpriority',
|
|
11528
|
+
]),
|
|
11529
|
+
'animate': attributeName,
|
|
11530
|
+
'set': attributeName,
|
|
11531
|
+
'animatemotion': attributeName,
|
|
11532
|
+
'animatetransform': attributeName,
|
|
11533
|
+
};
|
|
11050
11534
|
/**
|
|
11051
|
-
*
|
|
11535
|
+
* Validates that the attribute binding is safe to use.
|
|
11052
11536
|
*
|
|
11053
|
-
*
|
|
11537
|
+
* @param value The value of the attribute.
|
|
11538
|
+
* @param tagName The name of the tag.
|
|
11539
|
+
* @param attributeName The name of the attribute.
|
|
11054
11540
|
*/
|
|
11055
|
-
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
* may contain such text and expect them to be safe.)
|
|
11079
|
-
*
|
|
11080
|
-
* This function escapes the comment text by looking for comment delimiters (`<` and `>`) and
|
|
11081
|
-
* surrounding them with `_>_` where the `_` is a zero width space `\u200B`. The result is that if a
|
|
11082
|
-
* comment contains any of the comment start/end delimiters (such as `<!--`, `-->` or `--!>`) the
|
|
11083
|
-
* text it will render normally but it will not cause the HTML parser to close/open the comment.
|
|
11084
|
-
*
|
|
11085
|
-
* @param value text to make safe for comment node by escaping the comment open/close character
|
|
11086
|
-
* sequence.
|
|
11087
|
-
*/
|
|
11088
|
-
function escapeCommentText(value) {
|
|
11089
|
-
return value.replace(COMMENT_DISALLOWED, (text) => text.replace(COMMENT_DELIMITER, COMMENT_DELIMITER_ESCAPED));
|
|
11541
|
+
function ɵɵvalidateAttribute(value, tagName, attributeName) {
|
|
11542
|
+
const lowerCaseTagName = tagName.toLowerCase();
|
|
11543
|
+
const lowerCaseAttrName = attributeName.toLowerCase();
|
|
11544
|
+
if (!SECURITY_SENSITIVE_ELEMENTS[lowerCaseTagName]?.has(lowerCaseAttrName)) {
|
|
11545
|
+
return value;
|
|
11546
|
+
}
|
|
11547
|
+
const tNode = getSelectedTNode();
|
|
11548
|
+
if (tNode.type !== 2 /* TNodeType.Element */) {
|
|
11549
|
+
return value;
|
|
11550
|
+
}
|
|
11551
|
+
const lView = getLView();
|
|
11552
|
+
if (lowerCaseTagName === 'iframe') {
|
|
11553
|
+
const element = getNativeByTNode(tNode, lView);
|
|
11554
|
+
enforceIframeSecurity(element);
|
|
11555
|
+
}
|
|
11556
|
+
const errorMessage = ngDevMode &&
|
|
11557
|
+
`Angular has detected that the \`${attributeName}\` was applied ` +
|
|
11558
|
+
`as a binding to the <${tagName}> element${getTemplateLocationDetails(lView)}. ` +
|
|
11559
|
+
`For security reasons, the \`${attributeName}\` can be set on the <${tagName}> element ` +
|
|
11560
|
+
`as a static attribute only. \n` +
|
|
11561
|
+
`To fix this, switch the \`${attributeName}\` binding to a static attribute ` +
|
|
11562
|
+
`in a template or in host bindings section.`;
|
|
11563
|
+
throw new RuntimeError(-910 /* RuntimeErrorCode.UNSAFE_ATTRIBUTE_BINDING */, errorMessage);
|
|
11090
11564
|
}
|
|
11091
11565
|
|
|
11092
11566
|
function normalizeDebugBindingName(name) {
|
|
@@ -11108,295 +11582,6 @@ function normalizeDebugBindingValue(value) {
|
|
|
11108
11582
|
}
|
|
11109
11583
|
}
|
|
11110
11584
|
|
|
11111
|
-
/**
|
|
11112
|
-
* Defines a schema that allows an NgModule to contain the following:
|
|
11113
|
-
* - Non-Angular elements named with dash case (`-`).
|
|
11114
|
-
* - Element properties named with dash case (`-`).
|
|
11115
|
-
* Dash case is the naming convention for custom elements.
|
|
11116
|
-
*
|
|
11117
|
-
* @publicApi
|
|
11118
|
-
*/
|
|
11119
|
-
const CUSTOM_ELEMENTS_SCHEMA = {
|
|
11120
|
-
name: 'custom-elements',
|
|
11121
|
-
};
|
|
11122
|
-
/**
|
|
11123
|
-
* Defines a schema that allows any property on any element.
|
|
11124
|
-
*
|
|
11125
|
-
* This schema allows you to ignore the errors related to any unknown elements or properties in a
|
|
11126
|
-
* template. The usage of this schema is generally discouraged because it prevents useful validation
|
|
11127
|
-
* and may hide real errors in your template. Consider using the `CUSTOM_ELEMENTS_SCHEMA` instead.
|
|
11128
|
-
*
|
|
11129
|
-
* @publicApi
|
|
11130
|
-
*/
|
|
11131
|
-
const NO_ERRORS_SCHEMA = {
|
|
11132
|
-
name: 'no-errors-schema',
|
|
11133
|
-
};
|
|
11134
|
-
|
|
11135
|
-
let shouldThrowErrorOnUnknownElement = false;
|
|
11136
|
-
/**
|
|
11137
|
-
* Sets a strict mode for JIT-compiled components to throw an error on unknown elements,
|
|
11138
|
-
* instead of just logging the error.
|
|
11139
|
-
* (for AOT-compiled ones this check happens at build time).
|
|
11140
|
-
*/
|
|
11141
|
-
function ɵsetUnknownElementStrictMode(shouldThrow) {
|
|
11142
|
-
shouldThrowErrorOnUnknownElement = shouldThrow;
|
|
11143
|
-
}
|
|
11144
|
-
/**
|
|
11145
|
-
* Gets the current value of the strict mode.
|
|
11146
|
-
*/
|
|
11147
|
-
function ɵgetUnknownElementStrictMode() {
|
|
11148
|
-
return shouldThrowErrorOnUnknownElement;
|
|
11149
|
-
}
|
|
11150
|
-
let shouldThrowErrorOnUnknownProperty = false;
|
|
11151
|
-
/**
|
|
11152
|
-
* Sets a strict mode for JIT-compiled components to throw an error on unknown properties,
|
|
11153
|
-
* instead of just logging the error.
|
|
11154
|
-
* (for AOT-compiled ones this check happens at build time).
|
|
11155
|
-
*/
|
|
11156
|
-
function ɵsetUnknownPropertyStrictMode(shouldThrow) {
|
|
11157
|
-
shouldThrowErrorOnUnknownProperty = shouldThrow;
|
|
11158
|
-
}
|
|
11159
|
-
/**
|
|
11160
|
-
* Gets the current value of the strict mode.
|
|
11161
|
-
*/
|
|
11162
|
-
function ɵgetUnknownPropertyStrictMode() {
|
|
11163
|
-
return shouldThrowErrorOnUnknownProperty;
|
|
11164
|
-
}
|
|
11165
|
-
/**
|
|
11166
|
-
* Validates that the element is known at runtime and produces
|
|
11167
|
-
* an error if it's not the case.
|
|
11168
|
-
* This check is relevant for JIT-compiled components (for AOT-compiled
|
|
11169
|
-
* ones this check happens at build time).
|
|
11170
|
-
*
|
|
11171
|
-
* The element is considered known if either:
|
|
11172
|
-
* - it's a known HTML element
|
|
11173
|
-
* - it's a known custom element
|
|
11174
|
-
* - the element matches any directive
|
|
11175
|
-
* - the element is allowed by one of the schemas
|
|
11176
|
-
*
|
|
11177
|
-
* @param element Element to validate
|
|
11178
|
-
* @param lView An `LView` that represents a current component that is being rendered
|
|
11179
|
-
* @param tagName Name of the tag to check
|
|
11180
|
-
* @param schemas Array of schemas
|
|
11181
|
-
* @param hasDirectives Boolean indicating that the element matches any directive
|
|
11182
|
-
*/
|
|
11183
|
-
function validateElementIsKnown(element, lView, tagName, schemas, hasDirectives) {
|
|
11184
|
-
// If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
|
|
11185
|
-
// mode where this check happens at compile time. In JIT mode, `schemas` is always present and
|
|
11186
|
-
// defined as an array (as an empty array in case `schemas` field is not defined) and we should
|
|
11187
|
-
// execute the check below.
|
|
11188
|
-
if (schemas === null)
|
|
11189
|
-
return;
|
|
11190
|
-
// If the element matches any directive, it's considered as valid.
|
|
11191
|
-
if (!hasDirectives && tagName !== null) {
|
|
11192
|
-
// The element is unknown if it's an instance of HTMLUnknownElement, or it isn't registered
|
|
11193
|
-
// as a custom element. Note that unknown elements with a dash in their name won't be instances
|
|
11194
|
-
// of HTMLUnknownElement in browsers that support web components.
|
|
11195
|
-
const isUnknown =
|
|
11196
|
-
// Note that we can't check for `typeof HTMLUnknownElement === 'function'` because
|
|
11197
|
-
// Domino doesn't expose HTMLUnknownElement globally.
|
|
11198
|
-
(typeof HTMLUnknownElement !== 'undefined' &&
|
|
11199
|
-
HTMLUnknownElement &&
|
|
11200
|
-
element instanceof HTMLUnknownElement) ||
|
|
11201
|
-
(typeof customElements !== 'undefined' &&
|
|
11202
|
-
tagName.indexOf('-') > -1 &&
|
|
11203
|
-
!customElements.get(tagName));
|
|
11204
|
-
if (isUnknown && !matchingSchemas(schemas, tagName)) {
|
|
11205
|
-
const isHostStandalone = isHostComponentStandalone(lView);
|
|
11206
|
-
const templateLocation = getTemplateLocationDetails(lView);
|
|
11207
|
-
const schemas = `'${isHostStandalone ? '@Component' : '@NgModule'}.schemas'`;
|
|
11208
|
-
let message = `'${tagName}' is not a known element${templateLocation}:\n`;
|
|
11209
|
-
message += `1. If '${tagName}' is an Angular component, then verify that it is ${isHostStandalone
|
|
11210
|
-
? "included in the '@Component.imports' of this component"
|
|
11211
|
-
: 'a part of an @NgModule where this component is declared'}.\n`;
|
|
11212
|
-
if (tagName && tagName.indexOf('-') > -1) {
|
|
11213
|
-
message += `2. If '${tagName}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the ${schemas} of this component to suppress this message.`;
|
|
11214
|
-
}
|
|
11215
|
-
else {
|
|
11216
|
-
message += `2. To allow any element add 'NO_ERRORS_SCHEMA' to the ${schemas} of this component.`;
|
|
11217
|
-
}
|
|
11218
|
-
if (shouldThrowErrorOnUnknownElement) {
|
|
11219
|
-
throw new RuntimeError(304 /* RuntimeErrorCode.UNKNOWN_ELEMENT */, message);
|
|
11220
|
-
}
|
|
11221
|
-
else {
|
|
11222
|
-
console.error(formatRuntimeError(304 /* RuntimeErrorCode.UNKNOWN_ELEMENT */, message));
|
|
11223
|
-
}
|
|
11224
|
-
}
|
|
11225
|
-
}
|
|
11226
|
-
}
|
|
11227
|
-
/**
|
|
11228
|
-
* Validates that the property of the element is known at runtime and returns
|
|
11229
|
-
* false if it's not the case.
|
|
11230
|
-
* This check is relevant for JIT-compiled components (for AOT-compiled
|
|
11231
|
-
* ones this check happens at build time).
|
|
11232
|
-
*
|
|
11233
|
-
* The property is considered known if either:
|
|
11234
|
-
* - it's a known property of the element
|
|
11235
|
-
* - the element is allowed by one of the schemas
|
|
11236
|
-
* - the property is used for animations
|
|
11237
|
-
*
|
|
11238
|
-
* @param element Element to validate
|
|
11239
|
-
* @param propName Name of the property to check
|
|
11240
|
-
* @param tagName Name of the tag hosting the property
|
|
11241
|
-
* @param schemas Array of schemas
|
|
11242
|
-
*/
|
|
11243
|
-
function isPropertyValid(element, propName, tagName, schemas) {
|
|
11244
|
-
// If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
|
|
11245
|
-
// mode where this check happens at compile time. In JIT mode, `schemas` is always present and
|
|
11246
|
-
// defined as an array (as an empty array in case `schemas` field is not defined) and we should
|
|
11247
|
-
// execute the check below.
|
|
11248
|
-
if (schemas === null)
|
|
11249
|
-
return true;
|
|
11250
|
-
// The property is considered valid if the element matches the schema, it exists on the element,
|
|
11251
|
-
// or it is synthetic.
|
|
11252
|
-
if (matchingSchemas(schemas, tagName) || propName in element || isAnimationProp(propName)) {
|
|
11253
|
-
return true;
|
|
11254
|
-
}
|
|
11255
|
-
// Note: `typeof Node` returns 'function' in most browsers, but is undefined with domino.
|
|
11256
|
-
return typeof Node === 'undefined' || Node === null || !(element instanceof Node);
|
|
11257
|
-
}
|
|
11258
|
-
/**
|
|
11259
|
-
* Logs or throws an error that a property is not supported on an element.
|
|
11260
|
-
*
|
|
11261
|
-
* @param propName Name of the invalid property
|
|
11262
|
-
* @param tagName Name of the tag hosting the property
|
|
11263
|
-
* @param nodeType Type of the node hosting the property
|
|
11264
|
-
* @param lView An `LView` that represents a current component
|
|
11265
|
-
*/
|
|
11266
|
-
function handleUnknownPropertyError(propName, tagName, nodeType, lView) {
|
|
11267
|
-
// Special-case a situation when a structural directive is applied to
|
|
11268
|
-
// an `<ng-template>` element, for example: `<ng-template *ngIf="true">`.
|
|
11269
|
-
// In this case the compiler generates the `ɵɵtemplate` instruction with
|
|
11270
|
-
// the `null` as the tagName. The directive matching logic at runtime relies
|
|
11271
|
-
// on this effect (see `isInlineTemplate`), thus using the 'ng-template' as
|
|
11272
|
-
// a default value of the `tNode.value` is not feasible at this moment.
|
|
11273
|
-
if (!tagName && nodeType === 4 /* TNodeType.Container */) {
|
|
11274
|
-
tagName = 'ng-template';
|
|
11275
|
-
}
|
|
11276
|
-
const isHostStandalone = isHostComponentStandalone(lView);
|
|
11277
|
-
const templateLocation = getTemplateLocationDetails(lView);
|
|
11278
|
-
let message = `Can't bind to '${propName}' since it isn't a known property of '${tagName}'${templateLocation}.`;
|
|
11279
|
-
const schemas = `'${isHostStandalone ? '@Component' : '@NgModule'}.schemas'`;
|
|
11280
|
-
const importLocation = isHostStandalone
|
|
11281
|
-
? "included in the '@Component.imports' of this component"
|
|
11282
|
-
: 'a part of an @NgModule where this component is declared';
|
|
11283
|
-
if (KNOWN_CONTROL_FLOW_DIRECTIVES.has(propName)) {
|
|
11284
|
-
// Most likely this is a control flow directive (such as `*ngIf`) used in
|
|
11285
|
-
// a template, but the directive or the `CommonModule` is not imported.
|
|
11286
|
-
const correspondingImport = KNOWN_CONTROL_FLOW_DIRECTIVES.get(propName);
|
|
11287
|
-
message +=
|
|
11288
|
-
`\nIf the '${propName}' is an Angular control flow directive, ` +
|
|
11289
|
-
`please make sure that either the '${correspondingImport}' directive or the 'CommonModule' is ${importLocation}.`;
|
|
11290
|
-
}
|
|
11291
|
-
else {
|
|
11292
|
-
// May be an Angular component, which is not imported/declared?
|
|
11293
|
-
message +=
|
|
11294
|
-
`\n1. If '${tagName}' is an Angular component and it has the ` +
|
|
11295
|
-
`'${propName}' input, then verify that it is ${importLocation}.`;
|
|
11296
|
-
// May be a Web Component?
|
|
11297
|
-
if (tagName && tagName.indexOf('-') > -1) {
|
|
11298
|
-
message +=
|
|
11299
|
-
`\n2. If '${tagName}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' ` +
|
|
11300
|
-
`to the ${schemas} of this component to suppress this message.`;
|
|
11301
|
-
message +=
|
|
11302
|
-
`\n3. To allow any property add 'NO_ERRORS_SCHEMA' to ` +
|
|
11303
|
-
`the ${schemas} of this component.`;
|
|
11304
|
-
}
|
|
11305
|
-
else {
|
|
11306
|
-
// If it's expected, the error can be suppressed by the `NO_ERRORS_SCHEMA` schema.
|
|
11307
|
-
message +=
|
|
11308
|
-
`\n2. To allow any property add 'NO_ERRORS_SCHEMA' to ` +
|
|
11309
|
-
`the ${schemas} of this component.`;
|
|
11310
|
-
}
|
|
11311
|
-
}
|
|
11312
|
-
reportUnknownPropertyError(message);
|
|
11313
|
-
}
|
|
11314
|
-
function reportUnknownPropertyError(message) {
|
|
11315
|
-
if (shouldThrowErrorOnUnknownProperty) {
|
|
11316
|
-
throw new RuntimeError(303 /* RuntimeErrorCode.UNKNOWN_BINDING */, message);
|
|
11317
|
-
}
|
|
11318
|
-
else {
|
|
11319
|
-
console.error(formatRuntimeError(303 /* RuntimeErrorCode.UNKNOWN_BINDING */, message));
|
|
11320
|
-
}
|
|
11321
|
-
}
|
|
11322
|
-
/**
|
|
11323
|
-
* WARNING: this is a **dev-mode only** function (thus should always be guarded by the `ngDevMode`)
|
|
11324
|
-
* and must **not** be used in production bundles. The function makes megamorphic reads, which might
|
|
11325
|
-
* be too slow for production mode and also it relies on the constructor function being available.
|
|
11326
|
-
*
|
|
11327
|
-
* Gets a reference to the host component def (where a current component is declared).
|
|
11328
|
-
*
|
|
11329
|
-
* @param lView An `LView` that represents a current component that is being rendered.
|
|
11330
|
-
*/
|
|
11331
|
-
function getDeclarationComponentDef(lView) {
|
|
11332
|
-
!ngDevMode && throwError('Must never be called in production mode');
|
|
11333
|
-
const declarationLView = lView[DECLARATION_COMPONENT_VIEW];
|
|
11334
|
-
const context = declarationLView[CONTEXT];
|
|
11335
|
-
// Unable to obtain a context.
|
|
11336
|
-
if (!context)
|
|
11337
|
-
return null;
|
|
11338
|
-
return context.constructor ? getComponentDef(context.constructor) : null;
|
|
11339
|
-
}
|
|
11340
|
-
/**
|
|
11341
|
-
* WARNING: this is a **dev-mode only** function (thus should always be guarded by the `ngDevMode`)
|
|
11342
|
-
* and must **not** be used in production bundles. The function makes megamorphic reads, which might
|
|
11343
|
-
* be too slow for production mode.
|
|
11344
|
-
*
|
|
11345
|
-
* Checks if the current component is declared inside of a standalone component template.
|
|
11346
|
-
*
|
|
11347
|
-
* @param lView An `LView` that represents a current component that is being rendered.
|
|
11348
|
-
*/
|
|
11349
|
-
function isHostComponentStandalone(lView) {
|
|
11350
|
-
!ngDevMode && throwError('Must never be called in production mode');
|
|
11351
|
-
const componentDef = getDeclarationComponentDef(lView);
|
|
11352
|
-
// Treat host component as non-standalone if we can't obtain the def.
|
|
11353
|
-
return !!componentDef?.standalone;
|
|
11354
|
-
}
|
|
11355
|
-
/**
|
|
11356
|
-
* WARNING: this is a **dev-mode only** function (thus should always be guarded by the `ngDevMode`)
|
|
11357
|
-
* and must **not** be used in production bundles. The function makes megamorphic reads, which might
|
|
11358
|
-
* be too slow for production mode.
|
|
11359
|
-
*
|
|
11360
|
-
* Constructs a string describing the location of the host component template. The function is used
|
|
11361
|
-
* in dev mode to produce error messages.
|
|
11362
|
-
*
|
|
11363
|
-
* @param lView An `LView` that represents a current component that is being rendered.
|
|
11364
|
-
*/
|
|
11365
|
-
function getTemplateLocationDetails(lView) {
|
|
11366
|
-
!ngDevMode && throwError('Must never be called in production mode');
|
|
11367
|
-
const hostComponentDef = getDeclarationComponentDef(lView);
|
|
11368
|
-
const componentClassName = hostComponentDef?.type?.name;
|
|
11369
|
-
return componentClassName ? ` (used in the '${componentClassName}' component template)` : '';
|
|
11370
|
-
}
|
|
11371
|
-
/**
|
|
11372
|
-
* The set of known control flow directives and their corresponding imports.
|
|
11373
|
-
* We use this set to produce a more precises error message with a note
|
|
11374
|
-
* that the `CommonModule` should also be included.
|
|
11375
|
-
*/
|
|
11376
|
-
const KNOWN_CONTROL_FLOW_DIRECTIVES = new Map([
|
|
11377
|
-
['ngIf', 'NgIf'],
|
|
11378
|
-
['ngFor', 'NgFor'],
|
|
11379
|
-
['ngSwitchCase', 'NgSwitchCase'],
|
|
11380
|
-
['ngSwitchDefault', 'NgSwitchDefault'],
|
|
11381
|
-
]);
|
|
11382
|
-
/**
|
|
11383
|
-
* Returns true if the tag name is allowed by specified schemas.
|
|
11384
|
-
* @param schemas Array of schemas
|
|
11385
|
-
* @param tagName Name of the tag
|
|
11386
|
-
*/
|
|
11387
|
-
function matchingSchemas(schemas, tagName) {
|
|
11388
|
-
if (schemas !== null) {
|
|
11389
|
-
for (let i = 0; i < schemas.length; i++) {
|
|
11390
|
-
const schema = schemas[i];
|
|
11391
|
-
if (schema === NO_ERRORS_SCHEMA ||
|
|
11392
|
-
(schema === CUSTOM_ELEMENTS_SCHEMA && tagName && tagName.indexOf('-') > -1)) {
|
|
11393
|
-
return true;
|
|
11394
|
-
}
|
|
11395
|
-
}
|
|
11396
|
-
}
|
|
11397
|
-
return false;
|
|
11398
|
-
}
|
|
11399
|
-
|
|
11400
11585
|
/**
|
|
11401
11586
|
*
|
|
11402
11587
|
* @codeGenApi
|
|
@@ -11990,122 +12175,6 @@ function extractAttrsAndClassesFromSelector(selector) {
|
|
|
11990
12175
|
/** A special value which designates that a value has not changed. */
|
|
11991
12176
|
const NO_CHANGE = typeof ngDevMode === 'undefined' || ngDevMode ? { __brand__: 'NO_CHANGE' } : {};
|
|
11992
12177
|
|
|
11993
|
-
function createTextNode(renderer, value) {
|
|
11994
|
-
ngDevMode && ngDevMode.rendererCreateTextNode++;
|
|
11995
|
-
ngDevMode && ngDevMode.rendererSetText++;
|
|
11996
|
-
return renderer.createText(value);
|
|
11997
|
-
}
|
|
11998
|
-
function updateTextNode(renderer, rNode, value) {
|
|
11999
|
-
ngDevMode && ngDevMode.rendererSetText++;
|
|
12000
|
-
renderer.setValue(rNode, value);
|
|
12001
|
-
}
|
|
12002
|
-
function createCommentNode(renderer, value) {
|
|
12003
|
-
ngDevMode && ngDevMode.rendererCreateComment++;
|
|
12004
|
-
return renderer.createComment(escapeCommentText(value));
|
|
12005
|
-
}
|
|
12006
|
-
/**
|
|
12007
|
-
* Creates a native element from a tag name, using a renderer.
|
|
12008
|
-
* @param renderer A renderer to use
|
|
12009
|
-
* @param name the tag name
|
|
12010
|
-
* @param namespace Optional namespace for element.
|
|
12011
|
-
* @returns the element created
|
|
12012
|
-
*/
|
|
12013
|
-
function createElementNode(renderer, name, namespace) {
|
|
12014
|
-
ngDevMode && ngDevMode.rendererCreateElement++;
|
|
12015
|
-
return renderer.createElement(name, namespace);
|
|
12016
|
-
}
|
|
12017
|
-
/**
|
|
12018
|
-
* Inserts a native node before another native node for a given parent.
|
|
12019
|
-
* This is a utility function that can be used when native nodes were determined.
|
|
12020
|
-
*/
|
|
12021
|
-
function nativeInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
12022
|
-
ngDevMode && ngDevMode.rendererInsertBefore++;
|
|
12023
|
-
renderer.insertBefore(parent, child, beforeNode, isMove);
|
|
12024
|
-
}
|
|
12025
|
-
function nativeAppendChild(renderer, parent, child) {
|
|
12026
|
-
ngDevMode && ngDevMode.rendererAppendChild++;
|
|
12027
|
-
ngDevMode && assertDefined(parent, 'parent node must be defined');
|
|
12028
|
-
renderer.appendChild(parent, child);
|
|
12029
|
-
}
|
|
12030
|
-
function nativeAppendOrInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
12031
|
-
if (beforeNode !== null) {
|
|
12032
|
-
nativeInsertBefore(renderer, parent, child, beforeNode, isMove);
|
|
12033
|
-
}
|
|
12034
|
-
else {
|
|
12035
|
-
nativeAppendChild(renderer, parent, child);
|
|
12036
|
-
}
|
|
12037
|
-
}
|
|
12038
|
-
/**
|
|
12039
|
-
* Removes a native node itself using a given renderer. To remove the node we are looking up its
|
|
12040
|
-
* parent from the native tree as not all platforms / browsers support the equivalent of
|
|
12041
|
-
* node.remove().
|
|
12042
|
-
*
|
|
12043
|
-
* @param renderer A renderer to be used
|
|
12044
|
-
* @param rNode The native node that should be removed
|
|
12045
|
-
* @param isHostElement A flag indicating if a node to be removed is a host of a component.
|
|
12046
|
-
*/
|
|
12047
|
-
function nativeRemoveNode(renderer, rNode, isHostElement) {
|
|
12048
|
-
ngDevMode && ngDevMode.rendererRemoveNode++;
|
|
12049
|
-
renderer.removeChild(null, rNode, isHostElement);
|
|
12050
|
-
}
|
|
12051
|
-
/**
|
|
12052
|
-
* Clears the contents of a given RElement.
|
|
12053
|
-
*
|
|
12054
|
-
* @param rElement the native RElement to be cleared
|
|
12055
|
-
*/
|
|
12056
|
-
function clearElementContents(rElement) {
|
|
12057
|
-
rElement.textContent = '';
|
|
12058
|
-
}
|
|
12059
|
-
/**
|
|
12060
|
-
* Write `cssText` to `RElement`.
|
|
12061
|
-
*
|
|
12062
|
-
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
12063
|
-
* that static styling values do not pull in the style parser.
|
|
12064
|
-
*
|
|
12065
|
-
* @param renderer Renderer to use
|
|
12066
|
-
* @param element The element which needs to be updated.
|
|
12067
|
-
* @param newValue The new class list to write.
|
|
12068
|
-
*/
|
|
12069
|
-
function writeDirectStyle(renderer, element, newValue) {
|
|
12070
|
-
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
12071
|
-
renderer.setAttribute(element, 'style', newValue);
|
|
12072
|
-
ngDevMode && ngDevMode.rendererSetStyle++;
|
|
12073
|
-
}
|
|
12074
|
-
/**
|
|
12075
|
-
* Write `className` to `RElement`.
|
|
12076
|
-
*
|
|
12077
|
-
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
12078
|
-
* that static styling values do not pull in the style parser.
|
|
12079
|
-
*
|
|
12080
|
-
* @param renderer Renderer to use
|
|
12081
|
-
* @param element The element which needs to be updated.
|
|
12082
|
-
* @param newValue The new class list to write.
|
|
12083
|
-
*/
|
|
12084
|
-
function writeDirectClass(renderer, element, newValue) {
|
|
12085
|
-
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
12086
|
-
if (newValue === '') {
|
|
12087
|
-
// There are tests in `google3` which expect `element.getAttribute('class')` to be `null`.
|
|
12088
|
-
renderer.removeAttribute(element, 'class');
|
|
12089
|
-
}
|
|
12090
|
-
else {
|
|
12091
|
-
renderer.setAttribute(element, 'class', newValue);
|
|
12092
|
-
}
|
|
12093
|
-
ngDevMode && ngDevMode.rendererSetClassName++;
|
|
12094
|
-
}
|
|
12095
|
-
/** Sets up the static DOM attributes on an `RNode`. */
|
|
12096
|
-
function setupStaticAttributes(renderer, element, tNode) {
|
|
12097
|
-
const { mergedAttrs, classes, styles } = tNode;
|
|
12098
|
-
if (mergedAttrs !== null) {
|
|
12099
|
-
setUpAttributes(renderer, element, mergedAttrs);
|
|
12100
|
-
}
|
|
12101
|
-
if (classes !== null) {
|
|
12102
|
-
writeDirectClass(renderer, element, classes);
|
|
12103
|
-
}
|
|
12104
|
-
if (styles !== null) {
|
|
12105
|
-
writeDirectStyle(renderer, element, styles);
|
|
12106
|
-
}
|
|
12107
|
-
}
|
|
12108
|
-
|
|
12109
12178
|
/**
|
|
12110
12179
|
* Creates a TView instance
|
|
12111
12180
|
*
|
|
@@ -18010,7 +18079,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
18010
18079
|
const cmpDef = this.componentDef;
|
|
18011
18080
|
ngDevMode && verifyNotAnOrphanComponent(cmpDef);
|
|
18012
18081
|
const tAttributes = rootSelectorOrNode
|
|
18013
|
-
? ['ng-version', '19.2.
|
|
18082
|
+
? ['ng-version', '19.2.18']
|
|
18014
18083
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
18015
18084
|
extractAttrsAndClassesFromSelector(this.componentDef.selectors[0]);
|
|
18016
18085
|
// Create the root view. Uses empty TView and ContentTemplate.
|
|
@@ -19558,41 +19627,6 @@ function setAllowDuplicateNgModuleIdsForTest(allowDuplicates) {
|
|
|
19558
19627
|
checkForDuplicateNgModules = !allowDuplicates;
|
|
19559
19628
|
}
|
|
19560
19629
|
|
|
19561
|
-
/**
|
|
19562
|
-
* Validation function invoked at runtime for each binding that might potentially
|
|
19563
|
-
* represent a security-sensitive attribute of an <iframe>.
|
|
19564
|
-
* See `IFRAME_SECURITY_SENSITIVE_ATTRS` in the
|
|
19565
|
-
* `packages/compiler/src/schema/dom_security_schema.ts` script for the full list
|
|
19566
|
-
* of such attributes.
|
|
19567
|
-
*
|
|
19568
|
-
* @codeGenApi
|
|
19569
|
-
*/
|
|
19570
|
-
function ɵɵvalidateIframeAttribute(attrValue, tagName, attrName) {
|
|
19571
|
-
const lView = getLView();
|
|
19572
|
-
const tNode = getSelectedTNode();
|
|
19573
|
-
const element = getNativeByTNode(tNode, lView);
|
|
19574
|
-
// Restrict any dynamic bindings of security-sensitive attributes/properties
|
|
19575
|
-
// on an <iframe> for security reasons.
|
|
19576
|
-
if (tNode.type === 2 /* TNodeType.Element */ && tagName.toLowerCase() === 'iframe') {
|
|
19577
|
-
const iframe = element;
|
|
19578
|
-
// Unset previously applied `src` and `srcdoc` if we come across a situation when
|
|
19579
|
-
// a security-sensitive attribute is set later via an attribute/property binding.
|
|
19580
|
-
iframe.src = '';
|
|
19581
|
-
iframe.srcdoc = trustedHTMLFromString('');
|
|
19582
|
-
// Also remove the <iframe> from the document.
|
|
19583
|
-
nativeRemoveNode(lView[RENDERER], iframe);
|
|
19584
|
-
const errorMessage = ngDevMode &&
|
|
19585
|
-
`Angular has detected that the \`${attrName}\` was applied ` +
|
|
19586
|
-
`as a binding to an <iframe>${getTemplateLocationDetails(lView)}. ` +
|
|
19587
|
-
`For security reasons, the \`${attrName}\` can be set on an <iframe> ` +
|
|
19588
|
-
`as a static attribute only. \n` +
|
|
19589
|
-
`To fix this, switch the \`${attrName}\` binding to a static attribute ` +
|
|
19590
|
-
`in a template or in host bindings section.`;
|
|
19591
|
-
throw new RuntimeError(-910 /* RuntimeErrorCode.UNSAFE_IFRAME_ATTRS */, errorMessage);
|
|
19592
|
-
}
|
|
19593
|
-
return attrValue;
|
|
19594
|
-
}
|
|
19595
|
-
|
|
19596
19630
|
/**
|
|
19597
19631
|
* Represents an instance of an `NgModule` created by an `NgModuleFactory`.
|
|
19598
19632
|
* Provides access to the `NgModule` instance and related objects.
|
|
@@ -33715,11 +33749,11 @@ const angularCoreEnv = (() => ({
|
|
|
33715
33749
|
'ɵɵsanitizeStyle': ɵɵsanitizeStyle,
|
|
33716
33750
|
'ɵɵsanitizeResourceUrl': ɵɵsanitizeResourceUrl,
|
|
33717
33751
|
'ɵɵsanitizeScript': ɵɵsanitizeScript,
|
|
33752
|
+
'ɵɵvalidateAttribute': ɵɵvalidateAttribute,
|
|
33718
33753
|
'ɵɵsanitizeUrl': ɵɵsanitizeUrl,
|
|
33719
33754
|
'ɵɵsanitizeUrlOrResourceUrl': ɵɵsanitizeUrlOrResourceUrl,
|
|
33720
33755
|
'ɵɵtrustConstantHtml': ɵɵtrustConstantHtml,
|
|
33721
33756
|
'ɵɵtrustConstantResourceUrl': ɵɵtrustConstantResourceUrl,
|
|
33722
|
-
'ɵɵvalidateIframeAttribute': ɵɵvalidateIframeAttribute,
|
|
33723
33757
|
'forwardRef': forwardRef,
|
|
33724
33758
|
'resolveForwardRef': resolveForwardRef,
|
|
33725
33759
|
'ɵɵtwoWayProperty': ɵɵtwoWayProperty,
|
|
@@ -34752,7 +34786,7 @@ class Version {
|
|
|
34752
34786
|
/**
|
|
34753
34787
|
* @publicApi
|
|
34754
34788
|
*/
|
|
34755
|
-
const VERSION = new Version('19.2.
|
|
34789
|
+
const VERSION = new Version('19.2.18');
|
|
34756
34790
|
|
|
34757
34791
|
/**
|
|
34758
34792
|
* Combination of NgModuleFactory and ComponentFactories.
|
|
@@ -40667,5 +40701,5 @@ const REQUEST_CONTEXT = new InjectionToken(typeof ngDevMode === 'undefined' || n
|
|
|
40667
40701
|
factory: () => null,
|
|
40668
40702
|
});
|
|
40669
40703
|
|
|
40670
|
-
export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PendingTasks, Pipe, PlatformRef, Query, QueryList, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, Renderer2, RendererFactory2, RendererStyleFlags2, ResourceStatus, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef, afterNextRender, afterRender, afterRenderEffect, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, linkedSignal, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideAppInitializer, provideEnvironmentInitializer, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, resource, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, AfterRenderManager as ɵAfterRenderManager, CLIENT_RENDER_MODE_FLAG as ɵCLIENT_RENDER_MODE_FLAG, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEHYDRATED_BLOCK_REGISTRY as ɵDEHYDRATED_BLOCK_REGISTRY, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, EffectScheduler as ɵEffectScheduler, HydrationStatus as ɵHydrationStatus, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_BLOCK_ELEMENT_MAP as ɵJSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, MicrotaskEffectScheduler as ɵMicrotaskEffectScheduler, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasksInternal as ɵPendingTasksInternal, R3Injector as ɵR3Injector, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, ResourceImpl as ɵResourceImpl, RuntimeError as ɵRuntimeError, SIGNAL as ɵSIGNAL, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, TimerScheduler as ɵTimerScheduler, TracingAction as ɵTracingAction, TracingService as ɵTracingService, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, createOrReusePlatformInjector as ɵcreateOrReusePlatformInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getClosestComponentName as ɵgetClosestComponentName, getComponentDef as ɵgetComponentDef, getDebugNode as ɵgetDebugNode, getDeferBlocks$1 as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getDocument as ɵgetDocument, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, isViewDirty as ɵisViewDirty, markForRefresh as ɵmarkForRefresh, microtaskEffect as ɵmicrotaskEffect, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
40704
|
+
export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PendingTasks, Pipe, PlatformRef, Query, QueryList, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, Renderer2, RendererFactory2, RendererStyleFlags2, ResourceStatus, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef, afterNextRender, afterRender, afterRenderEffect, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, linkedSignal, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideAppInitializer, provideEnvironmentInitializer, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, resource, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, AfterRenderManager as ɵAfterRenderManager, CLIENT_RENDER_MODE_FLAG as ɵCLIENT_RENDER_MODE_FLAG, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEHYDRATED_BLOCK_REGISTRY as ɵDEHYDRATED_BLOCK_REGISTRY, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, EffectScheduler as ɵEffectScheduler, HydrationStatus as ɵHydrationStatus, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_BLOCK_ELEMENT_MAP as ɵJSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, MicrotaskEffectScheduler as ɵMicrotaskEffectScheduler, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasksInternal as ɵPendingTasksInternal, R3Injector as ɵR3Injector, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, ResourceImpl as ɵResourceImpl, RuntimeError as ɵRuntimeError, SIGNAL as ɵSIGNAL, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, TimerScheduler as ɵTimerScheduler, TracingAction as ɵTracingAction, TracingService as ɵTracingService, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, createOrReusePlatformInjector as ɵcreateOrReusePlatformInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getClosestComponentName as ɵgetClosestComponentName, getComponentDef as ɵgetComponentDef, getDebugNode as ɵgetDebugNode, getDeferBlocks$1 as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getDocument as ɵgetDocument, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, isViewDirty as ɵisViewDirty, markForRefresh as ɵmarkForRefresh, microtaskEffect as ɵmicrotaskEffect, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
40671
40705
|
//# sourceMappingURL=core.mjs.map
|