@ionic/angular 7.6.2-dev.11705694334.11b34c62 → 7.6.2-dev.11706205501.196a5433
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/common/directives/navigation/router-outlet.d.ts +4 -3
- package/common/index.d.ts +0 -1
- package/css/core.css +101 -34
- package/css/core.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/themes/dark.always.css +122 -0
- package/css/themes/dark.always.css.map +1 -0
- package/css/themes/dark.class.css +122 -0
- package/css/themes/dark.class.css.map +1 -0
- package/css/themes/dark.css +3 -0
- package/css/themes/dark.css.map +1 -0
- package/css/themes/dark.system.css +124 -0
- package/css/themes/dark.system.css.map +1 -0
- package/css/typography.css +1 -1
- package/directives/navigation/ion-router-outlet.d.ts +12 -4
- package/directives/proxies.d.ts +1 -1
- package/esm2020/common/directives/navigation/router-outlet.mjs +15 -6
- package/esm2020/common/directives/navigation/stack-controller.mjs +1 -4
- package/esm2020/common/index.mjs +1 -2
- package/esm2020/common/providers/angular-delegate.mjs +34 -38
- package/esm2020/directives/navigation/ion-router-outlet.mjs +13 -9
- package/esm2020/directives/navigation/ion-tabs.mjs +1 -1
- package/esm2020/directives/proxies.mjs +4 -4
- package/esm2020/index.mjs +2 -2
- package/esm2020/standalone/directives/proxies.mjs +4 -4
- package/esm2020/standalone/index.mjs +2 -2
- package/esm2020/standalone/navigation/router-outlet.mjs +13 -9
- package/esm2020/standalone/navigation/tabs.mjs +1 -1
- package/fesm2015/ionic-angular-common.mjs +49 -91
- package/fesm2015/ionic-angular-common.mjs.map +1 -1
- package/fesm2015/ionic-angular-standalone.mjs +17 -13
- package/fesm2015/ionic-angular-standalone.mjs.map +1 -1
- package/fesm2015/ionic-angular.mjs +17 -13
- package/fesm2015/ionic-angular.mjs.map +1 -1
- package/fesm2020/ionic-angular-common.mjs +48 -90
- package/fesm2020/ionic-angular-common.mjs.map +1 -1
- package/fesm2020/ionic-angular-standalone.mjs +17 -13
- package/fesm2020/ionic-angular-standalone.mjs.map +1 -1
- package/fesm2020/ionic-angular.mjs +17 -13
- package/fesm2020/ionic-angular.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +2 -2
- package/standalone/directives/proxies.d.ts +1 -1
- package/standalone/index.d.ts +1 -1
- package/standalone/navigation/router-outlet.d.ts +12 -4
- package/common/directives/navigation/nav-params.d.ts +0 -45
- package/esm2020/common/directives/navigation/nav-params.mjs +0 -45
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ApplicationRef, NgZone, Injectable,
|
|
1
|
+
import { ApplicationRef, NgZone, Injectable, inject, createComponent, } from '@angular/core';
|
|
2
2
|
import { LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_WILL_UNLOAD, } from '@ionic/core/components';
|
|
3
|
-
import { NavParams } from '../directives/navigation/nav-params';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
// TODO(FW-2827): types
|
|
6
5
|
export class AngularDelegate {
|
|
@@ -68,25 +67,9 @@ export class AngularFrameworkDelegate {
|
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
export const attachView = (zone, environmentInjector, injector, applicationRef, elRefMap, elEventsMap, container, component, params, cssClasses, elementReferenceKey) => {
|
|
71
|
-
/**
|
|
72
|
-
* Wraps the injector with a custom injector that
|
|
73
|
-
* provides NavParams to the component.
|
|
74
|
-
*
|
|
75
|
-
* NavParams is a legacy feature from Ionic v3 that allows
|
|
76
|
-
* Angular developers to provide data to a component
|
|
77
|
-
* and access it by providing NavParams as a dependency
|
|
78
|
-
* in the constructor.
|
|
79
|
-
*
|
|
80
|
-
* The modern approach is to access the data directly
|
|
81
|
-
* from the component's class instance.
|
|
82
|
-
*/
|
|
83
|
-
const childInjector = Injector.create({
|
|
84
|
-
providers: getProviders(params),
|
|
85
|
-
parent: injector,
|
|
86
|
-
});
|
|
87
70
|
const componentRef = createComponent(component, {
|
|
88
71
|
environmentInjector,
|
|
89
|
-
elementInjector:
|
|
72
|
+
elementInjector: injector,
|
|
90
73
|
});
|
|
91
74
|
const instance = componentRef.instance;
|
|
92
75
|
const hostElement = componentRef.location.nativeElement;
|
|
@@ -101,7 +84,37 @@ export const attachView = (zone, environmentInjector, injector, applicationRef,
|
|
|
101
84
|
if (elementReferenceKey && instance[elementReferenceKey] !== undefined) {
|
|
102
85
|
console.error(`[Ionic Error]: ${elementReferenceKey} is a reserved property when using ${container.tagName.toLowerCase()}. Rename or remove the "${elementReferenceKey}" property from ${component.name}.`);
|
|
103
86
|
}
|
|
104
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Angular 14.1 added support for setInput
|
|
89
|
+
* so we need to fall back to Object.assign
|
|
90
|
+
* for Angular 14.0.
|
|
91
|
+
*/
|
|
92
|
+
if (componentRef.setInput !== undefined) {
|
|
93
|
+
const { modal, popover, ...otherParams } = params;
|
|
94
|
+
/**
|
|
95
|
+
* Any key/value pairs set in componentProps
|
|
96
|
+
* must be set as inputs on the component instance.
|
|
97
|
+
*/
|
|
98
|
+
for (const key in otherParams) {
|
|
99
|
+
componentRef.setInput(key, otherParams[key]);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Using setInput will cause an error when
|
|
103
|
+
* setting modal/popover on a component that
|
|
104
|
+
* does not define them as an input. For backwards
|
|
105
|
+
* compatibility purposes we fall back to using
|
|
106
|
+
* Object.assign for these properties.
|
|
107
|
+
*/
|
|
108
|
+
if (modal !== undefined) {
|
|
109
|
+
Object.assign(instance, { modal });
|
|
110
|
+
}
|
|
111
|
+
if (popover !== undefined) {
|
|
112
|
+
Object.assign(instance, { popover });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
Object.assign(instance, params);
|
|
117
|
+
}
|
|
105
118
|
}
|
|
106
119
|
if (cssClasses) {
|
|
107
120
|
for (const cssClass of cssClasses) {
|
|
@@ -132,21 +145,4 @@ export const bindLifecycleEvents = (zone, instance, element) => {
|
|
|
132
145
|
return () => unregisters.forEach((fn) => fn());
|
|
133
146
|
});
|
|
134
147
|
};
|
|
135
|
-
const NavParamsToken = new InjectionToken('NavParamsToken');
|
|
136
|
-
const getProviders = (params) => {
|
|
137
|
-
return [
|
|
138
|
-
{
|
|
139
|
-
provide: NavParamsToken,
|
|
140
|
-
useValue: params,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
provide: NavParams,
|
|
144
|
-
useFactory: provideNavParamsInjectable,
|
|
145
|
-
deps: [NavParamsToken],
|
|
146
|
-
},
|
|
147
|
-
];
|
|
148
|
-
};
|
|
149
|
-
const provideNavParamsInjectable = (params) => {
|
|
150
|
-
return new NavParams(params);
|
|
151
|
-
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kZWxlZ2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvcHJvdmlkZXJzL2FuZ3VsYXItZGVsZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxNQUFNLEVBQ04sVUFBVSxFQUNWLFFBQVEsRUFFUixNQUFNLEVBQ04sZUFBZSxFQUNmLGNBQWMsR0FFZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUN0QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFaEUsdUJBQXVCO0FBR3ZCLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQWVqRDtJQWJDLE1BQU0sQ0FDSixtQkFBd0MsRUFDeEMsUUFBa0IsRUFDbEIsbUJBQTRCO1FBRTVCLE9BQU8sSUFBSSx3QkFBd0IsQ0FDakMsbUJBQW1CLEVBQ25CLFFBQVEsRUFDUixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsSUFBSSxFQUNULG1CQUFtQixDQUNwQixDQUFDO0lBQ0osQ0FBQzs7Z0lBaEJVLGVBQWU7b0lBQWYsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVOztBQW9CWCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQ1UsbUJBQXdDLEVBQ3hDLFFBQWtCLEVBQ2xCLGNBQThCLEVBQzlCLElBQVksRUFDWixtQkFBNEI7UUFKNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG1CQUFjLEdBQWQsY0FB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgTmdab25lLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0LFxuICBjcmVhdGVDb21wb25lbnQsXG4gIEluamVjdGlvblRva2VuLFxuICBDb21wb25lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRnJhbWV3b3JrRGVsZWdhdGUsXG4gIExJRkVDWUNMRV9ESURfRU5URVIsXG4gIExJRkVDWUNMRV9ESURfTEVBVkUsXG4gIExJRkVDWUNMRV9XSUxMX0VOVEVSLFxuICBMSUZFQ1lDTEVfV0lMTF9MRUFWRSxcbiAgTElGRUNZQ0xFX1dJTExfVU5MT0FELFxufSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgTmF2UGFyYW1zIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL25hdi1wYXJhbXMnO1xuXG4vLyBUT0RPKEZXLTI4MjcpOiB0eXBlc1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW5ndWxhckRlbGVnYXRlIHtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgYXBwbGljYXRpb25SZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuXG4gIGNyZWF0ZShcbiAgICBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBlbGVtZW50UmVmZXJlbmNlS2V5Pzogc3RyaW5nXG4gICk6IEFuZ3VsYXJGcmFtZXdvcmtEZWxlZ2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRnJhbWV3b3JrRGVsZWdhdGUoXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgaW5qZWN0b3IsXG4gICAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLFxuICAgICAgdGhpcy56b25lLFxuICAgICAgZWxlbWVudFJlZmVyZW5jZUtleVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGcmFtZXdvcmtEZWxlZ2F0ZSBpbXBsZW1lbnRzIEZyYW1ld29ya0RlbGVnYXRlIHtcbiAgcHJpdmF0ZSBlbFJlZk1hcCA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBDb21wb25lbnRSZWY8YW55Pj4oKTtcbiAgcHJpdmF0ZSBlbEV2ZW50c01hcCA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCAoKSA9PiB2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2VLZXk/OiBzdHJpbmdcbiAgKSB7fVxuXG4gIGF0dGFjaFZpZXdUb0RvbShjb250YWluZXI6IGFueSwgY29tcG9uZW50OiBhbnksIHBhcmFtcz86IGFueSwgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSB7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJb25pYyBBbmd1bGFyIHBhc3NlcyBhIHJlZmVyZW5jZSB0byBhIG1vZGFsXG4gICAgICAgICAqIG9yIHBvcG92ZXIgdGhhdCBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgYVxuICAgICAgICAgKiB2YXJpYWJsZSBpbiB0aGUgb3ZlcmxheSBjb21wb25lbnQuIElmXG4gICAgICAgICAqIGVsZW1lbnRSZWZlcmVuY2VLZXkgaXMgZGVmaW5lZCwgdGhlbiB3ZSBzaG91bGRcbiAgICAgICAgICogcGFzcyBhIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IHVzaW5nXG4gICAgICAgICAqIGVsZW1lbnRSZWZlcmVuY2VLZXkgYXMgdGhlIGtleS5cbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWZlcmVuY2VLZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbXBvbmVudFByb3BzW3RoaXMuZWxlbWVudFJlZmVyZW5jZUtleV0gPSBjb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbCA9IGF0dGFjaFZpZXcoXG4gICAgICAgICAgdGhpcy56b25lLFxuICAgICAgICAgIHRoaXMuZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICAgICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25SZWYsXG4gICAgICAgICAgdGhpcy5lbFJlZk1hcCxcbiAgICAgICAgICB0aGlzLmVsRXZlbnRzTWFwLFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgY29tcG9uZW50UHJvcHMsXG4gICAgICAgICAgY3NzQ2xhc3NlcyxcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWZlcmVuY2VLZXlcbiAgICAgICAgKTtcbiAgICAgICAgcmVzb2x2ZShlbCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZVZpZXdGcm9tRG9tKF9jb250YWluZXI6IGFueSwgY29tcG9uZW50OiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5lbFJlZk1hcC5nZXQoY29tcG9uZW50KTtcbiAgICAgICAgaWYgKGNvbXBvbmVudFJlZikge1xuICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgdGhpcy5lbFJlZk1hcC5kZWxldGUoY29tcG9uZW50KTtcbiAgICAgICAgICBjb25zdCB1bmJpbmRFdmVudHMgPSB0aGlzLmVsRXZlbnRzTWFwLmdldChjb21wb25lbnQpO1xuICAgICAgICAgIGlmICh1bmJpbmRFdmVudHMpIHtcbiAgICAgICAgICAgIHVuYmluZEV2ZW50cygpO1xuICAgICAgICAgICAgdGhpcy5lbEV2ZW50c01hcC5kZWxldGUoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGF0dGFjaFZpZXcgPSAoXG4gIHpvbmU6IE5nWm9uZSxcbiAgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0b3I6IEluamVjdG9yLFxuICBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gIGVsUmVmTWFwOiBXZWFrTWFwPEhUTUxFbGVtZW50LCBDb21wb25lbnRSZWY8YW55Pj4sXG4gIGVsRXZlbnRzTWFwOiBXZWFrTWFwPEhUTUxFbGVtZW50LCAoKSA9PiB2b2lkPixcbiAgY29udGFpbmVyOiBhbnksXG4gIGNvbXBvbmVudDogYW55LFxuICBwYXJhbXM6IGFueSxcbiAgY3NzQ2xhc3Nlczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gIGVsZW1lbnRSZWZlcmVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogYW55ID0+IHtcbiAgLyoqXG4gICAqIFdyYXBzIHRoZSBpbmplY3RvciB3aXRoIGEgY3VzdG9tIGluamVjdG9yIHRoYXRcbiAgICogcHJvdmlkZXMgTmF2UGFyYW1zIHRvIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIE5hdlBhcmFtcyBpcyBhIGxlZ2FjeSBmZWF0dXJlIGZyb20gSW9uaWMgdjMgdGhhdCBhbGxvd3NcbiAgICogQW5ndWxhciBkZXZlbG9wZXJzIHRvIHByb3ZpZGUgZGF0YSB0byBhIGNvbXBvbmVudFxuICAgKiBhbmQgYWNjZXNzIGl0IGJ5IHByb3ZpZGluZyBOYXZQYXJhbXMgYXMgYSBkZXBlbmRlbmN5XG4gICAqIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogVGhlIG1vZGVybiBhcHByb2FjaCBpcyB0byBhY2Nlc3MgdGhlIGRhdGEgZGlyZWN0bHlcbiAgICogZnJvbSB0aGUgY29tcG9uZW50J3MgY2xhc3MgaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdCBjaGlsZEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICBwcm92aWRlcnM6IGdldFByb3ZpZGVycyhwYXJhbXMpLFxuICAgIHBhcmVudDogaW5qZWN0b3IsXG4gIH0pO1xuXG4gIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudDxhbnk+KGNvbXBvbmVudCwge1xuICAgIGVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgZWxlbWVudEluamVjdG9yOiBjaGlsZEluamVjdG9yLFxuICB9KTtcblxuICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgY29uc3QgaG9zdEVsZW1lbnQgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblxuICBpZiAocGFyYW1zKSB7XG4gICAgLyoqXG4gICAgICogRm9yIG1vZGFscyBhbmQgcG9wb3ZlcnMsIGEgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaXNcbiAgICAgKiBhZGRlZCB0byBgcGFyYW1zYCBkdXJpbmcgdGhlIGNhbGwgdG8gYXR0YWNoVmlld1RvRG9tLiBJZlxuICAgICAqIGEgcmVmZXJlbmNlIHVzaW5nIHRoaXMgbmFtZSBpcyBhbHJlYWR5IHNldCwgdGhpcyBtZWFuc1xuICAgICAqIHRoZSBhcHAgaXMgdHJ5aW5nIHRvIHVzZSB0aGUgbmFtZSBhcyBhIGNvbXBvbmVudCBwcm9wLFxuICAgICAqIHdoaWNoIHdpbGwgY2F1c2UgY29sbGlzaW9ucy5cbiAgICAgKi9cbiAgICBpZiAoZWxlbWVudFJlZmVyZW5jZUtleSAmJiBpbnN0YW5jZVtlbGVtZW50UmVmZXJlbmNlS2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgW0lvbmljIEVycm9yXTogJHtlbGVtZW50UmVmZXJlbmNlS2V5fSBpcyBhIHJlc2VydmVkIHByb3BlcnR5IHdoZW4gdXNpbmcgJHtjb250YWluZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpfS4gUmVuYW1lIG9yIHJlbW92ZSB0aGUgXCIke2VsZW1lbnRSZWZlcmVuY2VLZXl9XCIgcHJvcGVydHkgZnJvbSAke1xuICAgICAgICAgIGNvbXBvbmVudC5uYW1lXG4gICAgICAgIH0uYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGluc3RhbmNlLCBwYXJhbXMpO1xuICB9XG4gIGlmIChjc3NDbGFzc2VzKSB7XG4gICAgZm9yIChjb25zdCBjc3NDbGFzcyBvZiBjc3NDbGFzc2VzKSB7XG4gICAgICBob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKGNzc0NsYXNzKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdW5iaW5kRXZlbnRzID0gYmluZExpZmVjeWNsZUV2ZW50cyh6b25lLCBpbnN0YW5jZSwgaG9zdEVsZW1lbnQpO1xuICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdEVsZW1lbnQpO1xuXG4gIGFwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICBlbFJlZk1hcC5zZXQoaG9zdEVsZW1lbnQsIGNvbXBvbmVudFJlZik7XG4gIGVsRXZlbnRzTWFwLnNldChob3N0RWxlbWVudCwgdW5iaW5kRXZlbnRzKTtcbiAgcmV0dXJuIGhvc3RFbGVtZW50O1xufTtcblxuY29uc3QgTElGRUNZQ0xFUyA9IFtcbiAgTElGRUNZQ0xFX1dJTExfRU5URVIsXG4gIExJRkVDWUNMRV9ESURfRU5URVIsXG4gIExJRkVDWUNMRV9XSUxMX0xFQVZFLFxuICBMSUZFQ1lDTEVfRElEX0xFQVZFLFxuICBMSUZFQ1lDTEVfV0lMTF9VTkxPQUQsXG5dO1xuXG5leHBvcnQgY29uc3QgYmluZExpZmVjeWNsZUV2ZW50cyA9ICh6b25lOiBOZ1pvbmUsIGluc3RhbmNlOiBhbnksIGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogKCgpID0+IHZvaWQpID0+IHtcbiAgcmV0dXJuIHpvbmUucnVuKCgpID0+IHtcbiAgICBjb25zdCB1bnJlZ2lzdGVycyA9IExJRkVDWUNMRVMuZmlsdGVyKChldmVudE5hbWUpID0+IHR5cGVvZiBpbnN0YW5jZVtldmVudE5hbWVdID09PSAnZnVuY3Rpb24nKS5tYXAoKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlciA9IChldjogYW55KSA9PiBpbnN0YW5jZVtldmVudE5hbWVdKGV2LmRldGFpbCk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTtcbiAgICAgIHJldHVybiAoKSA9PiBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4gdW5yZWdpc3RlcnMuZm9yRWFjaCgoZm4pID0+IGZuKCkpO1xuICB9KTtcbn07XG5cbmNvbnN0IE5hdlBhcmFtc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ05hdlBhcmFtc1Rva2VuJyk7XG5cbmNvbnN0IGdldFByb3ZpZGVycyA9IChwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOYXZQYXJhbXNUb2tlbixcbiAgICAgIHVzZVZhbHVlOiBwYXJhbXMsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOYXZQYXJhbXMsXG4gICAgICB1c2VGYWN0b3J5OiBwcm92aWRlTmF2UGFyYW1zSW5qZWN0YWJsZSxcbiAgICAgIGRlcHM6IFtOYXZQYXJhbXNUb2tlbl0sXG4gICAgfSxcbiAgXTtcbn07XG5cbmNvbnN0IHByb3ZpZGVOYXZQYXJhbXNJbmplY3RhYmxlID0gKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4ge1xuICByZXR1cm4gbmV3IE5hdlBhcmFtcyhwYXJhbXMpO1xufTtcbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kZWxlZ2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvcHJvdmlkZXJzL2FuZ3VsYXItZGVsZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxNQUFNLEVBQ04sVUFBVSxFQUdWLE1BQU0sRUFDTixlQUFlLEdBRWhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sd0JBQXdCLENBQUM7O0FBRWhDLHVCQUF1QjtBQUd2QixNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVVLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FlakQ7SUFiQyxNQUFNLENBQ0osbUJBQXdDLEVBQ3hDLFFBQWtCLEVBQ2xCLG1CQUE0QjtRQUU1QixPQUFPLElBQUksd0JBQXdCLENBQ2pDLG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLElBQUksRUFDVCxtQkFBbUIsQ0FDcEIsQ0FBQztJQUNKLENBQUM7O2dJQWhCVSxlQUFlO29JQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7QUFvQlgsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUNVLG1CQUF3QyxFQUN4QyxRQUFrQixFQUNsQixjQUE4QixFQUM5QixJQUFZLEVBQ1osbUJBQTRCO1FBSjVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FB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QVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNDLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixxQkFBcUI7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBWSxFQUFFLFFBQWEsRUFBRSxPQUFvQixFQUFnQixFQUFFO0lBQ3JHLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEgsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgTmdab25lLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0LFxuICBjcmVhdGVDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGcmFtZXdvcmtEZWxlZ2F0ZSxcbiAgTElGRUNZQ0xFX0RJRF9FTlRFUixcbiAgTElGRUNZQ0xFX0RJRF9MRUFWRSxcbiAgTElGRUNZQ0xFX1dJTExfRU5URVIsXG4gIExJRkVDWUNMRV9XSUxMX0xFQVZFLFxuICBMSUZFQ1lDTEVfV0lMTF9VTkxPQUQsXG59IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuXG4vLyBUT0RPKEZXLTI4MjcpOiB0eXBlc1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW5ndWxhckRlbGVnYXRlIHtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgYXBwbGljYXRpb25SZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuXG4gIGNyZWF0ZShcbiAgICBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBlbGVtZW50UmVmZXJlbmNlS2V5Pzogc3RyaW5nXG4gICk6IEFuZ3VsYXJGcmFtZXdvcmtEZWxlZ2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRnJhbWV3b3JrRGVsZWdhdGUoXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgaW5qZWN0b3IsXG4gICAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLFxuICAgICAgdGhpcy56b25lLFxuICAgICAgZWxlbWVudFJlZmVyZW5jZUtleVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGcmFtZXdvcmtEZWxlZ2F0ZSBpbXBsZW1lbnRzIEZyYW1ld29ya0RlbGVnYXRlIHtcbiAgcHJpdmF0ZSBlbFJlZk1hcCA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBDb21wb25lbnRSZWY8YW55Pj4oKTtcbiAgcHJpdmF0ZSBlbEV2ZW50c01hcCA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCAoKSA9PiB2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2VLZXk/OiBzdHJpbmdcbiAgKSB7fVxuXG4gIGF0dGFjaFZpZXdUb0RvbShjb250YWluZXI6IGFueSwgY29tcG9uZW50OiBhbnksIHBhcmFtcz86IGFueSwgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSB7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJb25pYyBBbmd1bGFyIHBhc3NlcyBhIHJlZmVyZW5jZSB0byBhIG1vZGFsXG4gICAgICAgICAqIG9yIHBvcG92ZXIgdGhhdCBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgYVxuICAgICAgICAgKiB2YXJpYWJsZSBpbiB0aGUgb3ZlcmxheSBjb21wb25lbnQuIElmXG4gICAgICAgICAqIGVsZW1lbnRSZWZlcmVuY2VLZXkgaXMgZGVmaW5lZCwgdGhlbiB3ZSBzaG91bGRcbiAgICAgICAgICogcGFzcyBhIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IHVzaW5nXG4gICAgICAgICAqIGVsZW1lbnRSZWZlcmVuY2VLZXkgYXMgdGhlIGtleS5cbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWZlcmVuY2VLZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbXBvbmVudFByb3BzW3RoaXMuZWxlbWVudFJlZmVyZW5jZUtleV0gPSBjb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbCA9IGF0dGFjaFZpZXcoXG4gICAgICAgICAgdGhpcy56b25lLFxuICAgICAgICAgIHRoaXMuZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICAgICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25SZWYsXG4gICAgICAgICAgdGhpcy5lbFJlZk1hcCxcbiAgICAgICAgICB0aGlzLmVsRXZlbnRzTWFwLFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgY29tcG9uZW50UHJvcHMsXG4gICAgICAgICAgY3NzQ2xhc3NlcyxcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWZlcmVuY2VLZXlcbiAgICAgICAgKTtcbiAgICAgICAgcmVzb2x2ZShlbCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZVZpZXdGcm9tRG9tKF9jb250YWluZXI6IGFueSwgY29tcG9uZW50OiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5lbFJlZk1hcC5nZXQoY29tcG9uZW50KTtcbiAgICAgICAgaWYgKGNvbXBvbmVudFJlZikge1xuICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgdGhpcy5lbFJlZk1hcC5kZWxldGUoY29tcG9uZW50KTtcbiAgICAgICAgICBjb25zdCB1bmJpbmRFdmVudHMgPSB0aGlzLmVsRXZlbnRzTWFwLmdldChjb21wb25lbnQpO1xuICAgICAgICAgIGlmICh1bmJpbmRFdmVudHMpIHtcbiAgICAgICAgICAgIHVuYmluZEV2ZW50cygpO1xuICAgICAgICAgICAgdGhpcy5lbEV2ZW50c01hcC5kZWxldGUoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGF0dGFjaFZpZXcgPSAoXG4gIHpvbmU6IE5nWm9uZSxcbiAgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0b3I6IEluamVjdG9yLFxuICBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gIGVsUmVmTWFwOiBXZWFrTWFwPEhUTUxFbGVtZW50LCBDb21wb25lbnRSZWY8YW55Pj4sXG4gIGVsRXZlbnRzTWFwOiBXZWFrTWFwPEhUTUxFbGVtZW50LCAoKSA9PiB2b2lkPixcbiAgY29udGFpbmVyOiBhbnksXG4gIGNvbXBvbmVudDogYW55LFxuICBwYXJhbXM6IGFueSxcbiAgY3NzQ2xhc3Nlczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gIGVsZW1lbnRSZWZlcmVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogYW55ID0+IHtcbiAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50PGFueT4oY29tcG9uZW50LCB7XG4gICAgZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBlbGVtZW50SW5qZWN0b3I6IGluamVjdG9yLFxuICB9KTtcblxuICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgY29uc3QgaG9zdEVsZW1lbnQgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblxuICBpZiAocGFyYW1zKSB7XG4gICAgLyoqXG4gICAgICogRm9yIG1vZGFscyBhbmQgcG9wb3ZlcnMsIGEgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaXNcbiAgICAgKiBhZGRlZCB0byBgcGFyYW1zYCBkdXJpbmcgdGhlIGNhbGwgdG8gYXR0YWNoVmlld1RvRG9tLiBJZlxuICAgICAqIGEgcmVmZXJlbmNlIHVzaW5nIHRoaXMgbmFtZSBpcyBhbHJlYWR5IHNldCwgdGhpcyBtZWFuc1xuICAgICAqIHRoZSBhcHAgaXMgdHJ5aW5nIHRvIHVzZSB0aGUgbmFtZSBhcyBhIGNvbXBvbmVudCBwcm9wLFxuICAgICAqIHdoaWNoIHdpbGwgY2F1c2UgY29sbGlzaW9ucy5cbiAgICAgKi9cbiAgICBpZiAoZWxlbWVudFJlZmVyZW5jZUtleSAmJiBpbnN0YW5jZVtlbGVtZW50UmVmZXJlbmNlS2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgW0lvbmljIEVycm9yXTogJHtlbGVtZW50UmVmZXJlbmNlS2V5fSBpcyBhIHJlc2VydmVkIHByb3BlcnR5IHdoZW4gdXNpbmcgJHtjb250YWluZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpfS4gUmVuYW1lIG9yIHJlbW92ZSB0aGUgXCIke2VsZW1lbnRSZWZlcmVuY2VLZXl9XCIgcHJvcGVydHkgZnJvbSAke1xuICAgICAgICAgIGNvbXBvbmVudC5uYW1lXG4gICAgICAgIH0uYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbmd1bGFyIDE0LjEgYWRkZWQgc3VwcG9ydCBmb3Igc2V0SW5wdXRcbiAgICAgKiBzbyB3ZSBuZWVkIHRvIGZhbGwgYmFjayB0byBPYmplY3QuYXNzaWduXG4gICAgICogZm9yIEFuZ3VsYXIgMTQuMC5cbiAgICAgKi9cbiAgICBpZiAoY29tcG9uZW50UmVmLnNldElucHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHsgbW9kYWwsIHBvcG92ZXIsIC4uLm90aGVyUGFyYW1zIH0gPSBwYXJhbXM7XG4gICAgICAvKipcbiAgICAgICAqIEFueSBrZXkvdmFsdWUgcGFpcnMgc2V0IGluIGNvbXBvbmVudFByb3BzXG4gICAgICAgKiBtdXN0IGJlIHNldCBhcyBpbnB1dHMgb24gdGhlIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICAgICAqL1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gb3RoZXJQYXJhbXMpIHtcbiAgICAgICAgY29tcG9uZW50UmVmLnNldElucHV0KGtleSwgb3RoZXJQYXJhbXNba2V5XSk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVXNpbmcgc2V0SW5wdXQgd2lsbCBjYXVzZSBhbiBlcnJvciB3aGVuXG4gICAgICAgKiBzZXR0aW5nIG1vZGFsL3BvcG92ZXIgb24gYSBjb21wb25lbnQgdGhhdFxuICAgICAgICogZG9lcyBub3QgZGVmaW5lIHRoZW0gYXMgYW4gaW5wdXQuIEZvciBiYWNrd2FyZHNcbiAgICAgICAqIGNvbXBhdGliaWxpdHkgcHVycG9zZXMgd2UgZmFsbCBiYWNrIHRvIHVzaW5nXG4gICAgICAgKiBPYmplY3QuYXNzaWduIGZvciB0aGVzZSBwcm9wZXJ0aWVzLlxuICAgICAgICovXG4gICAgICBpZiAobW9kYWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKGluc3RhbmNlLCB7IG1vZGFsIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAocG9wb3ZlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oaW5zdGFuY2UsIHsgcG9wb3ZlciB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZSwgcGFyYW1zKTtcbiAgICB9XG4gIH1cbiAgaWYgKGNzc0NsYXNzZXMpIHtcbiAgICBmb3IgKGNvbnN0IGNzc0NsYXNzIG9mIGNzc0NsYXNzZXMpIHtcbiAgICAgIGhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgIH1cbiAgfVxuICBjb25zdCB1bmJpbmRFdmVudHMgPSBiaW5kTGlmZWN5Y2xlRXZlbnRzKHpvbmUsIGluc3RhbmNlLCBob3N0RWxlbWVudCk7XG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0RWxlbWVudCk7XG5cbiAgYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gIGVsUmVmTWFwLnNldChob3N0RWxlbWVudCwgY29tcG9uZW50UmVmKTtcbiAgZWxFdmVudHNNYXAuc2V0KGhvc3RFbGVtZW50LCB1bmJpbmRFdmVudHMpO1xuICByZXR1cm4gaG9zdEVsZW1lbnQ7XG59O1xuXG5jb25zdCBMSUZFQ1lDTEVTID0gW1xuICBMSUZFQ1lDTEVfV0lMTF9FTlRFUixcbiAgTElGRUNZQ0xFX0RJRF9FTlRFUixcbiAgTElGRUNZQ0xFX1dJTExfTEVBVkUsXG4gIExJRkVDWUNMRV9ESURfTEVBVkUsXG4gIExJRkVDWUNMRV9XSUxMX1VOTE9BRCxcbl07XG5cbmV4cG9ydCBjb25zdCBiaW5kTGlmZWN5Y2xlRXZlbnRzID0gKHpvbmU6IE5nWm9uZSwgaW5zdGFuY2U6IGFueSwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiAoKCkgPT4gdm9pZCkgPT4ge1xuICByZXR1cm4gem9uZS5ydW4oKCkgPT4ge1xuICAgIGNvbnN0IHVucmVnaXN0ZXJzID0gTElGRUNZQ0xFUy5maWx0ZXIoKGV2ZW50TmFtZSkgPT4gdHlwZW9mIGluc3RhbmNlW2V2ZW50TmFtZV0gPT09ICdmdW5jdGlvbicpLm1hcCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gKGV2OiBhbnkpID0+IGluc3RhbmNlW2V2ZW50TmFtZV0oZXYuZGV0YWlsKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgICAgcmV0dXJuICgpID0+IGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgIH0pO1xuICAgIHJldHVybiAoKSA9PiB1bnJlZ2lzdGVycy5mb3JFYWNoKChmbikgPT4gZm4oKSk7XG4gIH0pO1xufTtcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ViewChild, ViewContainerRef, Component, Attribute, Optional, SkipSelf, } from '@angular/core';
|
|
2
2
|
import { IonRouterOutlet as IonRouterOutletBase } from '@ionic/angular/common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -11,17 +11,18 @@ export class IonRouterOutlet extends IonRouterOutletBase {
|
|
|
11
11
|
* This results in APIs such as NavController.pop not working
|
|
12
12
|
* in nested outlets because the parent outlet cannot be found.
|
|
13
13
|
*/
|
|
14
|
-
constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {
|
|
15
|
-
super(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet);
|
|
14
|
+
constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet) {
|
|
15
|
+
super(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet);
|
|
16
16
|
this.parentOutlet = parentOutlet;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
/** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i2.ActivatedRoute }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.
|
|
20
|
-
/** @nocollapse */ IonRouterOutlet.ɵ
|
|
19
|
+
/** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i2.ActivatedRoute }, { token: i0.ViewContainerRef }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
/** @nocollapse */ IonRouterOutlet.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRouterOutlet, selector: "ion-router-outlet", viewQueries: [{ propertyName: "outletContent", first: true, predicate: ["outletContent"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-container #outletContent><ng-content></ng-content></ng-container>', isInline: true });
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, decorators: [{
|
|
22
|
-
type:
|
|
22
|
+
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ion-router-outlet',
|
|
25
|
+
template: '<ng-container #outletContent><ng-content></ng-content></ng-container>',
|
|
25
26
|
}]
|
|
26
27
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
27
28
|
type: Attribute,
|
|
@@ -31,9 +32,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
31
32
|
}, {
|
|
32
33
|
type: Attribute,
|
|
33
34
|
args: ['tabs']
|
|
34
|
-
}] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i2.ActivatedRoute }, { type: IonRouterOutlet, decorators: [{
|
|
35
|
+
}] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i2.ActivatedRoute }, { type: i0.ViewContainerRef }, { type: IonRouterOutlet, decorators: [{
|
|
35
36
|
type: SkipSelf
|
|
36
37
|
}, {
|
|
37
38
|
type: Optional
|
|
38
|
-
}] }]; }
|
|
39
|
-
|
|
39
|
+
}] }]; }, propDecorators: { outletContent: [{
|
|
40
|
+
type: ViewChild,
|
|
41
|
+
args: ['outletContent', { read: ViewContainerRef, static: true }]
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uLXJvdXRlci1vdXRsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL2lvbi1yb3V0ZXItb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFNL0Usa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQVV0RDs7Ozs7T0FLRztJQUNILFlBQ3FCLElBQVksRUFDQSxJQUFZLEVBQzNDLGNBQXdCLEVBQ3hCLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxJQUFZLEVBQ1osY0FBOEIsRUFDOUIsYUFBK0IsRUFDRSxZQUE4QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUZ4RSxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7SUFHakUsQ0FBQzs7Z0lBNUJVLGVBQWUsa0JBaUJiLE1BQU0sOEJBQ00sTUFBTTtvSEFsQnBCLGVBQWUsb0pBUVUsZ0JBQWdCLGtFQVgxQyx1RUFBdUU7NEZBR3RFLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLHVFQUF1RTtpQkFDbEY7OzBCQW1CSSxTQUFTOzJCQUFDLE1BQU07OzBCQUNoQixRQUFROzswQkFBSSxTQUFTOzJCQUFDLE1BQU07OzBCQU81QixRQUFROzswQkFBSSxRQUFROzRDQWpCK0MsYUFBYTtzQkFBbEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQ29tcG9uZW50LFxuICBBdHRyaWJ1dGUsXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZixcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IGFzIElvblJvdXRlck91dGxldEJhc2UgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpb24tcm91dGVyLW91dGxldCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRhaW5lciAjb3V0bGV0Q29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy1jb250YWluZXI+Jyxcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBJb25Sb3V0ZXJPdXRsZXQgZXh0ZW5kcyBJb25Sb3V0ZXJPdXRsZXRCYXNlIHtcbiAgLyoqXG4gICAqIGBzdGF0aWM6IHRydWVgIG11c3QgYmUgc2V0IHNvIHRoZSBxdWVyeSByZXN1bHRzIGFyZSByZXNvbHZlZFxuICAgKiBiZWZvcmUgY2hhbmdlIGRldGVjdGlvbiBydW5zLiBPdGhlcndpc2UsIHRoZSB2aWV3IGNvbnRhaW5lclxuICAgKiByZWYgd2lsbCBiZSBpb24tcm91dGVyLW91dGxldCBpbnN0ZWFkIG9mIG5nLWNvbnRhaW5lciwgYW5kXG4gICAqIHRoZSBmaXJzdCB2aWV3IHdpbGwgYmUgYWRkZWQgYXMgYSBzaWJsaW5nIG9mIGlvbi1yb3V0ZXItb3V0bGV0XG4gICAqIGluc3RlYWQgb2YgYSBjaGlsZC5cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ291dGxldENvbnRlbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBvdXRsZXRDb250ZW50OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIC8qKlxuICAgKiBXZSBuZWVkIHRvIHBhc3MgaW4gdGhlIGNvcnJlY3QgaW5zdGFuY2Ugb2YgSW9uUm91dGVyT3V0bGV0XG4gICAqIG90aGVyd2lzZSBwYXJlbnRPdXRsZXQgd2lsbCBiZSBudWxsIGluIGEgbmVzdGVkIG91dGxldCBjb250ZXh0LlxuICAgKiBUaGlzIHJlc3VsdHMgaW4gQVBJcyBzdWNoIGFzIE5hdkNvbnRyb2xsZXIucG9wIG5vdCB3b3JraW5nXG4gICAqIGluIG5lc3RlZCBvdXRsZXRzIGJlY2F1c2UgdGhlIHBhcmVudCBvdXRsZXQgY2Fubm90IGJlIGZvdW5kLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEF0dHJpYnV0ZSgnbmFtZScpIG5hbWU6IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKSBAQXR0cmlidXRlKCd0YWJzJykgdGFiczogc3RyaW5nLFxuICAgIGNvbW1vbkxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgb3V0bGV0Q29udGVudDogVmlld0NvbnRhaW5lclJlZixcbiAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSByZWFkb25seSBwYXJlbnRPdXRsZXQ/OiBJb25Sb3V0ZXJPdXRsZXRcbiAgKSB7XG4gICAgc3VwZXIobmFtZSwgdGFicywgY29tbW9uTG9jYXRpb24sIGVsZW1lbnRSZWYsIHJvdXRlciwgem9uZSwgYWN0aXZhdGVkUm91dGUsIG91dGxldENvbnRlbnQsIHBhcmVudE91dGxldCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,7 +19,7 @@ export class IonTabs extends IonTabsBase {
|
|
|
19
19
|
></ion-router-outlet>
|
|
20
20
|
</div>
|
|
21
21
|
<ng-content></ng-content>
|
|
22
|
-
`, isInline: true, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"], dependencies: [{ kind: "
|
|
22
|
+
`, isInline: true, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"], dependencies: [{ kind: "component", type: i1.IonRouterOutlet, selector: "ion-router-outlet" }] });
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTabs, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'ion-tabs', template: `
|