@aws-amplify/ui-angular 3.2.19 → 4.0.1
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/{esm2015/lib/components/authenticator/authenticator.module.js → esm2020/lib/components/authenticator/authenticator.module.mjs} +5 -5
- package/esm2020/lib/components/authenticator/components/authenticator/authenticator.component.mjs +176 -0
- package/esm2020/lib/components/authenticator/components/base-form-fields/base-form-fields.component.mjs +32 -0
- package/esm2020/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.mjs +45 -0
- package/esm2020/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.mjs +49 -0
- package/esm2020/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.mjs +49 -0
- package/esm2020/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.mjs +44 -0
- package/esm2020/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.mjs +47 -0
- package/esm2020/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.mjs +26 -0
- package/esm2020/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.mjs +12 -0
- package/esm2020/lib/components/authenticator/components/force-new-password/force-new-password.component.mjs +44 -0
- package/esm2020/lib/components/authenticator/components/form-field/form-field.component.mjs +50 -0
- package/esm2020/lib/components/authenticator/components/reset-password/reset-password.component.mjs +44 -0
- package/esm2020/lib/components/authenticator/components/setup-totp/setup-totp.component.mjs +69 -0
- package/esm2020/lib/components/authenticator/components/sign-in/sign-in.component.mjs +41 -0
- package/esm2020/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.mjs +12 -0
- package/esm2020/lib/components/authenticator/components/sign-up/sign-up.component.mjs +44 -0
- package/esm2020/lib/components/authenticator/components/verify-user/verify-user.component.mjs +56 -0
- package/{esm2015/lib/primitives/button/button.component.js → esm2020/lib/primitives/button/button.component.mjs} +5 -8
- package/esm2020/lib/primitives/checkbox/checkbox.component.mjs +37 -0
- package/esm2020/lib/primitives/error/error.component.mjs +21 -0
- package/esm2020/lib/primitives/password-field/password-field.component.mjs +64 -0
- package/esm2020/lib/primitives/phone-number-field/phone-number-field.component.mjs +62 -0
- package/esm2020/lib/primitives/select/select.component.mjs +22 -0
- package/esm2020/lib/primitives/tab-item/tab-item.component.mjs +29 -0
- package/{esm2015/lib/primitives/tabs/tabs.component.js → esm2020/lib/primitives/tabs/tabs.component.mjs} +5 -8
- package/esm2020/lib/primitives/text-field/text-field.component.mjs +50 -0
- package/esm2020/lib/services/authenticator.service.mjs +177 -0
- package/esm2020/lib/services/custom-components.service.mjs +25 -0
- package/esm2020/lib/utilities/amplify-slot/amplify-slot.component.mjs +33 -0
- package/{esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js → esm2020/lib/utilities/amplify-slot/amplify-slot.directive.mjs} +4 -4
- package/{esm2015/version.js → esm2020/version.mjs} +2 -2
- package/fesm2015/aws-amplify-ui-angular.mjs +1432 -0
- package/fesm2015/aws-amplify-ui-angular.mjs.map +1 -0
- package/fesm2020/aws-amplify-ui-angular.mjs +1416 -0
- package/fesm2020/aws-amplify-ui-angular.mjs.map +1 -0
- package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +1 -1
- package/lib/components/authenticator/components/base-form-fields/base-form-fields.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +1 -1
- package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +1 -1
- package/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.d.ts +1 -1
- package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +1 -1
- package/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.d.ts +1 -1
- package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +1 -1
- package/lib/components/authenticator/components/form-field/form-field.component.d.ts +1 -1
- package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +1 -1
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +1 -1
- package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +1 -1
- package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +1 -1
- package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +1 -1
- package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +1 -1
- package/lib/primitives/button/button.component.d.ts +1 -1
- package/lib/primitives/checkbox/checkbox.component.d.ts +1 -1
- package/lib/primitives/error/error.component.d.ts +1 -1
- package/lib/primitives/password-field/password-field.component.d.ts +1 -1
- package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +1 -1
- package/lib/primitives/select/select.component.d.ts +1 -1
- package/lib/primitives/tab-item/tab-item.component.d.ts +1 -1
- package/lib/primitives/tabs/tabs.component.d.ts +1 -1
- package/lib/primitives/text-field/text-field.component.d.ts +1 -1
- package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +1 -1
- package/lib/utilities/amplify-slot/amplify-slot.directive.d.ts +1 -1
- package/package.json +22 -8
- package/version.d.ts +1 -1
- package/aws-amplify-ui-angular.d.ts +0 -5
- package/bundles/aws-amplify-ui-angular.umd.js +0 -2217
- package/bundles/aws-amplify-ui-angular.umd.js.map +0 -1
- package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +0 -181
- package/esm2015/lib/components/authenticator/components/base-form-fields/base-form-fields.component.js +0 -35
- package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +0 -48
- package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +0 -52
- package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +0 -52
- package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +0 -47
- package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +0 -51
- package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +0 -29
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.js +0 -15
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +0 -47
- package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +0 -54
- package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +0 -47
- package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +0 -78
- package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +0 -45
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +0 -15
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +0 -47
- package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +0 -60
- package/esm2015/lib/primitives/checkbox/checkbox.component.js +0 -40
- package/esm2015/lib/primitives/error/error.component.js +0 -24
- package/esm2015/lib/primitives/password-field/password-field.component.js +0 -67
- package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +0 -66
- package/esm2015/lib/primitives/select/select.component.js +0 -25
- package/esm2015/lib/primitives/tab-item/tab-item.component.js +0 -32
- package/esm2015/lib/primitives/text-field/text-field.component.js +0 -53
- package/esm2015/lib/services/authenticator.service.js +0 -185
- package/esm2015/lib/services/custom-components.service.js +0 -25
- package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +0 -36
- package/fesm2015/aws-amplify-ui-angular.js +0 -1517
- package/fesm2015/aws-amplify-ui-angular.js.map +0 -1
- /package/{esm2015/aws-amplify-ui-angular.js → esm2020/aws-amplify-ui-angular.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/lib/common/helpers.js → esm2020/lib/common/helpers.mjs} +0 -0
- /package/{esm2015/lib/common/index.js → esm2020/lib/common/index.mjs} +0 -0
- /package/{esm2015/lib/common/types/auth-types.js → esm2020/lib/common/types/auth-types.mjs} +0 -0
- /package/{esm2015/lib/common/types/component-types.js → esm2020/lib/common/types/component-types.mjs} +0 -0
- /package/{esm2015/lib/common/types/index.js → esm2020/lib/common/types/index.mjs} +0 -0
- /package/{esm2015/lib/components/authenticator/components/index.js → esm2020/lib/components/authenticator/components/index.mjs} +0 -0
- /package/{esm2015/lib/primitives/index.js → esm2020/lib/primitives/index.mjs} +0 -0
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { interpret } from 'xstate';
|
|
5
|
-
import { Auth } from 'aws-amplify';
|
|
6
|
-
import { Logger } from '@aws-amplify/core';
|
|
7
|
-
import { createAuthenticatorMachine, defaultAuthHubHandler, getServiceFacade, listenToAuthHub, } from '@aws-amplify/ui';
|
|
8
|
-
import { translate } from '@aws-amplify/ui';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
const logger = new Logger('state-machine');
|
|
11
|
-
/**
|
|
12
|
-
* AuthenticatorService provides access to the authenticator state and context.
|
|
13
|
-
*/
|
|
14
|
-
export class AuthenticatorService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this._authStatus = 'configuring';
|
|
17
|
-
const machine = createAuthenticatorMachine();
|
|
18
|
-
this._authService = interpret(machine).start();
|
|
19
|
-
this.setupMachineSubscription();
|
|
20
|
-
this.setupHubListener();
|
|
21
|
-
this.getInitialAuthStatus();
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Context facades
|
|
25
|
-
*/
|
|
26
|
-
get error() {
|
|
27
|
-
var _a;
|
|
28
|
-
return translate((_a = this._facade) === null || _a === void 0 ? void 0 : _a.error);
|
|
29
|
-
}
|
|
30
|
-
get hasValidationErrors() {
|
|
31
|
-
var _a;
|
|
32
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.hasValidationErrors;
|
|
33
|
-
}
|
|
34
|
-
get isPending() {
|
|
35
|
-
var _a;
|
|
36
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.isPending;
|
|
37
|
-
}
|
|
38
|
-
get route() {
|
|
39
|
-
var _a;
|
|
40
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
|
|
41
|
-
}
|
|
42
|
-
get authStatus() {
|
|
43
|
-
return this._authStatus;
|
|
44
|
-
}
|
|
45
|
-
get user() {
|
|
46
|
-
var _a;
|
|
47
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.user;
|
|
48
|
-
}
|
|
49
|
-
get validationErrors() {
|
|
50
|
-
var _a;
|
|
51
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.validationErrors;
|
|
52
|
-
}
|
|
53
|
-
get codeDeliveryDetails() {
|
|
54
|
-
var _a;
|
|
55
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.codeDeliveryDetails;
|
|
56
|
-
}
|
|
57
|
-
get totpSecretCode() {
|
|
58
|
-
var _a;
|
|
59
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.totpSecretCode;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Service facades
|
|
63
|
-
*/
|
|
64
|
-
get initializeMachine() {
|
|
65
|
-
return this._facade.initializeMachine;
|
|
66
|
-
}
|
|
67
|
-
get updateForm() {
|
|
68
|
-
return this._facade.updateForm;
|
|
69
|
-
}
|
|
70
|
-
get updateBlur() {
|
|
71
|
-
return this._facade.updateBlur;
|
|
72
|
-
}
|
|
73
|
-
get resendCode() {
|
|
74
|
-
return this._facade.resendCode;
|
|
75
|
-
}
|
|
76
|
-
get signOut() {
|
|
77
|
-
return this._facade.signOut;
|
|
78
|
-
}
|
|
79
|
-
get submitForm() {
|
|
80
|
-
return this._facade.submitForm;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Transition facades
|
|
84
|
-
*/
|
|
85
|
-
get toFederatedSignIn() {
|
|
86
|
-
return this._facade.toFederatedSignIn;
|
|
87
|
-
}
|
|
88
|
-
get toResetPassword() {
|
|
89
|
-
return this._facade.toResetPassword;
|
|
90
|
-
}
|
|
91
|
-
get toSignIn() {
|
|
92
|
-
return this._facade.toSignIn;
|
|
93
|
-
}
|
|
94
|
-
get toSignUp() {
|
|
95
|
-
return this._facade.toSignUp;
|
|
96
|
-
}
|
|
97
|
-
get skipVerification() {
|
|
98
|
-
return this._facade.skipVerification;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Internal utility functions
|
|
102
|
-
*/
|
|
103
|
-
/** @deprecated For internal use only */
|
|
104
|
-
get authState() {
|
|
105
|
-
return this._authState;
|
|
106
|
-
}
|
|
107
|
-
/** @deprecated For internal use only */
|
|
108
|
-
get authService() {
|
|
109
|
-
return this._authService;
|
|
110
|
-
}
|
|
111
|
-
/** @deprecated For internal use only */
|
|
112
|
-
get context() {
|
|
113
|
-
return this._authState.context;
|
|
114
|
-
}
|
|
115
|
-
/** @deprecated For internal use only */
|
|
116
|
-
get slotContext() {
|
|
117
|
-
return Object.assign(Object.assign({}, this._facade), { $implicit: this._facade });
|
|
118
|
-
}
|
|
119
|
-
/** @deprecated For internal use only */
|
|
120
|
-
get hubSubject() {
|
|
121
|
-
return this._hubSubject;
|
|
122
|
-
}
|
|
123
|
-
subscribe(callback) {
|
|
124
|
-
if (!this._authService) {
|
|
125
|
-
logger.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
|
|
126
|
-
}
|
|
127
|
-
const subscription = this._authService.subscribe(() => {
|
|
128
|
-
callback(this._facade);
|
|
129
|
-
});
|
|
130
|
-
return subscription;
|
|
131
|
-
}
|
|
132
|
-
ngOnDestroy() {
|
|
133
|
-
if (this._machineSubscription)
|
|
134
|
-
this._machineSubscription.unsubscribe();
|
|
135
|
-
if (this._unsubscribeHub)
|
|
136
|
-
this._unsubscribeHub();
|
|
137
|
-
}
|
|
138
|
-
/** @deprecated For internal use only */
|
|
139
|
-
send(event) {
|
|
140
|
-
this.authService.send(event);
|
|
141
|
-
}
|
|
142
|
-
getInitialAuthStatus() {
|
|
143
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
try {
|
|
145
|
-
yield Auth.currentAuthenticatedUser();
|
|
146
|
-
this._authStatus = 'authenticated';
|
|
147
|
-
}
|
|
148
|
-
catch (e) {
|
|
149
|
-
this._authStatus = 'unauthenticated';
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
setupHubListener() {
|
|
154
|
-
this._hubSubject = new Subject();
|
|
155
|
-
const onSignIn = () => {
|
|
156
|
-
this._authStatus = 'authenticated';
|
|
157
|
-
};
|
|
158
|
-
const onSignOut = () => {
|
|
159
|
-
this._authStatus = 'unauthenticated';
|
|
160
|
-
};
|
|
161
|
-
this._unsubscribeHub = listenToAuthHub(this._authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
|
|
162
|
-
yield defaultAuthHubHandler(data, service, { onSignIn, onSignOut });
|
|
163
|
-
this._hubSubject.next();
|
|
164
|
-
}));
|
|
165
|
-
}
|
|
166
|
-
setupMachineSubscription() {
|
|
167
|
-
this._machineSubscription = this._authService.subscribe((state) => {
|
|
168
|
-
const newState = state;
|
|
169
|
-
this._authState = newState;
|
|
170
|
-
this._facade = getServiceFacade({
|
|
171
|
-
send: this._authService.send,
|
|
172
|
-
state: newState,
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
AuthenticatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
178
|
-
AuthenticatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, providedIn: 'root' });
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, decorators: [{
|
|
180
|
-
type: Injectable,
|
|
181
|
-
args: [{
|
|
182
|
-
providedIn: 'root', // ensure we have a singleton service
|
|
183
|
-
}]
|
|
184
|
-
}], ctorParameters: function () { return []; } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFRTCwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUk1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFTL0I7UUFQUSxnQkFBVyxHQUFlLGFBQWEsQ0FBQztRQVE5QyxNQUFNLE9BQU8sR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUVILElBQVcsS0FBSzs7UUFDZCxPQUFPLFNBQVMsQ0FBQyxNQUFBLElBQUks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Q0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLENBQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLE1BQU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFBLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUNyRCxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLEtBQXlCLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQztnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTtnQkFDNUIsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOztrSEE5TVUsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRSxxQ0FBcUM7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuXG5pbXBvcnQgeyBBdXRoIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2NvcmUnO1xuaW1wb3J0IHtcbiAgQW1wbGlmeVVzZXIsXG4gIEF1dGhDb250ZXh0LFxuICBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZSxcbiAgQXV0aEV2ZW50LFxuICBBdXRoSW50ZXJwcmV0ZXIsXG4gIEF1dGhNYWNoaW5lU3RhdGUsXG4gIEF1dGhTdGF0dXMsXG4gIGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lLFxuICBkZWZhdWx0QXV0aEh1YkhhbmRsZXIsXG4gIGdldFNlcnZpY2VGYWNhZGUsXG4gIGxpc3RlblRvQXV0aEh1Yixcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmltcG9ydCB7IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjayB9IGZyb20gJy4uL2NvbW1vbi90eXBlcyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3N0YXRlLW1hY2hpbmUnKTtcblxuLyoqXG4gKiBBdXRoZW50aWNhdG9yU2VydmljZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGF1dGhlbnRpY2F0b3Igc3RhdGUgYW5kIGNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAvLyBlbnN1cmUgd2UgaGF2ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYXV0aFN0YXRlOiBBdXRoTWFjaGluZVN0YXRlO1xuICBwcml2YXRlIF9hdXRoU3RhdHVzOiBBdXRoU3RhdHVzID0gJ2NvbmZpZ3VyaW5nJztcbiAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhJbnRlcnByZXRlcjtcbiAgcHJpdmF0ZSBfbWFjaGluZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mYWNhZGU6IFJldHVyblR5cGU8dHlwZW9mIGdldFNlcnZpY2VGYWNhZGU+O1xuICBwcml2YXRlIF9odWJTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+O1xuICBwcml2YXRlIF91bnN1YnNjcmliZUh1YjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBtYWNoaW5lID0gY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUoKTtcbiAgICB0aGlzLl9hdXRoU2VydmljZSA9IGludGVycHJldChtYWNoaW5lKS5zdGFydCgpO1xuXG4gICAgdGhpcy5zZXR1cE1hY2hpbmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnNldHVwSHViTGlzdGVuZXIoKTtcbiAgICB0aGlzLmdldEluaXRpYWxBdXRoU3RhdHVzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ2Vycm9yJ10ge1xuICAgIHJldHVybiB0cmFuc2xhdGUodGhpcy5fZmFjYWRlPy5lcnJvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1ZhbGlkYXRpb25FcnJvcnMoKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ2hhc1ZhbGlkYXRpb25FcnJvcnMnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaGFzVmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQZW5kaW5nKCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlRmFjYWRlWydpc1BlbmRpbmcnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsncm91dGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8ucm91dGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dGhTdGF0dXMoKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ2F1dGhTdGF0dXMnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXIoKTogQW1wbGlmeVVzZXIge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ3ZhbGlkYXRpb25FcnJvcnMnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsnY29kZURlbGl2ZXJ5RGV0YWlscyddIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3RwU2VjcmV0Q29kZSgpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsndG90cFNlY3JldENvZGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udG90cFNlY3JldENvZGU7XG4gIH1cblxuICAvKipcbiAgICogU2VydmljZSBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgaW5pdGlhbGl6ZU1hY2hpbmUoKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ2luaXRpYWxpemVNYWNoaW5lJ10ge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuaW5pdGlhbGl6ZU1hY2hpbmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ3VwZGF0ZUZvcm0nXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS51cGRhdGVGb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCB1cGRhdGVCbHVyKCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlRmFjYWRlWyd1cGRhdGVCbHVyJ10ge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudXBkYXRlQmx1cjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzZW5kQ29kZSgpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsncmVzZW5kQ29kZSddIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKTogQXV0aGVudGljYXRvclNlcnZpY2VGYWNhZGVbJ3NpZ25PdXQnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5zaWduT3V0O1xuICB9XG5cbiAgcHVibGljIGdldCBzdWJtaXRGb3JtKCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlRmFjYWRlWydzdWJtaXRGb3JtJ10ge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc3VibWl0Rm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2l0aW9uIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCB0b0ZlZGVyYXRlZFNpZ25JbigpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsndG9GZWRlcmF0ZWRTaWduSW4nXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b0ZlZGVyYXRlZFNpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9SZXNldFBhc3N3b3JkKCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlRmFjYWRlWyd0b1Jlc2V0UGFzc3dvcmQnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b1Jlc2V0UGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnbkluKCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlRmFjYWRlWyd0b1NpZ25JbiddIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25VcCgpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsndG9TaWduVXAnXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b1NpZ25VcDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2tpcFZlcmlmaWNhdGlvbigpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZVsnc2tpcFZlcmlmaWNhdGlvbiddIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnNraXBWZXJpZmljYXRpb247XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgdXRpbGl0eSBmdW5jdGlvbnNcbiAgICovXG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IGF1dGhTdGF0ZSgpOiBBdXRoTWFjaGluZVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXRlO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IGF1dGhTZXJ2aWNlKCk6IEF1dGhJbnRlcnByZXRlciB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogQXV0aENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGUuY29udGV4dDtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBzbG90Q29udGV4dCgpOiBBdXRoZW50aWNhdG9yU2VydmljZUZhY2FkZSAmIHtcbiAgICAkaW1wbGljaXQ6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlRmFjYWRlO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5fZmFjYWRlLFxuICAgICAgJGltcGxpY2l0OiB0aGlzLl9mYWNhZGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBodWJTdWJqZWN0KCk6IFN1YmplY3Q8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9odWJTdWJqZWN0O1xuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKTogU3Vic2NyaXB0aW9uIHtcbiAgICBpZiAoIXRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICdTdWJzY3JpcHRpb24gYXR0ZW1wdGVkIGJlZm9yZSBtYWNoaW5lIHdhcyBjcmVhdGVkLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBvbiB0aGUgbGlicmFyeSwgcGxlYXNlIGNvbnNpZGVyIGZpbGluZyBhIGJ1Zy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX2F1dGhTZXJ2aWNlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjYWxsYmFjayh0aGlzLl9mYWNhZGUpO1xuICAgIH0pO1xuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbWFjaGluZVN1YnNjcmlwdGlvbikgdGhpcy5fbWFjaGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLl91bnN1YnNjcmliZUh1YikgdGhpcy5fdW5zdWJzY3JpYmVIdWIoKTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHNlbmQoZXZlbnQ6IEV2ZW50PEF1dGhFdmVudD4pOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNlbmQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJbml0aWFsQXV0aFN0YXR1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgQXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKTtcbiAgICAgIHRoaXMuX2F1dGhTdGF0dXMgPSAnYXV0aGVudGljYXRlZCc7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5fYXV0aFN0YXR1cyA9ICd1bmF1dGhlbnRpY2F0ZWQnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBIdWJMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLl9odWJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0IG9uU2lnbkluID0gKCkgPT4ge1xuICAgICAgdGhpcy5fYXV0aFN0YXR1cyA9ICdhdXRoZW50aWNhdGVkJztcbiAgICB9O1xuICAgIGNvbnN0IG9uU2lnbk91dCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2F1dGhTdGF0dXMgPSAndW5hdXRoZW50aWNhdGVkJztcbiAgICB9O1xuXG4gICAgdGhpcy5fdW5zdWJzY3JpYmVIdWIgPSBsaXN0ZW5Ub0F1dGhIdWIoXG4gICAgICB0aGlzLl9hdXRoU2VydmljZSxcbiAgICAgIGFzeW5jIChkYXRhLCBzZXJ2aWNlKSA9PiB7XG4gICAgICAgIGF3YWl0IGRlZmF1bHRBdXRoSHViSGFuZGxlcihkYXRhLCBzZXJ2aWNlLCB7IG9uU2lnbkluLCBvblNpZ25PdXQgfSk7XG4gICAgICAgIHRoaXMuX2h1YlN1YmplY3QubmV4dCgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTWFjaGluZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uID0gdGhpcy5fYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKFxuICAgICAgKHN0YXRlOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gc3RhdGUgYXMgQXV0aE1hY2hpbmVTdGF0ZTtcbiAgICAgICAgdGhpcy5fYXV0aFN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgIHRoaXMuX2ZhY2FkZSA9IGdldFNlcnZpY2VGYWNhZGUoe1xuICAgICAgICAgIHNlbmQ6IHRoaXMuX2F1dGhTZXJ2aWNlLnNlbmQsXG4gICAgICAgICAgc3RhdGU6IG5ld1N0YXRlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Stores and provides custom components that users provide with `amplify-slot`.
|
|
5
|
-
*/
|
|
6
|
-
export class CustomComponentsService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this._customComponents = {};
|
|
9
|
-
}
|
|
10
|
-
get customComponents() {
|
|
11
|
-
return this._customComponents;
|
|
12
|
-
}
|
|
13
|
-
set customComponents(customComponents) {
|
|
14
|
-
this._customComponents = Object.assign(Object.assign({}, this._customComponents), customComponents);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
CustomComponentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
-
CustomComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentsService, providedIn: 'root' });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentsService, decorators: [{
|
|
20
|
-
type: Injectable,
|
|
21
|
-
args: [{
|
|
22
|
-
providedIn: 'root',
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbXBvbmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jdXN0b20tY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUlVLHNCQUFpQixHQUFxQixFQUFFLENBQUM7S0FTbEQ7SUFQQyxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0IsQ0FBQyxnQkFBa0M7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixtQ0FBUSxJQUFJLENBQUMsaUJBQWlCLEdBQUssZ0JBQWdCLENBQUUsQ0FBQztJQUM5RSxDQUFDOztxSEFUVSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21Db21wb25lbnRzIH0gZnJvbSAnLi4vY29tbW9uJztcblxuLyoqXG4gKiBTdG9yZXMgYW5kIHByb3ZpZGVzIGN1c3RvbSBjb21wb25lbnRzIHRoYXQgdXNlcnMgcHJvdmlkZSB3aXRoIGBhbXBsaWZ5LXNsb3RgLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50c1NlcnZpY2Uge1xuICBwcml2YXRlIF9jdXN0b21Db21wb25lbnRzOiBDdXN0b21Db21wb25lbnRzID0ge307XG5cbiAgcHVibGljIGdldCBjdXN0b21Db21wb25lbnRzKCk6IEN1c3RvbUNvbXBvbmVudHMge1xuICAgIHJldHVybiB0aGlzLl9jdXN0b21Db21wb25lbnRzO1xuICB9XG5cbiAgcHVibGljIHNldCBjdXN0b21Db21wb25lbnRzKGN1c3RvbUNvbXBvbmVudHM6IEN1c3RvbUNvbXBvbmVudHMpIHtcbiAgICB0aGlzLl9jdXN0b21Db21wb25lbnRzID0geyAuLi50aGlzLl9jdXN0b21Db21wb25lbnRzLCAuLi5jdXN0b21Db21wb25lbnRzIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Input, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/custom-components.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class AmplifySlotComponent {
|
|
6
|
-
constructor(propService) {
|
|
7
|
-
this.propService = propService;
|
|
8
|
-
this.display = 'contents';
|
|
9
|
-
this.isOverriden = false;
|
|
10
|
-
}
|
|
11
|
-
ngAfterContentInit() {
|
|
12
|
-
const { customComponents } = this.propService;
|
|
13
|
-
const overridingComponent = customComponents[this.name];
|
|
14
|
-
if (overridingComponent) {
|
|
15
|
-
this.overridingComponent = overridingComponent;
|
|
16
|
-
this.isOverriden = true;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
AmplifySlotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AmplifySlotComponent, deps: [{ token: i1.CustomComponentsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
AmplifySlotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AmplifySlotComponent, selector: "amplify-slot", inputs: { name: "name", context: "context" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<!-- \n if slot isn't overwritten, we display the the default coponent, which is the \n children passed onto this component.\n-->\n<ng-content *ngIf=\"!isOverriden\"></ng-content>\n\n<!-- If slot is overwritten, we render that instead. -->\n<ng-container\n *ngIf=\"isOverriden\"\n [ngTemplateOutlet]=\"overridingComponent\"\n [ngTemplateOutletContext]=\"context\"\n></ng-container>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AmplifySlotComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: 'amplify-slot',
|
|
26
|
-
templateUrl: './amplify-slot.component.html',
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i1.CustomComponentsService }]; }, propDecorators: { name: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], context: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], display: [{
|
|
33
|
-
type: HostBinding,
|
|
34
|
-
args: ['style.display']
|
|
35
|
-
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1zbG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvYW1wbGlmeS1zbG90L2FtcGxpZnktc2xvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2FtcGxpZnktc2xvdC9hbXBsaWZ5LXNsb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFBb0IsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBTDFCLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFHNUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFZ0MsQ0FBQztJQUU1RCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN6QjtJQUNILENBQUM7O2tIQW5CVSxvQkFBb0I7c0dBQXBCLG9CQUFvQiw2SkNiakMsc1lBWUE7NEZEQ2Esb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsK0JBQStCO2lCQUM3Qzs4R0FFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUV3QixPQUFPO3NCQUFwQyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tQ29tcG9uZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jdXN0b20tY29tcG9uZW50cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1zbG90JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktc2xvdC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFtcGxpZnlTbG90Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgY29udGV4dDogUmVjb3JkPFByb3BlcnR5S2V5LCB1bmtub3duPjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5ID0gJ2NvbnRlbnRzJztcblxuICBwdWJsaWMgb3ZlcnJpZGluZ0NvbXBvbmVudDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIHB1YmxpYyBpc092ZXJyaWRlbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvcFNlcnZpY2U6IEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGN1c3RvbUNvbXBvbmVudHMgfSA9IHRoaXMucHJvcFNlcnZpY2U7XG4gICAgY29uc3Qgb3ZlcnJpZGluZ0NvbXBvbmVudCA9IGN1c3RvbUNvbXBvbmVudHNbdGhpcy5uYW1lXTtcblxuICAgIGlmIChvdmVycmlkaW5nQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLm92ZXJyaWRpbmdDb21wb25lbnQgPSBvdmVycmlkaW5nQ29tcG9uZW50O1xuICAgICAgdGhpcy5pc092ZXJyaWRlbiA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIFxuICBpZiBzbG90IGlzbid0IG92ZXJ3cml0dGVuLCB3ZSBkaXNwbGF5IHRoZSB0aGUgZGVmYXVsdCBjb3BvbmVudCwgd2hpY2ggaXMgdGhlIFxuICBjaGlsZHJlbiBwYXNzZWQgb250byB0aGlzIGNvbXBvbmVudC5cbi0tPlxuPG5nLWNvbnRlbnQgKm5nSWY9XCIhaXNPdmVycmlkZW5cIj48L25nLWNvbnRlbnQ+XG5cbjwhLS0gSWYgc2xvdCBpcyBvdmVyd3JpdHRlbiwgd2UgcmVuZGVyIHRoYXQgaW5zdGVhZC4gLS0+XG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwiaXNPdmVycmlkZW5cIlxuICBbbmdUZW1wbGF0ZU91dGxldF09XCJvdmVycmlkaW5nQ29tcG9uZW50XCJcbiAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuPjwvbmctY29udGFpbmVyPlxuIl19
|