@aws-amplify/ui-angular 2.4.26 → 3.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/README.md +0 -3
- package/aws-amplify-ui-angular.d.ts +1 -27
- package/bundles/aws-amplify-ui-angular.umd.js +1585 -1498
- package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
- package/esm2015/aws-amplify-ui-angular.js +1 -28
- package/esm2015/lib/components/authenticator/authenticator.module.js +81 -44
- package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +60 -36
- package/esm2015/lib/components/authenticator/components/base-form-fields/base-form-fields.component.js +20 -39
- package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +28 -27
- package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +25 -30
- package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +29 -36
- package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +27 -19
- package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +20 -17
- package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +17 -15
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.js +12 -7
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +27 -19
- package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +20 -15
- package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +27 -19
- package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +27 -21
- package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +27 -23
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +12 -7
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +24 -16
- package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +27 -20
- package/esm2015/lib/primitives/button/button.component.js +44 -22
- package/esm2015/lib/primitives/checkbox/checkbox.component.js +24 -15
- package/esm2015/lib/primitives/error/error.component.js +13 -7
- package/esm2015/lib/primitives/password-field/password-field.component.js +37 -21
- package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +45 -25
- package/esm2015/lib/primitives/select/select.component.js +22 -14
- package/esm2015/lib/primitives/tab-item/tab-item.component.js +25 -15
- package/esm2015/lib/primitives/tabs/tabs.component.js +17 -11
- package/esm2015/lib/primitives/text-field/text-field.component.js +38 -22
- package/esm2015/lib/services/authenticator.service.js +9 -8
- package/esm2015/lib/services/custom-components.service.js +9 -7
- package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +20 -16
- package/esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js +13 -13
- package/fesm2015/aws-amplify-ui-angular.js +1035 -928
- package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
- package/lib/components/authenticator/authenticator.module.d.ts +33 -0
- package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +27 -24
- package/lib/components/authenticator/components/base-form-fields/base-form-fields.component.d.ts +3 -1
- package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +28 -30
- package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +27 -24
- package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +27 -29
- package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +27 -24
- package/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.d.ts +3 -0
- package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +3 -0
- package/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.d.ts +3 -0
- package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +27 -24
- package/lib/components/authenticator/components/form-field/form-field.component.d.ts +3 -0
- package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +27 -24
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +27 -24
- package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +27 -24
- package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +3 -0
- package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +27 -24
- package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +27 -24
- package/lib/primitives/button/button.component.d.ts +3 -0
- package/lib/primitives/checkbox/checkbox.component.d.ts +3 -0
- package/lib/primitives/error/error.component.d.ts +3 -0
- package/lib/primitives/password-field/password-field.component.d.ts +3 -0
- package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +3 -0
- package/lib/primitives/select/select.component.d.ts +3 -0
- package/lib/primitives/tab-item/tab-item.component.d.ts +3 -0
- package/lib/primitives/tabs/tabs.component.d.ts +3 -0
- package/lib/primitives/text-field/text-field.component.d.ts +3 -0
- package/lib/services/authenticator.service.d.ts +39 -36
- package/lib/services/custom-components.service.d.ts +3 -0
- package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +3 -0
- package/lib/utilities/amplify-slot/amplify-slot.directive.d.ts +3 -0
- package/package.json +3 -6
- package/aws-amplify-ui-angular.metadata.json +0 -1
- package/bundles/aws-amplify-ui-angular-legacy.umd.js +0 -2238
- package/bundles/aws-amplify-ui-angular-legacy.umd.js.map +0 -1
- package/bundles/aws-amplify-ui-angular-legacy.umd.min.js +0 -2
- package/bundles/aws-amplify-ui-angular-legacy.umd.min.js.map +0 -1
- package/bundles/aws-amplify-ui-angular.umd.min.js +0 -2
- package/bundles/aws-amplify-ui-angular.umd.min.js.map +0 -1
- package/esm2015/legacy/aws-amplify-ui-angular-legacy.js +0 -6
- package/esm2015/legacy/index.js +0 -3
- package/esm2015/legacy/legacy-ui-angular.module.js +0 -53
- package/esm2015/legacy/proxies.js +0 -1839
- package/fesm2015/aws-amplify-ui-angular-legacy.js +0 -1846
- package/fesm2015/aws-amplify-ui-angular-legacy.js.map +0 -1
- package/legacy/aws-amplify-ui-angular-legacy.d.ts +0 -5
- package/legacy/aws-amplify-ui-angular-legacy.metadata.json +0 -1
- package/legacy/index.d.ts +0 -2
- package/legacy/legacy-ui-angular.module.d.ts +0 -2
- package/legacy/package.json +0 -11
- package/legacy/proxies.d.ts +0 -395
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive,
|
|
2
|
+
import { Directive, Input, Injectable, Component, HostBinding, EventEmitter, ContentChildren, Output, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
|
+
import * as i6 from '@angular/common';
|
|
3
4
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import {
|
|
5
|
+
import { __awaiter } from 'tslib';
|
|
6
|
+
import { createAuthenticatorMachine, getServiceContextFacade, getSendEventAliases, translate, authenticatorTextUtil, FederatedIdentityProviders, countryDialCodes, getErrors, getSortedFormFields, getFormDataFromEvent, getActorContext, getTotpCodeURL, defaultFormFieldOptions, getActorState, listenToAuthHub, defaultAuthHubHandler } from '@aws-amplify/ui';
|
|
5
7
|
export { translations } from '@aws-amplify/ui';
|
|
6
8
|
import { Logger } from '@aws-amplify/core';
|
|
7
9
|
import { interpret } from 'xstate';
|
|
8
|
-
import { Logger as Logger$1, Auth } from 'aws-amplify';
|
|
9
10
|
import { nanoid } from 'nanoid';
|
|
10
|
-
import { __awaiter } from 'tslib';
|
|
11
11
|
import QRCode from 'qrcode';
|
|
12
|
+
import { Logger as Logger$1, Auth } from 'aws-amplify';
|
|
12
13
|
|
|
13
14
|
class AmplifySlotDirective {
|
|
14
15
|
constructor(template) {
|
|
@@ -18,17 +19,16 @@ class AmplifySlotDirective {
|
|
|
18
19
|
this.name = component;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
|
-
AmplifySlotDirective
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
];
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
22
|
+
AmplifySlotDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifySlotDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
AmplifySlotDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: AmplifySlotDirective, selector: "[amplifySlot]", inputs: { amplifySlot: "amplifySlot" }, ngImport: i0 });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifySlotDirective, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{
|
|
27
|
+
selector: '[amplifySlot]',
|
|
28
|
+
}]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { amplifySlot: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}] } });
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Stores and provides custom components that users provide with `amplify-slot`.
|
|
@@ -44,14 +44,16 @@ class CustomComponentsService {
|
|
|
44
44
|
this._customComponents = Object.assign(Object.assign({}, this._customComponents), customComponents);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
CustomComponentsService.ɵ
|
|
48
|
-
CustomComponentsService
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
CustomComponentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
CustomComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomComponentsService, providedIn: 'root' });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomComponentsService, decorators: [{
|
|
50
|
+
type: Injectable,
|
|
51
|
+
args: [{
|
|
52
|
+
providedIn: 'root',
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
53
55
|
|
|
54
|
-
const logger$
|
|
56
|
+
const logger$1 = new Logger('state-machine');
|
|
55
57
|
/**
|
|
56
58
|
* AuthenticatorService provides access to the authenticator state and context.
|
|
57
59
|
*/
|
|
@@ -170,7 +172,7 @@ class AuthenticatorService {
|
|
|
170
172
|
return this._authService.subscribe(callback);
|
|
171
173
|
}
|
|
172
174
|
else {
|
|
173
|
-
logger$
|
|
175
|
+
logger$1.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
178
|
/** @deprecated For internal use only */
|
|
@@ -178,379 +180,228 @@ class AuthenticatorService {
|
|
|
178
180
|
this.authService.send(event);
|
|
179
181
|
}
|
|
180
182
|
}
|
|
181
|
-
AuthenticatorService.ɵ
|
|
182
|
-
AuthenticatorService
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
183
|
+
AuthenticatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthenticatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
184
|
+
AuthenticatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthenticatorService, providedIn: 'root' });
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthenticatorService, decorators: [{
|
|
186
|
+
type: Injectable,
|
|
187
|
+
args: [{
|
|
188
|
+
providedIn: 'root', // ensure we have a singleton service
|
|
189
|
+
}]
|
|
190
|
+
}], ctorParameters: function () { return []; } });
|
|
188
191
|
|
|
189
|
-
class
|
|
190
|
-
constructor(
|
|
191
|
-
this.
|
|
192
|
-
this.
|
|
193
|
-
this.
|
|
194
|
-
this.customComponentQuery = null;
|
|
195
|
-
// translated texts
|
|
196
|
-
this.signInTitle = translate('Sign In');
|
|
197
|
-
this.signUpTitle = translate('Create Account');
|
|
198
|
-
this.hasInitialized = false;
|
|
199
|
-
this.isHandlingHubEvent = false;
|
|
200
|
-
}
|
|
201
|
-
ngOnInit() {
|
|
202
|
-
const { initialState, loginMechanisms, services, signUpAttributes, socialProviders, formFields, } = this;
|
|
203
|
-
const { authService, initializeMachine } = this.authenticator;
|
|
204
|
-
this.unsubscribeHub = listenToAuthHub(authService, (data, service) => {
|
|
205
|
-
defaultAuthHubHandler(data, service);
|
|
206
|
-
/**
|
|
207
|
-
* Hub events aren't properly caught by Angular, because they are
|
|
208
|
-
* synchronous events. Angular tracks async network events and
|
|
209
|
-
* html events, but not synchronous events like hub.
|
|
210
|
-
*
|
|
211
|
-
* On any notable hub events, we run change detection manually.
|
|
212
|
-
*/
|
|
213
|
-
this.changeDetector.detectChanges();
|
|
214
|
-
/**
|
|
215
|
-
* Hub events that we handle can lead to multiple state changes:
|
|
216
|
-
* e.g. `authenticated` -> `signOut` -> initialState.
|
|
217
|
-
*
|
|
218
|
-
* We want to ensure change detection runs all the way, until
|
|
219
|
-
* we reach back to the initial state. Setting the below flag
|
|
220
|
-
* to true to until we reach initial state.
|
|
221
|
-
*/
|
|
222
|
-
this.isHandlingHubEvent = true;
|
|
223
|
-
});
|
|
224
|
-
/**
|
|
225
|
-
* Subscribes to state machine changes and sends INIT event
|
|
226
|
-
* once machine reaches 'setup' state.
|
|
227
|
-
*/
|
|
228
|
-
this.unsubscribeMachine = this.authenticator.subscribe(() => {
|
|
229
|
-
const { route } = this.authenticator;
|
|
230
|
-
if (this.isHandlingHubEvent) {
|
|
231
|
-
this.changeDetector.detectChanges();
|
|
232
|
-
const initialStateWithDefault = initialState !== null && initialState !== void 0 ? initialState : 'signIn';
|
|
233
|
-
// We can stop manual change detection if we're back to the initial state
|
|
234
|
-
if (route === initialStateWithDefault) {
|
|
235
|
-
this.isHandlingHubEvent = false;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
if (!this.hasInitialized && route === 'setup') {
|
|
239
|
-
initializeMachine({
|
|
240
|
-
initialState,
|
|
241
|
-
loginMechanisms,
|
|
242
|
-
services,
|
|
243
|
-
signUpAttributes,
|
|
244
|
-
socialProviders,
|
|
245
|
-
formFields,
|
|
246
|
-
});
|
|
247
|
-
this.hasInitialized = true;
|
|
248
|
-
}
|
|
249
|
-
}).unsubscribe;
|
|
250
|
-
/**
|
|
251
|
-
* handling translations after content init, because authenticator and its
|
|
252
|
-
* translations might be initialized before the main app's `ngOnInit` is run.
|
|
253
|
-
*/
|
|
254
|
-
this.signInTitle = translate('Sign In');
|
|
255
|
-
this.signUpTitle = translate('Create Account');
|
|
192
|
+
class AmplifySlotComponent {
|
|
193
|
+
constructor(propService) {
|
|
194
|
+
this.propService = propService;
|
|
195
|
+
this.display = 'contents';
|
|
196
|
+
this.isOverriden = false;
|
|
256
197
|
}
|
|
257
|
-
/**
|
|
258
|
-
* Lifecycle Methods
|
|
259
|
-
*/
|
|
260
198
|
ngAfterContentInit() {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
this.
|
|
266
|
-
if (this.unsubscribeHub)
|
|
267
|
-
this.unsubscribeHub();
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Class Functions
|
|
271
|
-
*/
|
|
272
|
-
// context passed to "authenticated" slot
|
|
273
|
-
get context() {
|
|
274
|
-
return this.authenticator.slotContext;
|
|
275
|
-
}
|
|
276
|
-
get route() {
|
|
277
|
-
return this.authenticator.route;
|
|
278
|
-
}
|
|
279
|
-
onTabChange() {
|
|
280
|
-
const route = this.authenticator.route;
|
|
281
|
-
if (route === 'signIn') {
|
|
282
|
-
this.authenticator.toSignUp();
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
this.authenticator.toSignIn();
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
hasTabs() {
|
|
289
|
-
const { route } = this.authenticator;
|
|
290
|
-
return route === 'signIn' || route === 'signUp';
|
|
291
|
-
}
|
|
292
|
-
hasRouteComponent() {
|
|
293
|
-
const { route } = this.authenticator;
|
|
294
|
-
switch (route) {
|
|
295
|
-
case 'authenticated':
|
|
296
|
-
case 'idle':
|
|
297
|
-
case 'setup':
|
|
298
|
-
case 'signOut':
|
|
299
|
-
case 'autoSignIn':
|
|
300
|
-
return false;
|
|
301
|
-
default:
|
|
302
|
-
return true;
|
|
199
|
+
const customComponents = this.propService.customComponents;
|
|
200
|
+
const overridingComponent = customComponents[this.name];
|
|
201
|
+
if (overridingComponent) {
|
|
202
|
+
this.overridingComponent = overridingComponent;
|
|
203
|
+
this.isOverriden = true;
|
|
303
204
|
}
|
|
304
205
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
206
|
+
}
|
|
207
|
+
AmplifySlotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifySlotComponent, deps: [{ token: CustomComponentsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
208
|
+
AmplifySlotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifySlotComponent, decorators: [{
|
|
210
|
+
type: Component,
|
|
211
|
+
args: [{
|
|
212
|
+
selector: 'amplify-slot',
|
|
213
|
+
templateUrl: './amplify-slot.component.html',
|
|
214
|
+
}]
|
|
215
|
+
}], ctorParameters: function () { return [{ type: CustomComponentsService }]; }, propDecorators: { name: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], context: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], display: [{
|
|
220
|
+
type: HostBinding,
|
|
221
|
+
args: ['style.display']
|
|
222
|
+
}] } });
|
|
223
|
+
|
|
224
|
+
class TabItemComponent {
|
|
225
|
+
constructor() {
|
|
226
|
+
this.active = false;
|
|
227
|
+
this.display = 'block'; // emulate div behavior
|
|
313
228
|
}
|
|
314
229
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
]
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
]
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
customComponentQuery: [{ type: ContentChildren, args: [AmplifySlotDirective,] }]
|
|
338
|
-
};
|
|
230
|
+
TabItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
231
|
+
TabItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TabItemComponent, selector: "amplify-tab-item", inputs: { title: "title", active: "active", id: "id", labelledById: "labelledById", tabIndex: "tabIndex" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<div\n data-orientation=\"horizontal\"\n role=\"tabpanel\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"labelledById\"\n [attr.data-state]=\"active ? 'active' : 'inactive'\"\n [attr.tabindex]=\"tabIndex\"\n>\n <ng-content *ngIf=\"active\"></ng-content>\n</div>\n", directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TabItemComponent, decorators: [{
|
|
233
|
+
type: Component,
|
|
234
|
+
args: [{
|
|
235
|
+
selector: 'amplify-tab-item',
|
|
236
|
+
templateUrl: './tab-item.component.html',
|
|
237
|
+
}]
|
|
238
|
+
}], propDecorators: { title: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], active: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], id: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], labelledById: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], tabIndex: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], display: [{
|
|
249
|
+
type: HostBinding,
|
|
250
|
+
args: ['style.display']
|
|
251
|
+
}] } });
|
|
339
252
|
|
|
340
|
-
class
|
|
341
|
-
constructor(
|
|
342
|
-
this.
|
|
343
|
-
this.dataAttr = '';
|
|
344
|
-
this.headerText = translate('Reset your password');
|
|
345
|
-
// translated strings
|
|
346
|
-
this.backToSignInText = translate('Back to Sign In');
|
|
347
|
-
this.resendCodeText = translate('Resend Code');
|
|
348
|
-
/**
|
|
349
|
-
* Support backwards compatibility for erroneous 'Send Code' text
|
|
350
|
-
* See https://github.com/aws-amplify/amplify-ui/issues/1784
|
|
351
|
-
* TODO: Remove support for 'Send Code' translation in next Major release
|
|
352
|
-
*/
|
|
353
|
-
this.submitText = !hasTranslation('Send Code')
|
|
354
|
-
? translate('Submit')
|
|
355
|
-
: translate('Send Code');
|
|
253
|
+
class TabsComponent {
|
|
254
|
+
constructor() {
|
|
255
|
+
this.tabChange = new EventEmitter();
|
|
356
256
|
}
|
|
357
|
-
|
|
358
|
-
|
|
257
|
+
ngAfterContentInit() {
|
|
258
|
+
// assign ids
|
|
259
|
+
this.tabs.forEach((tab, index) => {
|
|
260
|
+
tab.id = `radix-id-${nanoid(12)}-1-content-${index}`;
|
|
261
|
+
tab.labelledById = `radix-id-${nanoid(12)}-1-trigger-${index}`;
|
|
262
|
+
});
|
|
263
|
+
// find active tab
|
|
264
|
+
// TODO(enhancement): more declarative way for choosing the initial tab to render
|
|
265
|
+
const activeTabs = this.tabs.filter((tab) => tab.active);
|
|
266
|
+
// set active tab
|
|
267
|
+
if (activeTabs.length !== 1) {
|
|
268
|
+
this.selectTab(this.tabs.first);
|
|
269
|
+
}
|
|
359
270
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
271
|
+
selectTab(tab) {
|
|
272
|
+
this.tabs.forEach((tab) => {
|
|
273
|
+
tab.active = false;
|
|
274
|
+
});
|
|
275
|
+
tab.active = true;
|
|
364
276
|
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
277
|
+
handleTabClick(tab) {
|
|
278
|
+
if (tab.active)
|
|
279
|
+
return; // don't do anything if clicks the current active tab
|
|
280
|
+
this.tabChange.emit();
|
|
281
|
+
this.selectTab(tab);
|
|
368
282
|
}
|
|
369
283
|
}
|
|
370
|
-
|
|
371
|
-
{ type:
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
]
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
284
|
+
TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
285
|
+
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TabsComponent, selector: "amplify-tabs", outputs: { tabChange: "tabChange" }, queries: [{ propertyName: "tabs", predicate: TabItemComponent }], ngImport: i0, template: "<div\n tabindex=\"0\"\n aria-orientation=\"horizontal\"\n data-orientation=\"horizontal\"\n role=\"tablist\"\n style=\"outline: none\"\n>\n <div\n class=\"amplify-flex amplify-tabs\"\n data-indicator-position=\"top\"\n style=\"gap: 0px; justify-content: center\"\n >\n <div\n *ngFor=\"let tab of tabs\"\n class=\"amplify-tabs-item\"\n data-spacing=\"equal\"\n data-orientation=\"horizontal\"\n role=\"tab\"\n [id]=\"tab.labelledById\"\n [tabindex]=\"tab.active ? '0' : '1'\"\n [attr.aria-selected]=\"tab.active\"\n [attr.aria-controls]=\"tab.id\"\n [attr.data-state]=\"tab.active ? 'active' : 'inactive'\"\n (click)=\"handleTabClick(tab)\"\n >\n {{ tab.title }}\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n", directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TabsComponent, decorators: [{
|
|
287
|
+
type: Component,
|
|
288
|
+
args: [{
|
|
289
|
+
selector: 'amplify-tabs',
|
|
290
|
+
templateUrl: './tabs.component.html',
|
|
291
|
+
}]
|
|
292
|
+
}], propDecorators: { tabs: [{
|
|
293
|
+
type: ContentChildren,
|
|
294
|
+
args: [TabItemComponent]
|
|
295
|
+
}], tabChange: [{
|
|
296
|
+
type: Output
|
|
297
|
+
}] } });
|
|
383
298
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
this.
|
|
388
|
-
this.
|
|
389
|
-
this.
|
|
390
|
-
this.
|
|
391
|
-
|
|
392
|
-
ngOnInit() {
|
|
393
|
-
this.setHeaderText();
|
|
299
|
+
class ButtonComponent {
|
|
300
|
+
constructor() {
|
|
301
|
+
this.type = 'button';
|
|
302
|
+
this.fullWidth = false;
|
|
303
|
+
this.isDisabled = false;
|
|
304
|
+
this.size = 'medium';
|
|
305
|
+
this.variation = 'default';
|
|
306
|
+
this.fontWeight = 'normal';
|
|
394
307
|
}
|
|
395
|
-
get
|
|
396
|
-
return this.
|
|
308
|
+
get getDisabled() {
|
|
309
|
+
return this.isDisabled ? '' : null;
|
|
397
310
|
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
switch (challengeName) {
|
|
403
|
-
case 'SOFTWARE_TOKEN_MFA':
|
|
404
|
-
this.headerText = translate('Confirm TOTP Code');
|
|
405
|
-
break;
|
|
406
|
-
case 'SMS_MFA':
|
|
407
|
-
this.headerText = translate('Confirm SMS Code');
|
|
408
|
-
break;
|
|
409
|
-
default:
|
|
410
|
-
logger$1.error('Unexpected challengeName', challengeName);
|
|
311
|
+
get classNames() {
|
|
312
|
+
let className = 'amplify-button';
|
|
313
|
+
if (this.variation) {
|
|
314
|
+
className += ` amplify-button--${this.variation}`;
|
|
411
315
|
}
|
|
316
|
+
if (this.size) {
|
|
317
|
+
className += ` amplify-button--${this.size}`;
|
|
318
|
+
}
|
|
319
|
+
if (this.fullWidth) {
|
|
320
|
+
className += ` amplify-button--fullwidth`;
|
|
321
|
+
}
|
|
322
|
+
if (this.isDisabled) {
|
|
323
|
+
className += ` amplify-button--disabled amplify-button--loading`;
|
|
324
|
+
}
|
|
325
|
+
return className;
|
|
412
326
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
this.
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
event.preventDefault();
|
|
420
|
-
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
327
|
+
ngOnInit() {
|
|
328
|
+
this.typeAttr = this.type;
|
|
329
|
+
this.fullWidthAttr = this.fullWidth;
|
|
330
|
+
this.sizeAttr = this.size;
|
|
331
|
+
this.variationAttr = this.variation;
|
|
332
|
+
this.fontWeightAttr = this.fontWeight;
|
|
421
333
|
}
|
|
422
334
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
]
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
]
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
335
|
+
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
336
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ButtonComponent, selector: "button[amplify-button]", inputs: { type: "type", fullWidth: "fullWidth", isDisabled: "isDisabled", size: "size", variation: "variation", fontWeight: "fontWeight" }, host: { properties: { "type": "this.typeAttr", "attr.data-fullwidth": "this.fullWidthAttr", "attr.data-size": "this.sizeAttr", "attr.data-variation": "this.variationAttr", "style.font-weight": "this.fontWeightAttr", "attr.disabled": "this.getDisabled", "class": "this.classNames" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
338
|
+
type: Component,
|
|
339
|
+
args: [{
|
|
340
|
+
selector: 'button[amplify-button]',
|
|
341
|
+
templateUrl: './button.component.html',
|
|
342
|
+
}]
|
|
343
|
+
}], propDecorators: { type: [{
|
|
344
|
+
type: Input
|
|
345
|
+
}], fullWidth: [{
|
|
346
|
+
type: Input
|
|
347
|
+
}], isDisabled: [{
|
|
348
|
+
type: Input
|
|
349
|
+
}], size: [{
|
|
350
|
+
type: Input
|
|
351
|
+
}], variation: [{
|
|
352
|
+
type: Input
|
|
353
|
+
}], fontWeight: [{
|
|
354
|
+
type: Input
|
|
355
|
+
}], typeAttr: [{
|
|
356
|
+
type: HostBinding,
|
|
357
|
+
args: ['type']
|
|
358
|
+
}], fullWidthAttr: [{
|
|
359
|
+
type: HostBinding,
|
|
360
|
+
args: ['attr.data-fullwidth']
|
|
361
|
+
}], sizeAttr: [{
|
|
362
|
+
type: HostBinding,
|
|
363
|
+
args: ['attr.data-size']
|
|
364
|
+
}], variationAttr: [{
|
|
365
|
+
type: HostBinding,
|
|
366
|
+
args: ['attr.data-variation']
|
|
367
|
+
}], fontWeightAttr: [{
|
|
368
|
+
type: HostBinding,
|
|
369
|
+
args: ['style.font-weight']
|
|
370
|
+
}], getDisabled: [{
|
|
371
|
+
type: HostBinding,
|
|
372
|
+
args: ['attr.disabled']
|
|
373
|
+
}], classNames: [{
|
|
374
|
+
type: HostBinding,
|
|
375
|
+
args: ['class']
|
|
376
|
+
}] } });
|
|
435
377
|
|
|
436
|
-
class
|
|
378
|
+
class FederatedSignInButtonComponent {
|
|
437
379
|
constructor(authenticator) {
|
|
438
380
|
this.authenticator = authenticator;
|
|
439
|
-
this.
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
this.textedMessage = translate('Your code is on the way. To log in, enter the code we texted to');
|
|
446
|
-
this.defaultMessage = translate('Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.');
|
|
447
|
-
this.minutesMessage = translate('It may take a minute to arrive.');
|
|
448
|
-
}
|
|
449
|
-
get context() {
|
|
450
|
-
return this.authenticator.slotContext;
|
|
451
|
-
}
|
|
452
|
-
get confirmSignUpHeading() {
|
|
453
|
-
const { codeDeliveryDetails: { DeliveryMedium } = {} } = this.authenticator;
|
|
454
|
-
return DeliveryMedium === 'EMAIL'
|
|
455
|
-
? translate('We Emailed You')
|
|
456
|
-
: DeliveryMedium === 'SMS'
|
|
457
|
-
? translate('We Texted You')
|
|
458
|
-
: translate('We Sent A Code');
|
|
459
|
-
}
|
|
460
|
-
get subtitleText() {
|
|
461
|
-
const { codeDeliveryDetails: { DeliveryMedium, Destination } = {} } = this.authenticator;
|
|
462
|
-
return DeliveryMedium === 'EMAIL'
|
|
463
|
-
? `${this.emailMessage} ${Destination}. ${this.minutesMessage}`
|
|
464
|
-
: DeliveryMedium === 'SMS'
|
|
465
|
-
? `${this.textedMessage} ${Destination}. ${this.minutesMessage}`
|
|
466
|
-
: translate(`${this.defaultMessage}`);
|
|
467
|
-
}
|
|
468
|
-
onInput(event) {
|
|
469
|
-
event.preventDefault();
|
|
470
|
-
const { name, value } = event.target;
|
|
471
|
-
this.authenticator.updateForm({ name, value });
|
|
472
|
-
}
|
|
473
|
-
onSubmit(event) {
|
|
474
|
-
event.preventDefault();
|
|
475
|
-
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
381
|
+
this.onClick = () => {
|
|
382
|
+
this.authenticator.send({
|
|
383
|
+
type: 'FEDERATED_SIGN_IN',
|
|
384
|
+
data: { provider: this.provider },
|
|
385
|
+
});
|
|
386
|
+
};
|
|
476
387
|
}
|
|
477
388
|
}
|
|
478
|
-
|
|
479
|
-
{ type:
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
];
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
};
|
|
389
|
+
FederatedSignInButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FederatedSignInButtonComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
390
|
+
FederatedSignInButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FederatedSignInButtonComponent, selector: "amplify-federated-sign-in-button", inputs: { provider: "provider", text: "text" }, ngImport: i0, template: "<button\n amplify-button\n class=\"amplify-field-group__control federated-sign-in-button\"\n fullWidth=\"true\"\n fontWeight=\"normal\"\n (click)=\"onClick()\"\n>\n <div class=\"amplify-flex federated-sign-in-button-row\">\n <ng-content></ng-content>\n </div>\n</button>\n", components: [{ type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }] });
|
|
391
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FederatedSignInButtonComponent, decorators: [{
|
|
392
|
+
type: Component,
|
|
393
|
+
args: [{
|
|
394
|
+
selector: 'amplify-federated-sign-in-button',
|
|
395
|
+
templateUrl: './federated-sign-in-button.component.html',
|
|
396
|
+
}]
|
|
397
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { provider: [{
|
|
398
|
+
type: Input
|
|
399
|
+
}], text: [{
|
|
400
|
+
type: Input
|
|
401
|
+
}] } });
|
|
491
402
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
this.authenticator = authenticator;
|
|
495
|
-
this.dataAttr = '';
|
|
496
|
-
this.headerText = translate('Account recovery requires verified contact information');
|
|
497
|
-
// translated texts
|
|
498
|
-
this.skipText = translate('Skip');
|
|
499
|
-
this.submitText = translate('Submit');
|
|
500
|
-
}
|
|
501
|
-
get context() {
|
|
502
|
-
return this.authenticator.slotContext;
|
|
503
|
-
}
|
|
504
|
-
onInput(event) {
|
|
505
|
-
event.preventDefault();
|
|
506
|
-
const { name, value } = event.target;
|
|
507
|
-
this.authenticator.updateForm({ name, value });
|
|
508
|
-
}
|
|
509
|
-
onSubmit(event) {
|
|
510
|
-
event.preventDefault();
|
|
511
|
-
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
ConfirmVerifyUserComponent.decorators = [
|
|
515
|
-
{ type: Component, args: [{
|
|
516
|
-
selector: 'amplify-confirm-verify-user',
|
|
517
|
-
template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields\n route=\"confirmVerifyUser\"\n ></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
|
|
518
|
-
},] }
|
|
519
|
-
];
|
|
520
|
-
ConfirmVerifyUserComponent.ctorParameters = () => [
|
|
521
|
-
{ type: AuthenticatorService }
|
|
522
|
-
];
|
|
523
|
-
ConfirmVerifyUserComponent.propDecorators = {
|
|
524
|
-
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmverifyuser',] }],
|
|
525
|
-
headerText: [{ type: Input }]
|
|
526
|
-
};
|
|
527
|
-
|
|
528
|
-
class FederatedSignInButtonComponent {
|
|
529
|
-
constructor(authenticator) {
|
|
530
|
-
this.authenticator = authenticator;
|
|
531
|
-
this.onClick = () => {
|
|
532
|
-
this.authenticator.send({
|
|
533
|
-
type: 'FEDERATED_SIGN_IN',
|
|
534
|
-
data: { provider: this.provider },
|
|
535
|
-
});
|
|
536
|
-
};
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
FederatedSignInButtonComponent.decorators = [
|
|
540
|
-
{ type: Component, args: [{
|
|
541
|
-
selector: 'amplify-federated-sign-in-button',
|
|
542
|
-
template: "<button\n amplify-button\n class=\"amplify-field-group__control federated-sign-in-button\"\n fullWidth=\"true\"\n fontWeight=\"normal\"\n (click)=\"onClick()\"\n>\n <div class=\"amplify-flex federated-sign-in-button-row\">\n <ng-content></ng-content>\n </div>\n</button>\n"
|
|
543
|
-
},] }
|
|
544
|
-
];
|
|
545
|
-
FederatedSignInButtonComponent.ctorParameters = () => [
|
|
546
|
-
{ type: AuthenticatorService }
|
|
547
|
-
];
|
|
548
|
-
FederatedSignInButtonComponent.propDecorators = {
|
|
549
|
-
provider: [{ type: Input }],
|
|
550
|
-
text: [{ type: Input }]
|
|
551
|
-
};
|
|
552
|
-
|
|
553
|
-
class FederatedSignInComponent {
|
|
403
|
+
const { getSignInWithFederationText } = authenticatorTextUtil;
|
|
404
|
+
class FederatedSignInComponent {
|
|
554
405
|
constructor(authenticator) {
|
|
555
406
|
this.authenticator = authenticator;
|
|
556
407
|
this.FederatedProviders = FederatedIdentityProviders;
|
|
@@ -576,67 +427,211 @@ class FederatedSignInComponent {
|
|
|
576
427
|
}
|
|
577
428
|
setFederatedTexts() {
|
|
578
429
|
const { route } = this.authenticator;
|
|
579
|
-
|
|
580
|
-
this.
|
|
581
|
-
this.
|
|
582
|
-
this.
|
|
583
|
-
this.signInGoogleText = translate(`Sign ${federatedText} with Google`);
|
|
430
|
+
this.signInAmazonText = getSignInWithFederationText(route, 'amazon');
|
|
431
|
+
this.signInAppleText = getSignInWithFederationText(route, 'apple');
|
|
432
|
+
this.signInFacebookText = getSignInWithFederationText(route, 'facebook');
|
|
433
|
+
this.signInGoogleText = getSignInWithFederationText(route, 'google');
|
|
584
434
|
}
|
|
585
435
|
}
|
|
586
|
-
FederatedSignInComponent
|
|
587
|
-
{ type:
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
];
|
|
436
|
+
FederatedSignInComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FederatedSignInComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
437
|
+
FederatedSignInComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FederatedSignInComponent, selector: "amplify-federated-sign-in", ngImport: i0, template: "<div\n class=\"amplify-flex federated-sign-in-container\"\n *ngIf=\"shouldShowFederatedSignIn\"\n data-orientation=\"horizontal\"\n data-size=\"small\"\n>\n <amplify-federated-sign-in-button\n *ngIf=\"includeAmazon\"\n [text]=\"signInAmazonText\"\n [provider]=\"FederatedProviders.Amazon\"\n >\n <svg\n aria-label=\"Amazon icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 248 268\"\n >\n <path\n d=\"M139.056521,147.024612 C133.548808,156.744524 124.782731,162.726926 115.087401,162.726926 C101.790721,162.726926 93.9937779,152.612964 93.9937779,137.68681 C93.9937779,108.224571 120.447551,102.879017 145.533369,102.879017 L145.533369,110.365976 C145.533369,123.831358 145.876354,135.063787 139.056521,147.024612 M207.206992,162.579655 C209.400505,165.692256 209.887066,169.437725 207.063416,171.770186 C199.996315,177.653081 187.429476,188.590967 180.513926,194.716661 L180.46208,194.621133 C178.176838,196.663031 174.862638,196.810303 172.27828,195.445057 C160.780281,185.9162 158.686473,181.494078 152.405048,172.403055 C133.405233,191.751331 119.909143,197.534719 95.309886,197.534719 C66.1281801,197.534719 43.4791563,179.599451 43.4791563,143.669212 C43.4791563,115.616003 58.6782107,96.5105248 80.4019706,87.1727225 C99.2063636,78.9096034 125.464714,77.4528107 145.533369,75.1641337 L145.533369,70.694248 C145.533369,62.4749122 146.167493,52.7510201 141.297893,45.6541312 C137.110277,39.2856386 129.018206,36.6586354 121.859376,36.6586354 C108.658413,36.6586354 96.9171331,43.4171982 94.0416364,57.4199213 C93.4593582,60.532522 91.1701278,63.5933787 88.003492,63.7406501 L54.4387473,60.1424518 C51.6150972,59.5095829 48.4484614,57.2248862 49.2740201,52.8982915 C56.9712583,12.2553679 93.7983558,0 126.732964,0 C143.587124,0 165.606011,4.47386604 178.902691,17.2148315 C195.760839,32.917146 194.149604,53.8694866 194.149604,76.6726704 L194.149604,130.542157 C194.149604,146.734049 200.87372,153.830938 207.206992,162.579655 Z M233.826346,208.038962 C230.467669,203.683255 211.550709,205.9821 203.056405,206.998432 C200.470662,207.321077 200.076227,205.042397 202.406981,203.404973 C217.475208,192.664928 242.201125,195.766353 245.081698,199.363845 C247.966255,202.981502 244.336653,228.071183 230.172839,240.049379 C228.001452,241.888455 225.929671,240.904388 226.89783,238.468418 C230.077218,230.430525 237.204944,212.418868 233.826346,208.038962 Z M126.768855,264 C74.0234043,264 42.0764048,241.955028 17.7852554,217.541992 C12.9733903,212.705982 6.71799208,206.295994 3.31151296,200.690918 C1.90227474,198.372135 5.59096074,195.021875 8.0442063,196.84375 C38.2390146,219.267578 82.1011654,239.538304 125.529506,239.538304 C154.819967,239.538304 191.046475,227.469543 220.66851,214.867659 C225.146771,212.966167 225.146771,219.180222 224.511585,221.060516 C224.183264,222.03242 209.514625,236.221149 189.247207,247.047411 C170.304273,257.166172 146.397132,264 126.768855,264 Z\"\n fill=\"#FF9900\"\n ></path>\n </svg>\n\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInAmazonText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeApple\"\n [provider]=\"FederatedProviders.Apple\"\n >\n <svg\n aria-label=\"Apple icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n fill=\"#000\"\n preserveAspectRatio=\"xMidYMid\"\n stroke=\"#000\"\n strokeWidth=\"0\"\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInAppleText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeFacebook\"\n [text]=\"signInFacebookText\"\n [provider]=\"FederatedProviders.Facebook\"\n >\n <svg\n aria-label=\"Facebook icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 279 538\"\n >\n <path\n d=\"M82.3409742,538 L82.3409742,292.936652 L0,292.936652 L0,196.990154 L82.2410458,196.990154 L82.2410458,126.4295 C82.2410458,44.575144 132.205229,0 205.252865,0 C240.227794,0 270.306232,2.59855099 279,3.79788222 L279,89.2502322 L228.536175,89.2502322 C188.964542,89.2502322 181.270057,108.139699 181.270057,135.824262 L181.270057,196.89021 L276.202006,196.89021 L263.810888,292.836708 L181.16913,292.836708 L181.16913,538 L82.3409742,538 Z\"\n fill=\"#1877F2\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInFacebookText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeGoogle\"\n [provider]=\"FederatedProviders.Google\"\n >\n <svg\n aria-label=\"Google icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 256 262\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid\"\n >\n <path\n d=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n fill=\"#4285F4\"\n ></path>\n <path\n d=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n fill=\"#34A853\"\n ></path>\n <path\n d=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n fill=\"#FBBC05\"\n ></path>\n <path\n d=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n fill=\"#EB4335\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInGoogleText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <hr\n class=\"amplify-divider amplify-divider--label amplify-divider--small\"\n aria-orientation=\"horizontal\"\n data-size=\"small\"\n data-label=\"or\"\n />\n</div>\n", components: [{ type: FederatedSignInButtonComponent, selector: "amplify-federated-sign-in-button", inputs: ["provider", "text"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FederatedSignInComponent, decorators: [{
|
|
439
|
+
type: Component,
|
|
440
|
+
args: [{
|
|
441
|
+
selector: 'amplify-federated-sign-in',
|
|
442
|
+
templateUrl: './federated-sign-in.component.html',
|
|
443
|
+
}]
|
|
444
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; } });
|
|
595
445
|
|
|
596
|
-
class
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
446
|
+
class SelectComponent {
|
|
447
|
+
}
|
|
448
|
+
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
449
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SelectComponent, selector: "amplify-form-select", inputs: { items: "items", name: "name", label: "label", id: "id", defaultValue: "defaultValue" }, ngImport: i0, template: "<label class=\"amplify-label amplify-visually-hidden\" [for]=\"id\">{{\n label\n}}</label>\n<div class=\"amplify-select__wrapper\">\n <select\n class=\"amplify-select amplify-field-group__control\"\n autocomplete=\"tel-country-code\"\n [id]=\"id\"\n [name]=\"name\"\n >\n <option\n *ngFor=\"let item of items\"\n [value]=\"item\"\n [selected]=\"item === defaultValue\"\n >\n {{ item }}\n </option>\n </select>\n <div\n class=\"amplify-flex amplify-select__icon-wrapper\"\n style=\"align-items: center; justify-content: center\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon amplify-icon--large\"\n viewBox=\"0 0 24 24\"\n data-size=\"large\"\n fill=\"currentColor\"\n >\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>\n </svg>\n </div>\n</div>\n", directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SelectComponent, decorators: [{
|
|
451
|
+
type: Component,
|
|
452
|
+
args: [{
|
|
453
|
+
selector: 'amplify-form-select',
|
|
454
|
+
templateUrl: './select.component.html',
|
|
455
|
+
}]
|
|
456
|
+
}], propDecorators: { items: [{
|
|
457
|
+
type: Input
|
|
458
|
+
}], name: [{
|
|
459
|
+
type: Input
|
|
460
|
+
}], label: [{
|
|
461
|
+
type: Input
|
|
462
|
+
}], id: [{
|
|
463
|
+
type: Input
|
|
464
|
+
}], defaultValue: [{
|
|
465
|
+
type: Input
|
|
466
|
+
}] } });
|
|
467
|
+
|
|
468
|
+
class PhoneNumberFieldComponent {
|
|
469
|
+
constructor() {
|
|
470
|
+
this.autocomplete = 'new-password';
|
|
471
|
+
this.disabled = false;
|
|
472
|
+
this.selectFieldId = `amplify-field-${nanoid(12)}`;
|
|
473
|
+
this.textFieldId = `amplify-field-${nanoid(12)}`;
|
|
474
|
+
this.initialValue = '';
|
|
475
|
+
this.label = '';
|
|
476
|
+
this.placeholder = '';
|
|
477
|
+
this.required = true;
|
|
478
|
+
this.labelHidden = false;
|
|
479
|
+
this.display = 'contents';
|
|
604
480
|
}
|
|
605
|
-
|
|
606
|
-
|
|
481
|
+
ngOnInit() {
|
|
482
|
+
var _a;
|
|
483
|
+
this.countryDialCodesValues = (_a = this.dialCodeList) !== null && _a !== void 0 ? _a : countryDialCodes;
|
|
607
484
|
}
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
485
|
+
}
|
|
486
|
+
PhoneNumberFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PhoneNumberFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
487
|
+
PhoneNumberFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PhoneNumberFieldComponent, selector: "amplify-phone-number-field", inputs: { autocomplete: "autocomplete", disabled: "disabled", defaultCountryCode: "defaultCountryCode", selectFieldId: "selectFieldId", textFieldId: "textFieldId", initialValue: "initialValue", label: "label", name: "name", placeholder: "placeholder", required: "required", type: "type", labelHidden: "labelHidden", dialCodeList: "dialCodeList", hasError: "hasError", describedBy: "describedBy" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"textFieldId\"\n>\n {{ label }}\n</label>\n<div\n class=\"amplify-flex amplify-phonenumberfield\"\n amplify-field-group\n style=\"gap: 0px\"\n>\n <div class=\"amplify-field-group__outer-start\">\n <div\n class=\"\n amplify-flex\n amplify-field\n amplify-selectfield\n amplify-countrycodeselect\n amplify-dialcodeselect\n \"\n style=\"flex-direction: column\"\n >\n <amplify-form-select\n name=\"country_code\"\n label=\"Country Code\"\n [id]=\"selectFieldId\"\n [items]=\"countryDialCodesValues\"\n [defaultValue]=\"defaultCountryCode\"\n ></amplify-form-select>\n </div>\n </div>\n\n <input\n class=\"amplify-input\"\n [id]=\"textFieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [autocomplete]=\"autocomplete\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n [attr.aria-describedby]=\"describedBy\"\n />\n</div>\n", components: [{ type: SelectComponent, selector: "amplify-form-select", inputs: ["items", "name", "label", "id", "defaultValue"] }] });
|
|
488
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PhoneNumberFieldComponent, decorators: [{
|
|
489
|
+
type: Component,
|
|
490
|
+
args: [{
|
|
491
|
+
selector: 'amplify-phone-number-field',
|
|
492
|
+
templateUrl: './phone-number-field.component.html',
|
|
493
|
+
}]
|
|
494
|
+
}], propDecorators: { autocomplete: [{
|
|
495
|
+
type: Input
|
|
496
|
+
}], disabled: [{
|
|
497
|
+
type: Input
|
|
498
|
+
}], defaultCountryCode: [{
|
|
499
|
+
type: Input
|
|
500
|
+
}], selectFieldId: [{
|
|
501
|
+
type: Input
|
|
502
|
+
}], textFieldId: [{
|
|
503
|
+
type: Input
|
|
504
|
+
}], initialValue: [{
|
|
505
|
+
type: Input
|
|
506
|
+
}], label: [{
|
|
507
|
+
type: Input
|
|
508
|
+
}], name: [{
|
|
509
|
+
type: Input
|
|
510
|
+
}], placeholder: [{
|
|
511
|
+
type: Input
|
|
512
|
+
}], required: [{
|
|
513
|
+
type: Input
|
|
514
|
+
}], type: [{
|
|
515
|
+
type: Input
|
|
516
|
+
}], labelHidden: [{
|
|
517
|
+
type: Input
|
|
518
|
+
}], dialCodeList: [{
|
|
519
|
+
type: Input
|
|
520
|
+
}], hasError: [{
|
|
521
|
+
type: Input
|
|
522
|
+
}], describedBy: [{
|
|
523
|
+
type: Input
|
|
524
|
+
}], display: [{
|
|
525
|
+
type: HostBinding,
|
|
526
|
+
args: ['style.display']
|
|
527
|
+
}] } });
|
|
528
|
+
|
|
529
|
+
class PasswordFieldComponent {
|
|
530
|
+
constructor() {
|
|
531
|
+
this.autocomplete = 'new-password';
|
|
532
|
+
this.disabled = false;
|
|
533
|
+
this.fieldId = `amplify-field-${nanoid(12)}`;
|
|
534
|
+
this.initialValue = '';
|
|
535
|
+
this.label = '';
|
|
536
|
+
this.placeholder = '';
|
|
537
|
+
this.required = true;
|
|
538
|
+
this.labelHidden = false;
|
|
539
|
+
this.setBlur = new EventEmitter();
|
|
540
|
+
this.type = 'password';
|
|
541
|
+
this.showPassword = false;
|
|
542
|
+
this.showPasswordButtonlabel = translate('Show password');
|
|
612
543
|
}
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
this.
|
|
544
|
+
togglePasswordText() {
|
|
545
|
+
this.showPassword = !this.showPassword;
|
|
546
|
+
this.showPasswordButtonlabel = this.showPassword
|
|
547
|
+
? translate('Show password')
|
|
548
|
+
: translate('Hide password');
|
|
549
|
+
this.type = this.showPassword ? 'text' : 'password';
|
|
616
550
|
}
|
|
617
551
|
}
|
|
618
|
-
|
|
619
|
-
{ type:
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
]
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
}
|
|
552
|
+
PasswordFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PasswordFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
553
|
+
PasswordFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PasswordFieldComponent, selector: "amplify-password-field", inputs: { autocomplete: "autocomplete", disabled: "disabled", fieldId: "fieldId", initialValue: "initialValue", label: "label", name: "name", placeholder: "placeholder", required: "required", labelHidden: "labelHidden", hasError: "hasError", describedBy: "describedBy" }, outputs: { setBlur: "setBlur" }, ngImport: i0, template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"fieldId\"\n>\n {{ label }}\n</label>\n<div class=\"amplify-flex amplify-field-group\">\n <input\n class=\"amplify-input amplify-field-group__control\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [autocomplete]=\"autocomplete\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n [attr.aria-describedby]=\"describedBy\"\n (blur)=\"setBlur.emit($event)\"\n />\n <div class=\"amplify-field-group__outer-end\">\n <button\n amplify-button\n [attr.aria-label]=\"showPasswordButtonlabel\"\n class=\"amplify-field-group__control amplify-field__show-password\"\n (click)=\"togglePasswordText()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n ></path>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z\"\n fill=\"none\"\n ></path>\n <path\n d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n ></path>\n </svg>\n </button>\n </div>\n</div>\n", components: [{ type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
554
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PasswordFieldComponent, decorators: [{
|
|
555
|
+
type: Component,
|
|
556
|
+
args: [{
|
|
557
|
+
selector: 'amplify-password-field',
|
|
558
|
+
templateUrl: './password-field.component.html',
|
|
559
|
+
}]
|
|
560
|
+
}], propDecorators: { autocomplete: [{
|
|
561
|
+
type: Input
|
|
562
|
+
}], disabled: [{
|
|
563
|
+
type: Input
|
|
564
|
+
}], fieldId: [{
|
|
565
|
+
type: Input
|
|
566
|
+
}], initialValue: [{
|
|
567
|
+
type: Input
|
|
568
|
+
}], label: [{
|
|
569
|
+
type: Input
|
|
570
|
+
}], name: [{
|
|
571
|
+
type: Input
|
|
572
|
+
}], placeholder: [{
|
|
573
|
+
type: Input
|
|
574
|
+
}], required: [{
|
|
575
|
+
type: Input
|
|
576
|
+
}], labelHidden: [{
|
|
577
|
+
type: Input
|
|
578
|
+
}], hasError: [{
|
|
579
|
+
type: Input
|
|
580
|
+
}], describedBy: [{
|
|
581
|
+
type: Input
|
|
582
|
+
}], setBlur: [{
|
|
583
|
+
type: Output
|
|
584
|
+
}] } });
|
|
631
585
|
|
|
632
|
-
class
|
|
586
|
+
class TextFieldComponent {
|
|
587
|
+
constructor() {
|
|
588
|
+
this.autocomplete = 'new-password';
|
|
589
|
+
this.disabled = false;
|
|
590
|
+
this.fieldId = `amplify-field-${nanoid(12)}`;
|
|
591
|
+
this.initialValue = '';
|
|
592
|
+
this.label = '';
|
|
593
|
+
this.placeholder = '';
|
|
594
|
+
this.required = true;
|
|
595
|
+
this.labelHidden = false;
|
|
596
|
+
this.display = 'contents';
|
|
597
|
+
}
|
|
633
598
|
}
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
599
|
+
TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
600
|
+
TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TextFieldComponent, selector: "amplify-text-field", inputs: { autocomplete: "autocomplete", disabled: "disabled", fieldId: "fieldId", initialValue: "initialValue", label: "label", name: "name", placeholder: "placeholder", required: "required", type: "type", labelHidden: "labelHidden", hasError: "hasError", describedBy: "describedBy" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"fieldId\"\n>\n {{ label }}\n</label>\n<input\n class=\"amplify-input\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [autocomplete]=\"autocomplete\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n [attr.aria-describedby]=\"describedBy\"\n/>\n" });
|
|
601
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
602
|
+
type: Component,
|
|
603
|
+
args: [{
|
|
604
|
+
selector: 'amplify-text-field',
|
|
605
|
+
templateUrl: './text-field.component.html',
|
|
606
|
+
}]
|
|
607
|
+
}], propDecorators: { autocomplete: [{
|
|
608
|
+
type: Input
|
|
609
|
+
}], disabled: [{
|
|
610
|
+
type: Input
|
|
611
|
+
}], fieldId: [{
|
|
612
|
+
type: Input
|
|
613
|
+
}], initialValue: [{
|
|
614
|
+
type: Input
|
|
615
|
+
}], label: [{
|
|
616
|
+
type: Input
|
|
617
|
+
}], name: [{
|
|
618
|
+
type: Input
|
|
619
|
+
}], placeholder: [{
|
|
620
|
+
type: Input
|
|
621
|
+
}], required: [{
|
|
622
|
+
type: Input
|
|
623
|
+
}], type: [{
|
|
624
|
+
type: Input
|
|
625
|
+
}], labelHidden: [{
|
|
626
|
+
type: Input
|
|
627
|
+
}], hasError: [{
|
|
628
|
+
type: Input
|
|
629
|
+
}], describedBy: [{
|
|
630
|
+
type: Input
|
|
631
|
+
}], display: [{
|
|
632
|
+
type: HostBinding,
|
|
633
|
+
args: ['style.display']
|
|
634
|
+
}] } });
|
|
640
635
|
|
|
641
636
|
class FormFieldComponent {
|
|
642
637
|
constructor(authenticator) {
|
|
@@ -669,32 +664,213 @@ class FormFieldComponent {
|
|
|
669
664
|
return translate(phrase);
|
|
670
665
|
}
|
|
671
666
|
}
|
|
672
|
-
FormFieldComponent
|
|
673
|
-
{ type:
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
];
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
};
|
|
667
|
+
FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FormFieldComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
668
|
+
FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormFieldComponent, selector: "amplify-form-field", inputs: { name: "name", formField: "formField" }, ngImport: i0, template: "<div class=\"amplify-flex amplify-field amplify-authenticator__column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [defaultCountryCode]=\"formField.dialCode\"\n [dialCodeList]=\"formField.dialCodeList\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n type=\"tel\"\n ></amplify-phone-number-field>\n\n <amplify-password-field\n *ngIf=\"isPasswordField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n (setBlur)=\"onBlur($event)\"\n ></amplify-password-field>\n\n <amplify-text-field\n *ngIf=\"!isPasswordField() && !isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [type]=\"formField.type\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n ></amplify-text-field>\n\n <div data-amplify-sign-up-errors *ngIf=\"hasError()\" [id]=\"errorId\">\n <div\n class=\"amplify-text amplify-text--error\"\n data-variation=\"error\"\n *ngFor=\"let error of errors\"\n >\n {{ translate(error) }}\n </div>\n </div>\n</div>\n", components: [{ type: PhoneNumberFieldComponent, selector: "amplify-phone-number-field", inputs: ["autocomplete", "disabled", "defaultCountryCode", "selectFieldId", "textFieldId", "initialValue", "label", "name", "placeholder", "required", "type", "labelHidden", "dialCodeList", "hasError", "describedBy"] }, { type: PasswordFieldComponent, selector: "amplify-password-field", inputs: ["autocomplete", "disabled", "fieldId", "initialValue", "label", "name", "placeholder", "required", "labelHidden", "hasError", "describedBy"], outputs: ["setBlur"] }, { type: TextFieldComponent, selector: "amplify-text-field", inputs: ["autocomplete", "disabled", "fieldId", "initialValue", "label", "name", "placeholder", "required", "type", "labelHidden", "hasError", "describedBy"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
669
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
670
|
+
type: Component,
|
|
671
|
+
args: [{
|
|
672
|
+
selector: 'amplify-form-field',
|
|
673
|
+
templateUrl: './form-field.component.html',
|
|
674
|
+
}]
|
|
675
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { name: [{
|
|
676
|
+
type: Input
|
|
677
|
+
}], formField: [{
|
|
678
|
+
type: Input
|
|
679
|
+
}] } });
|
|
685
680
|
|
|
686
|
-
|
|
681
|
+
/**
|
|
682
|
+
* Sorts the given formFields, then renders them in order.
|
|
683
|
+
*/
|
|
684
|
+
class BaseFormFieldsComponent {
|
|
685
|
+
constructor(authenticator) {
|
|
686
|
+
this.authenticator = authenticator;
|
|
687
|
+
this.display = 'contents';
|
|
688
|
+
this.formFields = [];
|
|
689
|
+
}
|
|
690
|
+
ngOnInit() {
|
|
691
|
+
const state = this.authenticator.authState;
|
|
692
|
+
this.formFields = getSortedFormFields(this.route, state);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
BaseFormFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseFormFieldsComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
696
|
+
BaseFormFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: { route: "route" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<ng-container *ngFor=\"let formField of formFields\">\n <amplify-form-field\n [name]=\"formField[0]\"\n [formField]=\"formField[1]\"\n ></amplify-form-field>\n</ng-container>\n", components: [{ type: FormFieldComponent, selector: "amplify-form-field", inputs: ["name", "formField"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseFormFieldsComponent, decorators: [{
|
|
698
|
+
type: Component,
|
|
699
|
+
args: [{
|
|
700
|
+
selector: 'amplify-base-form-fields',
|
|
701
|
+
templateUrl: './base-form-fields.component.html',
|
|
702
|
+
}]
|
|
703
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { route: [{
|
|
704
|
+
type: Input
|
|
705
|
+
}], display: [{
|
|
706
|
+
type: HostBinding,
|
|
707
|
+
args: ['style.display']
|
|
708
|
+
}] } });
|
|
709
|
+
|
|
710
|
+
class ErrorComponent {
|
|
711
|
+
constructor() {
|
|
712
|
+
this.isVisible = true;
|
|
713
|
+
this.dismissAriaLabel = translate('Dismiss alert');
|
|
714
|
+
}
|
|
715
|
+
close() {
|
|
716
|
+
this.isVisible = false;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
ErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
720
|
+
ErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ErrorComponent, selector: "amplify-error", ngImport: i0, template: "<div\n class=\"amplify-flex amplify-alert amplify-alert--error\"\n data-variation=\"error\"\n style=\"align-items: center; justify-content: space-between\"\n *ngIf=\"isVisible\"\n role=\"alert\"\n>\n <div class=\"amplify-flex\" style=\"align-items: center\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n [attr.aria-hidden]=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"\n ></path>\n </svg>\n <div><ng-content></ng-content></div>\n </div>\n <button\n amplify-button\n class=\"amplify-field-group__control amplify-alert__dismiss\"\n [attr.aria-label]=\"dismissAriaLabel\"\n variation=\"link\"\n [fullWidth]=\"false\"\n (click)=\"close()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n [attr.aria-hidden]=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n ></path>\n </svg>\n </button>\n</div>\n", components: [{ type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
721
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
722
|
+
type: Component,
|
|
723
|
+
args: [{
|
|
724
|
+
selector: 'amplify-error',
|
|
725
|
+
templateUrl: './error.component.html',
|
|
726
|
+
}]
|
|
727
|
+
}] });
|
|
728
|
+
|
|
729
|
+
const { getForgotPasswordText, getSignInText } = authenticatorTextUtil;
|
|
730
|
+
class SignInComponent {
|
|
731
|
+
constructor(authenticator) {
|
|
732
|
+
this.authenticator = authenticator;
|
|
733
|
+
this.dataAttr = '';
|
|
734
|
+
this.forgotPasswordText = getForgotPasswordText();
|
|
735
|
+
this.signInButtonText = getSignInText();
|
|
736
|
+
}
|
|
737
|
+
get context() {
|
|
738
|
+
return this.authenticator.slotContext;
|
|
739
|
+
}
|
|
740
|
+
onInput(event) {
|
|
741
|
+
event.preventDefault();
|
|
742
|
+
const { name, value } = event.target;
|
|
743
|
+
this.authenticator.updateForm({ name, value });
|
|
744
|
+
}
|
|
745
|
+
onSubmit(event) {
|
|
746
|
+
event.preventDefault();
|
|
747
|
+
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
SignInComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SignInComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
751
|
+
SignInComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SignInComponent, selector: "amplify-sign-in", host: { properties: { "attr.data-amplify-authenticator-signin": "this.dataAttr" } }, ngImport: i0, template: "<amplify-slot name=\"sign-in-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <amplify-federated-sign-in></amplify-federated-sign-in>\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <legend class=\"amplify-visually-hidden\">Sign in</legend>\n <amplify-base-form-fields route=\"signIn\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ signInButtonText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n</form>\n\n<amplify-slot name=\"sign-in-footer\" [context]=\"context\">\n <div data-amplify-footer>\n <button\n amplify-button\n fontWeight=\"normal\"\n size=\"small\"\n variation=\"link\"\n fullWidth=\"true\"\n (click)=\"authenticator.toResetPassword()\"\n >\n {{ forgotPasswordText }}\n </button>\n </div>\n</amplify-slot>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: FederatedSignInComponent, selector: "amplify-federated-sign-in" }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SignInComponent, decorators: [{
|
|
753
|
+
type: Component,
|
|
754
|
+
args: [{
|
|
755
|
+
selector: 'amplify-sign-in',
|
|
756
|
+
templateUrl: './sign-in.component.html',
|
|
757
|
+
encapsulation: ViewEncapsulation.None,
|
|
758
|
+
}]
|
|
759
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
760
|
+
type: HostBinding,
|
|
761
|
+
args: ['attr.data-amplify-authenticator-signin']
|
|
762
|
+
}] } });
|
|
763
|
+
|
|
764
|
+
class SignUpFormFieldsComponent {
|
|
765
|
+
}
|
|
766
|
+
SignUpFormFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SignUpFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
767
|
+
SignUpFormFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SignUpFormFieldsComponent, selector: "amplify-sign-up-form-fields", ngImport: i0, template: "<div class=\"amplify-flex amplify-authenticator__column\" data-amplify-fieldset>\n <amplify-base-form-fields route=\"signUp\"></amplify-base-form-fields>\n</div>\n", components: [{ type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }] });
|
|
768
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SignUpFormFieldsComponent, decorators: [{
|
|
769
|
+
type: Component,
|
|
770
|
+
args: [{
|
|
771
|
+
selector: 'amplify-sign-up-form-fields',
|
|
772
|
+
templateUrl: './sign-up-form-fields.component.html',
|
|
773
|
+
}]
|
|
774
|
+
}] });
|
|
775
|
+
|
|
776
|
+
const { getCreateAccountText } = authenticatorTextUtil;
|
|
777
|
+
class SignUpComponent {
|
|
778
|
+
constructor(authenticator) {
|
|
779
|
+
this.authenticator = authenticator;
|
|
780
|
+
this.dataAttr = '';
|
|
781
|
+
// translated texts
|
|
782
|
+
this.createAccountText = getCreateAccountText();
|
|
783
|
+
}
|
|
784
|
+
get context() {
|
|
785
|
+
return this.authenticator.slotContext;
|
|
786
|
+
}
|
|
787
|
+
onInput(event) {
|
|
788
|
+
let { checked, name, type, value } = event.target;
|
|
789
|
+
if (type === 'checkbox' && !checked)
|
|
790
|
+
value = undefined;
|
|
791
|
+
this.authenticator.updateForm({ name, value });
|
|
792
|
+
}
|
|
793
|
+
onSubmit(event) {
|
|
794
|
+
event.preventDefault();
|
|
795
|
+
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
SignUpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SignUpComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
799
|
+
SignUpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SignUpComponent, selector: "amplify-sign-up", host: { properties: { "attr.data-amplify-authenticator-signup": "this.dataAttr" } }, ngImport: i0, template: "<amplify-slot name=\"sign-up-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <amplify-federated-sign-in></amplify-federated-sign-in>\n <div class=\"amplify-flex amplify-authenticator__column\">\n <div class=\"amplify-flex amplify-authenticator__column\">\n <amplify-slot name=\"sign-up-form-fields\" [context]=\"context\">\n <amplify-sign-up-form-fields></amplify-sign-up-form-fields>\n </amplify-slot>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </div>\n\n <amplify-slot name=\"sign-up-button\" [context]=\"context\">\n <button\n [isDisabled]=\"\n authenticator.isPending || authenticator.hasValidationErrors\n \"\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n >\n {{ createAccountText }}\n </button>\n </amplify-slot>\n </div>\n</form>\n\n<amplify-slot name=\"sign-up-footer\" [context]=\"context\"> </amplify-slot>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: FederatedSignInComponent, selector: "amplify-federated-sign-in" }, { type: SignUpFormFieldsComponent, selector: "amplify-sign-up-form-fields" }, { type: ErrorComponent, selector: "amplify-error" }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SignUpComponent, decorators: [{
|
|
801
|
+
type: Component,
|
|
802
|
+
args: [{
|
|
803
|
+
selector: 'amplify-sign-up',
|
|
804
|
+
templateUrl: './sign-up.component.html',
|
|
805
|
+
}]
|
|
806
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
807
|
+
type: HostBinding,
|
|
808
|
+
args: ['attr.data-amplify-authenticator-signup']
|
|
809
|
+
}] } });
|
|
810
|
+
|
|
811
|
+
const { getResendCodeText: getResendCodeText$1, getConfirmText: getConfirmText$2, getDeliveryMethodText, getDeliveryMessageText, } = authenticatorTextUtil;
|
|
812
|
+
class ConfirmSignUpComponent {
|
|
687
813
|
constructor(authenticator) {
|
|
688
814
|
this.authenticator = authenticator;
|
|
689
815
|
this.dataAttr = '';
|
|
690
|
-
this.headerText = translate('Reset your password');
|
|
691
816
|
// translated texts
|
|
692
|
-
this.
|
|
693
|
-
this.
|
|
817
|
+
this.resendCodeText = getResendCodeText$1();
|
|
818
|
+
this.confirmText = getConfirmText$2();
|
|
819
|
+
}
|
|
820
|
+
get context() {
|
|
821
|
+
return this.authenticator.slotContext;
|
|
822
|
+
}
|
|
823
|
+
get confirmSignUpHeading() {
|
|
824
|
+
const { codeDeliveryDetails } = this.authenticator;
|
|
825
|
+
return getDeliveryMethodText(codeDeliveryDetails);
|
|
826
|
+
}
|
|
827
|
+
get subtitleText() {
|
|
828
|
+
const { codeDeliveryDetails } = this.authenticator;
|
|
829
|
+
return getDeliveryMessageText(codeDeliveryDetails);
|
|
830
|
+
}
|
|
831
|
+
onInput(event) {
|
|
832
|
+
event.preventDefault();
|
|
833
|
+
const { name, value } = event.target;
|
|
834
|
+
this.authenticator.updateForm({ name, value });
|
|
835
|
+
}
|
|
836
|
+
onSubmit(event) {
|
|
837
|
+
event.preventDefault();
|
|
838
|
+
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
ConfirmSignUpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmSignUpComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
842
|
+
ConfirmSignUpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ConfirmSignUpComponent, selector: "amplify-confirm-sign-up", host: { properties: { "attr.data-amplify-authenticator-confirmsignup": "this.dataAttr" } }, ngImport: i0, template: "<ng-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"context.isPending\"\n >\n <amplify-slot name=\"confirm-sign-up-header\" [context]=\"context\">\n <h3\n class=\"amplify-heading amplify-authenticator__heading\"\n style=\"font-size: 1.5rem\"\n >\n {{ confirmSignUpHeading }}\n </h3>\n </amplify-slot>\n <span class=\"amplify-authenticator__subtitle\">\n {{ subtitleText }}\n </span>\n <amplify-base-form-fields\n route=\"confirmSignUp\"\n ></amplify-base-form-fields>\n\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ confirmText }}\n </button>\n <button\n amplify-button\n fontWeight=\"normal\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n </fieldset>\n\n <amplify-error *ngIf=\"context.error\">\n {{ authenticator.error }}\n </amplify-error>\n <amplify-slot\n name=\"confirm-sign-up-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</ng-container>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmSignUpComponent, decorators: [{
|
|
844
|
+
type: Component,
|
|
845
|
+
args: [{
|
|
846
|
+
selector: 'amplify-confirm-sign-up',
|
|
847
|
+
templateUrl: './confirm-sign-up.component.html',
|
|
848
|
+
}]
|
|
849
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
850
|
+
type: HostBinding,
|
|
851
|
+
args: ['attr.data-amplify-authenticator-confirmsignup']
|
|
852
|
+
}] } });
|
|
853
|
+
|
|
854
|
+
const { getConfirmText: getConfirmText$1, getBackToSignInText: getBackToSignInText$4, getChallengeText } = authenticatorTextUtil;
|
|
855
|
+
class ConfirmSignInComponent {
|
|
856
|
+
constructor(authenticator) {
|
|
857
|
+
this.authenticator = authenticator;
|
|
858
|
+
this.dataAttr = '';
|
|
859
|
+
this.confirmText = getConfirmText$1();
|
|
860
|
+
this.backToSignInText = getBackToSignInText$4();
|
|
861
|
+
}
|
|
862
|
+
ngOnInit() {
|
|
863
|
+
this.setHeaderText();
|
|
694
864
|
}
|
|
695
865
|
get context() {
|
|
696
866
|
return this.authenticator.slotContext;
|
|
697
867
|
}
|
|
868
|
+
setHeaderText() {
|
|
869
|
+
const state = this.authenticator.authState;
|
|
870
|
+
const actorContext = getActorContext(state);
|
|
871
|
+
const { challengeName } = actorContext;
|
|
872
|
+
this.headerText = getChallengeText(challengeName);
|
|
873
|
+
}
|
|
698
874
|
onInput(event) {
|
|
699
875
|
event.preventDefault();
|
|
700
876
|
const { name, value } = event.target;
|
|
@@ -705,32 +881,32 @@ class ResetPasswordComponent {
|
|
|
705
881
|
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
706
882
|
}
|
|
707
883
|
}
|
|
708
|
-
|
|
709
|
-
{ type:
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
];
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
};
|
|
884
|
+
ConfirmSignInComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmSignInComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
885
|
+
ConfirmSignInComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ConfirmSignInComponent, selector: "amplify-confirm-sign-in", host: { properties: { "attr.data-amplify-authenticator-confirmsignin": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-sign-in-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields route=\"confirmSignIn\"></amplify-base-form-fields>\n\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot\n name=\"confirm-sign-in-footer\"\n [context]=\"context\"\n ></amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
886
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmSignInComponent, decorators: [{
|
|
887
|
+
type: Component,
|
|
888
|
+
args: [{
|
|
889
|
+
selector: 'amplify-confirm-sign-in',
|
|
890
|
+
templateUrl: './confirm-sign-in.component.html',
|
|
891
|
+
}]
|
|
892
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
893
|
+
type: HostBinding,
|
|
894
|
+
args: ['attr.data-amplify-authenticator-confirmsignin']
|
|
895
|
+
}] } });
|
|
721
896
|
|
|
722
897
|
const logger = new Logger$1('SetupTotp');
|
|
898
|
+
const { getSetupTOTPText, getCopyText, getBackToSignInText: getBackToSignInText$3, getConfirmText, getCopiedText, } = authenticatorTextUtil;
|
|
723
899
|
class SetupTotpComponent {
|
|
724
900
|
constructor(authenticator) {
|
|
725
901
|
this.authenticator = authenticator;
|
|
726
902
|
this.dataAttr = '';
|
|
727
|
-
this.headerText =
|
|
903
|
+
this.headerText = getSetupTOTPText();
|
|
728
904
|
this.qrCodeSource = '';
|
|
729
905
|
this.secretKey = '';
|
|
730
|
-
this.copyTextLabel =
|
|
906
|
+
this.copyTextLabel = getCopyText();
|
|
731
907
|
// translated texts
|
|
732
|
-
this.backToSignInText =
|
|
733
|
-
this.confirmText =
|
|
908
|
+
this.backToSignInText = getBackToSignInText$3();
|
|
909
|
+
this.confirmText = getConfirmText();
|
|
734
910
|
}
|
|
735
911
|
ngOnInit() {
|
|
736
912
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -770,32 +946,43 @@ class SetupTotpComponent {
|
|
|
770
946
|
}
|
|
771
947
|
copyText() {
|
|
772
948
|
navigator.clipboard.writeText(this.secretKey);
|
|
773
|
-
this.copyTextLabel =
|
|
949
|
+
this.copyTextLabel = getCopiedText();
|
|
774
950
|
}
|
|
775
951
|
}
|
|
776
|
-
SetupTotpComponent
|
|
777
|
-
{ type:
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
];
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
};
|
|
952
|
+
SetupTotpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SetupTotpComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
953
|
+
SetupTotpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SetupTotpComponent, selector: "amplify-setup-totp", host: { properties: { "attr.data-amplify-authenticator-setup-totp": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-base-form-fields route=\"setupTOTP\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
954
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SetupTotpComponent, decorators: [{
|
|
955
|
+
type: Component,
|
|
956
|
+
args: [{
|
|
957
|
+
selector: 'amplify-setup-totp',
|
|
958
|
+
templateUrl: './setup-totp.component.html',
|
|
959
|
+
}]
|
|
960
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
961
|
+
type: HostBinding,
|
|
962
|
+
args: ['attr.data-amplify-authenticator-setup-totp']
|
|
963
|
+
}] } });
|
|
788
964
|
|
|
789
|
-
class
|
|
965
|
+
class ForceNewPasswordFormFieldsComponent {
|
|
966
|
+
}
|
|
967
|
+
ForceNewPasswordFormFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ForceNewPasswordFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
968
|
+
ForceNewPasswordFormFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ForceNewPasswordFormFieldsComponent, selector: "amplify-force-new-password-form-fields", ngImport: i0, template: "<div class=\"amplify-flex amplify-authenticator__column\" data-amplify-fieldset>\n <amplify-base-form-fields route=\"forceNewPassword\"></amplify-base-form-fields>\n</div>\n", components: [{ type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }] });
|
|
969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ForceNewPasswordFormFieldsComponent, decorators: [{
|
|
970
|
+
type: Component,
|
|
971
|
+
args: [{
|
|
972
|
+
selector: 'amplify-force-new-password-form-fields',
|
|
973
|
+
templateUrl: './force-new-password-form-fields.component.html',
|
|
974
|
+
}]
|
|
975
|
+
}] });
|
|
976
|
+
|
|
977
|
+
const { getChangePasswordText, getBackToSignInText: getBackToSignInText$2 } = authenticatorTextUtil;
|
|
978
|
+
class ForceNewPasswordComponent {
|
|
790
979
|
constructor(authenticator) {
|
|
791
980
|
this.authenticator = authenticator;
|
|
792
981
|
this.dataAttr = '';
|
|
793
|
-
|
|
794
|
-
//
|
|
795
|
-
this.
|
|
796
|
-
|
|
797
|
-
: translate('Forgot your password? ');
|
|
798
|
-
this.signInButtonText = translate('Sign in');
|
|
982
|
+
this.headerText = getChangePasswordText();
|
|
983
|
+
// translated texts
|
|
984
|
+
this.changePasswordText = getChangePasswordText();
|
|
985
|
+
this.backToSignInText = getBackToSignInText$2();
|
|
799
986
|
}
|
|
800
987
|
get context() {
|
|
801
988
|
return this.authenticator.slotContext;
|
|
@@ -810,34 +997,37 @@ class SignInComponent {
|
|
|
810
997
|
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
811
998
|
}
|
|
812
999
|
}
|
|
813
|
-
|
|
814
|
-
{ type:
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
1000
|
+
ForceNewPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ForceNewPasswordComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1001
|
+
ForceNewPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ForceNewPasswordComponent, selector: "amplify-force-new-password", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-forcenewpassword": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: ForceNewPasswordFormFieldsComponent, selector: "amplify-force-new-password-form-fields" }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1002
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ForceNewPasswordComponent, decorators: [{
|
|
1003
|
+
type: Component,
|
|
1004
|
+
args: [{
|
|
1005
|
+
selector: 'amplify-force-new-password',
|
|
1006
|
+
templateUrl: './force-new-password.component.html',
|
|
1007
|
+
}]
|
|
1008
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
1009
|
+
type: HostBinding,
|
|
1010
|
+
args: ['attr.data-amplify-authenticator-forcenewpassword']
|
|
1011
|
+
}], headerText: [{
|
|
1012
|
+
type: Input
|
|
1013
|
+
}] } });
|
|
826
1014
|
|
|
827
|
-
|
|
1015
|
+
const { getResetYourPasswordText: getResetYourPasswordText$1, getSendCodeText, getBackToSignInText: getBackToSignInText$1 } = authenticatorTextUtil;
|
|
1016
|
+
class ResetPasswordComponent {
|
|
828
1017
|
constructor(authenticator) {
|
|
829
1018
|
this.authenticator = authenticator;
|
|
830
1019
|
this.dataAttr = '';
|
|
1020
|
+
this.headerText = getResetYourPasswordText$1();
|
|
831
1021
|
// translated texts
|
|
832
|
-
this.
|
|
1022
|
+
this.sendCodeText = getSendCodeText();
|
|
1023
|
+
this.backToSignInText = getBackToSignInText$1();
|
|
833
1024
|
}
|
|
834
1025
|
get context() {
|
|
835
1026
|
return this.authenticator.slotContext;
|
|
836
1027
|
}
|
|
837
1028
|
onInput(event) {
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
value = undefined;
|
|
1029
|
+
event.preventDefault();
|
|
1030
|
+
const { name, value } = event.target;
|
|
841
1031
|
this.authenticator.updateForm({ name, value });
|
|
842
1032
|
}
|
|
843
1033
|
onSubmit(event) {
|
|
@@ -845,40 +1035,73 @@ class SignUpComponent {
|
|
|
845
1035
|
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
846
1036
|
}
|
|
847
1037
|
}
|
|
848
|
-
|
|
849
|
-
{ type:
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
];
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
}
|
|
1038
|
+
ResetPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ResetPasswordComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1039
|
+
ResetPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ResetPasswordComponent, selector: "amplify-reset-password", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-resetPassword": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot\n class=\"amplify-flex\"\n name=\"reset-password-header\"\n [context]=\"context\"\n >\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-base-form-fields route=\"resetPassword\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ sendCodeText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n\n <amplify-slot name=\"reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ResetPasswordComponent, decorators: [{
|
|
1041
|
+
type: Component,
|
|
1042
|
+
args: [{
|
|
1043
|
+
selector: 'amplify-reset-password',
|
|
1044
|
+
templateUrl: './reset-password.component.html',
|
|
1045
|
+
}]
|
|
1046
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
1047
|
+
type: HostBinding,
|
|
1048
|
+
args: ['attr.data-amplify-authenticator-resetPassword']
|
|
1049
|
+
}], headerText: [{
|
|
1050
|
+
type: Input
|
|
1051
|
+
}] } });
|
|
860
1052
|
|
|
861
|
-
|
|
1053
|
+
const { getBackToSignInText, getResendCodeText, getSubmitText: getSubmitText$1, getResetYourPasswordText, } = authenticatorTextUtil;
|
|
1054
|
+
class ConfirmResetPasswordComponent {
|
|
1055
|
+
constructor(authenticator) {
|
|
1056
|
+
this.authenticator = authenticator;
|
|
1057
|
+
this.dataAttr = '';
|
|
1058
|
+
this.headerText = getResetYourPasswordText();
|
|
1059
|
+
// translated strings
|
|
1060
|
+
this.backToSignInText = getBackToSignInText();
|
|
1061
|
+
this.resendCodeText = getResendCodeText();
|
|
1062
|
+
this.submitText = getSubmitText$1();
|
|
1063
|
+
}
|
|
1064
|
+
get context() {
|
|
1065
|
+
return this.authenticator.slotContext;
|
|
1066
|
+
}
|
|
1067
|
+
onInput(event) {
|
|
1068
|
+
event.preventDefault();
|
|
1069
|
+
const { name, value } = event.target;
|
|
1070
|
+
this.authenticator.updateForm({ name, value });
|
|
1071
|
+
}
|
|
1072
|
+
onSubmit(event) {
|
|
1073
|
+
event.preventDefault();
|
|
1074
|
+
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
1075
|
+
}
|
|
862
1076
|
}
|
|
863
|
-
|
|
864
|
-
{ type:
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
1077
|
+
ConfirmResetPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmResetPasswordComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1078
|
+
ConfirmResetPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ConfirmResetPasswordComponent, selector: "amplify-confirm-reset-password", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-confirmsignin": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-reset-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ headerText }}</h3>\n </amplify-slot>\n\n <amplify-base-form-fields\n route=\"confirmResetPassword\"\n ></amplify-base-form-fields>\n\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n type=\"button\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmResetPasswordComponent, decorators: [{
|
|
1080
|
+
type: Component,
|
|
1081
|
+
args: [{
|
|
1082
|
+
selector: 'amplify-confirm-reset-password',
|
|
1083
|
+
templateUrl: './amplify-confirm-reset-password.component.html',
|
|
1084
|
+
}]
|
|
1085
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
1086
|
+
type: HostBinding,
|
|
1087
|
+
args: ['attr.data-amplify-authenticator-confirmsignin']
|
|
1088
|
+
}], headerText: [{
|
|
1089
|
+
type: Input
|
|
1090
|
+
}] } });
|
|
869
1091
|
|
|
870
1092
|
const getAttributeMap = () => defaultFormFieldOptions;
|
|
871
1093
|
|
|
1094
|
+
const { getSkipText: getSkipText$1, getVerifyText, getAccountRecoveryInfoText: getAccountRecoveryInfoText$1 } = authenticatorTextUtil;
|
|
872
1095
|
class VerifyUserComponent {
|
|
873
1096
|
constructor(authenticator) {
|
|
874
1097
|
this.authenticator = authenticator;
|
|
875
1098
|
this.dataAttr = '';
|
|
876
|
-
this.headerText =
|
|
1099
|
+
this.headerText = getAccountRecoveryInfoText$1();
|
|
877
1100
|
this.unverifiedContactMethods = {};
|
|
878
1101
|
this.labelId = nanoid(12);
|
|
879
1102
|
// translated texts
|
|
880
|
-
this.skipText =
|
|
881
|
-
this.verifyText =
|
|
1103
|
+
this.skipText = getSkipText$1();
|
|
1104
|
+
this.verifyText = getVerifyText();
|
|
882
1105
|
}
|
|
883
1106
|
ngOnInit() {
|
|
884
1107
|
const actorState = getActorState(this.authenticator.authState);
|
|
@@ -903,129 +1126,217 @@ class VerifyUserComponent {
|
|
|
903
1126
|
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
904
1127
|
}
|
|
905
1128
|
}
|
|
906
|
-
VerifyUserComponent
|
|
907
|
-
{ type:
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
];
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
1129
|
+
VerifyUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VerifyUserComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1130
|
+
VerifyUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: VerifyUserComponent, selector: "amplify-verify-user", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-verifyuser": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <div\n *ngFor=\"\n let unverifiedContactMethod of unverifiedContactMethods | keyvalue\n \"\n >\n <input\n name=\"unverifiedAttr\"\n type=\"radio\"\n [value]=\"unverifiedContactMethod.key\"\n [id]=\"labelId\"\n />\n <label [for]=\"labelId\">{{\n getLabelForAttr(unverifiedContactMethod.key)\n }}</label>\n </div>\n\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ verifyText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"verify-user-footer\" [context]=\"context\"> </amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "keyvalue": i6.KeyValuePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
1131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VerifyUserComponent, decorators: [{
|
|
1132
|
+
type: Component,
|
|
1133
|
+
args: [{
|
|
1134
|
+
selector: 'amplify-verify-user',
|
|
1135
|
+
templateUrl: './verify-user.component.html',
|
|
1136
|
+
encapsulation: ViewEncapsulation.None,
|
|
1137
|
+
}]
|
|
1138
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
1139
|
+
type: HostBinding,
|
|
1140
|
+
args: ['attr.data-amplify-authenticator-verifyuser']
|
|
1141
|
+
}], headerText: [{
|
|
1142
|
+
type: Input
|
|
1143
|
+
}] } });
|
|
920
1144
|
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
*/
|
|
924
|
-
class BaseFormFieldsComponent {
|
|
1145
|
+
const { getAccountRecoveryInfoText, getSkipText, getSubmitText } = authenticatorTextUtil;
|
|
1146
|
+
class ConfirmVerifyUserComponent {
|
|
925
1147
|
constructor(authenticator) {
|
|
926
1148
|
this.authenticator = authenticator;
|
|
927
|
-
this.
|
|
928
|
-
this.
|
|
1149
|
+
this.dataAttr = '';
|
|
1150
|
+
this.headerText = getAccountRecoveryInfoText();
|
|
1151
|
+
// translated texts
|
|
1152
|
+
this.skipText = getSkipText();
|
|
1153
|
+
this.submitText = getSubmitText();
|
|
929
1154
|
}
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
this.formFields = getSortedFormFields(this.route, state);
|
|
933
|
-
if (this.route === 'confirmSignUp') {
|
|
934
|
-
this.handleConfirmSignUp();
|
|
935
|
-
}
|
|
1155
|
+
get context() {
|
|
1156
|
+
return this.authenticator.slotContext;
|
|
936
1157
|
}
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
* Translating here in a backwards-compatible manner, but should be resolved in next major version.
|
|
942
|
-
*/
|
|
943
|
-
var _a;
|
|
944
|
-
const state = this.authenticator.authState;
|
|
945
|
-
// backwards compatible placeholder text
|
|
946
|
-
const placeholder = !hasTranslation('Confirmation Code')
|
|
947
|
-
? translate('Enter your code') // prioritize new placeholder
|
|
948
|
-
: translate('Confirmation Code'); // legacy placeholder
|
|
949
|
-
let defaultFormFields = getDefaultFormFields(this.route, state);
|
|
950
|
-
if (defaultFormFields.confirmation_code.placeholder) {
|
|
951
|
-
defaultFormFields.confirmation_code.placeholder = placeholder;
|
|
952
|
-
}
|
|
953
|
-
const customFormFields = ((_a = getActorContext(state).formFields) === null || _a === void 0 ? void 0 : _a.confirmSignUp) || {};
|
|
954
|
-
const newFormFields = applyDefaults(defaultFormFields, customFormFields);
|
|
955
|
-
this.formFields = sortFormFields(newFormFields);
|
|
1158
|
+
onInput(event) {
|
|
1159
|
+
event.preventDefault();
|
|
1160
|
+
const { name, value } = event.target;
|
|
1161
|
+
this.authenticator.updateForm({ name, value });
|
|
956
1162
|
}
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
];
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
};
|
|
1163
|
+
onSubmit(event) {
|
|
1164
|
+
event.preventDefault();
|
|
1165
|
+
this.authenticator.submitForm(getFormDataFromEvent(event));
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
ConfirmVerifyUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmVerifyUserComponent, deps: [{ token: AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1169
|
+
ConfirmVerifyUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ConfirmVerifyUserComponent, selector: "amplify-confirm-verify-user", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-confirmverifyuser": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields\n route=\"confirmVerifyUser\"\n ></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { type: ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { type: ErrorComponent, selector: "amplify-error" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfirmVerifyUserComponent, decorators: [{
|
|
1171
|
+
type: Component,
|
|
1172
|
+
args: [{
|
|
1173
|
+
selector: 'amplify-confirm-verify-user',
|
|
1174
|
+
templateUrl: './amplify-confirm-verify-user.component.html',
|
|
1175
|
+
}]
|
|
1176
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }]; }, propDecorators: { dataAttr: [{
|
|
1177
|
+
type: HostBinding,
|
|
1178
|
+
args: ['attr.data-amplify-authenticator-confirmverifyuser']
|
|
1179
|
+
}], headerText: [{
|
|
1180
|
+
type: Input
|
|
1181
|
+
}] } });
|
|
971
1182
|
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
this.
|
|
976
|
-
this.
|
|
977
|
-
this.
|
|
978
|
-
this.
|
|
979
|
-
|
|
1183
|
+
const { getSignInTabText, getSignUpTabText } = authenticatorTextUtil;
|
|
1184
|
+
class AuthenticatorComponent {
|
|
1185
|
+
constructor(authenticator, contextService, changeDetector) {
|
|
1186
|
+
this.authenticator = authenticator;
|
|
1187
|
+
this.contextService = contextService;
|
|
1188
|
+
this.changeDetector = changeDetector;
|
|
1189
|
+
this.customComponentQuery = null;
|
|
1190
|
+
// translated texts
|
|
1191
|
+
this.signInTitle = getSignInTabText();
|
|
1192
|
+
this.signUpTitle = getSignUpTabText();
|
|
1193
|
+
this.hasInitialized = false;
|
|
1194
|
+
this.isHandlingHubEvent = false;
|
|
980
1195
|
}
|
|
981
|
-
|
|
982
|
-
|
|
1196
|
+
ngOnInit() {
|
|
1197
|
+
const { initialState, loginMechanisms, services, signUpAttributes, socialProviders, formFields, } = this;
|
|
1198
|
+
const { authService, initializeMachine } = this.authenticator;
|
|
1199
|
+
this.unsubscribeHub = listenToAuthHub(authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
|
|
1200
|
+
yield defaultAuthHubHandler(data, service);
|
|
1201
|
+
/**
|
|
1202
|
+
* Hub events aren't properly caught by Angular, because they are
|
|
1203
|
+
* synchronous events. Angular tracks async network events and
|
|
1204
|
+
* html events, but not synchronous events like hub.
|
|
1205
|
+
*
|
|
1206
|
+
* On any notable hub events, we run change detection manually.
|
|
1207
|
+
*/
|
|
1208
|
+
this.changeDetector.detectChanges();
|
|
1209
|
+
/**
|
|
1210
|
+
* Hub events that we handle can lead to multiple state changes:
|
|
1211
|
+
* e.g. `authenticated` -> `signOut` -> initialState.
|
|
1212
|
+
*
|
|
1213
|
+
* We want to ensure change detection runs all the way, until
|
|
1214
|
+
* we reach back to the initial state. Setting the below flag
|
|
1215
|
+
* to true to until we reach initial state.
|
|
1216
|
+
*/
|
|
1217
|
+
this.isHandlingHubEvent = true;
|
|
1218
|
+
}));
|
|
1219
|
+
/**
|
|
1220
|
+
* Subscribes to state machine changes and sends INIT event
|
|
1221
|
+
* once machine reaches 'setup' state.
|
|
1222
|
+
*/
|
|
1223
|
+
this.unsubscribeMachine = this.authenticator.subscribe(() => {
|
|
1224
|
+
const { route } = this.authenticator;
|
|
1225
|
+
if (this.isHandlingHubEvent) {
|
|
1226
|
+
this.changeDetector.detectChanges();
|
|
1227
|
+
const initialStateWithDefault = initialState !== null && initialState !== void 0 ? initialState : 'signIn';
|
|
1228
|
+
// We can stop manual change detection if we're back to the initial state
|
|
1229
|
+
if (route === initialStateWithDefault) {
|
|
1230
|
+
this.isHandlingHubEvent = false;
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
if (!this.hasInitialized && route === 'setup') {
|
|
1234
|
+
initializeMachine({
|
|
1235
|
+
initialState,
|
|
1236
|
+
loginMechanisms,
|
|
1237
|
+
services,
|
|
1238
|
+
signUpAttributes,
|
|
1239
|
+
socialProviders,
|
|
1240
|
+
formFields,
|
|
1241
|
+
});
|
|
1242
|
+
this.hasInitialized = true;
|
|
1243
|
+
}
|
|
1244
|
+
}).unsubscribe;
|
|
1245
|
+
/**
|
|
1246
|
+
* handling translations after content init, because authenticator and its
|
|
1247
|
+
* translations might be initialized before the main app's `ngOnInit` is run.
|
|
1248
|
+
*/
|
|
1249
|
+
this.signInTitle = getSignInTabText();
|
|
1250
|
+
this.signUpTitle = getSignUpTabText();
|
|
983
1251
|
}
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
1252
|
+
/**
|
|
1253
|
+
* Lifecycle Methods
|
|
1254
|
+
*/
|
|
1255
|
+
ngAfterContentInit() {
|
|
1256
|
+
this.contextService.customComponents = this.mapCustomComponents(this.customComponentQuery);
|
|
1257
|
+
}
|
|
1258
|
+
ngOnDestroy() {
|
|
1259
|
+
if (this.unsubscribeMachine)
|
|
1260
|
+
this.unsubscribeMachine();
|
|
1261
|
+
if (this.unsubscribeHub)
|
|
1262
|
+
this.unsubscribeHub();
|
|
1263
|
+
}
|
|
1264
|
+
/**
|
|
1265
|
+
* Class Functions
|
|
1266
|
+
*/
|
|
1267
|
+
// context passed to "authenticated" slot
|
|
1268
|
+
get context() {
|
|
1269
|
+
return this.authenticator.slotContext;
|
|
1270
|
+
}
|
|
1271
|
+
get route() {
|
|
1272
|
+
return this.authenticator.route;
|
|
1273
|
+
}
|
|
1274
|
+
onTabChange() {
|
|
1275
|
+
const route = this.authenticator.route;
|
|
1276
|
+
if (route === 'signIn') {
|
|
1277
|
+
this.authenticator.toSignUp();
|
|
991
1278
|
}
|
|
992
|
-
|
|
993
|
-
|
|
1279
|
+
else {
|
|
1280
|
+
this.authenticator.toSignIn();
|
|
994
1281
|
}
|
|
995
|
-
|
|
996
|
-
|
|
1282
|
+
}
|
|
1283
|
+
hasTabs() {
|
|
1284
|
+
const { route } = this.authenticator;
|
|
1285
|
+
return route === 'signIn' || route === 'signUp';
|
|
1286
|
+
}
|
|
1287
|
+
hasRouteComponent() {
|
|
1288
|
+
const { route } = this.authenticator;
|
|
1289
|
+
switch (route) {
|
|
1290
|
+
case 'authenticated':
|
|
1291
|
+
case 'idle':
|
|
1292
|
+
case 'setup':
|
|
1293
|
+
case 'signOut':
|
|
1294
|
+
case 'transition':
|
|
1295
|
+
return false;
|
|
1296
|
+
default:
|
|
1297
|
+
return true;
|
|
997
1298
|
}
|
|
998
|
-
return className;
|
|
999
1299
|
}
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1300
|
+
mapCustomComponents(componentQuery) {
|
|
1301
|
+
if (!componentQuery)
|
|
1302
|
+
return {};
|
|
1303
|
+
const customComponents = {};
|
|
1304
|
+
componentQuery.forEach((component) => {
|
|
1305
|
+
customComponents[component.name] = component.template;
|
|
1306
|
+
});
|
|
1307
|
+
return customComponents;
|
|
1006
1308
|
}
|
|
1007
1309
|
}
|
|
1008
|
-
|
|
1009
|
-
{ type:
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
}
|
|
1310
|
+
AuthenticatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthenticatorComponent, deps: [{ token: AuthenticatorService }, { token: CustomComponentsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1311
|
+
AuthenticatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AuthenticatorComponent, selector: "amplify-authenticator", inputs: { formFields: "formFields", initialState: "initialState", loginMechanisms: "loginMechanisms", services: "services", signUpAttributes: "signUpAttributes", socialProviders: "socialProviders", variation: "variation", hideSignUp: "hideSignUp" }, providers: [CustomComponentsService], queries: [{ propertyName: "customComponentQuery", predicate: AmplifySlotDirective }], ngImport: i0, template: "<div\n data-amplify-authenticator\n [attr.data-variation]=\"variation\"\n *ngIf=\"hasRouteComponent()\"\n>\n <div data-amplify-container>\n <amplify-slot name=\"header\" [context]=\"context\"></amplify-slot>\n <div\n data-amplify-router\n [attr.data-amplify-router-content]=\"hasTabs() ? undefined : ''\"\n >\n <amplify-tabs\n (tabChange)=\"onTabChange()\"\n *ngIf=\"(route === 'signIn' || route === 'signUp') && !hideSignUp\"\n >\n <amplify-tab-item\n [title]=\"signInTitle\"\n [active]=\"route === 'signIn'\"\n data-amplify-router-content\n >\n <!-- signIn component -->\n <amplify-slot\n name=\"sign-in\"\n [context]=\"context\"\n *ngIf=\"route === 'signIn'\"\n >\n <amplify-sign-in></amplify-sign-in>\n </amplify-slot>\n </amplify-tab-item>\n <amplify-tab-item\n [title]=\"signUpTitle\"\n [active]=\"route === 'signUp'\"\n data-amplify-router-content\n >\n <!-- signUp component -->\n <amplify-slot\n name=\"sign-up\"\n [context]=\"context\"\n *ngIf=\"route === 'signUp'\"\n >\n <amplify-sign-up></amplify-sign-up>\n </amplify-slot>\n </amplify-tab-item>\n </amplify-tabs>\n\n <amplify-slot\n name=\"sign-in\"\n [context]=\"context\"\n *ngIf=\"route === 'signIn' && hideSignUp\"\n >\n <amplify-sign-in></amplify-sign-in>\n </amplify-slot>\n\n <!-- confirmSignUp content -->\n <amplify-slot\n name=\"confirm-sign-up\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmSignUp'\"\n >\n <amplify-confirm-sign-up></amplify-confirm-sign-up>\n </amplify-slot>\n\n <!-- confirmSignIn content -->\n <amplify-slot\n name=\"confirm-sign-in\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmSignIn'\"\n >\n <amplify-confirm-sign-in></amplify-confirm-sign-in>\n </amplify-slot>\n\n <!-- setupTotp content -->\n <amplify-slot\n name=\"setup-totp\"\n [context]=\"context\"\n *ngIf=\"route === 'setupTOTP'\"\n >\n <amplify-setup-totp></amplify-setup-totp>\n </amplify-slot>\n\n <!-- forceNewPassword content -->\n <amplify-slot\n name=\"force-new-password\"\n [context]=\"context\"\n *ngIf=\"route === 'forceNewPassword'\"\n >\n <amplify-force-new-password></amplify-force-new-password>\n </amplify-slot>\n\n <!-- resetPassword content -->\n <amplify-slot\n name=\"reset-password\"\n [context]=\"context\"\n *ngIf=\"route === 'resetPassword'\"\n >\n <amplify-reset-password></amplify-reset-password>\n </amplify-slot>\n\n <!-- confirmResetPassword content -->\n <amplify-slot\n name=\"confirm-reset-password\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmResetPassword'\"\n >\n <amplify-confirm-reset-password></amplify-confirm-reset-password>\n </amplify-slot>\n\n <!-- verifyUser content -->\n <amplify-slot\n name=\"verify-user\"\n [context]=\"context\"\n *ngIf=\"route === 'verifyUser'\"\n >\n <amplify-verify-user></amplify-verify-user>\n </amplify-slot>\n\n <!-- confirmVerifyUser content -->\n <amplify-slot\n name=\"confirm-verify-user\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmVerifyUser'\"\n >\n <amplify-confirm-verify-user></amplify-confirm-verify-user>\n </amplify-slot>\n </div>\n\n <amplify-slot name=\"footer\" [context]=\"context\"></amplify-slot>\n </div>\n</div>\n\n<!-- signedIn content is rendered outside authenticator so it's not styled by authenticator -->\n<amplify-slot\n name=\"authenticated\"\n [context]=\"context\"\n *ngIf=\"route === 'authenticated'\"\n>\n <ng-content></ng-content>\n</amplify-slot>\n", components: [{ type: AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { type: TabsComponent, selector: "amplify-tabs", outputs: ["tabChange"] }, { type: TabItemComponent, selector: "amplify-tab-item", inputs: ["title", "active", "id", "labelledById", "tabIndex"] }, { type: SignInComponent, selector: "amplify-sign-in" }, { type: SignUpComponent, selector: "amplify-sign-up" }, { type: ConfirmSignUpComponent, selector: "amplify-confirm-sign-up" }, { type: ConfirmSignInComponent, selector: "amplify-confirm-sign-in" }, { type: SetupTotpComponent, selector: "amplify-setup-totp" }, { type: ForceNewPasswordComponent, selector: "amplify-force-new-password", inputs: ["headerText"] }, { type: ResetPasswordComponent, selector: "amplify-reset-password", inputs: ["headerText"] }, { type: ConfirmResetPasswordComponent, selector: "amplify-confirm-reset-password", inputs: ["headerText"] }, { type: VerifyUserComponent, selector: "amplify-verify-user", inputs: ["headerText"] }, { type: ConfirmVerifyUserComponent, selector: "amplify-confirm-verify-user", inputs: ["headerText"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthenticatorComponent, decorators: [{
|
|
1313
|
+
type: Component,
|
|
1314
|
+
args: [{
|
|
1315
|
+
selector: 'amplify-authenticator',
|
|
1316
|
+
templateUrl: './authenticator.component.html',
|
|
1317
|
+
providers: [CustomComponentsService],
|
|
1318
|
+
encapsulation: ViewEncapsulation.None,
|
|
1319
|
+
}]
|
|
1320
|
+
}], ctorParameters: function () { return [{ type: AuthenticatorService }, { type: CustomComponentsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formFields: [{
|
|
1321
|
+
type: Input
|
|
1322
|
+
}], initialState: [{
|
|
1323
|
+
type: Input
|
|
1324
|
+
}], loginMechanisms: [{
|
|
1325
|
+
type: Input
|
|
1326
|
+
}], services: [{
|
|
1327
|
+
type: Input
|
|
1328
|
+
}], signUpAttributes: [{
|
|
1329
|
+
type: Input
|
|
1330
|
+
}], socialProviders: [{
|
|
1331
|
+
type: Input
|
|
1332
|
+
}], variation: [{
|
|
1333
|
+
type: Input
|
|
1334
|
+
}], hideSignUp: [{
|
|
1335
|
+
type: Input
|
|
1336
|
+
}], customComponentQuery: [{
|
|
1337
|
+
type: ContentChildren,
|
|
1338
|
+
args: [AmplifySlotDirective]
|
|
1339
|
+
}] } });
|
|
1029
1340
|
|
|
1030
1341
|
class CheckboxComponent {
|
|
1031
1342
|
constructor() {
|
|
@@ -1042,313 +1353,109 @@ class CheckboxComponent {
|
|
|
1042
1353
|
this.isChecked = !this.isChecked;
|
|
1043
1354
|
}
|
|
1044
1355
|
}
|
|
1045
|
-
CheckboxComponent
|
|
1046
|
-
{ type:
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
this.isVisible = false;
|
|
1067
|
-
}
|
|
1068
|
-
}
|
|
1069
|
-
ErrorComponent.decorators = [
|
|
1070
|
-
{ type: Component, args: [{
|
|
1071
|
-
selector: 'amplify-error',
|
|
1072
|
-
template: "<div\n class=\"amplify-flex amplify-alert amplify-alert--error\"\n data-variation=\"error\"\n style=\"align-items: center; justify-content: space-between\"\n *ngIf=\"isVisible\"\n role=\"alert\"\n>\n <div class=\"amplify-flex\" style=\"align-items: center\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n [attr.aria-hidden]=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"\n ></path>\n </svg>\n <div><ng-content></ng-content></div>\n </div>\n <button\n amplify-button\n class=\"amplify-field-group__control amplify-alert__dismiss\"\n [attr.aria-label]=\"dismissAriaLabel\"\n variation=\"link\"\n [fullWidth]=\"false\"\n (click)=\"close()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n [attr.aria-hidden]=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n ></path>\n </svg>\n </button>\n</div>\n"
|
|
1073
|
-
},] }
|
|
1074
|
-
];
|
|
1075
|
-
|
|
1076
|
-
class PasswordFieldComponent {
|
|
1077
|
-
constructor() {
|
|
1078
|
-
this.autocomplete = 'new-password';
|
|
1079
|
-
this.disabled = false;
|
|
1080
|
-
this.fieldId = `amplify-field-${nanoid(12)}`;
|
|
1081
|
-
this.initialValue = '';
|
|
1082
|
-
this.label = '';
|
|
1083
|
-
this.placeholder = '';
|
|
1084
|
-
this.required = true;
|
|
1085
|
-
this.labelHidden = false;
|
|
1086
|
-
this.setBlur = new EventEmitter();
|
|
1087
|
-
this.type = 'password';
|
|
1088
|
-
this.showPassword = false;
|
|
1089
|
-
this.showPasswordButtonlabel = translate('Show password');
|
|
1090
|
-
}
|
|
1091
|
-
togglePasswordText() {
|
|
1092
|
-
this.showPassword = !this.showPassword;
|
|
1093
|
-
this.showPasswordButtonlabel = this.showPassword
|
|
1094
|
-
? translate('Show password')
|
|
1095
|
-
: translate('Hide password');
|
|
1096
|
-
this.type = this.showPassword ? 'text' : 'password';
|
|
1097
|
-
}
|
|
1098
|
-
}
|
|
1099
|
-
PasswordFieldComponent.decorators = [
|
|
1100
|
-
{ type: Component, args: [{
|
|
1101
|
-
selector: 'amplify-password-field',
|
|
1102
|
-
template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"fieldId\"\n>\n {{ label }}\n</label>\n<div class=\"amplify-flex amplify-field-group\">\n <input\n class=\"amplify-input amplify-field-group__control\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [autocomplete]=\"autocomplete\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n [attr.aria-describedby]=\"describedBy\"\n (blur)=\"setBlur.emit($event)\"\n />\n <div class=\"amplify-field-group__outer-end\">\n <button\n amplify-button\n [attr.aria-label]=\"showPasswordButtonlabel\"\n class=\"amplify-field-group__control amplify-field__show-password\"\n (click)=\"togglePasswordText()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n ></path>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z\"\n fill=\"none\"\n ></path>\n <path\n d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n ></path>\n </svg>\n </button>\n </div>\n</div>\n"
|
|
1103
|
-
},] }
|
|
1104
|
-
];
|
|
1105
|
-
PasswordFieldComponent.propDecorators = {
|
|
1106
|
-
autocomplete: [{ type: Input }],
|
|
1107
|
-
disabled: [{ type: Input }],
|
|
1108
|
-
fieldId: [{ type: Input }],
|
|
1109
|
-
initialValue: [{ type: Input }],
|
|
1110
|
-
label: [{ type: Input }],
|
|
1111
|
-
name: [{ type: Input }],
|
|
1112
|
-
placeholder: [{ type: Input }],
|
|
1113
|
-
required: [{ type: Input }],
|
|
1114
|
-
labelHidden: [{ type: Input }],
|
|
1115
|
-
hasError: [{ type: Input }],
|
|
1116
|
-
describedBy: [{ type: Input }],
|
|
1117
|
-
setBlur: [{ type: Output }]
|
|
1118
|
-
};
|
|
1119
|
-
|
|
1120
|
-
class PhoneNumberFieldComponent {
|
|
1121
|
-
constructor() {
|
|
1122
|
-
this.autocomplete = 'new-password';
|
|
1123
|
-
this.disabled = false;
|
|
1124
|
-
this.selectFieldId = `amplify-field-${nanoid(12)}`;
|
|
1125
|
-
this.textFieldId = `amplify-field-${nanoid(12)}`;
|
|
1126
|
-
this.initialValue = '';
|
|
1127
|
-
this.label = '';
|
|
1128
|
-
this.placeholder = '';
|
|
1129
|
-
this.required = true;
|
|
1130
|
-
this.labelHidden = false;
|
|
1131
|
-
this.display = 'contents';
|
|
1132
|
-
}
|
|
1133
|
-
ngOnInit() {
|
|
1134
|
-
var _a;
|
|
1135
|
-
this.countryDialCodesValues = (_a = this.dialCodeList) !== null && _a !== void 0 ? _a : countryDialCodes;
|
|
1136
|
-
}
|
|
1137
|
-
}
|
|
1138
|
-
PhoneNumberFieldComponent.decorators = [
|
|
1139
|
-
{ type: Component, args: [{
|
|
1140
|
-
selector: 'amplify-phone-number-field',
|
|
1141
|
-
template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"textFieldId\"\n>\n {{ label }}\n</label>\n<div\n class=\"amplify-flex amplify-phonenumberfield\"\n amplify-field-group\n style=\"gap: 0px\"\n>\n <div class=\"amplify-field-group__outer-start\">\n <div\n class=\"\n amplify-flex\n amplify-field\n amplify-selectfield\n amplify-countrycodeselect\n amplify-dialcodeselect\n \"\n style=\"flex-direction: column\"\n >\n <amplify-form-select\n name=\"country_code\"\n label=\"Country Code\"\n [id]=\"selectFieldId\"\n [items]=\"countryDialCodesValues\"\n [defaultValue]=\"defaultCountryCode\"\n ></amplify-form-select>\n </div>\n </div>\n\n <input\n class=\"amplify-input\"\n [id]=\"textFieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [autocomplete]=\"autocomplete\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n [attr.aria-describedby]=\"describedBy\"\n />\n</div>\n"
|
|
1142
|
-
},] }
|
|
1143
|
-
];
|
|
1144
|
-
PhoneNumberFieldComponent.propDecorators = {
|
|
1145
|
-
autocomplete: [{ type: Input }],
|
|
1146
|
-
disabled: [{ type: Input }],
|
|
1147
|
-
defaultCountryCode: [{ type: Input }],
|
|
1148
|
-
selectFieldId: [{ type: Input }],
|
|
1149
|
-
textFieldId: [{ type: Input }],
|
|
1150
|
-
initialValue: [{ type: Input }],
|
|
1151
|
-
label: [{ type: Input }],
|
|
1152
|
-
name: [{ type: Input }],
|
|
1153
|
-
placeholder: [{ type: Input }],
|
|
1154
|
-
required: [{ type: Input }],
|
|
1155
|
-
type: [{ type: Input }],
|
|
1156
|
-
labelHidden: [{ type: Input }],
|
|
1157
|
-
dialCodeList: [{ type: Input }],
|
|
1158
|
-
hasError: [{ type: Input }],
|
|
1159
|
-
describedBy: [{ type: Input }],
|
|
1160
|
-
display: [{ type: HostBinding, args: ['style.display',] }]
|
|
1161
|
-
};
|
|
1162
|
-
|
|
1163
|
-
class SelectComponent {
|
|
1164
|
-
}
|
|
1165
|
-
SelectComponent.decorators = [
|
|
1166
|
-
{ type: Component, args: [{
|
|
1167
|
-
selector: 'amplify-form-select',
|
|
1168
|
-
template: "<label class=\"amplify-label amplify-visually-hidden\" [for]=\"id\">{{\n label\n}}</label>\n<div class=\"amplify-select__wrapper\">\n <select\n class=\"amplify-select amplify-field-group__control\"\n autocomplete=\"tel-country-code\"\n [id]=\"id\"\n [name]=\"name\"\n >\n <option\n *ngFor=\"let item of items\"\n [value]=\"item\"\n [selected]=\"item === defaultValue\"\n >\n {{ item }}\n </option>\n </select>\n <div\n class=\"amplify-flex amplify-select__icon-wrapper\"\n style=\"align-items: center; justify-content: center\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon amplify-icon--large\"\n viewBox=\"0 0 24 24\"\n data-size=\"large\"\n fill=\"currentColor\"\n >\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>\n </svg>\n </div>\n</div>\n"
|
|
1169
|
-
},] }
|
|
1170
|
-
];
|
|
1171
|
-
SelectComponent.propDecorators = {
|
|
1172
|
-
items: [{ type: Input }],
|
|
1173
|
-
name: [{ type: Input }],
|
|
1174
|
-
label: [{ type: Input }],
|
|
1175
|
-
id: [{ type: Input }],
|
|
1176
|
-
defaultValue: [{ type: Input }]
|
|
1177
|
-
};
|
|
1178
|
-
|
|
1179
|
-
class TabItemComponent {
|
|
1180
|
-
constructor() {
|
|
1181
|
-
this.active = false;
|
|
1182
|
-
this.display = 'block'; // emulate div behavior
|
|
1183
|
-
}
|
|
1184
|
-
}
|
|
1185
|
-
TabItemComponent.decorators = [
|
|
1186
|
-
{ type: Component, args: [{
|
|
1187
|
-
selector: 'amplify-tab-item',
|
|
1188
|
-
template: "<div\n data-orientation=\"horizontal\"\n role=\"tabpanel\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"labelledById\"\n [attr.data-state]=\"active ? 'active' : 'inactive'\"\n [attr.tabindex]=\"tabIndex\"\n>\n <ng-content *ngIf=\"active\"></ng-content>\n</div>\n"
|
|
1189
|
-
},] }
|
|
1190
|
-
];
|
|
1191
|
-
TabItemComponent.propDecorators = {
|
|
1192
|
-
title: [{ type: Input }],
|
|
1193
|
-
active: [{ type: Input }],
|
|
1194
|
-
id: [{ type: Input }],
|
|
1195
|
-
labelledById: [{ type: Input }],
|
|
1196
|
-
tabIndex: [{ type: Input }],
|
|
1197
|
-
display: [{ type: HostBinding, args: ['style.display',] }]
|
|
1198
|
-
};
|
|
1199
|
-
|
|
1200
|
-
class TabsComponent {
|
|
1201
|
-
constructor() {
|
|
1202
|
-
this.tabChange = new EventEmitter();
|
|
1203
|
-
}
|
|
1204
|
-
ngAfterContentInit() {
|
|
1205
|
-
// assign ids
|
|
1206
|
-
this.tabs.forEach((tab, index) => {
|
|
1207
|
-
tab.id = `radix-id-${nanoid(12)}-1-content-${index}`;
|
|
1208
|
-
tab.labelledById = `radix-id-${nanoid(12)}-1-trigger-${index}`;
|
|
1209
|
-
});
|
|
1210
|
-
// find active tab
|
|
1211
|
-
// TODO(enhancement): more declarative way for choosing the initial tab to render
|
|
1212
|
-
const activeTabs = this.tabs.filter((tab) => tab.active);
|
|
1213
|
-
// set active tab
|
|
1214
|
-
if (activeTabs.length !== 1) {
|
|
1215
|
-
this.selectTab(this.tabs.first);
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
selectTab(tab) {
|
|
1219
|
-
this.tabs.forEach((tab) => {
|
|
1220
|
-
tab.active = false;
|
|
1221
|
-
});
|
|
1222
|
-
tab.active = true;
|
|
1223
|
-
}
|
|
1224
|
-
handleTabClick(tab) {
|
|
1225
|
-
if (tab.active)
|
|
1226
|
-
return; // don't do anything if clicks the current active tab
|
|
1227
|
-
this.tabChange.emit();
|
|
1228
|
-
this.selectTab(tab);
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
TabsComponent.decorators = [
|
|
1232
|
-
{ type: Component, args: [{
|
|
1233
|
-
selector: 'amplify-tabs',
|
|
1234
|
-
template: "<div\n tabindex=\"0\"\n aria-orientation=\"horizontal\"\n data-orientation=\"horizontal\"\n role=\"tablist\"\n style=\"outline: none\"\n>\n <div\n class=\"amplify-flex amplify-tabs\"\n data-indicator-position=\"top\"\n style=\"gap: 0px; justify-content: center\"\n >\n <div\n *ngFor=\"let tab of tabs\"\n class=\"amplify-tabs-item\"\n data-spacing=\"equal\"\n data-orientation=\"horizontal\"\n role=\"tab\"\n [id]=\"tab.labelledById\"\n [tabindex]=\"tab.active ? '0' : '1'\"\n [attr.aria-selected]=\"tab.active\"\n [attr.aria-controls]=\"tab.id\"\n [attr.data-state]=\"tab.active ? 'active' : 'inactive'\"\n (click)=\"handleTabClick(tab)\"\n >\n {{ tab.title }}\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n"
|
|
1235
|
-
},] }
|
|
1236
|
-
];
|
|
1237
|
-
TabsComponent.propDecorators = {
|
|
1238
|
-
tabs: [{ type: ContentChildren, args: [TabItemComponent,] }],
|
|
1239
|
-
tabChange: [{ type: Output }]
|
|
1240
|
-
};
|
|
1241
|
-
|
|
1242
|
-
class TextFieldComponent {
|
|
1243
|
-
constructor() {
|
|
1244
|
-
this.autocomplete = 'new-password';
|
|
1245
|
-
this.disabled = false;
|
|
1246
|
-
this.fieldId = `amplify-field-${nanoid(12)}`;
|
|
1247
|
-
this.initialValue = '';
|
|
1248
|
-
this.label = '';
|
|
1249
|
-
this.placeholder = '';
|
|
1250
|
-
this.required = true;
|
|
1251
|
-
this.labelHidden = false;
|
|
1252
|
-
this.display = 'contents';
|
|
1253
|
-
}
|
|
1254
|
-
}
|
|
1255
|
-
TextFieldComponent.decorators = [
|
|
1256
|
-
{ type: Component, args: [{
|
|
1257
|
-
selector: 'amplify-text-field',
|
|
1258
|
-
template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"fieldId\"\n>\n {{ label }}\n</label>\n<input\n class=\"amplify-input\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [autocomplete]=\"autocomplete\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n [attr.aria-describedby]=\"describedBy\"\n/>\n"
|
|
1259
|
-
},] }
|
|
1260
|
-
];
|
|
1261
|
-
TextFieldComponent.propDecorators = {
|
|
1262
|
-
autocomplete: [{ type: Input }],
|
|
1263
|
-
disabled: [{ type: Input }],
|
|
1264
|
-
fieldId: [{ type: Input }],
|
|
1265
|
-
initialValue: [{ type: Input }],
|
|
1266
|
-
label: [{ type: Input }],
|
|
1267
|
-
name: [{ type: Input }],
|
|
1268
|
-
placeholder: [{ type: Input }],
|
|
1269
|
-
required: [{ type: Input }],
|
|
1270
|
-
type: [{ type: Input }],
|
|
1271
|
-
labelHidden: [{ type: Input }],
|
|
1272
|
-
hasError: [{ type: Input }],
|
|
1273
|
-
describedBy: [{ type: Input }],
|
|
1274
|
-
display: [{ type: HostBinding, args: ['style.display',] }]
|
|
1275
|
-
};
|
|
1276
|
-
|
|
1277
|
-
class AmplifySlotComponent {
|
|
1278
|
-
constructor(propService) {
|
|
1279
|
-
this.propService = propService;
|
|
1280
|
-
this.display = 'contents';
|
|
1281
|
-
this.isOverriden = false;
|
|
1282
|
-
}
|
|
1283
|
-
ngAfterContentInit() {
|
|
1284
|
-
const customComponents = this.propService.customComponents;
|
|
1285
|
-
const overridingComponent = customComponents[this.name];
|
|
1286
|
-
if (overridingComponent) {
|
|
1287
|
-
this.overridingComponent = overridingComponent;
|
|
1288
|
-
this.isOverriden = true;
|
|
1289
|
-
}
|
|
1290
|
-
}
|
|
1291
|
-
}
|
|
1292
|
-
AmplifySlotComponent.decorators = [
|
|
1293
|
-
{ type: Component, args: [{
|
|
1294
|
-
selector: 'amplify-slot',
|
|
1295
|
-
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"
|
|
1296
|
-
},] }
|
|
1297
|
-
];
|
|
1298
|
-
AmplifySlotComponent.ctorParameters = () => [
|
|
1299
|
-
{ type: CustomComponentsService }
|
|
1300
|
-
];
|
|
1301
|
-
AmplifySlotComponent.propDecorators = {
|
|
1302
|
-
name: [{ type: Input }],
|
|
1303
|
-
context: [{ type: Input }],
|
|
1304
|
-
display: [{ type: HostBinding, args: ['style.display',] }]
|
|
1305
|
-
};
|
|
1356
|
+
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1357
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CheckboxComponent, selector: "amplify-checkbox", inputs: { defaultChecked: "defaultChecked", errorMessage: "errorMessage", hasError: "hasError", label: "label", name: "name", value: "value" }, ngImport: i0, template: "<div class=\"amplify-flex amplify-field amplify-checkboxfield\">\n <label class=\"amplify-flex amplify-checkbox\">\n <span class=\"amplify-visually-hidden\">\n <input\n (click)=\"handleClick()\"\n class=\"\n amplify-input\n amplify-field-group__control\n amplify-checkbox__input\n \"\n aria-invalid=\"false\"\n type=\"checkbox\"\n [name]=\"name\"\n [value]=\"value\"\n />\n </span>\n <span\n class=\"amplify-flex amplify-checkbox__button\"\n aria-hidden=\"true\"\n data-focus=\"false\"\n [ngClass]=\"{\n 'amplify-checkbox__button--error': hasError\n }\"\n [attr.data-error]=\"hasError\"\n [attr.data-checked]=\"isChecked\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon amplify-checkbox__icon\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n [attr.data-checked]=\"isChecked\"\n [ngClass]=\"{\n 'amplify-checkbox__icon--checked': isChecked\n }\"\n >\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"></path>\n </svg>\n </span>\n <span class=\"amplify-text amplify-checkbox__label\">\n <ng-content></ng-content>\n </span>\n </label>\n <p *ngIf=\"hasError\" class=\"amplify-text amplify-field__error-message\">\n {{ errorMessage }}\n </p>\n</div>\n", directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
1359
|
+
type: Component,
|
|
1360
|
+
args: [{
|
|
1361
|
+
selector: 'amplify-checkbox',
|
|
1362
|
+
templateUrl: './checkbox.component.html',
|
|
1363
|
+
}]
|
|
1364
|
+
}], propDecorators: { defaultChecked: [{
|
|
1365
|
+
type: Input
|
|
1366
|
+
}], errorMessage: [{
|
|
1367
|
+
type: Input
|
|
1368
|
+
}], hasError: [{
|
|
1369
|
+
type: Input
|
|
1370
|
+
}], label: [{
|
|
1371
|
+
type: Input
|
|
1372
|
+
}], name: [{
|
|
1373
|
+
type: Input
|
|
1374
|
+
}], value: [{
|
|
1375
|
+
type: Input
|
|
1376
|
+
}] } });
|
|
1306
1377
|
|
|
1307
1378
|
class AmplifyAuthenticatorModule {
|
|
1308
1379
|
}
|
|
1309
|
-
AmplifyAuthenticatorModule
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1380
|
+
AmplifyAuthenticatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifyAuthenticatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1381
|
+
AmplifyAuthenticatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifyAuthenticatorModule, declarations: [AmplifySlotComponent,
|
|
1382
|
+
AmplifySlotDirective,
|
|
1383
|
+
AuthenticatorComponent,
|
|
1384
|
+
BaseFormFieldsComponent,
|
|
1385
|
+
ButtonComponent,
|
|
1386
|
+
CheckboxComponent,
|
|
1387
|
+
ConfirmResetPasswordComponent,
|
|
1388
|
+
ConfirmSignInComponent,
|
|
1389
|
+
ConfirmSignUpComponent,
|
|
1390
|
+
ConfirmVerifyUserComponent,
|
|
1391
|
+
ErrorComponent,
|
|
1392
|
+
FederatedSignInButtonComponent,
|
|
1393
|
+
FederatedSignInComponent,
|
|
1394
|
+
ForceNewPasswordComponent,
|
|
1395
|
+
ForceNewPasswordFormFieldsComponent,
|
|
1396
|
+
FormFieldComponent,
|
|
1397
|
+
PasswordFieldComponent,
|
|
1398
|
+
PhoneNumberFieldComponent,
|
|
1399
|
+
ResetPasswordComponent,
|
|
1400
|
+
SelectComponent,
|
|
1401
|
+
SetupTotpComponent,
|
|
1402
|
+
SignInComponent,
|
|
1403
|
+
SignUpComponent,
|
|
1404
|
+
SignUpFormFieldsComponent,
|
|
1405
|
+
TabItemComponent,
|
|
1406
|
+
TabsComponent,
|
|
1407
|
+
TextFieldComponent,
|
|
1408
|
+
VerifyUserComponent], imports: [CommonModule], exports: [AmplifySlotDirective,
|
|
1409
|
+
AuthenticatorComponent,
|
|
1410
|
+
CheckboxComponent,
|
|
1411
|
+
SignUpFormFieldsComponent,
|
|
1412
|
+
ForceNewPasswordFormFieldsComponent,
|
|
1413
|
+
TextFieldComponent] });
|
|
1414
|
+
AmplifyAuthenticatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifyAuthenticatorModule, imports: [[CommonModule]] });
|
|
1415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AmplifyAuthenticatorModule, decorators: [{
|
|
1416
|
+
type: NgModule,
|
|
1417
|
+
args: [{
|
|
1418
|
+
declarations: [
|
|
1419
|
+
AmplifySlotComponent,
|
|
1420
|
+
AmplifySlotDirective,
|
|
1421
|
+
AuthenticatorComponent,
|
|
1422
|
+
BaseFormFieldsComponent,
|
|
1423
|
+
ButtonComponent,
|
|
1424
|
+
CheckboxComponent,
|
|
1425
|
+
ConfirmResetPasswordComponent,
|
|
1426
|
+
ConfirmSignInComponent,
|
|
1427
|
+
ConfirmSignUpComponent,
|
|
1428
|
+
ConfirmVerifyUserComponent,
|
|
1429
|
+
ErrorComponent,
|
|
1430
|
+
FederatedSignInButtonComponent,
|
|
1431
|
+
FederatedSignInComponent,
|
|
1432
|
+
ForceNewPasswordComponent,
|
|
1433
|
+
ForceNewPasswordFormFieldsComponent,
|
|
1434
|
+
FormFieldComponent,
|
|
1435
|
+
PasswordFieldComponent,
|
|
1436
|
+
PhoneNumberFieldComponent,
|
|
1437
|
+
ResetPasswordComponent,
|
|
1438
|
+
SelectComponent,
|
|
1439
|
+
SetupTotpComponent,
|
|
1440
|
+
SignInComponent,
|
|
1441
|
+
SignUpComponent,
|
|
1442
|
+
SignUpFormFieldsComponent,
|
|
1443
|
+
TabItemComponent,
|
|
1444
|
+
TabsComponent,
|
|
1445
|
+
TextFieldComponent,
|
|
1446
|
+
VerifyUserComponent,
|
|
1447
|
+
],
|
|
1448
|
+
imports: [CommonModule],
|
|
1449
|
+
exports: [
|
|
1450
|
+
AmplifySlotDirective,
|
|
1451
|
+
AuthenticatorComponent,
|
|
1452
|
+
CheckboxComponent,
|
|
1453
|
+
SignUpFormFieldsComponent,
|
|
1454
|
+
ForceNewPasswordFormFieldsComponent,
|
|
1455
|
+
TextFieldComponent,
|
|
1456
|
+
],
|
|
1457
|
+
}]
|
|
1458
|
+
}] });
|
|
1352
1459
|
|
|
1353
1460
|
/*
|
|
1354
1461
|
* Public API Surface of ui-angular
|
|
@@ -1358,5 +1465,5 @@ AmplifyAuthenticatorModule.decorators = [
|
|
|
1358
1465
|
* Generated bundle index. Do not edit.
|
|
1359
1466
|
*/
|
|
1360
1467
|
|
|
1361
|
-
export { AmplifyAuthenticatorModule, AmplifySlotDirective, AuthenticatorComponent, AuthenticatorService, BaseFormFieldsComponent, ButtonComponent, CheckboxComponent, ConfirmResetPasswordComponent, ConfirmSignInComponent, ConfirmSignUpComponent, ConfirmVerifyUserComponent, CustomComponentsService, ErrorComponent, FederatedSignInButtonComponent, FederatedSignInComponent, ForceNewPasswordComponent, ForceNewPasswordFormFieldsComponent, FormFieldComponent, PasswordFieldComponent, PhoneNumberFieldComponent, ResetPasswordComponent, SelectComponent, SetupTotpComponent, SignInComponent, SignUpComponent, SignUpFormFieldsComponent, TabItemComponent, TabsComponent, TextFieldComponent, VerifyUserComponent, getAttributeMap
|
|
1468
|
+
export { AmplifyAuthenticatorModule, AmplifySlotDirective, AuthenticatorComponent, AuthenticatorService, BaseFormFieldsComponent, ButtonComponent, CheckboxComponent, ConfirmResetPasswordComponent, ConfirmSignInComponent, ConfirmSignUpComponent, ConfirmVerifyUserComponent, CustomComponentsService, ErrorComponent, FederatedSignInButtonComponent, FederatedSignInComponent, ForceNewPasswordComponent, ForceNewPasswordFormFieldsComponent, FormFieldComponent, PasswordFieldComponent, PhoneNumberFieldComponent, ResetPasswordComponent, SelectComponent, SetupTotpComponent, SignInComponent, SignUpComponent, SignUpFormFieldsComponent, TabItemComponent, TabsComponent, TextFieldComponent, VerifyUserComponent, getAttributeMap };
|
|
1362
1469
|
//# sourceMappingURL=aws-amplify-ui-angular.js.map
|