@angular/core 9.0.0-rc.9 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/core-testing.umd.js +10 -9
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +6 -6
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +3619 -3914
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +182 -175
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +483 -651
- package/core.metadata.json +1 -1
- package/esm2015/core.js +17 -17
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/esm2015/src/application_ref.js +7 -7
- package/esm2015/src/core.js +3 -3
- package/esm2015/src/core_private_export.js +7 -7
- package/esm2015/src/core_render3_private_export.js +2 -2
- package/esm2015/src/debug/debug_node.js +44 -12
- package/esm2015/src/i18n/locale_data_api.js +1 -2
- package/esm2015/src/interface/type.js +1 -1
- package/esm2015/src/metadata/ng_module.js +1 -1
- package/esm2015/src/render/api.js +4 -1
- package/esm2015/src/render3/assert.js +9 -1
- package/esm2015/src/render3/bindings.js +16 -5
- package/esm2015/src/render3/component.js +54 -25
- package/esm2015/src/render3/component_ref.js +11 -15
- package/esm2015/src/render3/definition.js +3 -1
- package/esm2015/src/render3/di.js +3 -4
- package/esm2015/src/render3/di_setup.js +5 -7
- package/esm2015/src/render3/errors.js +3 -1
- package/esm2015/src/render3/features/inherit_definition_feature.js +41 -13
- package/esm2015/src/render3/features/ng_onchanges_feature.js +2 -2
- package/esm2015/src/render3/global_utils_api.js +3 -3
- package/esm2015/src/render3/i18n.js +60 -56
- package/esm2015/src/render3/index.js +2 -2
- package/esm2015/src/render3/instructions/advance.js +10 -11
- package/esm2015/src/render3/instructions/all.js +4 -5
- package/esm2015/src/render3/instructions/attribute.js +6 -6
- package/esm2015/src/render3/instructions/attribute_interpolation.js +40 -21
- package/esm2015/src/render3/instructions/change_detection.js +8 -23
- package/esm2015/src/render3/instructions/class_map_interpolation.js +13 -12
- package/esm2015/src/render3/instructions/container.js +15 -12
- package/esm2015/src/render3/instructions/element.js +40 -127
- package/esm2015/src/render3/instructions/element_container.js +8 -10
- package/esm2015/src/render3/instructions/embedded_view.js +7 -7
- package/esm2015/src/render3/instructions/host_property.js +10 -7
- package/esm2015/src/render3/instructions/listener.js +18 -16
- package/esm2015/src/render3/instructions/lview_debug.js +160 -23
- package/esm2015/src/render3/instructions/projection.js +7 -5
- package/esm2015/src/render3/instructions/property.js +27 -6
- package/esm2015/src/render3/instructions/property_interpolation.js +40 -22
- package/esm2015/src/render3/instructions/shared.js +267 -240
- package/esm2015/src/render3/instructions/storage.js +6 -8
- package/esm2015/src/render3/instructions/style_prop_interpolation.js +12 -12
- package/esm2015/src/render3/instructions/styling.js +731 -475
- package/esm2015/src/render3/instructions/text.js +5 -5
- package/esm2015/src/render3/interfaces/definition.js +41 -1
- package/esm2015/src/render3/interfaces/node.js +160 -115
- package/esm2015/src/render3/interfaces/styling.js +183 -375
- package/esm2015/src/render3/interfaces/view.js +10 -2
- package/esm2015/src/render3/jit/environment.js +1 -3
- package/esm2015/src/render3/node_manipulation.js +177 -57
- package/esm2015/src/render3/node_selector_matcher.js +39 -24
- package/esm2015/src/render3/node_util.js +12 -7
- package/esm2015/src/render3/pipe.js +4 -6
- package/esm2015/src/render3/query.js +32 -26
- package/esm2015/src/render3/state.js +54 -183
- package/esm2015/src/render3/styling/class_differ.js +47 -0
- package/esm2015/src/render3/styling/static_styling.js +54 -0
- package/esm2015/src/render3/styling/style_binding_list.js +437 -0
- package/esm2015/src/render3/styling/styling_parser.js +336 -0
- package/esm2015/src/render3/tokens.js +2 -2
- package/esm2015/src/render3/util/attrs_utils.js +125 -2
- package/esm2015/src/render3/util/change_detection_utils.js +33 -0
- package/esm2015/src/render3/util/discovery_utils.js +146 -119
- package/esm2015/src/render3/util/global_utils.js +5 -5
- package/esm2015/src/render3/util/view_utils.js +6 -6
- package/esm2015/src/render3/view_engine_compatibility.js +16 -17
- package/esm2015/src/render3/view_ref.js +16 -13
- package/esm2015/src/sanitization/bypass.js +1 -1
- package/esm2015/src/sanitization/sanitization.js +20 -5
- package/esm2015/src/util/array_utils.js +240 -1
- package/esm2015/src/util/assert.js +37 -21
- package/esm2015/src/util/char_code.js +8 -0
- package/esm2015/src/util/iterable.js +4 -1
- package/esm2015/src/util/ng_dev_mode.js +1 -12
- package/esm2015/src/util/stringify.js +14 -1
- package/esm2015/src/version.js +1 -1
- package/esm2015/testing/src/r3_test_bed.js +5 -1
- package/esm2015/testing/src/r3_test_bed_compiler.js +2 -12
- package/esm2015/testing/src/styling.js +103 -0
- package/esm5/core.js +17 -17
- package/esm5/src/application_ref.js +6 -6
- package/esm5/src/core_private_export.js +7 -7
- package/esm5/src/core_render3_private_export.js +2 -2
- package/esm5/src/debug/debug_node.js +29 -11
- package/esm5/src/i18n/locale_data_api.js +1 -2
- package/esm5/src/interface/type.js +1 -1
- package/esm5/src/metadata/ng_module.js +1 -1
- package/esm5/src/render/api.js +4 -1
- package/esm5/src/render3/assert.js +4 -1
- package/esm5/src/render3/bindings.js +19 -2
- package/esm5/src/render3/component.js +47 -22
- package/esm5/src/render3/component_ref.js +9 -14
- package/esm5/src/render3/definition.js +3 -1
- package/esm5/src/render3/di.js +3 -4
- package/esm5/src/render3/di_setup.js +4 -5
- package/esm5/src/render3/errors.js +3 -1
- package/esm5/src/render3/features/inherit_definition_feature.js +36 -12
- package/esm5/src/render3/features/ng_onchanges_feature.js +1 -1
- package/esm5/src/render3/global_utils_api.js +3 -3
- package/esm5/src/render3/i18n.js +51 -51
- package/esm5/src/render3/index.js +2 -2
- package/esm5/src/render3/instructions/advance.js +9 -11
- package/esm5/src/render3/instructions/all.js +1 -2
- package/esm5/src/render3/instructions/attribute.js +5 -6
- package/esm5/src/render3/instructions/attribute_interpolation.js +31 -21
- package/esm5/src/render3/instructions/change_detection.js +8 -21
- package/esm5/src/render3/instructions/class_map_interpolation.js +13 -12
- package/esm5/src/render3/instructions/container.js +13 -12
- package/esm5/src/render3/instructions/element.js +36 -108
- package/esm5/src/render3/instructions/element_container.js +8 -9
- package/esm5/src/render3/instructions/embedded_view.js +7 -7
- package/esm5/src/render3/instructions/host_property.js +8 -7
- package/esm5/src/render3/instructions/listener.js +13 -13
- package/esm5/src/render3/instructions/lview_debug.js +56 -15
- package/esm5/src/render3/instructions/projection.js +6 -5
- package/esm5/src/render3/instructions/property.js +17 -6
- package/esm5/src/render3/instructions/property_interpolation.js +31 -23
- package/esm5/src/render3/instructions/shared.js +247 -207
- package/esm5/src/render3/instructions/storage.js +4 -6
- package/esm5/src/render3/instructions/style_prop_interpolation.js +12 -12
- package/esm5/src/render3/instructions/styling.js +685 -367
- package/esm5/src/render3/instructions/text.js +5 -5
- package/esm5/src/render3/interfaces/definition.js +1 -1
- package/esm5/src/render3/interfaces/node.js +49 -1
- package/esm5/src/render3/interfaces/styling.js +57 -1
- package/esm5/src/render3/interfaces/view.js +1 -1
- package/esm5/src/render3/jit/environment.js +1 -3
- package/esm5/src/render3/node_manipulation.js +167 -54
- package/esm5/src/render3/node_selector_matcher.js +40 -20
- package/esm5/src/render3/node_util.js +12 -7
- package/esm5/src/render3/pipe.js +4 -6
- package/esm5/src/render3/query.js +25 -24
- package/esm5/src/render3/state.js +34 -131
- package/esm5/src/render3/styling/class_differ.js +39 -0
- package/esm5/src/render3/styling/static_styling.js +42 -0
- package/esm5/src/render3/styling/style_binding_list.js +411 -0
- package/esm5/src/render3/styling/styling_parser.js +265 -0
- package/esm5/src/render3/tokens.js +2 -2
- package/esm5/src/render3/util/attrs_utils.js +117 -2
- package/esm5/src/render3/util/change_detection_utils.js +23 -0
- package/esm5/src/render3/util/discovery_utils.js +115 -99
- package/esm5/src/render3/util/global_utils.js +5 -5
- package/esm5/src/render3/util/view_utils.js +5 -5
- package/esm5/src/render3/view_engine_compatibility.js +37 -39
- package/esm5/src/render3/view_ref.js +14 -13
- package/esm5/src/sanitization/bypass.js +1 -1
- package/esm5/src/sanitization/sanitization.js +16 -5
- package/esm5/src/util/array_utils.js +240 -1
- package/esm5/src/util/assert.js +37 -21
- package/esm5/src/util/char_code.js +8 -0
- package/esm5/src/util/iterable.js +4 -1
- package/esm5/src/util/ng_dev_mode.js +1 -12
- package/esm5/src/util/stringify.js +14 -1
- package/esm5/src/version.js +1 -1
- package/esm5/testing/src/r3_test_bed.js +9 -1
- package/esm5/testing/src/r3_test_bed_compiler.js +2 -9
- package/esm5/testing/src/styling.js +82 -0
- package/fesm2015/core.js +5917 -6880
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +6 -12
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +3588 -3884
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +10 -9
- package/fesm5/testing.js.map +1 -1
- package/package.json +1 -1
- package/src/r3_symbols.d.ts +1 -1
- package/testing/testing.d.ts +1 -3
- package/testing/testing.metadata.json +1 -1
- package/testing.d.ts +1 -1
- package/esm2015/global.js +0 -7
- package/esm2015/src/render3/instructions/alloc_host_vars.js +0 -80
- package/esm2015/src/render3/styling/bindings.js +0 -1248
- package/esm2015/src/render3/styling/map_based_bindings.js +0 -384
- package/esm2015/src/render3/styling/state.js +0 -135
- package/esm2015/src/render3/styling/styling_debug.js +0 -655
- package/esm2015/src/render3/util/styling_utils.js +0 -625
- package/esm5/global.js +0 -9
- package/esm5/src/render3/instructions/alloc_host_vars.js +0 -62
- package/esm5/src/render3/styling/bindings.js +0 -949
- package/esm5/src/render3/styling/map_based_bindings.js +0 -310
- package/esm5/src/render3/styling/state.js +0 -56
- package/esm5/src/render3/styling/styling_debug.js +0 -315
- package/esm5/src/render3/util/styling_utils.js +0 -378
package/core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v9.0.0
|
|
2
|
+
* @license Angular v9.0.0
|
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2604,7 +2604,7 @@ export declare interface HostBindingDecorator {
|
|
|
2604
2604
|
new (hostPropertyName?: string): any;
|
|
2605
2605
|
}
|
|
2606
2606
|
|
|
2607
|
-
declare type HostBindingsFunction<T> = <U extends T>(rf: ɵRenderFlags, ctx: U
|
|
2607
|
+
declare type HostBindingsFunction<T> = <U extends T>(rf: ɵRenderFlags, ctx: U) => void;
|
|
2608
2608
|
|
|
2609
2609
|
/**
|
|
2610
2610
|
* Type of the Host decorator / constructor function.
|
|
@@ -3381,12 +3381,6 @@ declare interface InstructionState {
|
|
|
3381
3381
|
* Necessary to support ChangeDetectorRef.checkNoChanges().
|
|
3382
3382
|
*/
|
|
3383
3383
|
checkNoChangesMode: boolean;
|
|
3384
|
-
/**
|
|
3385
|
-
* Function to be called when the element is exited.
|
|
3386
|
-
*
|
|
3387
|
-
* NOTE: The function is here for tree shakable purposes since it is only needed by styling.
|
|
3388
|
-
*/
|
|
3389
|
-
elementExitFn: (() => void) | null;
|
|
3390
3384
|
}
|
|
3391
3385
|
|
|
3392
3386
|
declare interface InternalNgModuleRef<T> extends NgModuleRef<T> {
|
|
@@ -3543,6 +3537,22 @@ export declare class IterableDiffers {
|
|
|
3543
3537
|
find(iterable: any): IterableDifferFactory;
|
|
3544
3538
|
}
|
|
3545
3539
|
|
|
3540
|
+
/**
|
|
3541
|
+
* `KeyValueArray` is an array where even positions contain keys and odd positions contain values.
|
|
3542
|
+
*
|
|
3543
|
+
* `KeyValueArray` provides a very efficient way of iterating over its contents. For small
|
|
3544
|
+
* sets (~10) the cost of binary searching an `KeyValueArray` has about the same performance
|
|
3545
|
+
* characteristics that of a `Map` with significantly better memory footprint.
|
|
3546
|
+
*
|
|
3547
|
+
* If used as a `Map` the keys are stored in alphabetical order so that they can be binary searched
|
|
3548
|
+
* for retrieval.
|
|
3549
|
+
*
|
|
3550
|
+
* See: `keyValueArraySet`, `keyValueArrayGet`, `keyValueArrayIndexOf`, `keyValueArrayDelete`.
|
|
3551
|
+
*/
|
|
3552
|
+
declare interface KeyValueArray<VALUE> extends Array<VALUE | string> {
|
|
3553
|
+
__brand__: 'array-map';
|
|
3554
|
+
}
|
|
3555
|
+
|
|
3546
3556
|
/**
|
|
3547
3557
|
* Record representing the item change information.
|
|
3548
3558
|
*
|
|
@@ -3689,7 +3699,7 @@ declare interface LContainer extends Array<any> {
|
|
|
3689
3699
|
* The host could be an LView if this container is on a component node.
|
|
3690
3700
|
* In that case, the component LView is its HOST.
|
|
3691
3701
|
*/
|
|
3692
|
-
readonly [HOST]: RElement | RComment | ɵ
|
|
3702
|
+
readonly [HOST]: RElement | RComment | ɵangular_packages_core_core_bo;
|
|
3693
3703
|
/**
|
|
3694
3704
|
* This is a type field which allows us to differentiate `LContainer` from `StylingContext` in an
|
|
3695
3705
|
* efficient way. The value is always set to `true`
|
|
@@ -3714,18 +3724,18 @@ declare interface LContainer extends Array<any> {
|
|
|
3714
3724
|
* Access to the parent view is necessary so we can propagate back
|
|
3715
3725
|
* up from inside a container to parent[NEXT].
|
|
3716
3726
|
*/
|
|
3717
|
-
[PARENT]: ɵ
|
|
3727
|
+
[PARENT]: ɵangular_packages_core_core_bo;
|
|
3718
3728
|
/**
|
|
3719
3729
|
* This allows us to jump from a container to a sibling container or component
|
|
3720
3730
|
* view with the same parent, so we can remove listeners efficiently.
|
|
3721
3731
|
*/
|
|
3722
|
-
[NEXT]: ɵ
|
|
3732
|
+
[NEXT]: ɵangular_packages_core_core_bo | LContainer | null;
|
|
3723
3733
|
/**
|
|
3724
3734
|
* A collection of views created based on the underlying `<ng-template>` element but inserted into
|
|
3725
3735
|
* a different `LContainer`. We need to track views created from a given declaration point since
|
|
3726
3736
|
* queries collect matches from the embedded view declaration point and _not_ the insertion point.
|
|
3727
3737
|
*/
|
|
3728
|
-
[MOVED_VIEWS]: ɵ
|
|
3738
|
+
[MOVED_VIEWS]: ɵangular_packages_core_core_bo[] | null;
|
|
3729
3739
|
/**
|
|
3730
3740
|
* Pointer to the `TNode` which represents the host of the container.
|
|
3731
3741
|
*/
|
|
@@ -3762,11 +3772,18 @@ declare interface LFrame {
|
|
|
3762
3772
|
* An array of nodes (text, element, container, etc), pipes, their bindings, and
|
|
3763
3773
|
* any local variables that need to be stored between invocations.
|
|
3764
3774
|
*/
|
|
3765
|
-
lView: ɵ
|
|
3775
|
+
lView: ɵangular_packages_core_core_bo;
|
|
3776
|
+
/**
|
|
3777
|
+
* Current `TView` associated with the `LFrame.lView`.
|
|
3778
|
+
*
|
|
3779
|
+
* One can get `TView` from `lFrame[TVIEW]` however because it is so common it makes sense to
|
|
3780
|
+
* store it in `LFrame` for perf reasons.
|
|
3781
|
+
*/
|
|
3782
|
+
tView: TView;
|
|
3766
3783
|
/**
|
|
3767
3784
|
* Used to set the parent property when nodes are created and track query results.
|
|
3768
3785
|
*
|
|
3769
|
-
* This is used in
|
|
3786
|
+
* This is used in conjunction with `isParent`.
|
|
3770
3787
|
*/
|
|
3771
3788
|
previousOrParentTNode: TNode;
|
|
3772
3789
|
/**
|
|
@@ -3791,7 +3808,7 @@ declare interface LFrame {
|
|
|
3791
3808
|
*
|
|
3792
3809
|
* e.g. const inner = x().$implicit; const outer = x().$implicit;
|
|
3793
3810
|
*/
|
|
3794
|
-
contextLView: ɵ
|
|
3811
|
+
contextLView: ɵangular_packages_core_core_bo;
|
|
3795
3812
|
/**
|
|
3796
3813
|
* Store the element depth count. This is used to identify the root elements of the template
|
|
3797
3814
|
* so that we can then attach patch data `LView` to only those elements. We know that those
|
|
@@ -3807,18 +3824,6 @@ declare interface LFrame {
|
|
|
3807
3824
|
* Current sanitizer
|
|
3808
3825
|
*/
|
|
3809
3826
|
currentSanitizer: StyleSanitizeFn | null;
|
|
3810
|
-
/**
|
|
3811
|
-
* Used when processing host bindings.
|
|
3812
|
-
*/
|
|
3813
|
-
currentDirectiveDef: ɵDirectiveDef<any> | ɵComponentDef<any> | null;
|
|
3814
|
-
/**
|
|
3815
|
-
* Used as the starting directive id value.
|
|
3816
|
-
*
|
|
3817
|
-
* All subsequent directives are incremented from this value onwards.
|
|
3818
|
-
* The reason why this value is `1` instead of `0` is because the `0`
|
|
3819
|
-
* value is reserved for the template.
|
|
3820
|
-
*/
|
|
3821
|
-
activeDirectiveId: number;
|
|
3822
3827
|
/**
|
|
3823
3828
|
* The root index from which pure function instructions should calculate their binding
|
|
3824
3829
|
* indices. In component views, this is TView.bindingStartIndex. In a host binding
|
|
@@ -3830,6 +3835,12 @@ declare interface LFrame {
|
|
|
3830
3835
|
* We iterate over the list of Queries and increment current query index at every step.
|
|
3831
3836
|
*/
|
|
3832
3837
|
currentQueryIndex: number;
|
|
3838
|
+
/**
|
|
3839
|
+
* When host binding is executing this points to the directive index.
|
|
3840
|
+
* `TView.data[currentDirectiveIndex]` is `DirectiveDef`
|
|
3841
|
+
* `LView[currentDirectiveIndex]` is directive instance.
|
|
3842
|
+
*/
|
|
3843
|
+
currentDirectiveIndex: number;
|
|
3833
3844
|
}
|
|
3834
3845
|
|
|
3835
3846
|
/**
|
|
@@ -3862,7 +3873,7 @@ export declare const LOCALE_ID: InjectionToken<string>;
|
|
|
3862
3873
|
* - `<div #nativeDivEl>` - `nativeDivEl` should point to the native `<div>` element;
|
|
3863
3874
|
* - `<ng-template #tplRef>` - `tplRef` should point to the `TemplateRef` instance;
|
|
3864
3875
|
*/
|
|
3865
|
-
declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: ɵ
|
|
3876
|
+
declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: ɵangular_packages_core_core_bo) => any;
|
|
3866
3877
|
|
|
3867
3878
|
/**
|
|
3868
3879
|
* lQueries represent a collection of individual LQuery objects tracked in a given view.
|
|
@@ -6366,39 +6377,6 @@ declare const enum StyleSanitizeMode {
|
|
|
6366
6377
|
ValidateAndSanitize = 3
|
|
6367
6378
|
}
|
|
6368
6379
|
|
|
6369
|
-
/**
|
|
6370
|
-
* Array-based representation of a key/value array.
|
|
6371
|
-
*
|
|
6372
|
-
* The format of the array is "property", "value", "property2",
|
|
6373
|
-
* "value2", etc...
|
|
6374
|
-
*
|
|
6375
|
-
* The first value in the array is reserved to store the instance
|
|
6376
|
-
* of the key/value array that was used to populate the property/
|
|
6377
|
-
* value entries that take place in the remainder of the array.
|
|
6378
|
-
*/
|
|
6379
|
-
declare interface StylingMapArray extends Array<{} | string | number | null | undefined> {
|
|
6380
|
-
/**
|
|
6381
|
-
* The last raw value used to generate the entries in the map.
|
|
6382
|
-
*/
|
|
6383
|
-
[StylingMapArrayIndex.RawValuePosition]: {} | string | number | null | undefined;
|
|
6384
|
-
}
|
|
6385
|
-
|
|
6386
|
-
/**
|
|
6387
|
-
* An index of position and offset points for any data stored within a `StylingMapArray` instance.
|
|
6388
|
-
*/
|
|
6389
|
-
declare const enum StylingMapArrayIndex {
|
|
6390
|
-
/** Where the values start in the array */
|
|
6391
|
-
ValuesStartPosition = 1,
|
|
6392
|
-
/** The location of the raw key/value map instance used last to populate the array entries */
|
|
6393
|
-
RawValuePosition = 0,
|
|
6394
|
-
/** The size of each property/value entry */
|
|
6395
|
-
TupleSize = 2,
|
|
6396
|
-
/** The offset for the property entry in the tuple */
|
|
6397
|
-
PropOffset = 0,
|
|
6398
|
-
/** The offset for the value entry in the tuple */
|
|
6399
|
-
ValueOffset = 1
|
|
6400
|
-
}
|
|
6401
|
-
|
|
6402
6380
|
/**
|
|
6403
6381
|
* NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory
|
|
6404
6382
|
* @publicApi
|
|
@@ -6466,7 +6444,7 @@ declare interface TContainerNode extends TNode {
|
|
|
6466
6444
|
* - They are the first node of a component or embedded view
|
|
6467
6445
|
* - They are dynamically created
|
|
6468
6446
|
*/
|
|
6469
|
-
parent: ɵ
|
|
6447
|
+
parent: ɵangular_packages_core_core_be | TElementContainerNode | null;
|
|
6470
6448
|
tViews: TView | TView[] | null;
|
|
6471
6449
|
projection: null;
|
|
6472
6450
|
}
|
|
@@ -6498,14 +6476,14 @@ declare interface TContainerNode extends TNode {
|
|
|
6498
6476
|
*
|
|
6499
6477
|
* Injector bloom filters are also stored here.
|
|
6500
6478
|
*/
|
|
6501
|
-
declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponentDef<any> | number | Type<any> | InjectionToken<any> | TI18n | I18nUpdateOpCodes | null | string)[];
|
|
6479
|
+
declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponentDef<any> | number | TStylingRange | TStylingKey | Type<any> | InjectionToken<any> | TI18n | I18nUpdateOpCodes | null | string)[];
|
|
6502
6480
|
|
|
6503
6481
|
/** Static data for an <ng-container> */
|
|
6504
6482
|
declare interface TElementContainerNode extends TNode {
|
|
6505
6483
|
/** Index in the LView[] array. */
|
|
6506
6484
|
index: number;
|
|
6507
|
-
child: ɵ
|
|
6508
|
-
parent: ɵ
|
|
6485
|
+
child: ɵangular_packages_core_core_be | TTextNode | TContainerNode | TElementContainerNode | TProjectionNode | null;
|
|
6486
|
+
parent: ɵangular_packages_core_core_be | TElementContainerNode | null;
|
|
6509
6487
|
tViews: null;
|
|
6510
6488
|
projection: null;
|
|
6511
6489
|
}
|
|
@@ -6799,6 +6777,23 @@ declare interface TNode {
|
|
|
6799
6777
|
* Stores final exclusive index of the directives.
|
|
6800
6778
|
*/
|
|
6801
6779
|
directiveEnd: number;
|
|
6780
|
+
/**
|
|
6781
|
+
* Stores the last directive which had a styling instruction.
|
|
6782
|
+
*
|
|
6783
|
+
* Initial value of this is `-1` which means that no `hostBindings` styling instruction has
|
|
6784
|
+
* executed. As `hostBindings` instructions execute they set the value to the index of the
|
|
6785
|
+
* `DirectiveDef` which contained the last `hostBindings` styling instruction.
|
|
6786
|
+
*
|
|
6787
|
+
* Valid values are:
|
|
6788
|
+
* - `-1` No `hostBindings` instruction has executed.
|
|
6789
|
+
* - `directiveStart <= directiveStylingLast < directiveEnd`: Points to the `DirectiveDef` of the
|
|
6790
|
+
* last styling instruction which executed in the `hostBindings`.
|
|
6791
|
+
*
|
|
6792
|
+
* This data is needed so that styling instructions know which static styling data needs to be
|
|
6793
|
+
* collected from the `DirectiveDef.hostAttrs`. A styling instruction needs to collect all data
|
|
6794
|
+
* since last styling instruction.
|
|
6795
|
+
*/
|
|
6796
|
+
directiveStylingLast: number;
|
|
6802
6797
|
/**
|
|
6803
6798
|
* Stores indexes of property bindings. This field is only set in the ngDevMode and holds indexes
|
|
6804
6799
|
* of property bindings so TestBed can get bound property metadata for a given node.
|
|
@@ -6832,6 +6827,18 @@ declare interface TNode {
|
|
|
6832
6827
|
* namespaces, attributes extracted from bindings and outputs).
|
|
6833
6828
|
*/
|
|
6834
6829
|
attrs: TAttributes | null;
|
|
6830
|
+
/**
|
|
6831
|
+
* Same as `TNode.attrs` but contains merged data across all directive host bindings.
|
|
6832
|
+
*
|
|
6833
|
+
* We need to keep `attrs` as unmerged so that it can be used for attribute selectors.
|
|
6834
|
+
* We merge attrs here so that it can be used in a performant way for initial rendering.
|
|
6835
|
+
*
|
|
6836
|
+
* The `attrs` are merged in first pass in following order:
|
|
6837
|
+
* - Component's `hostAttrs`
|
|
6838
|
+
* - Directives' `hostAttrs`
|
|
6839
|
+
* - Template `TNode.attrs` associated with the current `TNode`.
|
|
6840
|
+
*/
|
|
6841
|
+
mergedAttrs: TAttributes | null;
|
|
6835
6842
|
/**
|
|
6836
6843
|
* A set of local names under which a given element is exported in a template and
|
|
6837
6844
|
* visible to queries. An entry in this array can be created for different reasons:
|
|
@@ -6916,7 +6923,7 @@ declare interface TNode {
|
|
|
6916
6923
|
*
|
|
6917
6924
|
* If this is an inline view node (V), the parent will be its container.
|
|
6918
6925
|
*/
|
|
6919
|
-
parent: ɵ
|
|
6926
|
+
parent: ɵangular_packages_core_core_be | TContainerNode | null;
|
|
6920
6927
|
/**
|
|
6921
6928
|
* List of projected TNodes for a given component host element OR index into the said nodes.
|
|
6922
6929
|
*
|
|
@@ -6958,43 +6965,87 @@ declare interface TNode {
|
|
|
6958
6965
|
*/
|
|
6959
6966
|
projection: (TNode | RNode[])[] | number | null;
|
|
6960
6967
|
/**
|
|
6961
|
-
* A collection of all style
|
|
6968
|
+
* A collection of all style static values for an element.
|
|
6962
6969
|
*
|
|
6963
6970
|
* This field will be populated if and when:
|
|
6964
6971
|
*
|
|
6965
6972
|
* - There are one or more initial styles on an element (e.g. `<div style="width:200px">`)
|
|
6966
|
-
|
|
6973
|
+
*/
|
|
6974
|
+
styles: string | null;
|
|
6975
|
+
/**
|
|
6976
|
+
* A `KeyValueArray` version of residual `styles`.
|
|
6977
|
+
*
|
|
6978
|
+
* When there are styling instructions than each instruction stores the static styling
|
|
6979
|
+
* which is of lower priority than itself. This means that there may be a higher priority styling
|
|
6980
|
+
* than the instruction.
|
|
6981
|
+
*
|
|
6982
|
+
* Imagine:
|
|
6983
|
+
* ```
|
|
6984
|
+
* <div style="color: highest;" my-dir>
|
|
6985
|
+
*
|
|
6986
|
+
* @Directive({
|
|
6987
|
+
* host: {
|
|
6988
|
+
* style: 'color: lowest; ',
|
|
6989
|
+
* '[styles.color]': 'exp' // ɵɵstyleProp('color', ctx.exp);
|
|
6990
|
+
* }
|
|
6991
|
+
* })
|
|
6992
|
+
* ```
|
|
6967
6993
|
*
|
|
6968
|
-
*
|
|
6969
|
-
*
|
|
6970
|
-
*
|
|
6994
|
+
* In the above case:
|
|
6995
|
+
* - `color: lowest` is stored with `ɵɵstyleProp('color', ctx.exp);` instruction
|
|
6996
|
+
* - `color: highest` is the residual and is stored here.
|
|
6971
6997
|
*
|
|
6972
|
-
*
|
|
6973
|
-
* `
|
|
6974
|
-
*
|
|
6975
|
-
* are encountered. If and when this happens then the existing `StylingMapArray` value
|
|
6976
|
-
* will be placed into the initial styling slot in the newly created `TStylingContext`.
|
|
6998
|
+
* - `undefined': not initialized.
|
|
6999
|
+
* - `null`: initialized but `styles` is `null`
|
|
7000
|
+
* - `KeyValueArray`: parsed version of `styles`.
|
|
6977
7001
|
*/
|
|
6978
|
-
|
|
7002
|
+
residualStyles: KeyValueArray<any> | undefined | null;
|
|
6979
7003
|
/**
|
|
6980
|
-
* A collection of all class
|
|
7004
|
+
* A collection of all class static values for an element.
|
|
6981
7005
|
*
|
|
6982
7006
|
* This field will be populated if and when:
|
|
6983
7007
|
*
|
|
6984
7008
|
* - There are one or more initial classes on an element (e.g. `<div class="one two three">`)
|
|
6985
|
-
|
|
7009
|
+
*/
|
|
7010
|
+
classes: string | null;
|
|
7011
|
+
/**
|
|
7012
|
+
* A `KeyValueArray` version of residual `classes`.
|
|
7013
|
+
*
|
|
7014
|
+
* Same as `TNode.residualStyles` but for classes.
|
|
7015
|
+
*
|
|
7016
|
+
* - `undefined': not initialized.
|
|
7017
|
+
* - `null`: initialized but `classes` is `null`
|
|
7018
|
+
* - `KeyValueArray`: parsed version of `classes`.
|
|
7019
|
+
*/
|
|
7020
|
+
residualClasses: KeyValueArray<any> | undefined | null;
|
|
7021
|
+
/**
|
|
7022
|
+
* Stores the head/tail index of the class bindings.
|
|
7023
|
+
*
|
|
7024
|
+
* - If no bindings, the head and tail will both be 0.
|
|
7025
|
+
* - If there are template bindings, stores the head/tail of the class bindings in the template.
|
|
7026
|
+
* - If no template bindings but there are host bindings, the head value will point to the last
|
|
7027
|
+
* host binding for "class" (not the head of the linked list), tail will be 0.
|
|
7028
|
+
*
|
|
7029
|
+
* See: `style_binding_list.ts` for details.
|
|
7030
|
+
*
|
|
7031
|
+
* This is used by `insertTStylingBinding` to know where the next styling binding should be
|
|
7032
|
+
* inserted so that they can be sorted in priority order.
|
|
7033
|
+
*/
|
|
7034
|
+
classBindings: TStylingRange;
|
|
7035
|
+
/**
|
|
7036
|
+
* Stores the head/tail index of the class bindings.
|
|
6986
7037
|
*
|
|
6987
|
-
* If
|
|
6988
|
-
*
|
|
6989
|
-
*
|
|
7038
|
+
* - If no bindings, the head and tail will both be 0.
|
|
7039
|
+
* - If there are template bindings, stores the head/tail of the style bindings in the template.
|
|
7040
|
+
* - If no template bindings but there are host bindings, the head value will point to the last
|
|
7041
|
+
* host binding for "style" (not the head of the linked list), tail will be 0.
|
|
6990
7042
|
*
|
|
6991
|
-
*
|
|
6992
|
-
*
|
|
6993
|
-
*
|
|
6994
|
-
*
|
|
6995
|
-
* will be placed into the initial styling slot in the newly created `TStylingContext`.
|
|
7043
|
+
* See: `style_binding_list.ts` for details.
|
|
7044
|
+
*
|
|
7045
|
+
* This is used by `insertTStylingBinding` to know where the next styling binding should be
|
|
7046
|
+
* inserted so that they can be sorted in priority order.
|
|
6996
7047
|
*/
|
|
6997
|
-
|
|
7048
|
+
styleBindings: TStylingRange;
|
|
6998
7049
|
}
|
|
6999
7050
|
|
|
7000
7051
|
/**
|
|
@@ -7025,99 +7076,7 @@ declare const enum TNodeFlags {
|
|
|
7025
7076
|
* This flags allows us to guard host-binding logic and invoke it only on nodes
|
|
7026
7077
|
* that actually have directives with host bindings.
|
|
7027
7078
|
*/
|
|
7028
|
-
hasHostBindings = 128
|
|
7029
|
-
/** Bit #9 - This bit is set if the node has initial styling */
|
|
7030
|
-
hasInitialStyling = 256,
|
|
7031
|
-
/**
|
|
7032
|
-
* Bit #10 - Whether or not there are class-based map bindings present.
|
|
7033
|
-
*
|
|
7034
|
-
* Examples include:
|
|
7035
|
-
* 1. `<div [class]="x">`
|
|
7036
|
-
* 2. `@HostBinding('class') x`
|
|
7037
|
-
*/
|
|
7038
|
-
hasClassMapBindings = 512,
|
|
7039
|
-
/**
|
|
7040
|
-
* Bit #11 - Whether or not there are any class-based prop bindings present.
|
|
7041
|
-
*
|
|
7042
|
-
* Examples include:
|
|
7043
|
-
* 1. `<div [class.name]="x">`
|
|
7044
|
-
* 2. `@HostBinding('class.name') x`
|
|
7045
|
-
*/
|
|
7046
|
-
hasClassPropBindings = 1024,
|
|
7047
|
-
/**
|
|
7048
|
-
* Bit #12 - whether or not there are any active [class] and [class.name] bindings
|
|
7049
|
-
*/
|
|
7050
|
-
hasClassPropAndMapBindings = 1536,
|
|
7051
|
-
/**
|
|
7052
|
-
* Bit #13 - Whether or not the context contains one or more class-based template bindings.
|
|
7053
|
-
*
|
|
7054
|
-
* Examples include:
|
|
7055
|
-
* 1. `<div [class]="x">`
|
|
7056
|
-
* 2. `<div [class.name]="x">`
|
|
7057
|
-
*/
|
|
7058
|
-
hasTemplateClassBindings = 2048,
|
|
7059
|
-
/**
|
|
7060
|
-
* Bit #14 - Whether or not the context contains one or more class-based host bindings.
|
|
7061
|
-
*
|
|
7062
|
-
* Examples include:
|
|
7063
|
-
* 1. `@HostBinding('class') x`
|
|
7064
|
-
* 2. `@HostBinding('class.name') x`
|
|
7065
|
-
*/
|
|
7066
|
-
hasHostClassBindings = 4096,
|
|
7067
|
-
/**
|
|
7068
|
-
* Bit #15 - Whether or not there are two or more sources for a class property in the context.
|
|
7069
|
-
*
|
|
7070
|
-
* Examples include:
|
|
7071
|
-
* 1. prop + prop: `<div [class.active]="x" dir-that-sets-active-class>`
|
|
7072
|
-
* 2. map + prop: `<div [class]="x" [class.foo]>`
|
|
7073
|
-
* 3. map + map: `<div [class]="x" dir-that-sets-class>`
|
|
7074
|
-
*/
|
|
7075
|
-
hasDuplicateClassBindings = 8192,
|
|
7076
|
-
/**
|
|
7077
|
-
* Bit #16 - Whether or not there are style-based map bindings present.
|
|
7078
|
-
*
|
|
7079
|
-
* Examples include:
|
|
7080
|
-
* 1. `<div [style]="x">`
|
|
7081
|
-
* 2. `@HostBinding('style') x`
|
|
7082
|
-
*/
|
|
7083
|
-
hasStyleMapBindings = 16384,
|
|
7084
|
-
/**
|
|
7085
|
-
* Bit #17 - Whether or not there are any style-based prop bindings present.
|
|
7086
|
-
*
|
|
7087
|
-
* Examples include:
|
|
7088
|
-
* 1. `<div [style.prop]="x">`
|
|
7089
|
-
* 2. `@HostBinding('style.prop') x`
|
|
7090
|
-
*/
|
|
7091
|
-
hasStylePropBindings = 32768,
|
|
7092
|
-
/**
|
|
7093
|
-
* Bit #18 - whether or not there are any active [style] and [style.prop] bindings
|
|
7094
|
-
*/
|
|
7095
|
-
hasStylePropAndMapBindings = 49152,
|
|
7096
|
-
/**
|
|
7097
|
-
* Bit #19 - Whether or not the context contains one or more style-based template bindings.
|
|
7098
|
-
*
|
|
7099
|
-
* Examples include:
|
|
7100
|
-
* 1. `<div [style]="x">`
|
|
7101
|
-
* 2. `<div [style.prop]="x">`
|
|
7102
|
-
*/
|
|
7103
|
-
hasTemplateStyleBindings = 65536,
|
|
7104
|
-
/**
|
|
7105
|
-
* Bit #20 - Whether or not the context contains one or more style-based host bindings.
|
|
7106
|
-
*
|
|
7107
|
-
* Examples include:
|
|
7108
|
-
* 1. `@HostBinding('style') x`
|
|
7109
|
-
* 2. `@HostBinding('style.prop') x`
|
|
7110
|
-
*/
|
|
7111
|
-
hasHostStyleBindings = 131072,
|
|
7112
|
-
/**
|
|
7113
|
-
* Bit #21 - Whether or not there are two or more sources for a style property in the context.
|
|
7114
|
-
*
|
|
7115
|
-
* Examples include:
|
|
7116
|
-
* 1. prop + prop: `<div [style.width]="x" dir-that-sets-width>`
|
|
7117
|
-
* 2. map + prop: `<div [style]="x" [style.prop]>`
|
|
7118
|
-
* 3. map + map: `<div [style]="x" dir-that-sets-style>`
|
|
7119
|
-
*/
|
|
7120
|
-
hasDuplicateStyleBindings = 262144
|
|
7079
|
+
hasHostBindings = 128
|
|
7121
7080
|
}
|
|
7122
7081
|
|
|
7123
7082
|
/**
|
|
@@ -7165,7 +7124,7 @@ declare const enum TNodeType {
|
|
|
7165
7124
|
/**
|
|
7166
7125
|
* Type representing a set of TNodes that can have local refs (`#foo`) placed on them.
|
|
7167
7126
|
*/
|
|
7168
|
-
declare type TNodeWithLocalRefs = TContainerNode | ɵ
|
|
7127
|
+
declare type TNodeWithLocalRefs = TContainerNode | ɵangular_packages_core_core_be | TElementContainerNode;
|
|
7169
7128
|
|
|
7170
7129
|
/** Static data for an LProjectionNode */
|
|
7171
7130
|
declare interface TProjectionNode extends TNode {
|
|
@@ -7176,7 +7135,7 @@ declare interface TProjectionNode extends TNode {
|
|
|
7176
7135
|
* or embedded view (which means their parent is in a different view and must be
|
|
7177
7136
|
* retrieved using LView.node).
|
|
7178
7137
|
*/
|
|
7179
|
-
parent: ɵ
|
|
7138
|
+
parent: ɵangular_packages_core_core_be | TElementContainerNode | null;
|
|
7180
7139
|
tViews: null;
|
|
7181
7140
|
/** Index of the projection node. (See TNode.projection for more info.) */
|
|
7182
7141
|
projection: number;
|
|
@@ -7371,334 +7330,117 @@ export declare const TRANSLATIONS: InjectionToken<string>;
|
|
|
7371
7330
|
export declare const TRANSLATIONS_FORMAT: InjectionToken<string>;
|
|
7372
7331
|
|
|
7373
7332
|
/**
|
|
7374
|
-
*
|
|
7375
|
-
*
|
|
7376
|
-
* This file contains the core interfaces for styling in Angular.
|
|
7333
|
+
* Value stored in the `TData` which is needed to re-concatenate the styling.
|
|
7377
7334
|
*
|
|
7378
|
-
*
|
|
7335
|
+
* See: `TStylingKeyPrimitive` and `TStylingStatic`
|
|
7336
|
+
*/
|
|
7337
|
+
declare type TStylingKey = TStylingKeyPrimitive | TStylingStatic;
|
|
7338
|
+
|
|
7339
|
+
/**
|
|
7340
|
+
* The primitive portion (`TStylingStatic` removed) of the value stored in the `TData` which is
|
|
7341
|
+
* needed to re-concatenate the styling.
|
|
7379
7342
|
*
|
|
7380
|
-
*
|
|
7343
|
+
* - `string`: Stores the property name. Used with `ɵɵstyleProp`/`ɵɵclassProp` instruction.
|
|
7344
|
+
* - `null`: Represents map, so there is no name. Used with `ɵɵstyleMap`/`ɵɵclassMap`.
|
|
7345
|
+
* - `false`: Represents an ignore case. This happens when `ɵɵstyleProp`/`ɵɵclassProp` instruction
|
|
7346
|
+
* is combined with directive which shadows its input `@Input('class')`. That way the binding
|
|
7347
|
+
* should not participate in the styling resolution.
|
|
7381
7348
|
*/
|
|
7349
|
+
declare type TStylingKeyPrimitive = string | null | false;
|
|
7350
|
+
|
|
7382
7351
|
/**
|
|
7383
|
-
*
|
|
7384
|
-
* associated with a `TNode`.
|
|
7352
|
+
* This is a branded number which contains previous and next index.
|
|
7385
7353
|
*
|
|
7386
|
-
*
|
|
7387
|
-
*
|
|
7388
|
-
* styling bindings (for components and directives) together into
|
|
7389
|
-
* a single manifest
|
|
7354
|
+
* When we come across styling instructions we need to store the `TStylingKey` in the correct
|
|
7355
|
+
* order so that we can re-concatenate the styling value in the desired priority.
|
|
7390
7356
|
*
|
|
7391
|
-
* The
|
|
7392
|
-
*
|
|
7357
|
+
* The insertion can happen either at the:
|
|
7358
|
+
* - end of template as in the case of coming across additional styling instruction in the template
|
|
7359
|
+
* - in front of the template in the case of coming across additional instruction in the
|
|
7360
|
+
* `hostBindings`.
|
|
7393
7361
|
*
|
|
7394
|
-
*
|
|
7395
|
-
*
|
|
7396
|
-
* tNode.classes = [ ... a context only for classes ... ];
|
|
7397
|
-
* ```
|
|
7362
|
+
* We use `TStylingRange` to store the previous and next index into the `TData` where the template
|
|
7363
|
+
* bindings can be found.
|
|
7398
7364
|
*
|
|
7399
|
-
*
|
|
7400
|
-
*
|
|
7401
|
-
*
|
|
7365
|
+
* - bit 0 is used to mark that the previous index has a duplicate for current value.
|
|
7366
|
+
* - bit 1 is used to mark that the next index has a duplicate for the current value.
|
|
7367
|
+
* - bits 2-16 are used to encode the next/tail of the template.
|
|
7368
|
+
* - bits 17-32 are used to encode the previous/head of template.
|
|
7402
7369
|
*
|
|
7403
|
-
*
|
|
7370
|
+
* NODE: *duplicate* false implies that it is statically known that this binding will not collide
|
|
7371
|
+
* with other bindings and therefore there is no need to check other bindings. For example the
|
|
7372
|
+
* bindings in `<div [style.color]="exp" [style.width]="exp">` will never collide and will have
|
|
7373
|
+
* their bits set accordingly. Previous duplicate means that we may need to check previous if the
|
|
7374
|
+
* current binding is `null`. Next duplicate means that we may need to check next bindings if the
|
|
7375
|
+
* current binding is not `null`.
|
|
7404
7376
|
*
|
|
7405
|
-
*
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
*
|
|
7413
|
-
* styling-related is active on an element. They are first created from
|
|
7414
|
-
* from the any of the element-level instructions (e.g. `element`,
|
|
7415
|
-
* `elementStart`, `elementHostAttrs`). When any static style/class
|
|
7416
|
-
* values are encountered they are registered on the `tNode.styles`
|
|
7417
|
-
* and `tNode.classes` data-structures. By default (when any static
|
|
7418
|
-
* values are encountered) the `tNode.styles` or `tNode.classes` values
|
|
7419
|
-
* are instances of a `StylingMapArray`. Only when style/class bindings
|
|
7420
|
-
* are detected then that styling map is converted into an instance of
|
|
7421
|
-
* `TStylingContext`.
|
|
7422
|
-
*
|
|
7423
|
-
* Due to the fact the the `TStylingContext` is stored on a `TNode`
|
|
7424
|
-
* this means that all data within the context is static. Instead of
|
|
7425
|
-
* storing actual styling binding values, the lView binding index values
|
|
7426
|
-
* are stored within the context. (static nature means it is more compact.)
|
|
7427
|
-
*
|
|
7428
|
-
* The code below shows a breakdown of two instances of `TStylingContext`
|
|
7429
|
-
* (one for `tNode.styles` and another for `tNode.classes`):
|
|
7377
|
+
* NOTE: `0` has special significance and represents `null` as in no additional pointer.
|
|
7378
|
+
*/
|
|
7379
|
+
declare interface TStylingRange {
|
|
7380
|
+
__brand__: 'TStylingRange';
|
|
7381
|
+
}
|
|
7382
|
+
|
|
7383
|
+
/**
|
|
7384
|
+
* Store the static values for the styling binding.
|
|
7430
7385
|
*
|
|
7431
|
-
*
|
|
7432
|
-
*
|
|
7433
|
-
*
|
|
7434
|
-
* // [style.height]="y"> // lView binding index = 22
|
|
7435
|
-
* // ...
|
|
7436
|
-
* // </div>
|
|
7437
|
-
* tNode.styles = [
|
|
7438
|
-
* 1, // the total amount of sources present (only `1` b/c there are only template
|
|
7439
|
-
* bindings)
|
|
7440
|
-
* [null], // initial values array (an instance of `StylingMapArray`)
|
|
7441
|
-
*
|
|
7442
|
-
* 0, // config entry for the property (see `TStylingContextPropConfigFlags`)
|
|
7443
|
-
* 0b010, // template guard mask for height
|
|
7444
|
-
* 0, // host bindings guard mask for height
|
|
7445
|
-
* 'height', // the property name
|
|
7446
|
-
* 22, // the binding location for the "y" binding in the lView
|
|
7447
|
-
* null, // the default value for height
|
|
7448
|
-
*
|
|
7449
|
-
* 0, // config entry for the property (see `TStylingContextPropConfigFlags`)
|
|
7450
|
-
* 0b001, // template guard mask for width
|
|
7451
|
-
* 0, // host bindings guard mask for width
|
|
7452
|
-
* 'width', // the property name
|
|
7453
|
-
* 21, // the binding location for the "x" binding in the lView
|
|
7454
|
-
* null, // the default value for width
|
|
7455
|
-
* ];
|
|
7386
|
+
* The `TStylingStatic` is just `KeyValueArray` where key `""` (stored at location 0) contains the
|
|
7387
|
+
* `TStylingKey` (stored at location 1). In other words this wraps the `TStylingKey` such that the
|
|
7388
|
+
* `""` contains the wrapped value.
|
|
7456
7389
|
*
|
|
7457
|
-
*
|
|
7458
|
-
*
|
|
7459
|
-
*
|
|
7460
|
-
*
|
|
7461
|
-
*
|
|
7462
|
-
*
|
|
7463
|
-
* 0, // config entry for the property (see `TStylingContextPropConfigFlags`)
|
|
7464
|
-
* 0b001, // template guard mask for width
|
|
7465
|
-
* 0, // host bindings guard mask for width
|
|
7466
|
-
* 'active', // the property name
|
|
7467
|
-
* 20, // the binding location for the "c" binding in the lView
|
|
7468
|
-
* null, // the default value for the `active` class
|
|
7469
|
-
* ];
|
|
7470
|
-
* ```
|
|
7390
|
+
* When instructions are resolving styling they may need to look forward or backwards in the linked
|
|
7391
|
+
* list to resolve the value. For this reason we have to make sure that he linked list also contains
|
|
7392
|
+
* the static values. However the list only has space for one item per styling instruction. For this
|
|
7393
|
+
* reason we store the static values here as part of the `TStylingKey`. This means that the
|
|
7394
|
+
* resolution function when looking for a value needs to first look at the binding value, and than
|
|
7395
|
+
* at `TStylingKey` (if it exists).
|
|
7471
7396
|
*
|
|
7472
|
-
*
|
|
7473
|
-
* styling context is as follows:
|
|
7397
|
+
* Imagine we have:
|
|
7474
7398
|
*
|
|
7475
|
-
* ```typescript
|
|
7476
|
-
* context = [
|
|
7477
|
-
* //...
|
|
7478
|
-
* configValue,
|
|
7479
|
-
* templateGuardMask,
|
|
7480
|
-
* hostBindingsGuardMask,
|
|
7481
|
-
* propName,
|
|
7482
|
-
* ...bindingIndices...,
|
|
7483
|
-
* defaultValue
|
|
7484
|
-
* //...
|
|
7485
|
-
* ];
|
|
7486
7399
|
* ```
|
|
7400
|
+
* <div class="TEMPLATE" my-dir>
|
|
7487
7401
|
*
|
|
7488
|
-
*
|
|
7489
|
-
*
|
|
7490
|
-
*
|
|
7491
|
-
*
|
|
7492
|
-
* that is implemented right now is whether or not to sanitize the
|
|
7493
|
-
* value.
|
|
7494
|
-
*
|
|
7495
|
-
* - **templateGuardMask**:
|
|
7496
|
-
* A numeric value where each bit represents a binding index
|
|
7497
|
-
* location. Each binding index location is assigned based on
|
|
7498
|
-
* a local counter value that increments each time an instruction
|
|
7499
|
-
* is called:
|
|
7500
|
-
*
|
|
7501
|
-
* ```
|
|
7502
|
-
* <div [style.width]="x" // binding index = 21 (counter index = 0)
|
|
7503
|
-
* [style.height]="y"> // binding index = 22 (counter index = 1)
|
|
7504
|
-
* ```
|
|
7505
|
-
*
|
|
7506
|
-
* In the example code above, if the `width` value where to change
|
|
7507
|
-
* then the first bit in the local bit mask value would be flipped
|
|
7508
|
-
* (and the second bit for when `height`).
|
|
7509
|
-
*
|
|
7510
|
-
* If and when there are more than 32 binding sources in the context
|
|
7511
|
-
* (more than 32 `[style/class]` bindings) then the bit masking will
|
|
7512
|
-
* overflow and we are left with a situation where a `-1` value will
|
|
7513
|
-
* represent the bit mask. Due to the way that JavaScript handles
|
|
7514
|
-
* negative values, when the bit mask is `-1` then all bits within
|
|
7515
|
-
* that value will be automatically flipped (this is a quick and
|
|
7516
|
-
* efficient way to flip all bits on the mask when a special kind
|
|
7517
|
-
* of caching scenario occurs or when there are more than 32 bindings).
|
|
7518
|
-
*
|
|
7519
|
-
* - **hostBindingsGuardMask**:
|
|
7520
|
-
* Another instance of a guard mask that is specific to host bindings.
|
|
7521
|
-
* This behaves exactly the same way as does the `templateGuardMask`,
|
|
7522
|
-
* but will not contain any binding information processed in the template.
|
|
7523
|
-
* The reason why there are two instances of guard masks (one for the
|
|
7524
|
-
* template and another for host bindings) is because the template bindings
|
|
7525
|
-
* are processed before host bindings and the state information is not
|
|
7526
|
-
* carried over into the host bindings code. As soon as host bindings are
|
|
7527
|
-
* processed for an element the counter and state-based bit mask values are
|
|
7528
|
-
* set to `0`.
|
|
7529
|
-
*
|
|
7530
|
-
* ```
|
|
7531
|
-
* <div [style.width]="x" // binding index = 21 (counter index = 0)
|
|
7532
|
-
* [style.height]="y" // binding index = 22 (counter index = 1)
|
|
7533
|
-
* dir-that-sets-width // binding index = 30 (counter index = 0)
|
|
7534
|
-
* dir-that-sets-width> // binding index = 31 (counter index = 1)
|
|
7535
|
-
* ```
|
|
7536
|
-
*
|
|
7537
|
-
* - **propName**:
|
|
7538
|
-
* The CSS property name or class name (e.g `width` or `active`).
|
|
7539
|
-
*
|
|
7540
|
-
* - **bindingIndices...**:
|
|
7541
|
-
* A series of numeric binding values that reflect where in the
|
|
7542
|
-
* lView to find the style/class values associated with the property.
|
|
7543
|
-
* Each value is in order in terms of priority (templates are first,
|
|
7544
|
-
* then directives and then components). When the context is flushed
|
|
7545
|
-
* and the style/class values are applied to the element (this happens
|
|
7546
|
-
* inside of the `stylingApply` instruction) then the flushing code
|
|
7547
|
-
* will keep checking each binding index against the associated lView
|
|
7548
|
-
* to find the first style/class value that is non-null.
|
|
7549
|
-
*
|
|
7550
|
-
* - **defaultValue**:
|
|
7551
|
-
* This is the default that will always be applied to the element if
|
|
7552
|
-
* and when all other binding sources return a result that is null.
|
|
7553
|
-
* Usually this value is `null` but it can also be a static value that
|
|
7554
|
-
* is intercepted when the tNode is first constructured (e.g.
|
|
7555
|
-
* `<div style="width:200px">` has a default value of `200px` for
|
|
7556
|
-
* the `width` property).
|
|
7557
|
-
*
|
|
7558
|
-
* Each time a new binding is encountered it is registered into the
|
|
7559
|
-
* context. The context then is continually updated until the first
|
|
7560
|
-
* styling apply call has been called (which is automatically scheduled
|
|
7561
|
-
* to be called once an element exits during change detection). Note that
|
|
7562
|
-
* each entry in the context is stored in alphabetical order.
|
|
7563
|
-
*
|
|
7564
|
-
* Once styling has been flushed for the first time for an element the
|
|
7565
|
-
* context will set as locked (this prevents bindings from being added
|
|
7566
|
-
* to the context later on).
|
|
7567
|
-
*
|
|
7568
|
-
* # How Styles/Classes are Rendered
|
|
7569
|
-
* Each time a styling instruction (e.g. `[class.name]`, `[style.prop]`,
|
|
7570
|
-
* etc...) is executed, the associated `lView` for the view is updated
|
|
7571
|
-
* at the current binding location. Also, when this happens, a local
|
|
7572
|
-
* counter value is incremented. If the binding value has changed then
|
|
7573
|
-
* a local `bitMask` variable is updated with the specific bit based
|
|
7574
|
-
* on the counter value.
|
|
7575
|
-
*
|
|
7576
|
-
* Below is a lightweight example of what happens when a single style
|
|
7577
|
-
* property is updated (i.e. `<div [style.prop]="val">`):
|
|
7578
|
-
*
|
|
7579
|
-
* ```typescript
|
|
7580
|
-
* function updateStyleProp(prop: string, value: string) {
|
|
7581
|
-
* const lView = getLView();
|
|
7582
|
-
* const bindingIndex = BINDING_INDEX++;
|
|
7583
|
-
*
|
|
7584
|
-
* // update the local counter value
|
|
7585
|
-
* const indexForStyle = stylingState.stylesCount++;
|
|
7586
|
-
* if (lView[bindingIndex] !== value) {
|
|
7587
|
-
* lView[bindingIndex] = value;
|
|
7588
|
-
*
|
|
7589
|
-
* // tell the local state that we have updated a style value
|
|
7590
|
-
* // by updating the bit mask
|
|
7591
|
-
* stylingState.bitMaskForStyles |= 1 << indexForStyle;
|
|
7402
|
+
* @Directive({
|
|
7403
|
+
* host: {
|
|
7404
|
+
* class: 'DIR',
|
|
7405
|
+
* '[class.dynamic]': 'exp' // ɵɵclassProp('dynamic', ctx.exp);
|
|
7592
7406
|
* }
|
|
7593
|
-
* }
|
|
7407
|
+
* })
|
|
7594
7408
|
* ```
|
|
7595
7409
|
*
|
|
7596
|
-
*
|
|
7597
|
-
* This `bitMask` value is used in the apply algorithm (which is called
|
|
7598
|
-
* context resolution).
|
|
7599
|
-
*
|
|
7600
|
-
* ## The Apply Algorithm (Context Resolution)
|
|
7601
|
-
* As explained above, each time a binding updates its value, the resulting
|
|
7602
|
-
* value is stored in the `lView` array. These styling values have yet to
|
|
7603
|
-
* be flushed to the element.
|
|
7410
|
+
* In the above case the linked list will contain one item:
|
|
7604
7411
|
*
|
|
7605
|
-
* Once all the styling instructions have been evaluated, then the styling
|
|
7606
|
-
* context(s) are flushed to the element. When this happens, the context will
|
|
7607
|
-
* be iterated over (property by property) and each binding source will be
|
|
7608
|
-
* examined and the first non-null value will be applied to the element.
|
|
7609
|
-
*
|
|
7610
|
-
* Let's say that we the following template code:
|
|
7611
|
-
*
|
|
7612
|
-
* ```html
|
|
7613
|
-
* <div [style.width]="w1" dir-that-set-width="w2"></div>
|
|
7614
7412
|
* ```
|
|
7413
|
+
* // assume binding location: 10 for `ɵɵclassProp('dynamic', ctx.exp);`
|
|
7414
|
+
* tData[10] = <TStylingStatic>[
|
|
7415
|
+
* '': 'dynamic', // This is the wrapped value of `TStylingKey`
|
|
7416
|
+
* 'DIR': true, // This is the default static value of directive binding.
|
|
7417
|
+
* ];
|
|
7418
|
+
* tData[10 + 1] = 0; // We don't have prev/next.
|
|
7615
7419
|
*
|
|
7616
|
-
*
|
|
7617
|
-
*
|
|
7618
|
-
*
|
|
7619
|
-
* to the element.
|
|
7620
|
-
*
|
|
7621
|
-
* In order to figure out which value to apply, the following
|
|
7622
|
-
* binding prioritization is adhered to:
|
|
7623
|
-
*
|
|
7624
|
-
* 1. First template-level styling bindings are applied (if present).
|
|
7625
|
-
* This includes things like `[style.width]` and `[class.active]`.
|
|
7626
|
-
*
|
|
7627
|
-
* 2. Second are styling-level host bindings present in directives.
|
|
7628
|
-
* (if there are sub/super directives present then the sub directives
|
|
7629
|
-
* are applied first).
|
|
7630
|
-
*
|
|
7631
|
-
* 3. Third are styling-level host bindings present in components.
|
|
7632
|
-
* (if there are sub/super components present then the sub directives
|
|
7633
|
-
* are applied first).
|
|
7634
|
-
*
|
|
7635
|
-
* This means that in the code above the styling binding present in the
|
|
7636
|
-
* template is applied first and, only if its falsy, then the directive
|
|
7637
|
-
* styling binding for width will be applied.
|
|
7638
|
-
*
|
|
7639
|
-
* ### What about map-based styling bindings?
|
|
7640
|
-
* Map-based styling bindings are activated when there are one or more
|
|
7641
|
-
* `[style]` and/or `[class]` bindings present on an element. When this
|
|
7642
|
-
* code is activated, the apply algorithm will iterate over each map
|
|
7643
|
-
* entry and apply each styling value to the element with the same
|
|
7644
|
-
* prioritization rules as above.
|
|
7645
|
-
*
|
|
7646
|
-
* For the algorithm to apply styling values efficiently, the
|
|
7647
|
-
* styling map entries must be applied in sync (property by property)
|
|
7648
|
-
* with prop-based bindings. (The map-based algorithm is described
|
|
7649
|
-
* more inside of the `render3/styling/map_based_bindings.ts` file.)
|
|
7650
|
-
*
|
|
7651
|
-
* ## Sanitization
|
|
7652
|
-
* Sanitization is used to prevent invalid style values from being applied to
|
|
7653
|
-
* the element.
|
|
7654
|
-
*
|
|
7655
|
-
* It is enabled in two cases:
|
|
7656
|
-
*
|
|
7657
|
-
* 1. The `styleSanitizer(sanitizerFn)` instruction was called (just before any other
|
|
7658
|
-
* styling instructions are run).
|
|
7659
|
-
*
|
|
7660
|
-
* 2. The component/directive `LView` instance has a sanitizer object attached to it
|
|
7661
|
-
* (this happens when `renderComponent` is executed with a `sanitizer` value or
|
|
7662
|
-
* if the ngModule contains a sanitizer provider attached to it).
|
|
7663
|
-
*
|
|
7664
|
-
* If and when sanitization is active then all property/value entries will be evaluated
|
|
7665
|
-
* through the active sanitizer before they are applied to the element (or the styling
|
|
7666
|
-
* debug handler).
|
|
7667
|
-
*
|
|
7668
|
-
* If a `Sanitizer` object is used (via the `LView[SANITIZER]` value) then that object
|
|
7669
|
-
* will be used for every property.
|
|
7670
|
-
*
|
|
7671
|
-
* If a `StyleSanitizerFn` function is used (via the `styleSanitizer`) then it will be
|
|
7672
|
-
* called in two ways:
|
|
7420
|
+
* lView[10] = undefined; // assume `ctx.exp` is `undefined`
|
|
7421
|
+
* lView[10 + 1] = undefined; // Just normalized `lView[10]`
|
|
7422
|
+
* ```
|
|
7673
7423
|
*
|
|
7674
|
-
*
|
|
7675
|
-
*
|
|
7424
|
+
* So when the function is resolving styling value, it first needs to look into the linked list
|
|
7425
|
+
* (there is none) and than into the static `TStylingStatic` too see if there is a default value for
|
|
7426
|
+
* `dynamic` (there is not). Therefore it is safe to remove it.
|
|
7676
7427
|
*
|
|
7677
|
-
*
|
|
7678
|
-
*
|
|
7428
|
+
* If setting `true` case:
|
|
7429
|
+
* ```
|
|
7430
|
+
* lView[10] = true; // assume `ctx.exp` is `true`
|
|
7431
|
+
* lView[10 + 1] = true; // Just normalized `lView[10]`
|
|
7432
|
+
* ```
|
|
7433
|
+
* So when the function is resolving styling value, it first needs to look into the linked list
|
|
7434
|
+
* (there is none) and than into `TNode.residualClass` (TNode.residualStyle) which contains
|
|
7435
|
+
* ```
|
|
7436
|
+
* tNode.residualClass = [
|
|
7437
|
+
* 'TEMPLATE': true,
|
|
7438
|
+
* ];
|
|
7439
|
+
* ```
|
|
7679
7440
|
*
|
|
7680
|
-
*
|
|
7681
|
-
* to the element.
|
|
7682
|
-
*/
|
|
7683
|
-
declare interface TStylingContext extends Array<number | string | number | boolean | null | StylingMapArray | {}> {
|
|
7684
|
-
/** The total amount of sources present in the context */
|
|
7685
|
-
[TStylingContextIndex.TotalSourcesPosition]: number;
|
|
7686
|
-
/** Initial value position for static styles */
|
|
7687
|
-
[TStylingContextIndex.InitialStylingValuePosition]: StylingMapArray;
|
|
7688
|
-
}
|
|
7689
|
-
|
|
7690
|
-
/**
|
|
7691
|
-
* An index of position and offset values used to navigate the `TStylingContext`.
|
|
7441
|
+
* This means that it is safe to add class.
|
|
7692
7442
|
*/
|
|
7693
|
-
declare
|
|
7694
|
-
TotalSourcesPosition = 0,
|
|
7695
|
-
InitialStylingValuePosition = 1,
|
|
7696
|
-
ValuesStartPosition = 2,
|
|
7697
|
-
ConfigOffset = 0,
|
|
7698
|
-
TemplateBitGuardOffset = 1,
|
|
7699
|
-
HostBindingsBitGuardOffset = 2,
|
|
7700
|
-
PropOffset = 3,
|
|
7701
|
-
BindingsStartOffset = 4
|
|
7443
|
+
declare interface TStylingStatic extends KeyValueArray<any> {
|
|
7702
7444
|
}
|
|
7703
7445
|
|
|
7704
7446
|
/** Static data for a text node */
|
|
@@ -7711,7 +7453,7 @@ declare interface TTextNode extends TNode {
|
|
|
7711
7453
|
* embedded view (which means their parent is in a different view and must be
|
|
7712
7454
|
* retrieved using LView.node).
|
|
7713
7455
|
*/
|
|
7714
|
-
parent: ɵ
|
|
7456
|
+
parent: ɵangular_packages_core_core_be | TElementContainerNode | null;
|
|
7715
7457
|
tViews: null;
|
|
7716
7458
|
projection: null;
|
|
7717
7459
|
}
|
|
@@ -7741,7 +7483,7 @@ declare interface TView {
|
|
|
7741
7483
|
* This is a blueprint used to generate LView instances for this TView. Copying this
|
|
7742
7484
|
* blueprint is faster than creating a new LView from scratch.
|
|
7743
7485
|
*/
|
|
7744
|
-
blueprint: ɵ
|
|
7486
|
+
blueprint: ɵangular_packages_core_core_bo;
|
|
7745
7487
|
/**
|
|
7746
7488
|
* The template function used to refresh the view of dynamically created views
|
|
7747
7489
|
* and components. Will be null for inline views.
|
|
@@ -7766,10 +7508,20 @@ declare interface TView {
|
|
|
7766
7508
|
* different host TNodes, depending on where the component is being used. These host
|
|
7767
7509
|
* TNodes cannot be shared (due to different indices, etc).
|
|
7768
7510
|
*/
|
|
7769
|
-
node: TViewNode | ɵ
|
|
7511
|
+
node: TViewNode | ɵangular_packages_core_core_be | null;
|
|
7770
7512
|
/** Whether or not this template has been processed in creation mode. */
|
|
7771
7513
|
firstCreatePass: boolean;
|
|
7772
|
-
/**
|
|
7514
|
+
/**
|
|
7515
|
+
* Whether or not this template has been processed in update mode (e.g. change detected)
|
|
7516
|
+
*
|
|
7517
|
+
* `firstUpdatePass` is used by styling to set up `TData` to contain metadata about the styling
|
|
7518
|
+
* instructions. (Mainly to build up a linked list of styling priority order.)
|
|
7519
|
+
*
|
|
7520
|
+
* Typically this function gets cleared after first execution. If exception is thrown then this
|
|
7521
|
+
* flag can remain turned un until there is first successful (no exception) pass. This means that
|
|
7522
|
+
* individual styling instructions keep track of if they have already been added to the linked
|
|
7523
|
+
* list to prevent double adding.
|
|
7524
|
+
*/
|
|
7773
7525
|
firstUpdatePass: boolean;
|
|
7774
7526
|
/** Static data equivalent of LView.data[]. Contains TNodes, PipeDefInternal or TI18n. */
|
|
7775
7527
|
data: TData;
|
|
@@ -7952,7 +7704,7 @@ declare interface TView {
|
|
|
7952
7704
|
declare interface TViewNode extends TNode {
|
|
7953
7705
|
/** If -1, it's a dynamically created view. Otherwise, it is the view block ID. */
|
|
7954
7706
|
index: number;
|
|
7955
|
-
child: ɵ
|
|
7707
|
+
child: ɵangular_packages_core_core_be | TTextNode | TElementContainerNode | TContainerNode | TProjectionNode | null;
|
|
7956
7708
|
parent: TContainerNode | null;
|
|
7957
7709
|
tViews: null;
|
|
7958
7710
|
projection: null;
|
|
@@ -8479,14 +8231,14 @@ declare class ViewRef_2<T> implements EmbeddedViewRef<T>, InternalViewRef, viewE
|
|
|
8479
8231
|
*
|
|
8480
8232
|
* @internal
|
|
8481
8233
|
*/
|
|
8482
|
-
_lView: ɵ
|
|
8234
|
+
_lView: ɵangular_packages_core_core_bo,
|
|
8483
8235
|
/**
|
|
8484
8236
|
* This represents the `LView` associated with the point where `ChangeDetectorRef` was
|
|
8485
8237
|
* requested.
|
|
8486
8238
|
*
|
|
8487
8239
|
* This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
|
|
8488
8240
|
*/
|
|
8489
|
-
_cdRefInjectingView?: ɵ
|
|
8241
|
+
_cdRefInjectingView?: ɵangular_packages_core_core_bo | undefined);
|
|
8490
8242
|
get context(): T;
|
|
8491
8243
|
get destroyed(): boolean;
|
|
8492
8244
|
destroy(): void;
|
|
@@ -8770,23 +8522,28 @@ export declare function ɵangular_packages_core_core_b<T>(token: Type<T> | Injec
|
|
|
8770
8522
|
|
|
8771
8523
|
export declare function ɵangular_packages_core_core_b<T>(token: Type<T> | InjectionToken<T>, flags?: InjectFlags): T | null;
|
|
8772
8524
|
|
|
8773
|
-
|
|
8525
|
+
/**
|
|
8526
|
+
* Return the current `LView`.
|
|
8527
|
+
*/
|
|
8528
|
+
export declare function ɵangular_packages_core_core_ba(): ɵangular_packages_core_core_bo;
|
|
8529
|
+
|
|
8530
|
+
export declare function ɵangular_packages_core_core_bb(): TNode;
|
|
8774
8531
|
|
|
8775
|
-
export declare function ɵ
|
|
8532
|
+
export declare function ɵangular_packages_core_core_bc(): number;
|
|
8776
8533
|
|
|
8777
|
-
export declare function ɵ
|
|
8534
|
+
export declare function ɵangular_packages_core_core_bd<T = any>(level: number): T;
|
|
8778
8535
|
|
|
8779
8536
|
/** Static data for an element */
|
|
8780
|
-
export declare interface ɵ
|
|
8537
|
+
export declare interface ɵangular_packages_core_core_be extends TNode {
|
|
8781
8538
|
/** Index in the data[] array */
|
|
8782
8539
|
index: number;
|
|
8783
|
-
child: ɵ
|
|
8540
|
+
child: ɵangular_packages_core_core_be | TTextNode | TElementContainerNode | TContainerNode | TProjectionNode | null;
|
|
8784
8541
|
/**
|
|
8785
8542
|
* Element nodes will have parents unless they are the first node of a component or
|
|
8786
8543
|
* embedded view (which means their parent is in a different view and must be
|
|
8787
8544
|
* retrieved using viewData[HOST_NODE]).
|
|
8788
8545
|
*/
|
|
8789
|
-
parent: ɵ
|
|
8546
|
+
parent: ɵangular_packages_core_core_be | TElementContainerNode | null;
|
|
8790
8547
|
tViews: null;
|
|
8791
8548
|
/**
|
|
8792
8549
|
* If this is a component TNode with projection, this will be an array of projected
|
|
@@ -8808,7 +8565,7 @@ export declare interface ɵangular_packages_core_core_bd extends TNode {
|
|
|
8808
8565
|
* @param thisArg Optional calling context of pureFn
|
|
8809
8566
|
* @returns Updated or cached value
|
|
8810
8567
|
*/
|
|
8811
|
-
export declare function ɵ
|
|
8568
|
+
export declare function ɵangular_packages_core_core_bf(lView: ɵangular_packages_core_core_bo, bindingRoot: number, slotOffset: number, pureFn: (v: any) => any, exp: any, thisArg?: any): any;
|
|
8812
8569
|
|
|
8813
8570
|
/**
|
|
8814
8571
|
* If the value of any provided exp has changed, calls the pure function to return
|
|
@@ -8823,7 +8580,7 @@ export declare function ɵangular_packages_core_core_be(lView: ɵangular_package
|
|
|
8823
8580
|
* @param thisArg Optional calling context of pureFn
|
|
8824
8581
|
* @returns Updated or cached value
|
|
8825
8582
|
*/
|
|
8826
|
-
export declare function ɵ
|
|
8583
|
+
export declare function ɵangular_packages_core_core_bg(lView: ɵangular_packages_core_core_bo, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any) => any, exp1: any, exp2: any, thisArg?: any): any;
|
|
8827
8584
|
|
|
8828
8585
|
/**
|
|
8829
8586
|
* If the value of any provided exp has changed, calls the pure function to return
|
|
@@ -8839,7 +8596,7 @@ export declare function ɵangular_packages_core_core_bf(lView: ɵangular_package
|
|
|
8839
8596
|
* @param thisArg Optional calling context of pureFn
|
|
8840
8597
|
* @returns Updated or cached value
|
|
8841
8598
|
*/
|
|
8842
|
-
export declare function ɵ
|
|
8599
|
+
export declare function ɵangular_packages_core_core_bh(lView: ɵangular_packages_core_core_bo, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any) => any, exp1: any, exp2: any, exp3: any, thisArg?: any): any;
|
|
8843
8600
|
|
|
8844
8601
|
/**
|
|
8845
8602
|
* If the value of any provided exp has changed, calls the pure function to return
|
|
@@ -8857,7 +8614,7 @@ export declare function ɵangular_packages_core_core_bg(lView: ɵangular_package
|
|
|
8857
8614
|
* @returns Updated or cached value
|
|
8858
8615
|
*
|
|
8859
8616
|
*/
|
|
8860
|
-
export declare function ɵ
|
|
8617
|
+
export declare function ɵangular_packages_core_core_bi(lView: ɵangular_packages_core_core_bo, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any, v4: any) => any, exp1: any, exp2: any, exp3: any, exp4: any, thisArg?: any): any;
|
|
8861
8618
|
|
|
8862
8619
|
/**
|
|
8863
8620
|
* pureFunction instruction that can support any number of bindings.
|
|
@@ -8874,7 +8631,7 @@ export declare function ɵangular_packages_core_core_bh(lView: ɵangular_package
|
|
|
8874
8631
|
* @param thisArg Optional calling context of pureFn
|
|
8875
8632
|
* @returns Updated or cached value
|
|
8876
8633
|
*/
|
|
8877
|
-
export declare function ɵ
|
|
8634
|
+
export declare function ɵangular_packages_core_core_bj(lView: ɵangular_packages_core_core_bo, bindingRoot: number, slotOffset: number, pureFn: (...v: any[]) => any, exps: any[], thisArg?: any): any;
|
|
8878
8635
|
|
|
8879
8636
|
/**
|
|
8880
8637
|
* Detects which sanitizer to use for URL property, based on tag name and prop name.
|
|
@@ -8883,14 +8640,14 @@ export declare function ɵangular_packages_core_core_bi(lView: ɵangular_package
|
|
|
8883
8640
|
* `packages/compiler/src/schema/dom_security_schema.ts`.
|
|
8884
8641
|
* If tag and prop names don't match Resource URL schema, use URL sanitizer.
|
|
8885
8642
|
*/
|
|
8886
|
-
export declare function ɵ
|
|
8643
|
+
export declare function ɵangular_packages_core_core_bk(tag: string, prop: string): typeof ɵɵsanitizeResourceUrl;
|
|
8887
8644
|
|
|
8888
|
-
export declare function ɵ
|
|
8645
|
+
export declare function ɵangular_packages_core_core_bl(name: string, props?: (...args: any[]) => any, parentClass?: any): any;
|
|
8889
8646
|
|
|
8890
|
-
export declare function ɵ
|
|
8647
|
+
export declare function ɵangular_packages_core_core_bm(name: string, props?: (...args: any[]) => any, parentClass?: any, additionalProcessing?: (target: any, name: string, ...args: any[]) => void): any;
|
|
8891
8648
|
|
|
8892
8649
|
|
|
8893
|
-
export declare function ɵ
|
|
8650
|
+
export declare function ɵangular_packages_core_core_bn<T>(objWithPropertyToExtract: T): string;
|
|
8894
8651
|
|
|
8895
8652
|
/**
|
|
8896
8653
|
* `LView` stores all of the information needed to process the instructions as
|
|
@@ -8902,7 +8659,7 @@ export declare function ɵangular_packages_core_core_bm<T>(objWithPropertyToExtr
|
|
|
8902
8659
|
* Keeping separate state for each view facilities view insertion / deletion, so we
|
|
8903
8660
|
* don't have to edit the data array based on which views are present.
|
|
8904
8661
|
*/
|
|
8905
|
-
export declare interface ɵ
|
|
8662
|
+
export declare interface ɵangular_packages_core_core_bo extends Array<any> {
|
|
8906
8663
|
/**
|
|
8907
8664
|
* The host node for this LView instance, if this is a component view.
|
|
8908
8665
|
* If this is an embedded view, HOST will be null.
|
|
@@ -8925,7 +8682,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
8925
8682
|
*
|
|
8926
8683
|
* `LContainer` - The current view is part of a container, and is an embedded view.
|
|
8927
8684
|
*/
|
|
8928
|
-
[PARENT]: ɵ
|
|
8685
|
+
[PARENT]: ɵangular_packages_core_core_bo | LContainer | null;
|
|
8929
8686
|
/**
|
|
8930
8687
|
*
|
|
8931
8688
|
* The next sibling LView or LContainer.
|
|
@@ -8935,7 +8692,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
8935
8692
|
* views in the same container. We need a way to link component views and views
|
|
8936
8693
|
* across containers as well.
|
|
8937
8694
|
*/
|
|
8938
|
-
[NEXT]: ɵ
|
|
8695
|
+
[NEXT]: ɵangular_packages_core_core_bo | LContainer | null;
|
|
8939
8696
|
/** Queries active for this view - nodes from a view are reported to those queries. */
|
|
8940
8697
|
[QUERIES]: LQueries | null;
|
|
8941
8698
|
/**
|
|
@@ -8948,7 +8705,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
8948
8705
|
*
|
|
8949
8706
|
* If null, this is the root view of an application (root component is in this view).
|
|
8950
8707
|
*/
|
|
8951
|
-
[T_HOST]: TViewNode | ɵ
|
|
8708
|
+
[T_HOST]: TViewNode | ɵangular_packages_core_core_be | null;
|
|
8952
8709
|
/**
|
|
8953
8710
|
* When a view is destroyed, listeners need to be released and outputs need to be
|
|
8954
8711
|
* unsubscribed. This context array stores both listener functions wrapped with
|
|
@@ -8981,14 +8738,14 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
8981
8738
|
* Necessary to store this so views can traverse through their nested views
|
|
8982
8739
|
* to remove listeners and call onDestroy callbacks.
|
|
8983
8740
|
*/
|
|
8984
|
-
[CHILD_HEAD]: ɵ
|
|
8741
|
+
[CHILD_HEAD]: ɵangular_packages_core_core_bo | LContainer | null;
|
|
8985
8742
|
/**
|
|
8986
8743
|
* The last LView or LContainer beneath this LView in the hierarchy.
|
|
8987
8744
|
*
|
|
8988
8745
|
* The tail allows us to quickly add a new state to the end of the view list
|
|
8989
8746
|
* without having to propagate starting from the first child.
|
|
8990
8747
|
*/
|
|
8991
|
-
[CHILD_TAIL]: ɵ
|
|
8748
|
+
[CHILD_TAIL]: ɵangular_packages_core_core_bo | LContainer | null;
|
|
8992
8749
|
/**
|
|
8993
8750
|
* View where this view's template was declared.
|
|
8994
8751
|
*
|
|
@@ -9013,7 +8770,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
9013
8770
|
* template function during change detection, we need the declaration view to get inherited
|
|
9014
8771
|
* context.
|
|
9015
8772
|
*/
|
|
9016
|
-
[DECLARATION_VIEW]: ɵ
|
|
8773
|
+
[DECLARATION_VIEW]: ɵangular_packages_core_core_bo | null;
|
|
9017
8774
|
/**
|
|
9018
8775
|
* Points to the declaration component view, used to track transplanted `LView`s.
|
|
9019
8776
|
*
|
|
@@ -9083,7 +8840,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
9083
8840
|
* - `LView[DECLARATION_LCONTAINER]` similar problem for queries
|
|
9084
8841
|
* - `LContainer[MOVED_VIEWS]` similar problem for queries
|
|
9085
8842
|
*/
|
|
9086
|
-
[DECLARATION_COMPONENT_VIEW]: ɵ
|
|
8843
|
+
[DECLARATION_COMPONENT_VIEW]: ɵangular_packages_core_core_bo;
|
|
9087
8844
|
/**
|
|
9088
8845
|
* A declaration point of embedded views (ones instantiated based on the content of a
|
|
9089
8846
|
* <ng-template>), null for other types of views.
|
|
@@ -9109,7 +8866,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
|
|
|
9109
8866
|
* to something which is retained otherwise the call to `noSideEffects` will be removed by closure
|
|
9110
8867
|
* compiler.
|
|
9111
8868
|
*/
|
|
9112
|
-
export declare function ɵ
|
|
8869
|
+
export declare function ɵangular_packages_core_core_bp(fn: () => void): string;
|
|
9113
8870
|
|
|
9114
8871
|
/**
|
|
9115
8872
|
* Returns the `RootContext` instance that is associated with
|
|
@@ -9118,7 +8875,7 @@ export declare function ɵangular_packages_core_core_bo(fn: () => void): string;
|
|
|
9118
8875
|
*
|
|
9119
8876
|
* @param viewOrComponent the `LView` or component to get the root context for.
|
|
9120
8877
|
*/
|
|
9121
|
-
export declare function ɵ
|
|
8878
|
+
export declare function ɵangular_packages_core_core_bq(viewOrComponent: ɵangular_packages_core_core_bo | {}): RootContext;
|
|
9122
8879
|
|
|
9123
8880
|
export declare class ɵangular_packages_core_core_c implements Injector {
|
|
9124
8881
|
get(token: any, notFoundValue?: any): any;
|
|
@@ -9176,7 +8933,7 @@ export declare function ɵangular_packages_core_core_g(): string;
|
|
|
9176
8933
|
* @param view The view to which the node belongs
|
|
9177
8934
|
* @returns The ElementRef instance to use
|
|
9178
8935
|
*/
|
|
9179
|
-
export declare function ɵangular_packages_core_core_h(ElementRefToken: typeof ElementRef, tNode: TNode, view: ɵ
|
|
8936
|
+
export declare function ɵangular_packages_core_core_h(ElementRefToken: typeof ElementRef, tNode: TNode, view: ɵangular_packages_core_core_bo): ElementRef;
|
|
9180
8937
|
|
|
9181
8938
|
/**
|
|
9182
8939
|
* Creates a TemplateRef and stores it on the injector.
|
|
@@ -9187,7 +8944,7 @@ export declare function ɵangular_packages_core_core_h(ElementRefToken: typeof E
|
|
|
9187
8944
|
* @param hostView The view to which the node belongs
|
|
9188
8945
|
* @returns The TemplateRef instance or null if we can't create a TemplateRef on a given node type
|
|
9189
8946
|
*/
|
|
9190
|
-
export declare function ɵangular_packages_core_core_i<T>(TemplateRefToken: typeof TemplateRef, ElementRefToken: typeof ElementRef, hostTNode: TNode, hostView: ɵ
|
|
8947
|
+
export declare function ɵangular_packages_core_core_i<T>(TemplateRefToken: typeof TemplateRef, ElementRefToken: typeof ElementRef, hostTNode: TNode, hostView: ɵangular_packages_core_core_bo): TemplateRef<T> | null;
|
|
9191
8948
|
|
|
9192
8949
|
export declare function ɵangular_packages_core_core_j(id: string): NgModuleFactory<any>;
|
|
9193
8950
|
|
|
@@ -9196,7 +8953,7 @@ export declare class ɵangular_packages_core_core_k {
|
|
|
9196
8953
|
readonly parent: DebugElement | null;
|
|
9197
8954
|
readonly nativeNode: any;
|
|
9198
8955
|
private readonly _debugContext;
|
|
9199
|
-
constructor(nativeNode: any, parent: DebugNode | null, _debugContext: ɵ
|
|
8956
|
+
constructor(nativeNode: any, parent: DebugNode | null, _debugContext: ɵangular_packages_core_core_w);
|
|
9200
8957
|
get injector(): Injector;
|
|
9201
8958
|
get componentInstance(): any;
|
|
9202
8959
|
get context(): any;
|
|
@@ -9222,7 +8979,7 @@ export declare class ɵangular_packages_core_core_l extends ɵangular_packages_c
|
|
|
9222
8979
|
};
|
|
9223
8980
|
readonly childNodes: DebugNode[];
|
|
9224
8981
|
readonly nativeElement: any;
|
|
9225
|
-
constructor(nativeNode: any, parent: any, _debugContext: ɵ
|
|
8982
|
+
constructor(nativeNode: any, parent: any, _debugContext: ɵangular_packages_core_core_w);
|
|
9226
8983
|
addChild(child: DebugNode): void;
|
|
9227
8984
|
removeChild(child: DebugNode): void;
|
|
9228
8985
|
insertChildrenAfter(child: DebugNode, newChildren: DebugNode[]): void;
|
|
@@ -9234,29 +8991,31 @@ export declare class ɵangular_packages_core_core_l extends ɵangular_packages_c
|
|
|
9234
8991
|
triggerEventHandler(eventName: string, eventObj: any): void;
|
|
9235
8992
|
}
|
|
9236
8993
|
|
|
9237
|
-
export declare
|
|
8994
|
+
export declare function ɵangular_packages_core_core_m(nativeNode: any): DebugNode | null;
|
|
8995
|
+
|
|
8996
|
+
export declare class ɵangular_packages_core_core_n implements IterableDifferFactory {
|
|
9238
8997
|
constructor();
|
|
9239
8998
|
supports(obj: Object | null | undefined): boolean;
|
|
9240
8999
|
create<V>(trackByFn?: TrackByFunction<V>): DefaultIterableDiffer<V>;
|
|
9241
9000
|
}
|
|
9242
9001
|
|
|
9243
|
-
export declare class ɵ
|
|
9002
|
+
export declare class ɵangular_packages_core_core_o<K, V> implements KeyValueDifferFactory {
|
|
9244
9003
|
constructor();
|
|
9245
9004
|
supports(obj: any): boolean;
|
|
9246
9005
|
create<K, V>(): KeyValueDiffer<K, V>;
|
|
9247
9006
|
}
|
|
9248
9007
|
|
|
9249
|
-
export declare function ɵ
|
|
9008
|
+
export declare function ɵangular_packages_core_core_p(): IterableDiffers;
|
|
9250
9009
|
|
|
9251
|
-
export declare function ɵ
|
|
9010
|
+
export declare function ɵangular_packages_core_core_q(): KeyValueDiffers;
|
|
9252
9011
|
|
|
9253
|
-
export declare function ɵ
|
|
9012
|
+
export declare function ɵangular_packages_core_core_r(locale?: string): string;
|
|
9254
9013
|
|
|
9255
9014
|
/**
|
|
9256
9015
|
* A built-in [dependency injection token](guide/glossary#di-token)
|
|
9257
9016
|
* that is used to configure the root injector for bootstrapping.
|
|
9258
9017
|
*/
|
|
9259
|
-
export declare const ɵ
|
|
9018
|
+
export declare const ɵangular_packages_core_core_s: StaticProvider[];
|
|
9260
9019
|
|
|
9261
9020
|
/**
|
|
9262
9021
|
* Schedule work at next available slot.
|
|
@@ -9267,17 +9026,17 @@ export declare const ɵangular_packages_core_core_r: StaticProvider[];
|
|
|
9267
9026
|
*
|
|
9268
9027
|
* @param ngZone NgZone to use for scheduling.
|
|
9269
9028
|
*/
|
|
9270
|
-
export declare function ɵ
|
|
9029
|
+
export declare function ɵangular_packages_core_core_t(ngZone: NgZone): (fn: () => void) => void;
|
|
9271
9030
|
|
|
9272
9031
|
/**
|
|
9273
9032
|
* USD currency code that the application uses by default for CurrencyPipe when no
|
|
9274
9033
|
* DEFAULT_CURRENCY_CODE is provided.
|
|
9275
9034
|
*/
|
|
9276
|
-
export declare const ɵ
|
|
9035
|
+
export declare const ɵangular_packages_core_core_u = "USD";
|
|
9277
9036
|
|
|
9278
|
-
export declare function ɵ
|
|
9037
|
+
export declare function ɵangular_packages_core_core_v(checkIndex: number, flags: ɵNodeFlags, matchedQueriesDsl: [string | number, ɵQueryValueType][] | null, childCount: number, token: any, value: any, deps: ([ɵDepFlags, any] | any)[], bindings?: BindingDef[], outputs?: OutputDef[]): NodeDef;
|
|
9279
9038
|
|
|
9280
|
-
export declare abstract class ɵ
|
|
9039
|
+
export declare abstract class ɵangular_packages_core_core_w {
|
|
9281
9040
|
abstract get view(): ViewData;
|
|
9282
9041
|
abstract get nodeIndex(): number | null;
|
|
9283
9042
|
abstract get injector(): Injector;
|
|
@@ -9296,7 +9055,7 @@ export declare abstract class ɵangular_packages_core_core_v {
|
|
|
9296
9055
|
* A change detection scheduler token for {@link RootContext}. This token is the default value used
|
|
9297
9056
|
* for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
|
|
9298
9057
|
*/
|
|
9299
|
-
export declare const ɵ
|
|
9058
|
+
export declare const ɵangular_packages_core_core_x: InjectionToken<(fn: () => void) => void>;
|
|
9300
9059
|
|
|
9301
9060
|
/**
|
|
9302
9061
|
* Inject static attribute value into directive constructor.
|
|
@@ -9329,17 +9088,9 @@ export declare const ɵangular_packages_core_core_w: InjectionToken<(fn: () => v
|
|
|
9329
9088
|
*
|
|
9330
9089
|
* @publicApi
|
|
9331
9090
|
*/
|
|
9332
|
-
export declare function ɵ
|
|
9333
|
-
|
|
9334
|
-
export declare const ɵangular_packages_core_core_y: InstructionState;
|
|
9091
|
+
export declare function ɵangular_packages_core_core_y(tNode: TNode, attrNameToInject: string): string | null;
|
|
9335
9092
|
|
|
9336
|
-
|
|
9337
|
-
* Return the current LView.
|
|
9338
|
-
*
|
|
9339
|
-
* The return value can be `null` if the method is called outside of template. This can happen if
|
|
9340
|
-
* directive is instantiated by module injector (rather than by node injector.)
|
|
9341
|
-
*/
|
|
9342
|
-
export declare function ɵangular_packages_core_core_z(): ɵangular_packages_core_core_bn;
|
|
9093
|
+
export declare const ɵangular_packages_core_core_z: InstructionState;
|
|
9343
9094
|
|
|
9344
9095
|
/**
|
|
9345
9096
|
* Providers that will generate a random APP_ID_TOKEN.
|
|
@@ -9361,6 +9112,14 @@ export declare const enum ɵArgumentType {
|
|
|
9361
9112
|
* items are not regular attributes and the processing should be adapted accordingly.
|
|
9362
9113
|
*/
|
|
9363
9114
|
export declare const enum ɵAttributeMarker {
|
|
9115
|
+
/**
|
|
9116
|
+
* An implicit marker which indicates that the value in the array are of `attributeKey`,
|
|
9117
|
+
* `attributeValue` format.
|
|
9118
|
+
*
|
|
9119
|
+
* NOTE: This is implicit as it is the type when no marker is present in array. We indicate that
|
|
9120
|
+
* it should not be present at runtime by the negative number.
|
|
9121
|
+
*/
|
|
9122
|
+
ImplicitAttributes = -1,
|
|
9364
9123
|
/**
|
|
9365
9124
|
* Marker indicates that the following 3 values in the attributes array are:
|
|
9366
9125
|
* namespaceUri, attributeName, attributeValue
|
|
@@ -9827,17 +9586,11 @@ export declare const enum ɵDepFlags {
|
|
|
9827
9586
|
/**
|
|
9828
9587
|
* Synchronously perform change detection on a component (and possibly its sub-components).
|
|
9829
9588
|
*
|
|
9830
|
-
* This function triggers change detection in a synchronous way on a component.
|
|
9831
|
-
* be very little reason to call this function directly since a preferred way to do change
|
|
9832
|
-
* detection is to {@link markDirty} the component and wait for the scheduler to call this method
|
|
9833
|
-
* at some future point in time. This is because a single user action often results in many
|
|
9834
|
-
* components being invalidated and calling change detection on each component synchronously
|
|
9835
|
-
* would be inefficient. It is better to wait until all components are marked as dirty and
|
|
9836
|
-
* then perform single change detection across all of the components
|
|
9589
|
+
* This function triggers change detection in a synchronous way on a component.
|
|
9837
9590
|
*
|
|
9838
9591
|
* @param component The component which the change detection should be performed on.
|
|
9839
9592
|
*/
|
|
9840
|
-
export declare function ɵdetectChanges
|
|
9593
|
+
export declare function ɵdetectChanges(component: {}): void;
|
|
9841
9594
|
|
|
9842
9595
|
|
|
9843
9596
|
export declare function ɵdevModeEqual(a: any, b: any): boolean;
|
|
@@ -9899,9 +9652,47 @@ export declare interface ɵDirectiveDef<T> {
|
|
|
9899
9652
|
/**
|
|
9900
9653
|
* Refreshes host bindings on the associated directive.
|
|
9901
9654
|
*/
|
|
9902
|
-
hostBindings: HostBindingsFunction<T> | null;
|
|
9655
|
+
readonly hostBindings: HostBindingsFunction<T> | null;
|
|
9656
|
+
/**
|
|
9657
|
+
* The number of bindings in this directive `hostBindings` (including pure fn bindings).
|
|
9658
|
+
*
|
|
9659
|
+
* Used to calculate the length of the component's LView array, so we
|
|
9660
|
+
* can pre-fill the array and set the host binding start index.
|
|
9661
|
+
*/
|
|
9662
|
+
readonly hostVars: number;
|
|
9663
|
+
/**
|
|
9664
|
+
* Assign static attribute values to a host element.
|
|
9665
|
+
*
|
|
9666
|
+
* This property will assign static attribute values as well as class and style
|
|
9667
|
+
* values to a host element. Since attribute values can consist of different types of values, the
|
|
9668
|
+
* `hostAttrs` array must include the values in the following format:
|
|
9669
|
+
*
|
|
9670
|
+
* attrs = [
|
|
9671
|
+
* // static attributes (like `title`, `name`, `id`...)
|
|
9672
|
+
* attr1, value1, attr2, value,
|
|
9673
|
+
*
|
|
9674
|
+
* // a single namespace value (like `x:id`)
|
|
9675
|
+
* NAMESPACE_MARKER, namespaceUri1, name1, value1,
|
|
9676
|
+
*
|
|
9677
|
+
* // another single namespace value (like `x:name`)
|
|
9678
|
+
* NAMESPACE_MARKER, namespaceUri2, name2, value2,
|
|
9679
|
+
*
|
|
9680
|
+
* // a series of CSS classes that will be applied to the element (no spaces)
|
|
9681
|
+
* CLASSES_MARKER, class1, class2, class3,
|
|
9682
|
+
*
|
|
9683
|
+
* // a series of CSS styles (property + value) that will be applied to the element
|
|
9684
|
+
* STYLES_MARKER, prop1, value1, prop2, value2
|
|
9685
|
+
* ]
|
|
9686
|
+
*
|
|
9687
|
+
* All non-class and non-style attributes must be defined at the start of the list
|
|
9688
|
+
* first before all class and style values are set. When there is a change in value
|
|
9689
|
+
* type (like when classes and styles are introduced) a marker must be used to separate
|
|
9690
|
+
* the entries. The marker values themselves are set via entries found in the
|
|
9691
|
+
* [AttributeMarker] enum.
|
|
9692
|
+
*/
|
|
9693
|
+
readonly hostAttrs: TAttributes | null;
|
|
9903
9694
|
/** Token representing the directive. Used by DI. */
|
|
9904
|
-
type: Type<T>;
|
|
9695
|
+
readonly type: Type<T>;
|
|
9905
9696
|
/** Function that resolves providers and publishes them into the DI system. */
|
|
9906
9697
|
providersResolver: (<U extends T>(def: ɵDirectiveDef<U>, processProvidersFn?: ProcessProvidersFunction) => void) | null;
|
|
9907
9698
|
/** The selectors that will be used to match nodes to this directive. */
|
|
@@ -9914,15 +9705,15 @@ export declare interface ɵDirectiveDef<T> {
|
|
|
9914
9705
|
* Factory function used to create a new directive instance. Will be null initially.
|
|
9915
9706
|
* Populated when the factory is first requested by directive instantiation logic.
|
|
9916
9707
|
*/
|
|
9917
|
-
factory: FactoryFn<T> | null;
|
|
9918
|
-
onChanges: (() => void) | null;
|
|
9919
|
-
onInit: (() => void) | null;
|
|
9920
|
-
doCheck: (() => void) | null;
|
|
9921
|
-
afterContentInit: (() => void) | null;
|
|
9922
|
-
afterContentChecked: (() => void) | null;
|
|
9923
|
-
afterViewInit: (() => void) | null;
|
|
9924
|
-
afterViewChecked: (() => void) | null;
|
|
9925
|
-
onDestroy: (() => void) | null;
|
|
9708
|
+
readonly factory: FactoryFn<T> | null;
|
|
9709
|
+
readonly onChanges: (() => void) | null;
|
|
9710
|
+
readonly onInit: (() => void) | null;
|
|
9711
|
+
readonly doCheck: (() => void) | null;
|
|
9712
|
+
readonly afterContentInit: (() => void) | null;
|
|
9713
|
+
readonly afterContentChecked: (() => void) | null;
|
|
9714
|
+
readonly afterViewInit: (() => void) | null;
|
|
9715
|
+
readonly afterViewChecked: (() => void) | null;
|
|
9716
|
+
readonly onDestroy: (() => void) | null;
|
|
9926
9717
|
/**
|
|
9927
9718
|
* The features applied to this directive
|
|
9928
9719
|
*/
|
|
@@ -9980,26 +9771,45 @@ export declare function ɵgetDebugNode__POST_R3__(nativeNode: Node): DebugNode__
|
|
|
9980
9771
|
|
|
9981
9772
|
export declare function ɵgetDebugNode__POST_R3__(nativeNode: null): null;
|
|
9982
9773
|
|
|
9774
|
+
export declare const ɵgetDebugNodeR2: (nativeNode: any) => DebugNode | null;
|
|
9775
|
+
|
|
9983
9776
|
/**
|
|
9984
|
-
* Retrieves
|
|
9777
|
+
* Retrieves directive instances associated with a given DOM element. Does not include
|
|
9778
|
+
* component instances.
|
|
9779
|
+
*
|
|
9780
|
+
* @usageNotes
|
|
9781
|
+
* Given the following DOM structure:
|
|
9782
|
+
* ```
|
|
9783
|
+
* <my-app>
|
|
9784
|
+
* <button my-button></button>
|
|
9785
|
+
* <my-comp></my-comp>
|
|
9786
|
+
* </my-app>
|
|
9787
|
+
* ```
|
|
9788
|
+
* Calling `getDirectives` on `<button>` will return an array with an instance of the `MyButton`
|
|
9789
|
+
* directive that is associated with the DOM element.
|
|
9790
|
+
*
|
|
9791
|
+
* Calling `getDirectives` on `<my-comp>` will return an empty array.
|
|
9985
9792
|
*
|
|
9986
|
-
* @param
|
|
9793
|
+
* @param element DOM element for which to get the directives.
|
|
9794
|
+
* @returns Array of directives associated with the element.
|
|
9987
9795
|
*
|
|
9988
9796
|
* @publicApi
|
|
9797
|
+
* @globalApi ng
|
|
9989
9798
|
*/
|
|
9990
|
-
export declare function ɵgetDirectives(
|
|
9799
|
+
export declare function ɵgetDirectives(element: Element): {}[];
|
|
9991
9800
|
|
|
9992
9801
|
/**
|
|
9993
|
-
*
|
|
9802
|
+
* Retrieves the host element of a component or directive instance.
|
|
9803
|
+
* The host element is the DOM element that matched the selector of the directive.
|
|
9994
9804
|
*
|
|
9995
|
-
*
|
|
9996
|
-
*
|
|
9997
|
-
*
|
|
9998
|
-
* @param directive Component or Directive for which the host element should be retrieved.
|
|
9805
|
+
* @param componentOrDirective Component or directive instance for which the host
|
|
9806
|
+
* element should be retrieved.
|
|
9807
|
+
* @returns Host element of the target.
|
|
9999
9808
|
*
|
|
10000
9809
|
* @publicApi
|
|
9810
|
+
* @globalApi ng
|
|
10001
9811
|
*/
|
|
10002
|
-
export declare function ɵgetHostElement
|
|
9812
|
+
export declare function ɵgetHostElement(componentOrDirective: {}): Element;
|
|
10003
9813
|
|
|
10004
9814
|
/**
|
|
10005
9815
|
* Read the injectable def (`ɵprov`) for `type` in a way which is immune to accidentally reading
|
|
@@ -10030,6 +9840,17 @@ export declare function ɵgetInjectableDef<T>(type: any): ɵɵInjectableDef<T> |
|
|
|
10030
9840
|
*/
|
|
10031
9841
|
export declare function ɵgetLContext(target: any): ɵLContext | null;
|
|
10032
9842
|
|
|
9843
|
+
/**
|
|
9844
|
+
* Retrieves the default currency code for the given locale.
|
|
9845
|
+
*
|
|
9846
|
+
* The default is defined as the first currency which is still in use.
|
|
9847
|
+
*
|
|
9848
|
+
* @param locale The code of the locale whose currency code we want.
|
|
9849
|
+
* @returns The code of the default currency for the given locale.
|
|
9850
|
+
*
|
|
9851
|
+
*/
|
|
9852
|
+
export declare function ɵgetLocaleCurrencyCode(locale: string): string | null;
|
|
9853
|
+
|
|
10033
9854
|
/**
|
|
10034
9855
|
* Retrieves the plural function used by ICU expressions to determine the plural case to use
|
|
10035
9856
|
* for a given locale.
|
|
@@ -10103,7 +9924,7 @@ export declare interface ɵLContext {
|
|
|
10103
9924
|
/**
|
|
10104
9925
|
* The component's parent view data.
|
|
10105
9926
|
*/
|
|
10106
|
-
lView: ɵ
|
|
9927
|
+
lView: ɵangular_packages_core_core_bo;
|
|
10107
9928
|
/**
|
|
10108
9929
|
* The index instance of the node.
|
|
10109
9930
|
*/
|
|
@@ -10184,22 +10005,15 @@ export declare function ɵmakeDecorator<T>(name: string, props?: (...args: any[]
|
|
|
10184
10005
|
};
|
|
10185
10006
|
|
|
10186
10007
|
/**
|
|
10187
|
-
*
|
|
10188
|
-
*
|
|
10189
|
-
* Marking a component dirty will schedule a change detection on this
|
|
10190
|
-
* component at some point in the future. Marking an already dirty
|
|
10191
|
-
* component as dirty is a noop. Only one outstanding change detection
|
|
10192
|
-
* can be scheduled per component tree. (Two components bootstrapped with
|
|
10193
|
-
* separate `renderComponent` will have separate schedulers)
|
|
10008
|
+
* Marks the component as dirty (needing change detection). Marking a component dirty will
|
|
10009
|
+
* schedule a change detection on it at some point in the future.
|
|
10194
10010
|
*
|
|
10195
|
-
*
|
|
10196
|
-
* can be
|
|
10011
|
+
* Marking an already dirty component as dirty won't do anything. Only one outstanding change
|
|
10012
|
+
* detection can be scheduled per component tree.
|
|
10197
10013
|
*
|
|
10198
10014
|
* @param component Component to mark as dirty.
|
|
10199
|
-
*
|
|
10200
|
-
* @publicApi
|
|
10201
10015
|
*/
|
|
10202
|
-
export declare function ɵmarkDirty
|
|
10016
|
+
export declare function ɵmarkDirty(component: {}): void;
|
|
10203
10017
|
|
|
10204
10018
|
export declare type ɵMethodFn = (obj: any, args: any[]) => any;
|
|
10205
10019
|
|
|
@@ -10298,7 +10112,7 @@ export declare interface ɵNgModuleType<T = any> extends Type<T> {
|
|
|
10298
10112
|
|
|
10299
10113
|
|
|
10300
10114
|
export declare interface ɵNO_CHANGE {
|
|
10301
|
-
|
|
10115
|
+
__brand__: 'NO_CHANGE';
|
|
10302
10116
|
}
|
|
10303
10117
|
|
|
10304
10118
|
/** A special value which designates that a value has not changed. */
|
|
@@ -10613,7 +10427,7 @@ export declare class ɵRender3ComponentRef<T> extends ComponentRef<T> {
|
|
|
10613
10427
|
hostView: ViewRef_2<T>;
|
|
10614
10428
|
changeDetectorRef: ChangeDetectorRef;
|
|
10615
10429
|
componentType: Type<T>;
|
|
10616
|
-
constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: ɵ
|
|
10430
|
+
constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: ɵangular_packages_core_core_bo, _tNode: ɵangular_packages_core_core_be | TContainerNode | TElementContainerNode);
|
|
10617
10431
|
get injector(): Injector;
|
|
10618
10432
|
destroy(): void;
|
|
10619
10433
|
onDestroy(callback: () => void): void;
|
|
@@ -10785,7 +10599,7 @@ export declare function ɵsetLocaleId(localeId: string): void;
|
|
|
10785
10599
|
export declare type ɵSetterFn = (obj: any, value: any) => void;
|
|
10786
10600
|
|
|
10787
10601
|
/** Store a value in the `data` at a given `index`. */
|
|
10788
|
-
export declare function ɵstore<T>(index: number, value: T): void;
|
|
10602
|
+
export declare function ɵstore<T>(tView: TView, lView: ɵangular_packages_core_core_bo, index: number, value: T): void;
|
|
10789
10603
|
|
|
10790
10604
|
|
|
10791
10605
|
export declare function ɵstringify(token: any): string;
|
|
@@ -10919,16 +10733,6 @@ export declare function ɵwhenRendered(component: any): Promise<null>;
|
|
|
10919
10733
|
*/
|
|
10920
10734
|
export declare function ɵɵadvance(delta: number): void;
|
|
10921
10735
|
|
|
10922
|
-
|
|
10923
|
-
/**
|
|
10924
|
-
* Allocates the necessary amount of slots for host vars.
|
|
10925
|
-
*
|
|
10926
|
-
* @param count Amount of vars to be allocated
|
|
10927
|
-
*
|
|
10928
|
-
* @codeGenApi
|
|
10929
|
-
*/
|
|
10930
|
-
export declare function ɵɵallocHostVars(count: number): void;
|
|
10931
|
-
|
|
10932
10736
|
/**
|
|
10933
10737
|
* Updates the value of or removes a bound attribute on an Element.
|
|
10934
10738
|
*
|
|
@@ -11261,8 +11065,8 @@ export declare function ɵɵattributeInterpolateV(attrName: string, values: any[
|
|
|
11261
11065
|
* @codeGenApi
|
|
11262
11066
|
*/
|
|
11263
11067
|
export declare function ɵɵclassMap(classes: {
|
|
11264
|
-
[className: string]:
|
|
11265
|
-
} |
|
|
11068
|
+
[className: string]: boolean | undefined | null;
|
|
11069
|
+
} | Map<string, boolean | undefined | null> | Set<string> | string[] | string | undefined | null): void;
|
|
11266
11070
|
|
|
11267
11071
|
|
|
11268
11072
|
/**
|
|
@@ -11551,7 +11355,7 @@ export declare function ɵɵclassMapInterpolateV(values: any[]): void;
|
|
|
11551
11355
|
*
|
|
11552
11356
|
* @codeGenApi
|
|
11553
11357
|
*/
|
|
11554
|
-
export declare function ɵɵclassProp(className: string, value: boolean | null): typeof ɵɵclassProp;
|
|
11358
|
+
export declare function ɵɵclassProp(className: string, value: boolean | undefined | null): typeof ɵɵclassProp;
|
|
11555
11359
|
|
|
11556
11360
|
/**
|
|
11557
11361
|
* @codeGenApi
|
|
@@ -11756,6 +11560,44 @@ export declare function ɵɵdefineComponent<T>(componentDefinition: {
|
|
|
11756
11560
|
* Function executed by the parent template to allow child directive to apply host bindings.
|
|
11757
11561
|
*/
|
|
11758
11562
|
hostBindings?: HostBindingsFunction<T>;
|
|
11563
|
+
/**
|
|
11564
|
+
* The number of bindings in this directive `hostBindings` (including pure fn bindings).
|
|
11565
|
+
*
|
|
11566
|
+
* Used to calculate the length of the component's LView array, so we
|
|
11567
|
+
* can pre-fill the array and set the host binding start index.
|
|
11568
|
+
*/
|
|
11569
|
+
hostVars?: number;
|
|
11570
|
+
/**
|
|
11571
|
+
* Assign static attribute values to a host element.
|
|
11572
|
+
*
|
|
11573
|
+
* This property will assign static attribute values as well as class and style
|
|
11574
|
+
* values to a host element. Since attribute values can consist of different types of values, the
|
|
11575
|
+
* `hostAttrs` array must include the values in the following format:
|
|
11576
|
+
*
|
|
11577
|
+
* attrs = [
|
|
11578
|
+
* // static attributes (like `title`, `name`, `id`...)
|
|
11579
|
+
* attr1, value1, attr2, value,
|
|
11580
|
+
*
|
|
11581
|
+
* // a single namespace value (like `x:id`)
|
|
11582
|
+
* NAMESPACE_MARKER, namespaceUri1, name1, value1,
|
|
11583
|
+
*
|
|
11584
|
+
* // another single namespace value (like `x:name`)
|
|
11585
|
+
* NAMESPACE_MARKER, namespaceUri2, name2, value2,
|
|
11586
|
+
*
|
|
11587
|
+
* // a series of CSS classes that will be applied to the element (no spaces)
|
|
11588
|
+
* CLASSES_MARKER, class1, class2, class3,
|
|
11589
|
+
*
|
|
11590
|
+
* // a series of CSS styles (property + value) that will be applied to the element
|
|
11591
|
+
* STYLES_MARKER, prop1, value1, prop2, value2
|
|
11592
|
+
* ]
|
|
11593
|
+
*
|
|
11594
|
+
* All non-class and non-style attributes must be defined at the start of the list
|
|
11595
|
+
* first before all class and style values are set. When there is a change in value
|
|
11596
|
+
* type (like when classes and styles are introduced) a marker must be used to separate
|
|
11597
|
+
* the entries. The marker values themselves are set via entries found in the
|
|
11598
|
+
* [AttributeMarker] enum.
|
|
11599
|
+
*/
|
|
11600
|
+
hostAttrs?: TAttributes;
|
|
11759
11601
|
/**
|
|
11760
11602
|
* Function to create instances of content queries associated with a given directive.
|
|
11761
11603
|
*/
|
|
@@ -11950,6 +11792,44 @@ export declare const ɵɵdefineDirective: <T>(directiveDefinition: {
|
|
|
11950
11792
|
* Function executed by the parent template to allow child directive to apply host bindings.
|
|
11951
11793
|
*/
|
|
11952
11794
|
hostBindings?: HostBindingsFunction<T> | undefined;
|
|
11795
|
+
/**
|
|
11796
|
+
* The number of bindings in this directive `hostBindings` (including pure fn bindings).
|
|
11797
|
+
*
|
|
11798
|
+
* Used to calculate the length of the component's LView array, so we
|
|
11799
|
+
* can pre-fill the array and set the host binding start index.
|
|
11800
|
+
*/
|
|
11801
|
+
hostVars?: number | undefined;
|
|
11802
|
+
/**
|
|
11803
|
+
* Assign static attribute values to a host element.
|
|
11804
|
+
*
|
|
11805
|
+
* This property will assign static attribute values as well as class and style
|
|
11806
|
+
* values to a host element. Since attribute values can consist of different types of values, the
|
|
11807
|
+
* `hostAttrs` array must include the values in the following format:
|
|
11808
|
+
*
|
|
11809
|
+
* attrs = [
|
|
11810
|
+
* // static attributes (like `title`, `name`, `id`...)
|
|
11811
|
+
* attr1, value1, attr2, value,
|
|
11812
|
+
*
|
|
11813
|
+
* // a single namespace value (like `x:id`)
|
|
11814
|
+
* NAMESPACE_MARKER, namespaceUri1, name1, value1,
|
|
11815
|
+
*
|
|
11816
|
+
* // another single namespace value (like `x:name`)
|
|
11817
|
+
* NAMESPACE_MARKER, namespaceUri2, name2, value2,
|
|
11818
|
+
*
|
|
11819
|
+
* // a series of CSS classes that will be applied to the element (no spaces)
|
|
11820
|
+
* CLASSES_MARKER, class1, class2, class3,
|
|
11821
|
+
*
|
|
11822
|
+
* // a series of CSS styles (property + value) that will be applied to the element
|
|
11823
|
+
* STYLES_MARKER, prop1, value1, prop2, value2
|
|
11824
|
+
* ]
|
|
11825
|
+
*
|
|
11826
|
+
* All non-class and non-style attributes must be defined at the start of the list
|
|
11827
|
+
* first before all class and style values are set. When there is a change in value
|
|
11828
|
+
* type (like when classes and styles are introduced) a marker must be used to separate
|
|
11829
|
+
* the entries. The marker values themselves are set via entries found in the
|
|
11830
|
+
* [AttributeMarker] enum.
|
|
11831
|
+
*/
|
|
11832
|
+
hostAttrs?: TAttributes | undefined;
|
|
11953
11833
|
/**
|
|
11954
11834
|
* Function to create instances of content queries associated with a given directive.
|
|
11955
11835
|
*/
|
|
@@ -12175,46 +12055,6 @@ export declare function ɵɵelementContainerStart(index: number, attrsIndex?: nu
|
|
|
12175
12055
|
*/
|
|
12176
12056
|
export declare function ɵɵelementEnd(): void;
|
|
12177
12057
|
|
|
12178
|
-
/**
|
|
12179
|
-
* Assign static attribute values to a host element.
|
|
12180
|
-
*
|
|
12181
|
-
* This instruction will assign static attribute values as well as class and style
|
|
12182
|
-
* values to an element within the host bindings function. Since attribute values
|
|
12183
|
-
* can consist of different types of values, the `attrs` array must include the values in
|
|
12184
|
-
* the following format:
|
|
12185
|
-
*
|
|
12186
|
-
* attrs = [
|
|
12187
|
-
* // static attributes (like `title`, `name`, `id`...)
|
|
12188
|
-
* attr1, value1, attr2, value,
|
|
12189
|
-
*
|
|
12190
|
-
* // a single namespace value (like `x:id`)
|
|
12191
|
-
* NAMESPACE_MARKER, namespaceUri1, name1, value1,
|
|
12192
|
-
*
|
|
12193
|
-
* // another single namespace value (like `x:name`)
|
|
12194
|
-
* NAMESPACE_MARKER, namespaceUri2, name2, value2,
|
|
12195
|
-
*
|
|
12196
|
-
* // a series of CSS classes that will be applied to the element (no spaces)
|
|
12197
|
-
* CLASSES_MARKER, class1, class2, class3,
|
|
12198
|
-
*
|
|
12199
|
-
* // a series of CSS styles (property + value) that will be applied to the element
|
|
12200
|
-
* STYLES_MARKER, prop1, value1, prop2, value2
|
|
12201
|
-
* ]
|
|
12202
|
-
*
|
|
12203
|
-
* All non-class and non-style attributes must be defined at the start of the list
|
|
12204
|
-
* first before all class and style values are set. When there is a change in value
|
|
12205
|
-
* type (like when classes and styles are introduced) a marker must be used to separate
|
|
12206
|
-
* the entries. The marker values themselves are set via entries found in the
|
|
12207
|
-
* [AttributeMarker] enum.
|
|
12208
|
-
*
|
|
12209
|
-
* NOTE: This instruction is meant to used from `hostBindings` function only.
|
|
12210
|
-
*
|
|
12211
|
-
* @param directive A directive instance the styling is associated with.
|
|
12212
|
-
* @param attrs An array of static values (attributes, classes and styles) with the correct marker
|
|
12213
|
-
* values.
|
|
12214
|
-
*
|
|
12215
|
-
* @codeGenApi
|
|
12216
|
-
*/
|
|
12217
|
-
export declare function ɵɵelementHostAttrs(attrs: TAttributes): void;
|
|
12218
12058
|
|
|
12219
12059
|
/**
|
|
12220
12060
|
* Create DOM element. The instruction must later be followed by `elementEnd()` call.
|
|
@@ -13630,7 +13470,7 @@ export declare function ɵɵstaticViewQuery<T>(predicate: Type<any> | string[],
|
|
|
13630
13470
|
*/
|
|
13631
13471
|
export declare function ɵɵstyleMap(styles: {
|
|
13632
13472
|
[styleName: string]: any;
|
|
13633
|
-
} |
|
|
13473
|
+
} | Map<string, string | number | null | undefined> | string | undefined | null): void;
|
|
13634
13474
|
|
|
13635
13475
|
/**
|
|
13636
13476
|
* Update a style binding on an element with the provided value.
|
|
@@ -13653,7 +13493,8 @@ export declare function ɵɵstyleMap(styles: {
|
|
|
13653
13493
|
*
|
|
13654
13494
|
* @codeGenApi
|
|
13655
13495
|
*/
|
|
13656
|
-
export declare function ɵɵstyleProp(prop: string, value: string | number | ɵSafeValue | null, suffix?: string | null): typeof ɵɵstyleProp;
|
|
13496
|
+
export declare function ɵɵstyleProp(prop: string, value: string | number | ɵSafeValue | undefined | null, suffix?: string | null): typeof ɵɵstyleProp;
|
|
13497
|
+
|
|
13657
13498
|
|
|
13658
13499
|
/**
|
|
13659
13500
|
*
|
|
@@ -13969,15 +13810,6 @@ export declare function ɵɵstylePropInterpolate8(prop: string, prefix: string,
|
|
|
13969
13810
|
*/
|
|
13970
13811
|
export declare function ɵɵstylePropInterpolateV(prop: string, values: any[], valueSuffix?: string | null): typeof ɵɵstylePropInterpolateV;
|
|
13971
13812
|
|
|
13972
|
-
/**
|
|
13973
|
-
* --------
|
|
13974
|
-
*
|
|
13975
|
-
* This file contains the core logic for how styling instructions are processed in Angular.
|
|
13976
|
-
*
|
|
13977
|
-
* To learn more about the algorithm see `TStylingContext`.
|
|
13978
|
-
*
|
|
13979
|
-
* --------
|
|
13980
|
-
*/
|
|
13981
13813
|
/**
|
|
13982
13814
|
* Sets the current style sanitizer function which will then be used
|
|
13983
13815
|
* within all follow-up prop and map-based style binding instructions
|
|
@@ -14023,7 +13855,7 @@ export declare function ɵɵtemplate(index: number, templateFn: ComponentTemplat
|
|
|
14023
13855
|
*
|
|
14024
13856
|
* @codeGenApi
|
|
14025
13857
|
*/
|
|
14026
|
-
export declare function ɵɵtemplateRefExtractor(tNode: TNode, currentView: ɵ
|
|
13858
|
+
export declare function ɵɵtemplateRefExtractor(tNode: TNode, currentView: ɵangular_packages_core_core_bo): TemplateRef<unknown> | null;
|
|
14027
13859
|
|
|
14028
13860
|
/**
|
|
14029
13861
|
* Create static text node
|