verben-authentication-ui 1.0.13 → 1.0.15
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/esm2022/public-api.mjs +17 -35
- package/esm2022/src/lib/base/base-data.component.mjs +80 -0
- package/esm2022/src/lib/base/base-data.facade.mjs +130 -0
- package/esm2022/src/lib/base/base-data.service.mjs +21 -0
- package/esm2022/src/lib/base/base-data.state.mjs +74 -0
- package/esm2022/src/lib/base/index.mjs +2 -0
- package/esm2022/src/lib/base/models.mjs +2 -0
- package/esm2022/src/lib/base/public-api.mjs +6 -0
- package/esm2022/src/lib/base/verben-authentication-ui-src-lib-base.mjs +5 -0
- package/esm2022/src/lib/components/auth-callback/auth-callback.component.mjs +57 -0
- package/esm2022/{lib → src/lib}/components/auth-callback/auth-callback.module.mjs +1 -1
- package/esm2022/src/lib/components/auth-callback/index.mjs +2 -0
- package/esm2022/src/lib/components/auth-callback/public-api.mjs +3 -0
- package/esm2022/src/lib/components/auth-callback/verben-authentication-ui-src-lib-components-auth-callback.mjs +5 -0
- package/esm2022/{lib → src/lib}/components/button/button.component.mjs +1 -1
- package/esm2022/src/lib/components/button/button.module.mjs +20 -0
- package/esm2022/src/lib/components/button/index.mjs +2 -0
- package/esm2022/src/lib/components/button/public-api.mjs +3 -0
- package/esm2022/src/lib/components/button/verben-authentication-ui-src-lib-components-button.mjs +5 -0
- package/esm2022/src/lib/components/forgot-password/ForgotPasswordData.mjs +2 -0
- package/esm2022/{lib → src/lib}/components/forgot-password/forgot-password.component.mjs +8 -9
- package/esm2022/{lib → src/lib}/components/forgot-password/forgot-password.module.mjs +1 -1
- package/esm2022/src/lib/components/forgot-password/index.mjs +2 -0
- package/esm2022/src/lib/components/forgot-password/public-api.mjs +4 -0
- package/esm2022/src/lib/components/forgot-password/verben-authentication-ui-src-lib-components-forgot-password.mjs +5 -0
- package/esm2022/src/lib/components/mail/index.mjs +2 -0
- package/esm2022/src/lib/components/mail/mail.component.mjs +69 -0
- package/esm2022/src/lib/components/mail/mail.module.mjs +21 -0
- package/esm2022/src/lib/components/mail/public-api.mjs +3 -0
- package/esm2022/src/lib/components/mail/verben-authentication-ui-src-lib-components-mail.mjs +5 -0
- package/esm2022/src/lib/components/mail-validation/index.mjs +2 -0
- package/esm2022/{lib → src/lib}/components/mail-validation/mail-validation.component.mjs +1 -1
- package/esm2022/{lib → src/lib}/components/mail-validation/mail-validation.module.mjs +1 -1
- package/esm2022/src/lib/components/mail-validation/public-api.mjs +3 -0
- package/esm2022/src/lib/components/mail-validation/verben-authentication-ui-src-lib-components-mail-validation.mjs +5 -0
- package/esm2022/src/lib/components/o-auth/index.mjs +2 -0
- package/esm2022/src/lib/components/o-auth/o-auth.component.mjs +107 -0
- package/esm2022/{lib → src/lib}/components/o-auth/o-auth.module.mjs +1 -1
- package/esm2022/src/lib/components/o-auth/public-api.mjs +3 -0
- package/esm2022/src/lib/components/o-auth/verben-authentication-ui-src-lib-components-o-auth.mjs +5 -0
- package/esm2022/src/lib/components/otp-input/index.mjs +2 -0
- package/esm2022/src/lib/components/otp-input/otp-input.component.mjs +86 -0
- package/esm2022/src/lib/components/otp-input/otp-input.module.mjs +42 -0
- package/esm2022/src/lib/components/otp-input/public-api.mjs +3 -0
- package/esm2022/src/lib/components/otp-input/verben-authentication-ui-src-lib-components-otp-input.mjs +5 -0
- package/esm2022/src/lib/components/reset-password/ResetPasswordData.mjs +2 -0
- package/esm2022/src/lib/components/reset-password/index.mjs +2 -0
- package/esm2022/src/lib/components/reset-password/public-api.mjs +4 -0
- package/esm2022/{lib → src/lib}/components/reset-password/reset-password.component.mjs +8 -9
- package/esm2022/{lib → src/lib}/components/reset-password/reset-password.module.mjs +1 -1
- package/esm2022/src/lib/components/reset-password/verben-authentication-ui-src-lib-components-reset-password.mjs +5 -0
- package/esm2022/src/lib/components/role-control/ChildrenType.mjs +6 -0
- package/esm2022/src/lib/components/role-control/MappedRole.mjs +2 -0
- package/esm2022/src/lib/components/role-control/MappedRoleAction.mjs +2 -0
- package/esm2022/src/lib/components/role-control/MappedRoleContext.mjs +2 -0
- package/esm2022/src/lib/components/role-control/UIActions.mjs +7 -0
- package/esm2022/src/lib/components/role-control/UIs.mjs +40 -0
- package/esm2022/src/lib/components/role-control/base-table-style.mjs +53 -0
- package/esm2022/src/lib/components/role-control/index.mjs +2 -0
- package/esm2022/src/lib/components/role-control/public-api.mjs +3 -0
- package/esm2022/src/lib/components/role-control/role-control.component.mjs +1720 -0
- package/esm2022/src/lib/components/role-control/role-control.module.mjs +18 -0
- package/esm2022/src/lib/components/role-control/role-control.service.mjs +57 -0
- package/esm2022/src/lib/components/role-control/verben-authentication-ui-src-lib-components-role-control.mjs +5 -0
- package/esm2022/src/lib/components/sign-in/index.mjs +2 -0
- package/esm2022/src/lib/components/sign-in/public-api.mjs +3 -0
- package/esm2022/src/lib/components/sign-in/sign-in.component.mjs +316 -0
- package/esm2022/src/lib/components/sign-in/sign-in.module.mjs +46 -0
- package/esm2022/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.mjs +5 -0
- package/esm2022/src/lib/components/sign-up/index.mjs +2 -0
- package/esm2022/src/lib/components/sign-up/public-api.mjs +3 -0
- package/esm2022/src/lib/components/sign-up/sign-up.component.mjs +227 -0
- package/esm2022/src/lib/components/sign-up/sign-up.module.mjs +43 -0
- package/esm2022/src/lib/components/sign-up/verben-authentication-ui-src-lib-components-sign-up.mjs +5 -0
- package/esm2022/src/lib/components/sso/base-table-style.mjs +53 -0
- package/esm2022/src/lib/components/sso/helper.mjs +16 -0
- package/esm2022/src/lib/components/sso/index.mjs +2 -0
- package/esm2022/src/lib/components/sso/public-api.mjs +3 -0
- package/esm2022/{lib → src/lib}/components/sso/sso-form/sso-form.component.mjs +1 -1
- package/esm2022/src/lib/components/sso/sso.columns.mjs +29 -0
- package/esm2022/src/lib/components/sso/sso.component.mjs +234 -0
- package/esm2022/src/lib/components/sso/sso.module.mjs +63 -0
- package/esm2022/src/lib/components/sso/verben-authentication-ui-src-lib-components-sso.mjs +5 -0
- package/esm2022/src/lib/components/two-factor-auth-otp/index.mjs +2 -0
- package/esm2022/src/lib/components/two-factor-auth-otp/public-api.mjs +3 -0
- package/esm2022/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +208 -0
- package/esm2022/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +35 -0
- package/esm2022/src/lib/components/two-factor-auth-otp/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs +5 -0
- package/esm2022/src/lib/components/two-factor-auth-setup/index.mjs +2 -0
- package/esm2022/src/lib/components/two-factor-auth-setup/public-api.mjs +3 -0
- package/esm2022/{lib → src/lib}/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +1 -1
- package/esm2022/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +19 -0
- package/esm2022/src/lib/components/two-factor-auth-setup/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs +5 -0
- package/esm2022/src/lib/components/user-management/base-table-style.mjs +53 -0
- package/esm2022/src/lib/components/user-management/index.mjs +2 -0
- package/esm2022/src/lib/components/user-management/public-api.mjs +3 -0
- package/esm2022/src/lib/components/user-management/services/user-management.service.mjs +88 -0
- package/esm2022/{lib/components/user-management/user-management-form/use-management-form.component.mjs → src/lib/components/user-management/user-management-form/user-management-form.component.mjs} +2 -2
- package/esm2022/src/lib/components/user-management/user-management.columns.mjs +53 -0
- package/esm2022/{lib → src/lib}/components/user-management/user-management.component.mjs +20 -23
- package/esm2022/src/lib/components/user-management/user-management.module.mjs +91 -0
- package/esm2022/src/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +26 -0
- package/esm2022/src/lib/components/user-management/verben-authentication-ui-src-lib-components-user-management.mjs +5 -0
- package/esm2022/src/lib/components/user-request/index.mjs +2 -0
- package/esm2022/src/lib/components/user-request/public-api.mjs +3 -0
- package/esm2022/src/lib/components/user-request/user-request.component.mjs +318 -0
- package/esm2022/src/lib/components/user-request/user-request.module.mjs +38 -0
- package/esm2022/src/lib/components/user-request/verben-authentication-ui-src-lib-components-user-request.mjs +5 -0
- package/esm2022/src/lib/components/user-request-approval/access-request.columns.mjs +29 -0
- package/esm2022/src/lib/components/user-request-approval/base-table-style.mjs +53 -0
- package/esm2022/src/lib/components/user-request-approval/facades/user-access-request.facade.mjs +260 -0
- package/esm2022/src/lib/components/user-request-approval/helper.mjs +56 -0
- package/esm2022/src/lib/components/user-request-approval/index.mjs +2 -0
- package/esm2022/src/lib/components/user-request-approval/public-api.mjs +5 -0
- package/esm2022/src/lib/components/user-request-approval/services/user-access-request.service.mjs +93 -0
- package/esm2022/src/lib/components/user-request-approval/states/user-access-request.state.mjs +92 -0
- package/esm2022/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +26 -0
- package/esm2022/{lib → src/lib}/components/user-request-approval/user-request-approval.component.mjs +3 -3
- package/esm2022/src/lib/components/user-request-approval/user-request-approval.module.mjs +83 -0
- package/esm2022/{lib/components/user-request-approval/user-request-form/use-request-form.component.mjs → src/lib/components/user-request-approval/user-request-form/user-request-form.component.mjs} +2 -2
- package/esm2022/src/lib/components/user-request-approval/verben-authentication-ui-src-lib-components-user-request-approval.mjs +5 -0
- package/esm2022/src/lib/components/user-request-process/index.mjs +2 -0
- package/esm2022/src/lib/components/user-request-process/public-api.mjs +3 -0
- package/esm2022/src/lib/components/user-request-process/user-request-process.component.mjs +11 -0
- package/esm2022/src/lib/components/user-request-process/user-request-process.module.mjs +18 -0
- package/esm2022/src/lib/components/user-request-process/verben-authentication-ui-src-lib-components-user-request-process.mjs +5 -0
- package/esm2022/src/lib/models/ApplicationRoleAction.mjs +2 -0
- package/esm2022/src/lib/models/ApplicationRoleContext.mjs +2 -0
- package/esm2022/src/lib/models/ErrorResponse.mjs +11 -0
- package/esm2022/src/lib/models/FilterTypes.mjs +9 -0
- package/esm2022/src/lib/models/MailConfig.mjs +2 -0
- package/esm2022/src/lib/models/MessageConfig.mjs +2 -0
- package/esm2022/src/lib/models/MessageMedium.mjs +6 -0
- package/esm2022/src/lib/models/OAuthParam.mjs +2 -0
- package/esm2022/src/lib/models/OAuthType.mjs +9 -0
- package/esm2022/src/lib/models/PagedResult.mjs +2 -0
- package/esm2022/src/lib/models/PasswordRequestParam.mjs +2 -0
- package/esm2022/src/lib/models/PeriodMode.mjs +12 -0
- package/esm2022/src/lib/models/PermissionConfig.mjs +2 -0
- package/esm2022/src/lib/models/ReportSchedule.mjs +2 -0
- package/esm2022/src/lib/models/ReportType.mjs +7 -0
- package/esm2022/src/lib/models/ResponseKeyValue.mjs +2 -0
- package/esm2022/src/lib/models/Role.mjs +2 -0
- package/esm2022/src/lib/models/RoleAction.mjs +2 -0
- package/esm2022/src/lib/models/RoleContext.mjs +2 -0
- package/esm2022/src/lib/models/SMSConfig.mjs +2 -0
- package/esm2022/src/lib/models/SearchDynamicWrapper.mjs +2 -0
- package/esm2022/src/lib/models/SearchOperator.mjs +6 -0
- package/esm2022/src/lib/models/SearchPropertySign.mjs +11 -0
- package/esm2022/src/lib/models/SearchPropertyValue.mjs +2 -0
- package/esm2022/src/lib/models/SearchPropertyValueType.mjs +11 -0
- package/esm2022/src/lib/models/SortDirection.mjs +7 -0
- package/esm2022/src/lib/models/Tag.mjs +2 -0
- package/esm2022/src/lib/models/TaskNotification.mjs +2 -0
- package/esm2022/src/lib/models/TaskNotificationMessageType.mjs +6 -0
- package/esm2022/src/lib/models/TaskNotificationType.mjs +6 -0
- package/esm2022/src/lib/models/Tenant.mjs +2 -0
- package/esm2022/src/lib/models/TenantConfig.mjs +2 -0
- package/esm2022/src/lib/models/UserRequest.mjs +2 -0
- package/esm2022/src/lib/models/auth-mechanism.mjs +8 -0
- package/esm2022/src/lib/models/base.mjs +2 -0
- package/esm2022/src/lib/models/conditions.mjs +13 -0
- package/esm2022/src/lib/models/index.mjs +2 -0
- package/esm2022/src/lib/models/log-in.mjs +2 -0
- package/esm2022/src/lib/models/mainUser.mjs +2 -0
- package/esm2022/src/lib/models/oauth-resp.mjs +2 -0
- package/esm2022/src/lib/models/oauth-response.mjs +2 -0
- package/esm2022/src/lib/models/object-state.mjs +8 -0
- package/esm2022/src/lib/models/otpValue.mjs +2 -0
- package/esm2022/src/lib/models/paged.mjs +2 -0
- package/esm2022/src/lib/models/public-api.mjs +53 -0
- package/esm2022/src/lib/models/query-params.mjs +2 -0
- package/esm2022/src/lib/models/request-status.mjs +5 -0
- package/esm2022/src/lib/models/resend-otp-data.mjs +2 -0
- package/esm2022/src/lib/models/sign-up.mjs +2 -0
- package/esm2022/src/lib/models/single-sign-on.mjs +2 -0
- package/esm2022/src/lib/models/status.mjs +6 -0
- package/esm2022/src/lib/models/user-access-request-status.mjs +7 -0
- package/esm2022/src/lib/models/user-access-request.mjs +2 -0
- package/esm2022/src/lib/models/user.mjs +2 -0
- package/esm2022/src/lib/models/verben-authentication-ui-src-lib-models.mjs +5 -0
- package/esm2022/src/lib/pipes/async-label.pipe.mjs +25 -0
- package/esm2022/src/lib/pipes/index.mjs +2 -0
- package/esm2022/src/lib/pipes/public-api.mjs +2 -0
- package/esm2022/src/lib/pipes/verben-authentication-ui-src-lib-pipes.mjs +5 -0
- package/esm2022/src/lib/services/authorization.service.mjs +26 -0
- package/esm2022/src/lib/services/encryption.service.mjs +52 -0
- package/esm2022/src/lib/services/environment.service.mjs +26 -0
- package/esm2022/src/lib/services/http-web-request.service.mjs +85 -0
- package/esm2022/src/lib/services/import.service.mjs +248 -0
- package/esm2022/src/lib/services/index.mjs +2 -0
- package/esm2022/src/lib/services/label.service.mjs +134 -0
- package/esm2022/src/lib/services/public-api.mjs +8 -0
- package/esm2022/src/lib/services/util.service.mjs +55 -0
- package/esm2022/src/lib/services/verben-authentication-ui-src-lib-services.mjs +5 -0
- package/esm2022/src/lib/shared/index.mjs +2 -0
- package/esm2022/src/lib/shared/public-api.mjs +2 -0
- package/esm2022/src/lib/shared/shared.module.mjs +90 -0
- package/esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs +5 -0
- package/esm2022/src/utils/components/base-data-view.component.mjs +111 -0
- package/esm2022/src/utils/index.mjs +2 -0
- package/esm2022/src/utils/models/DataViewConfig.mjs +2 -0
- package/esm2022/src/utils/public-api.mjs +3 -0
- package/esm2022/src/utils/verben-authentication-ui-src-utils.mjs +5 -0
- package/fesm2022/verben-authentication-ui-src-lib-base.mjs +305 -0
- package/fesm2022/verben-authentication-ui-src-lib-base.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-auth-callback.mjs +79 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-auth-callback.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs +70 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs +128 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs +146 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs +94 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs +130 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs +131 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs +144 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs +1893 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs +363 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs +271 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs +462 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs +245 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs +113 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs +894 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs +1021 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-process.mjs +34 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-process.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs +355 -0
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-models.mjs +153 -0
- package/fesm2022/verben-authentication-ui-src-lib-models.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-pipes.mjs +32 -0
- package/fesm2022/verben-authentication-ui-src-lib-pipes.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-services.mjs +610 -0
- package/fesm2022/verben-authentication-ui-src-lib-services.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-lib-shared.mjs +97 -0
- package/fesm2022/verben-authentication-ui-src-lib-shared.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui-src-utils.mjs +118 -0
- package/fesm2022/verben-authentication-ui-src-utils.mjs.map +1 -0
- package/fesm2022/verben-authentication-ui.mjs +16 -6610
- package/fesm2022/verben-authentication-ui.mjs.map +1 -1
- package/package.json +146 -2
- package/public-api.d.ts +16 -34
- package/src/lib/base/base-data.component.d.ts +32 -0
- package/src/lib/base/base-data.facade.d.ts +27 -0
- package/src/lib/base/base-data.service.d.ts +14 -0
- package/src/lib/base/base-data.state.d.ts +28 -0
- package/src/lib/base/index.d.ts +1 -0
- package/src/lib/base/models.d.ts +11 -0
- package/src/lib/base/public-api.d.ts +5 -0
- package/src/lib/components/auth-callback/index.d.ts +1 -0
- package/src/lib/components/auth-callback/public-api.d.ts +2 -0
- package/src/lib/components/button/index.d.ts +1 -0
- package/src/lib/components/button/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/forgot-password/forgot-password.component.d.ts +4 -4
- package/src/lib/components/forgot-password/index.d.ts +1 -0
- package/src/lib/components/forgot-password/public-api.d.ts +3 -0
- package/src/lib/components/mail/index.d.ts +1 -0
- package/{lib → src/lib}/components/mail/mail.module.d.ts +1 -1
- package/src/lib/components/mail/public-api.d.ts +2 -0
- package/src/lib/components/mail-validation/index.d.ts +1 -0
- package/src/lib/components/mail-validation/public-api.d.ts +2 -0
- package/src/lib/components/o-auth/index.d.ts +1 -0
- package/{lib → src/lib}/components/o-auth/o-auth.component.d.ts +1 -1
- package/src/lib/components/o-auth/public-api.d.ts +2 -0
- package/src/lib/components/otp-input/index.d.ts +1 -0
- package/{lib → src/lib}/components/otp-input/otp-input.module.d.ts +2 -2
- package/src/lib/components/otp-input/public-api.d.ts +2 -0
- package/src/lib/components/reset-password/index.d.ts +1 -0
- package/src/lib/components/reset-password/public-api.d.ts +3 -0
- package/{lib → src/lib}/components/reset-password/reset-password.component.d.ts +4 -4
- package/{lib → src/lib}/components/role-control/MappedRole.d.ts +1 -1
- package/{lib → src/lib}/components/role-control/MappedRoleAction.d.ts +1 -1
- package/{lib → src/lib}/components/role-control/MappedRoleContext.d.ts +1 -1
- package/src/lib/components/role-control/index.d.ts +1 -0
- package/src/lib/components/role-control/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/role-control/role-control.component.d.ts +21 -13
- package/{lib → src/lib}/components/role-control/role-control.module.d.ts +1 -1
- package/src/lib/components/sign-in/index.d.ts +1 -0
- package/src/lib/components/sign-in/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/sign-in/sign-in.component.d.ts +10 -10
- package/{lib → src/lib}/components/sign-in/sign-in.module.d.ts +2 -2
- package/src/lib/components/sign-up/index.d.ts +1 -0
- package/src/lib/components/sign-up/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/sign-up/sign-up.component.d.ts +6 -6
- package/{lib → src/lib}/components/sign-up/sign-up.module.d.ts +2 -2
- package/src/lib/components/sso/helper.d.ts +2 -0
- package/src/lib/components/sso/index.d.ts +1 -0
- package/src/lib/components/sso/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/sso/sso.columns.d.ts +1 -1
- package/{lib → src/lib}/components/sso/sso.component.d.ts +1 -1
- package/src/lib/components/two-factor-auth-otp/index.d.ts +1 -0
- package/src/lib/components/two-factor-auth-otp/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +6 -6
- package/{lib → src/lib}/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +2 -2
- package/src/lib/components/two-factor-auth-setup/index.d.ts +1 -0
- package/src/lib/components/two-factor-auth-setup/public-api.d.ts +2 -0
- package/src/lib/components/user-management/index.d.ts +1 -0
- package/src/lib/components/user-management/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/user-management/services/user-management.service.d.ts +4 -4
- package/{lib/components/user-management/user-management-form/use-management-form.component.d.ts → src/lib/components/user-management/user-management-form/user-management-form.component.d.ts} +4 -4
- package/{lib → src/lib}/components/user-management/user-management.columns.d.ts +1 -1
- package/{lib → src/lib}/components/user-management/user-management.component.d.ts +11 -11
- package/{lib → src/lib}/components/user-management/user-management.module.d.ts +2 -2
- package/{lib → src/lib}/components/user-management/user-status-badge/user-status-badge.component.d.ts +1 -1
- package/src/lib/components/user-request/index.d.ts +1 -0
- package/src/lib/components/user-request/public-api.d.ts +2 -0
- package/{lib → src/lib}/components/user-request/user-request.component.d.ts +7 -7
- package/{lib → src/lib}/components/user-request/user-request.module.d.ts +1 -1
- package/{lib → src/lib}/components/user-request-approval/access-request.columns.d.ts +1 -1
- package/{lib → src/lib}/components/user-request-approval/facades/user-access-request.facade.d.ts +4 -4
- package/{lib → src/lib}/components/user-request-approval/helper.d.ts +1 -1
- package/src/lib/components/user-request-approval/index.d.ts +1 -0
- package/src/lib/components/user-request-approval/public-api.d.ts +4 -0
- package/{lib → src/lib}/components/user-request-approval/services/user-access-request.service.d.ts +6 -6
- package/{lib → src/lib}/components/user-request-approval/states/user-access-request.state.d.ts +3 -3
- package/{lib → src/lib}/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +1 -1
- package/{lib → src/lib}/components/user-request-approval/user-request-approval.component.d.ts +2 -2
- package/{lib → src/lib}/components/user-request-approval/user-request-approval.module.d.ts +1 -1
- package/{lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts → src/lib/components/user-request-approval/user-request-form/user-request-form.component.d.ts} +1 -1
- package/src/lib/components/user-request-process/index.d.ts +1 -0
- package/src/lib/components/user-request-process/public-api.d.ts +2 -0
- package/src/lib/components/user-request-process/user-request-process.component.d.ts +5 -0
- package/src/lib/components/user-request-process/user-request-process.module.d.ts +7 -0
- package/src/lib/models/FilterTypes.d.ts +6 -0
- package/src/lib/models/MailConfig.d.ts +12 -0
- package/src/lib/models/MessageConfig.d.ts +3 -0
- package/src/lib/models/MessageMedium.d.ts +4 -0
- package/src/lib/models/PeriodMode.d.ts +10 -0
- package/src/lib/models/ReportSchedule.d.ts +22 -0
- package/src/lib/models/ReportType.d.ts +5 -0
- package/src/lib/models/SMSConfig.d.ts +10 -0
- package/src/lib/models/TaskNotification.d.ts +12 -0
- package/src/lib/models/TaskNotificationMessageType.d.ts +4 -0
- package/src/lib/models/TaskNotificationType.d.ts +4 -0
- package/src/lib/models/Tenant.d.ts +21 -0
- package/{lib → src/lib}/models/UserRequest.d.ts +6 -9
- package/src/lib/models/index.d.ts +1 -0
- package/src/lib/models/public-api.d.ts +52 -0
- package/{lib → src/lib}/pipes/async-label.pipe.d.ts +1 -1
- package/src/lib/pipes/index.d.ts +1 -0
- package/src/lib/pipes/public-api.d.ts +1 -0
- package/src/lib/services/import.service.d.ts +15 -0
- package/src/lib/services/index.d.ts +1 -0
- package/src/lib/services/public-api.d.ts +7 -0
- package/src/lib/shared/index.d.ts +1 -0
- package/src/lib/shared/public-api.d.ts +1 -0
- package/{lib → src/lib}/shared/shared.module.d.ts +2 -2
- package/src/utils/components/base-data-view.component.d.ts +34 -0
- package/src/utils/index.d.ts +1 -0
- package/src/utils/models/DataViewConfig.d.ts +11 -0
- package/src/utils/public-api.d.ts +2 -0
- package/esm2022/lib/components/auth-callback/auth-callback.component.mjs +0 -57
- package/esm2022/lib/components/button/button.module.mjs +0 -20
- package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
- package/esm2022/lib/components/mail/mail.component.mjs +0 -69
- package/esm2022/lib/components/mail/mail.module.mjs +0 -21
- package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -107
- package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -86
- package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
- package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
- package/esm2022/lib/components/role-control/ChildrenType.mjs +0 -6
- package/esm2022/lib/components/role-control/MappedRole.mjs +0 -2
- package/esm2022/lib/components/role-control/MappedRoleAction.mjs +0 -2
- package/esm2022/lib/components/role-control/MappedRoleContext.mjs +0 -2
- package/esm2022/lib/components/role-control/UIActions.mjs +0 -7
- package/esm2022/lib/components/role-control/UIs.mjs +0 -40
- package/esm2022/lib/components/role-control/base-table-style.mjs +0 -53
- package/esm2022/lib/components/role-control/role-control.component.mjs +0 -1608
- package/esm2022/lib/components/role-control/role-control.module.mjs +0 -18
- package/esm2022/lib/components/role-control/role-control.service.mjs +0 -54
- package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -318
- package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
- package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -229
- package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
- package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
- package/esm2022/lib/components/sso/helper.mjs +0 -16
- package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
- package/esm2022/lib/components/sso/sso.component.mjs +0 -236
- package/esm2022/lib/components/sso/sso.module.mjs +0 -63
- package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -209
- package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
- package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
- package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
- package/esm2022/lib/components/user-management/services/user-management.service.mjs +0 -88
- package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -53
- package/esm2022/lib/components/user-management/user-management.module.mjs +0 -85
- package/esm2022/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +0 -26
- package/esm2022/lib/components/user-request/user-request.component.mjs +0 -320
- package/esm2022/lib/components/user-request/user-request.module.mjs +0 -38
- package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -29
- package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
- package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
- package/esm2022/lib/components/user-request-approval/helper.mjs +0 -56
- package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -93
- package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
- package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
- package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -83
- package/esm2022/lib/models/ApplicationRoleAction.mjs +0 -2
- package/esm2022/lib/models/ApplicationRoleContext.mjs +0 -2
- package/esm2022/lib/models/ErrorResponse.mjs +0 -11
- package/esm2022/lib/models/OAuthParam.mjs +0 -2
- package/esm2022/lib/models/OAuthType.mjs +0 -9
- package/esm2022/lib/models/PagedResult.mjs +0 -2
- package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
- package/esm2022/lib/models/PermissionConfig.mjs +0 -2
- package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
- package/esm2022/lib/models/Role.mjs +0 -2
- package/esm2022/lib/models/RoleAction.mjs +0 -2
- package/esm2022/lib/models/RoleContext.mjs +0 -2
- package/esm2022/lib/models/SearchDynamicWrapper.mjs +0 -2
- package/esm2022/lib/models/SearchOperator.mjs +0 -6
- package/esm2022/lib/models/SearchPropertySign.mjs +0 -11
- package/esm2022/lib/models/SearchPropertyValue.mjs +0 -2
- package/esm2022/lib/models/SearchPropertyValueType.mjs +0 -11
- package/esm2022/lib/models/SortDirection.mjs +0 -7
- package/esm2022/lib/models/Tag.mjs +0 -2
- package/esm2022/lib/models/TenantConfig.mjs +0 -2
- package/esm2022/lib/models/UserRequest.mjs +0 -2
- package/esm2022/lib/models/auth-mechanism.mjs +0 -8
- package/esm2022/lib/models/base.mjs +0 -2
- package/esm2022/lib/models/conditions.mjs +0 -13
- package/esm2022/lib/models/log-in.mjs +0 -2
- package/esm2022/lib/models/mainUser.mjs +0 -2
- package/esm2022/lib/models/oauth-resp.mjs +0 -2
- package/esm2022/lib/models/oauth-response.mjs +0 -2
- package/esm2022/lib/models/object-state.mjs +0 -8
- package/esm2022/lib/models/otpValue.mjs +0 -2
- package/esm2022/lib/models/paged.mjs +0 -2
- package/esm2022/lib/models/query-params.mjs +0 -2
- package/esm2022/lib/models/request-status.mjs +0 -5
- package/esm2022/lib/models/resend-otp-data.mjs +0 -2
- package/esm2022/lib/models/sign-up.mjs +0 -2
- package/esm2022/lib/models/single-sign-on.mjs +0 -2
- package/esm2022/lib/models/status.mjs +0 -6
- package/esm2022/lib/models/user-access-request-status.mjs +0 -7
- package/esm2022/lib/models/user-access-request.mjs +0 -2
- package/esm2022/lib/models/user.mjs +0 -2
- package/esm2022/lib/pipes/async-label.pipe.mjs +0 -25
- package/esm2022/lib/services/authorization.service.mjs +0 -26
- package/esm2022/lib/services/encryption.service.mjs +0 -52
- package/esm2022/lib/services/environment.service.mjs +0 -26
- package/esm2022/lib/services/http-web-request.service.mjs +0 -85
- package/esm2022/lib/services/label.service.mjs +0 -134
- package/esm2022/lib/services/util.service.mjs +0 -55
- package/esm2022/lib/shared/shared.module.mjs +0 -84
- package/lib/components/sso/helper.d.ts +0 -2
- /package/{lib → src/lib}/components/auth-callback/auth-callback.component.d.ts +0 -0
- /package/{lib → src/lib}/components/auth-callback/auth-callback.module.d.ts +0 -0
- /package/{lib → src/lib}/components/button/button.component.d.ts +0 -0
- /package/{lib → src/lib}/components/button/button.module.d.ts +0 -0
- /package/{lib → src/lib}/components/forgot-password/ForgotPasswordData.d.ts +0 -0
- /package/{lib → src/lib}/components/forgot-password/forgot-password.module.d.ts +0 -0
- /package/{lib → src/lib}/components/mail/mail.component.d.ts +0 -0
- /package/{lib → src/lib}/components/mail-validation/mail-validation.component.d.ts +0 -0
- /package/{lib → src/lib}/components/mail-validation/mail-validation.module.d.ts +0 -0
- /package/{lib → src/lib}/components/o-auth/o-auth.module.d.ts +0 -0
- /package/{lib → src/lib}/components/otp-input/otp-input.component.d.ts +0 -0
- /package/{lib → src/lib}/components/reset-password/ResetPasswordData.d.ts +0 -0
- /package/{lib → src/lib}/components/reset-password/reset-password.module.d.ts +0 -0
- /package/{lib → src/lib}/components/role-control/ChildrenType.d.ts +0 -0
- /package/{lib → src/lib}/components/role-control/UIActions.d.ts +0 -0
- /package/{lib → src/lib}/components/role-control/UIs.d.ts +0 -0
- /package/{lib → src/lib}/components/role-control/base-table-style.d.ts +0 -0
- /package/{lib → src/lib}/components/role-control/role-control.service.d.ts +0 -0
- /package/{lib → src/lib}/components/sso/base-table-style.d.ts +0 -0
- /package/{lib → src/lib}/components/sso/sso-form/sso-form.component.d.ts +0 -0
- /package/{lib → src/lib}/components/sso/sso.module.d.ts +0 -0
- /package/{lib → src/lib}/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -0
- /package/{lib → src/lib}/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -0
- /package/{lib → src/lib}/components/user-management/base-table-style.d.ts +0 -0
- /package/{lib → src/lib}/components/user-request-approval/base-table-style.d.ts +0 -0
- /package/{lib → src/lib}/models/ApplicationRoleAction.d.ts +0 -0
- /package/{lib → src/lib}/models/ApplicationRoleContext.d.ts +0 -0
- /package/{lib → src/lib}/models/ErrorResponse.d.ts +0 -0
- /package/{lib → src/lib}/models/OAuthParam.d.ts +0 -0
- /package/{lib → src/lib}/models/OAuthType.d.ts +0 -0
- /package/{lib → src/lib}/models/PagedResult.d.ts +0 -0
- /package/{lib → src/lib}/models/PasswordRequestParam.d.ts +0 -0
- /package/{lib → src/lib}/models/PermissionConfig.d.ts +0 -0
- /package/{lib → src/lib}/models/ResponseKeyValue.d.ts +0 -0
- /package/{lib → src/lib}/models/Role.d.ts +0 -0
- /package/{lib → src/lib}/models/RoleAction.d.ts +0 -0
- /package/{lib → src/lib}/models/RoleContext.d.ts +0 -0
- /package/{lib → src/lib}/models/SearchDynamicWrapper.d.ts +0 -0
- /package/{lib → src/lib}/models/SearchOperator.d.ts +0 -0
- /package/{lib → src/lib}/models/SearchPropertySign.d.ts +0 -0
- /package/{lib → src/lib}/models/SearchPropertyValue.d.ts +0 -0
- /package/{lib → src/lib}/models/SearchPropertyValueType.d.ts +0 -0
- /package/{lib → src/lib}/models/SortDirection.d.ts +0 -0
- /package/{lib → src/lib}/models/Tag.d.ts +0 -0
- /package/{lib → src/lib}/models/TenantConfig.d.ts +0 -0
- /package/{lib → src/lib}/models/auth-mechanism.d.ts +0 -0
- /package/{lib → src/lib}/models/base.d.ts +0 -0
- /package/{lib → src/lib}/models/conditions.d.ts +0 -0
- /package/{lib → src/lib}/models/log-in.d.ts +0 -0
- /package/{lib → src/lib}/models/mainUser.d.ts +0 -0
- /package/{lib → src/lib}/models/oauth-resp.d.ts +0 -0
- /package/{lib → src/lib}/models/oauth-response.d.ts +0 -0
- /package/{lib → src/lib}/models/object-state.d.ts +0 -0
- /package/{lib → src/lib}/models/otpValue.d.ts +0 -0
- /package/{lib → src/lib}/models/paged.d.ts +0 -0
- /package/{lib → src/lib}/models/query-params.d.ts +0 -0
- /package/{lib → src/lib}/models/request-status.d.ts +0 -0
- /package/{lib → src/lib}/models/resend-otp-data.d.ts +0 -0
- /package/{lib → src/lib}/models/sign-up.d.ts +0 -0
- /package/{lib → src/lib}/models/single-sign-on.d.ts +0 -0
- /package/{lib → src/lib}/models/status.d.ts +0 -0
- /package/{lib → src/lib}/models/user-access-request-status.d.ts +0 -0
- /package/{lib → src/lib}/models/user-access-request.d.ts +0 -0
- /package/{lib → src/lib}/models/user.d.ts +0 -0
- /package/{lib → src/lib}/services/authorization.service.d.ts +0 -0
- /package/{lib → src/lib}/services/encryption.service.d.ts +0 -0
- /package/{lib → src/lib}/services/environment.service.d.ts +0 -0
- /package/{lib → src/lib}/services/http-web-request.service.d.ts +0 -0
- /package/{lib → src/lib}/services/label.service.d.ts +0 -0
- /package/{lib → src/lib}/services/util.service.d.ts +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export * from './ApplicationRoleAction';
|
|
2
|
+
export * from './ApplicationRoleContext';
|
|
3
|
+
export * from './auth-mechanism';
|
|
4
|
+
export * from './base';
|
|
5
|
+
export * from './conditions';
|
|
6
|
+
export * from './ErrorResponse';
|
|
7
|
+
export * from './FilterTypes';
|
|
8
|
+
export * from './log-in';
|
|
9
|
+
export * from './MailConfig';
|
|
10
|
+
export * from './mainUser';
|
|
11
|
+
export * from './MessageConfig';
|
|
12
|
+
export * from './MessageMedium';
|
|
13
|
+
export * from './oauth-resp';
|
|
14
|
+
export * from './oauth-response';
|
|
15
|
+
export * from './OAuthParam';
|
|
16
|
+
export * from './OAuthType';
|
|
17
|
+
export * from './object-state';
|
|
18
|
+
export * from './otpValue';
|
|
19
|
+
export * from './paged';
|
|
20
|
+
export * from './PagedResult';
|
|
21
|
+
export * from './PasswordRequestParam';
|
|
22
|
+
export * from './PeriodMode';
|
|
23
|
+
export * from './PermissionConfig';
|
|
24
|
+
export * from './query-params';
|
|
25
|
+
export * from './ReportSchedule';
|
|
26
|
+
export * from './ReportType';
|
|
27
|
+
export * from './request-status';
|
|
28
|
+
export * from './resend-otp-data';
|
|
29
|
+
export * from './ResponseKeyValue';
|
|
30
|
+
export * from './Role';
|
|
31
|
+
export * from './RoleAction';
|
|
32
|
+
export * from './RoleContext';
|
|
33
|
+
export * from './SearchDynamicWrapper';
|
|
34
|
+
export * from './SearchOperator';
|
|
35
|
+
export * from './SearchPropertySign';
|
|
36
|
+
export * from './SearchPropertyValue';
|
|
37
|
+
export * from './SearchPropertyValueType';
|
|
38
|
+
export * from './sign-up';
|
|
39
|
+
export * from './single-sign-on';
|
|
40
|
+
export * from './SMSConfig';
|
|
41
|
+
export * from './SortDirection';
|
|
42
|
+
export * from './status';
|
|
43
|
+
export * from './Tag';
|
|
44
|
+
export * from './TaskNotification';
|
|
45
|
+
export * from './TaskNotificationMessageType';
|
|
46
|
+
export * from './TaskNotificationType';
|
|
47
|
+
export * from './Tenant';
|
|
48
|
+
export * from './TenantConfig';
|
|
49
|
+
export * from './user-access-request';
|
|
50
|
+
export * from './user-access-request-status';
|
|
51
|
+
export * from './user';
|
|
52
|
+
export * from './UserRequest';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { LabelService } from '
|
|
3
|
+
import { LabelService } from 'verben-authentication-ui/src/lib/services';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class AsyncLabelPipe implements PipeTransform {
|
|
6
6
|
private labelService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public-api';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './async-label.pipe';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HttpWebRequestService } from './http-web-request.service';
|
|
2
|
+
import { BaseModel } from 'verben-authentication-ui/src/lib/models';
|
|
3
|
+
import { PagedResult } from 'verben-authentication-ui/src/lib/models';
|
|
4
|
+
import { UtilService } from './util.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ImportService<T extends BaseModel> {
|
|
7
|
+
private utilService;
|
|
8
|
+
private server;
|
|
9
|
+
constructor(utilService: UtilService, server: HttpWebRequestService);
|
|
10
|
+
onComplete(event: any[], defaults: T, endpoint: string | null, baseUrl: string, entity: string, updateCallback: (items: T[]) => void, pagedState?: PagedResult<T> | null, stringProps?: (keyof T)[], numberProps?: (keyof T)[], datePropsExtras?: (keyof T)[]): void;
|
|
11
|
+
saveImportedDataBatch(items: T[], endpoint: string | null, baseUrl: string, entity: string, updateCallback: (items: T[]) => void, pagedState?: PagedResult<T> | null): Promise<void>;
|
|
12
|
+
excelSerialToDate(serial: number): Date;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ImportService<any>, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ImportService<any>>;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public-api';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './authorization.service';
|
|
2
|
+
export * from './encryption.service';
|
|
3
|
+
export * from './environment.service';
|
|
4
|
+
export * from './http-web-request.service';
|
|
5
|
+
export * from './import.service';
|
|
6
|
+
export * from './label.service';
|
|
7
|
+
export * from './util.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public-api';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './shared.module';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "@angular/common";
|
|
3
|
-
import * as i2 from "
|
|
3
|
+
import * as i2 from "verben-authentication-ui/src/lib/pipes";
|
|
4
4
|
import * as i3 from "verben-ng-ui";
|
|
5
5
|
import * as i4 from "@angular/forms";
|
|
6
6
|
export declare class SharedModule {
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.AsyncLabelPipe], [typeof i1.CommonModule, typeof i3.DataTableModule, typeof i3.CardModule, typeof i3.SvgModule, typeof i3.DataViewModule, typeof i3.CardDataViewModule, typeof i3.SortTableModule, typeof i3.VisibleColumnModule, typeof i3.TableFilterModule, typeof i3.DataExportModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i3.VerbenaInputModule, typeof i3.VerbenaButtonModule, typeof i3.VerbenaBadgeModule, typeof i3.VerbenDialogueModule, typeof i3.DropDownModule, typeof i3.VerbenaTextareaModule, typeof i3.VerbenaSwitchModule, typeof i3.VerbenPopUpModule, typeof i3.ChipModule, typeof i2.AsyncLabelPipe]>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.AsyncLabelPipe], [typeof i1.CommonModule, typeof i3.DataTableModule, typeof i3.CardModule, typeof i3.SvgModule, typeof i3.DataViewModule, typeof i3.CardDataViewModule, typeof i3.SortTableModule, typeof i3.VisibleColumnModule, typeof i3.TableFilterModule, typeof i3.DataExportModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i3.VerbenaInputModule, typeof i3.VerbenaButtonModule, typeof i3.VerbenaBadgeModule, typeof i3.VerbenDialogueModule, typeof i3.DropDownModule, typeof i3.VerbenaTextareaModule, typeof i3.VerbenaSwitchModule, typeof i3.VerbenPopUpModule, typeof i3.ChipModule, typeof i2.AsyncLabelPipe, typeof i3.DataXportModule, typeof i3.DataImportModule]>;
|
|
9
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
|
|
10
10
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { CardData, CardDataViewComponent, DataViewComponent, IDataFilter } from 'verben-ng-ui';
|
|
3
|
+
import { DataViewConfig } from '../models/DataViewConfig';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare abstract class BaseDataViewComponent<T> implements OnInit {
|
|
6
|
+
cardDataView: CardDataViewComponent;
|
|
7
|
+
dataView: DataViewComponent;
|
|
8
|
+
abstract config: DataViewConfig<T>;
|
|
9
|
+
data: import("@angular/core").WritableSignal<T[]>;
|
|
10
|
+
cardData: import("@angular/core").Signal<CardData[]>;
|
|
11
|
+
currentData: CardData | null;
|
|
12
|
+
isGridView: boolean;
|
|
13
|
+
selected: CardData | null;
|
|
14
|
+
visibleColumns: IDataFilter[];
|
|
15
|
+
filterArray: IDataFilter[];
|
|
16
|
+
sortOptions: IDataFilter[];
|
|
17
|
+
selectedColumnCount: number;
|
|
18
|
+
selectedFilterTableCount: number;
|
|
19
|
+
selectedSortCount: number;
|
|
20
|
+
constructor();
|
|
21
|
+
ngOnInit(): void;
|
|
22
|
+
protected loadInitialData(): void;
|
|
23
|
+
private initializeConfig;
|
|
24
|
+
openDetailView(identifier: any): void;
|
|
25
|
+
private resetSelections;
|
|
26
|
+
protected abstract getCardDataByIdentifier(identifier: any): CardData | undefined;
|
|
27
|
+
downloadCSV(data: Partial<any>[]): void;
|
|
28
|
+
onViewChange(isGridView: boolean): void;
|
|
29
|
+
onColumnsUpdated(updatedColumns: IDataFilter[]): void;
|
|
30
|
+
onSortUpdated(updatedSorts: IDataFilter[]): void;
|
|
31
|
+
onSelectionChange(selectedRows: T[]): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseDataViewComponent<any>, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseDataViewComponent<any>, "ng-component", never, {}, {}, never, never, false, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public-api';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CardData, ColumnDefinition, IDataFilter } from 'verben-ng-ui';
|
|
2
|
+
export interface DataViewConfig<T> {
|
|
3
|
+
dataSource: T[];
|
|
4
|
+
columns: ColumnDefinition<T>[];
|
|
5
|
+
cardDataMapper: (item: T) => CardData;
|
|
6
|
+
filterOptions?: IDataFilter[];
|
|
7
|
+
sortOptions?: IDataFilter[];
|
|
8
|
+
onDetailView?: (item: T) => void;
|
|
9
|
+
onApprove?: (item: T) => void;
|
|
10
|
+
onDelete?: (item: T) => void;
|
|
11
|
+
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/router";
|
|
4
|
-
export class AuthCallbackComponent {
|
|
5
|
-
router;
|
|
6
|
-
route;
|
|
7
|
-
code = '';
|
|
8
|
-
previousUrl = '';
|
|
9
|
-
type = '';
|
|
10
|
-
redirectText;
|
|
11
|
-
constructor(router, route) {
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.route = route;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.getType();
|
|
17
|
-
this.handleRedirect();
|
|
18
|
-
}
|
|
19
|
-
getType() {
|
|
20
|
-
const data = localStorage.getItem('type');
|
|
21
|
-
if (data) {
|
|
22
|
-
this.type = JSON.parse(data);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
handleRedirect() {
|
|
26
|
-
const params = new URLSearchParams(window.location.search);
|
|
27
|
-
const code = params.get('code');
|
|
28
|
-
const stateParam = params.get('state');
|
|
29
|
-
console.log({ code: code, state: stateParam }, 'data');
|
|
30
|
-
if (code && stateParam) {
|
|
31
|
-
try {
|
|
32
|
-
const state = JSON.parse(decodeURIComponent(stateParam));
|
|
33
|
-
// const returnTo = state.returnTo || '/';
|
|
34
|
-
const splitStateArray = state.returnTo.split('?');
|
|
35
|
-
const returnTo = splitStateArray.length > 0 ? splitStateArray[0] : state.returnTo;
|
|
36
|
-
const queryParams = { code };
|
|
37
|
-
if (this.type) {
|
|
38
|
-
queryParams.type = this.type;
|
|
39
|
-
}
|
|
40
|
-
this.router.navigate([returnTo], { queryParams });
|
|
41
|
-
// this.router.navigate([returnTo], { queryParams: { code } });
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
const msg = e;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthCallbackComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthCallbackComponent, selector: "verben-auth-callback", inputs: { redirectText: "redirectText" }, ngImport: i0, template: "<section class=\"wrapper\"> \n <div class=\"flexWrapper\"> \n <p class=\"{{redirectText}}\">Redirecting ...</p>\n <div class=\"loader\"></div>\n </div>\n</section>", styles: [".wrapper{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.flexWrapper{display:flex;align-items:center;justify-content:center}.loader{border:2px solid white;border-radius:50%;border-top:2px solid black;width:40px;height:40px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] });
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthCallbackComponent, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{ selector: 'verben-auth-callback', template: "<section class=\"wrapper\"> \n <div class=\"flexWrapper\"> \n <p class=\"{{redirectText}}\">Redirecting ...</p>\n <div class=\"loader\"></div>\n </div>\n</section>", styles: [".wrapper{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.flexWrapper{display:flex;align-items:center;justify-content:center}.loader{border:2px solid white;border-radius:50%;border-top:2px solid black;width:40px;height:40px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
54
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { redirectText: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jYWxsYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtY2FsbGJhY2svYXV0aC1jYWxsYmFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtY2FsbGJhY2svYXV0aC1jYWxsYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxxQkFBcUI7SUFNWjtJQUNWO0lBTlYsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVCxZQUFZLENBQVM7SUFFOUIsWUFBb0IsTUFBYyxFQUN4QixLQUFxQjtRQURYLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFDNUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDUCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3pDLElBQUcsSUFBSSxFQUFDLENBQUM7WUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsQ0FBQztJQUNELENBQUM7SUFDRCxjQUFjO1FBQ1osTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLFVBQVUsRUFBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBR2pELElBQUksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQztnQkFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELDBDQUEwQztnQkFDMUMsTUFBTSxlQUFlLEdBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQzVFLE1BQU0sV0FBVyxHQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNkLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQztnQkFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDaEQsK0RBQStEO1lBQ2pFLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNaLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQTtZQUNkLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt3R0E3Q1UscUJBQXFCOzRGQUFyQixxQkFBcUIsc0dDUmxDLHlMQUtVOzs0RkRHRyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usc0JBQXNCO3dHQVF2QixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWF1dGgtY2FsbGJhY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1jYWxsYmFjay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdXRoLWNhbGxiYWNrLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhDYWxsYmFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvZGU6IHN0cmluZyA9ICcnO1xuICBwcmV2aW91c1VybDogc3RyaW5nID0gJyc7XG4gIHR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZWRpcmVjdFRleHQ/OnN0cmluZztcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0VHlwZSgpXG4gICAgdGhpcy5oYW5kbGVSZWRpcmVjdCgpO1xuICB9XG4gXG4gIGdldFR5cGUoKXsgXG4gIGNvbnN0IGRhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndHlwZScpXG4gIGlmKGRhdGEpeyBcbiAgICB0aGlzLnR5cGUgPSBKU09OLnBhcnNlKGRhdGEpXG4gIH1cbiAgfVxuICBoYW5kbGVSZWRpcmVjdCgpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIGNvbnN0IGNvZGUgPSBwYXJhbXMuZ2V0KCdjb2RlJyk7XG4gICAgY29uc3Qgc3RhdGVQYXJhbSA9IHBhcmFtcy5nZXQoJ3N0YXRlJyk7XG4gIGNvbnNvbGUubG9nKHtjb2RlOmNvZGUsIHN0YXRlOnN0YXRlUGFyYW19LCAnZGF0YScpO1xuICBcblxuICAgIGlmIChjb2RlICYmIHN0YXRlUGFyYW0pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoc3RhdGVQYXJhbSkpO1xuICAgICAgICAvLyBjb25zdCByZXR1cm5UbyA9IHN0YXRlLnJldHVyblRvIHx8ICcvJztcbiAgICAgICAgY29uc3Qgc3BsaXRTdGF0ZUFycmF5PXN0YXRlLnJldHVyblRvLnNwbGl0KCc/Jyk7XG4gICAgICAgIGNvbnN0IHJldHVyblRvID0gc3BsaXRTdGF0ZUFycmF5Lmxlbmd0aD4wP3NwbGl0U3RhdGVBcnJheVswXTpzdGF0ZS5yZXR1cm5UbztcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXM6IGFueSA9IHsgY29kZSB9O1xuICAgICAgaWYgKHRoaXMudHlwZSkge1xuICAgICAgICBxdWVyeVBhcmFtcy50eXBlID0gdGhpcy50eXBlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmV0dXJuVG9dLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmV0dXJuVG9dLCB7IHF1ZXJ5UGFyYW1zOiB7IGNvZGUgfSB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICBjb25zdCBtc2cgPSBlXG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJ3cmFwcGVyXCI+IFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4V3JhcHBlclwiPiBcbiAgICAgICAgPHAgY2xhc3M9XCJ7e3JlZGlyZWN0VGV4dH19XCI+UmVkaXJlY3RpbmcgLi4uPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+Il19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { VerbenaButtonModule } from 'verben-ng-ui';
|
|
4
|
-
import { ButtonComponent } from './button.component';
|
|
5
|
-
import { FormsModule } from '@angular/forms';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ButtonModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, declarations: [ButtonComponent], imports: [CommonModule, VerbenaButtonModule, FormsModule], exports: [ButtonComponent] });
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, imports: [CommonModule, VerbenaButtonModule, FormsModule] });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonModule, decorators: [{
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [ButtonComponent],
|
|
16
|
-
imports: [CommonModule, VerbenaButtonModule, FormsModule],
|
|
17
|
-
exports: [ButtonComponent]
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxZQUFZO3dHQUFaLFlBQVk7eUdBQVosWUFBWSxpQkFKUixlQUFlLGFBQ3BCLFlBQVksRUFBQyxtQkFBbUIsRUFBQyxXQUFXLGFBQzVDLGVBQWU7eUdBRWQsWUFBWSxZQUhiLFlBQVksRUFBQyxtQkFBbUIsRUFBQyxXQUFXOzs0RkFHM0MsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBQyxtQkFBbUIsRUFBQyxXQUFXLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZlcmJlbmFCdXR0b25Nb2R1bGUgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxWZXJiZW5hQnV0dG9uTW9kdWxlLEZvcm1zTW9kdWxlXSxcbiAgZXhwb3J0czogW0J1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uTW9kdWxlIHt9Il19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZ290UGFzc3dvcmREYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3Jnb3QtcGFzc3dvcmQvRm9yZ290UGFzc3dvcmREYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZvcmdvdFBhc3N3b3JkRGF0YSB7XG4gIEVtYWlsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../button/button.component";
|
|
5
|
-
export class MailComponent {
|
|
6
|
-
customClass = '';
|
|
7
|
-
headlingClass = '';
|
|
8
|
-
width = '';
|
|
9
|
-
maxWidth = '';
|
|
10
|
-
margin = '';
|
|
11
|
-
pd = '';
|
|
12
|
-
bgColor = '#fff';
|
|
13
|
-
boxShadow = '4px 4px 4px rgba(0, 0, 0, 0.25)';
|
|
14
|
-
border = '1px solid #66666680';
|
|
15
|
-
borderRadius = '24px';
|
|
16
|
-
textColor = '#333';
|
|
17
|
-
height = 'auto';
|
|
18
|
-
buttonClick = new EventEmitter();
|
|
19
|
-
goToLogin() {
|
|
20
|
-
this.buttonClick.emit();
|
|
21
|
-
}
|
|
22
|
-
get styles() {
|
|
23
|
-
return {
|
|
24
|
-
'background-color': this.bgColor,
|
|
25
|
-
'box-shadow': this.boxShadow,
|
|
26
|
-
'border': this.border,
|
|
27
|
-
'border-radius': this.borderRadius,
|
|
28
|
-
'color': this.textColor,
|
|
29
|
-
'width': this.width,
|
|
30
|
-
'max-width': this.maxWidth,
|
|
31
|
-
'margin': this.margin,
|
|
32
|
-
'height': this.height,
|
|
33
|
-
'padding': this.pd
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MailComponent, selector: "verben-mail-message", inputs: { customClass: "customClass", headlingClass: "headlingClass", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">Your e-mail has been verified!</h3>\n <lib-button \n text=\"Login\" \n buttonClass=\"\"\n (click)=\"goToLogin()\"\n ></lib-button> \n</section>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }] });
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ selector: 'verben-mail-message', template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">Your e-mail has been verified!</h3>\n <lib-button \n text=\"Login\" \n buttonClass=\"\"\n (click)=\"goToLogin()\"\n ></lib-button> \n</section>\n" }]
|
|
42
|
-
}], propDecorators: { customClass: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], headlingClass: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], width: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], maxWidth: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], margin: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], pd: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], bgColor: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], boxShadow: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], border: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], borderRadius: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], textColor: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], height: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], buttonClick: [{
|
|
67
|
-
type: Output
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL21haWwvbWFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL21haWwvbWFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZFLE1BQU0sT0FBTyxhQUFhO0lBQ2YsV0FBVyxHQUFXLEVBQUUsQ0FBQTtJQUN4QixhQUFhLEdBQVcsRUFBRSxDQUFBO0lBQzFCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQVcsaUNBQWlDLENBQUM7SUFDdEQsTUFBTSxHQUFXLHFCQUFxQixDQUFDO0lBQ3ZDLFlBQVksR0FBVyxNQUFNLENBQUM7SUFDOUIsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUMzQixNQUFNLEdBQVcsTUFBTSxDQUFDO0lBRXZCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNDLFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDaEMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzVCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDbEMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSztZQUNuQixXQUFXLEVBQUMsSUFBSSxDQUFDLFFBQVE7WUFDekIsUUFBUSxFQUFDLElBQUksQ0FBQyxNQUFNO1lBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNyQixTQUFTLEVBQUMsSUFBSSxDQUFDLEVBQUU7U0FDbEIsQ0FBQztJQUNKLENBQUM7d0dBakNVLGFBQWE7NEZBQWIsYUFBYSxvWENWMUIsd1FBV0E7OzRGRERhLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UscUJBQXFCOzhCQU90QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tbWFpbC1tZXNzYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWFpbC5jb21wb25lbnQuY3NzJ1xufSlcblxuXG5leHBvcnQgY2xhc3MgTWFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBoZWFkbGluZ0NsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWFyZ2luOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZ29Ub0xvZ2luKCl7IFxuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpXG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICAnYm9yZGVyJzogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgJ2NvbG9yJzogdGhpcy50ZXh0Q29sb3IsXG4gICAgICAnd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6dGhpcy5tYXhXaWR0aCxcbiAgICAgICdtYXJnaW4nOnRoaXMubWFyZ2luLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaGVpZ2h0LFxuICAgICAgJ3BhZGRpbmcnOnRoaXMucGRcbiAgICB9O1xuICB9XG5cbn1cblxuIiwiPHNlY3Rpb25cbltuZ1N0eWxlXT1cInN0eWxlc1wiXG5jbGFzcz1cInt7IGN1c3RvbUNsYXNzIH19XCJcbj5cbiAgICA8aDMgY2xhc3M9XCJ7e2hlYWRsaW5nQ2xhc3N9fVwiPllvdXIgZS1tYWlsIGhhcyBiZWVuIHZlcmlmaWVkITwvaDM+XG4gICAgPGxpYi1idXR0b24gXG4gICAgdGV4dD1cIkxvZ2luXCIgXG4gICAgYnV0dG9uQ2xhc3M9XCJcIlxuICAgIChjbGljayk9XCJnb1RvTG9naW4oKVwiXG4gICAgPjwvbGliLWJ1dHRvbj4gICBcbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { RouterLink } from '@angular/router';
|
|
5
|
-
import { ButtonModule } from '../button/button.module';
|
|
6
|
-
import { MailComponent } from './mail.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class MailModule {
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MailModule, declarations: [MailComponent], imports: [CommonModule, FormsModule, RouterLink, ButtonModule], exports: [MailComponent] });
|
|
11
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailModule, imports: [CommonModule, FormsModule, ButtonModule] });
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MailModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
declarations: [MailComponent],
|
|
17
|
-
imports: [CommonModule, FormsModule, RouterLink, ButtonModule],
|
|
18
|
-
exports: [MailComponent]
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL21haWwvbWFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9qRCxNQUFNLE9BQU8sVUFBVTt3R0FBVixVQUFVO3lHQUFWLFVBQVUsaUJBSkosYUFBYSxhQUNwQixZQUFZLEVBQUUsV0FBVyxFQUFDLFVBQVUsRUFBQyxZQUFZLGFBQ2pELGFBQWE7eUdBRVosVUFBVSxZQUhYLFlBQVksRUFBRSxXQUFXLEVBQVksWUFBWTs7NEZBR2hELFVBQVU7a0JBTHRCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLFVBQVUsRUFBQyxZQUFZLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IE1haWxDb21wb25lbnQgfSBmcm9tICcuL21haWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtNYWlsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsUm91dGVyTGluayxCdXR0b25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTWFpbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbE1vZHVsZSB7fSJdfQ==
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { MechanismType } from '../../models/auth-mechanism';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/router";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "verben-ng-ui";
|
|
7
|
-
export class OAuthComponent {
|
|
8
|
-
router;
|
|
9
|
-
showGoogle = false;
|
|
10
|
-
showMicrosoft = false;
|
|
11
|
-
showApple = false;
|
|
12
|
-
authMechanisms = null;
|
|
13
|
-
emitMechanismFn = new EventEmitter();
|
|
14
|
-
page = '';
|
|
15
|
-
type = '';
|
|
16
|
-
constructor(router) {
|
|
17
|
-
this.router = router;
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.loadPage();
|
|
21
|
-
this.loadGoogleScript();
|
|
22
|
-
if (this.authMechanisms !== null) {
|
|
23
|
-
this.authMechanisms = this.authMechanisms.filter((item) => item.AuthMechanism !== MechanismType.InApp);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
loadPage() {
|
|
27
|
-
this.page = this.router.url;
|
|
28
|
-
}
|
|
29
|
-
loadGoogleScript() {
|
|
30
|
-
if (!document.getElementById('google-jssdk')) {
|
|
31
|
-
const script = document.createElement('script');
|
|
32
|
-
script.src = 'https://accounts.google.com/gsi/client';
|
|
33
|
-
script.id = 'google-jssdk';
|
|
34
|
-
script.async = true;
|
|
35
|
-
script.defer = true;
|
|
36
|
-
script.onload = () => console.log('Google SDK loaded');
|
|
37
|
-
script.onerror = () => console.log('Error loading Google SDK');
|
|
38
|
-
document.head.appendChild(script);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
oAuthWithGoogle(data) {
|
|
42
|
-
this.type = data.AuthMechanism;
|
|
43
|
-
localStorage.setItem('type', JSON.stringify(this.type));
|
|
44
|
-
const redirectUri = encodeURIComponent(data.RedirectUri);
|
|
45
|
-
const scope = encodeURIComponent('openid email profile');
|
|
46
|
-
const responseType = 'code';
|
|
47
|
-
const state = encodeURIComponent(JSON.stringify({ returnTo: this.page }));
|
|
48
|
-
const authUrl = `https://accounts.google.com/o/oauth2/v2/auth?client_id=${data.ClientId}&redirect_uri=${redirectUri}&response_type=${responseType}&scope=${scope}&state=${state}`;
|
|
49
|
-
window.location.href = authUrl;
|
|
50
|
-
}
|
|
51
|
-
oAuthWithApple() { }
|
|
52
|
-
oAuthWithMicrosoft(data) {
|
|
53
|
-
this.type = data.AuthMechanism;
|
|
54
|
-
const cleanUrl = window.location.href.split('?')[0];
|
|
55
|
-
window.history.replaceState({}, document.title, cleanUrl); // Update the URL without reloading
|
|
56
|
-
localStorage.setItem('type', JSON.stringify(this.type));
|
|
57
|
-
const redirectUri = encodeURIComponent(data.RedirectUri);
|
|
58
|
-
const scope = encodeURIComponent('openid email profile');
|
|
59
|
-
const responseType = 'code';
|
|
60
|
-
const state = encodeURIComponent(JSON.stringify({ returnTo: this.page }));
|
|
61
|
-
// const authUrl = `https://login.microsoftonline.com/${data.TenantId}/oauth2/v2.0/authorize?client_id=${data.ClientId}&response_type=${responseType}&redirect_uri=${redirectUri}&response_mode=query&state=${state}`;
|
|
62
|
-
const authUrl = `https://login.microsoftonline.com/common/oauth2/v2.0/authorize
|
|
63
|
-
?client_id=${data.ClientId}
|
|
64
|
-
&response_type=${responseType}
|
|
65
|
-
&redirect_uri=${redirectUri}&scope=${scope}
|
|
66
|
-
&response_mode=query&state=${state}`;
|
|
67
|
-
window.location.href = authUrl;
|
|
68
|
-
}
|
|
69
|
-
checkForValue(value) {
|
|
70
|
-
switch (value) {
|
|
71
|
-
case MechanismType.Google:
|
|
72
|
-
return 'google-logo';
|
|
73
|
-
case MechanismType.Apple:
|
|
74
|
-
return 'apple-logo';
|
|
75
|
-
case MechanismType.MicrosoftAD:
|
|
76
|
-
return 'microsoft-logo';
|
|
77
|
-
default:
|
|
78
|
-
return '';
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
handleOauthClick(value) {
|
|
82
|
-
switch (value.AuthMechanism) {
|
|
83
|
-
case MechanismType.Google:
|
|
84
|
-
return this.oAuthWithGoogle(value);
|
|
85
|
-
break;
|
|
86
|
-
case MechanismType.Apple:
|
|
87
|
-
return this.oAuthWithApple();
|
|
88
|
-
break;
|
|
89
|
-
case MechanismType.MicrosoftAD:
|
|
90
|
-
return this.oAuthWithMicrosoft(value);
|
|
91
|
-
break;
|
|
92
|
-
default:
|
|
93
|
-
return '';
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuthComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OAuthComponent, selector: "verben-o-auth", inputs: { authMechanisms: "authMechanisms" }, outputs: { emitMechanismFn: "emitMechanismFn" }, ngImport: i0, template: "<section class=\"oauthWrapper\"> \n <div class=\"OrFlexWrapper\">\n <hr/>\n <span>OR</span>\n <hr/>\n </div>\n <div class=\"btnWrapper\">\n <div *ngFor=\"let btn of authMechanisms, let i = index\"> \n <verbena-button\n [svg]=\"checkForValue(btn.AuthMechanism)\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n [text]=\"'Continue with ' + btn.AuthMechanism\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n (click)=\"handleOauthClick(btn)\"\n ></verbena-button>\n </div> \n </div> \n</section>\n", styles: ["hr{height:1px;margin:0;border:1px solid #66666640;flex:1}.OR{margin:0 2px;color:#666}.oauthWrapper{display:flex;flex-direction:column;gap:12px}.btnWrapper{display:flex;flex-direction:column;gap:10px}.OrFlexWrapper{display:flex;align-items:center;gap:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }] });
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuthComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'verben-o-auth', template: "<section class=\"oauthWrapper\"> \n <div class=\"OrFlexWrapper\">\n <hr/>\n <span>OR</span>\n <hr/>\n </div>\n <div class=\"btnWrapper\">\n <div *ngFor=\"let btn of authMechanisms, let i = index\"> \n <verbena-button\n [svg]=\"checkForValue(btn.AuthMechanism)\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n [text]=\"'Continue with ' + btn.AuthMechanism\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n (click)=\"handleOauthClick(btn)\"\n ></verbena-button>\n </div> \n </div> \n</section>\n", styles: ["hr{height:1px;margin:0;border:1px solid #66666640;flex:1}.OR{margin:0 2px;color:#666}.oauthWrapper{display:flex;flex-direction:column;gap:12px}.btnWrapper{display:flex;flex-direction:column;gap:10px}.OrFlexWrapper{display:flex;align-items:center;gap:8px}\n"] }]
|
|
102
|
-
}], ctorParameters: () => [{ type: i1.Router }], propDecorators: { authMechanisms: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], emitMechanismFn: [{
|
|
105
|
-
type: Output
|
|
106
|
-
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hdXRoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvby1hdXRoL28tYXV0aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL28tYXV0aC9vLWF1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQWdCM0UsTUFBTSxPQUFPLGNBQWM7SUFTTDtJQVJwQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUNsQixjQUFjLEdBQTJCLElBQUksQ0FBQztJQUM3QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN2RCxJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLElBQUksR0FBVyxFQUFFLENBQUM7SUFFbEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXRDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQzlDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFB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ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aE1lY2hhbmlzbSwgTWVjaGFuaXNtVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRoLW1lY2hhbmlzbSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAtd2ViLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwuc2VydmljZSc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgZ29vZ2xlOiBhbnk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLW8tYXV0aCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vLWF1dGguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vby1hdXRoLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPQXV0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3dHb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd01pY3Jvc29mdDogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93QXBwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYXV0aE1lY2hhbmlzbXM6IEF1dGhNZWNoYW5pc21bXSB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgZW1pdE1lY2hhbmlzbUZuID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIHBhZ2U6IHN0cmluZyA9ICcnO1xuICB0eXBlOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZFBhZ2UoKTtcbiAgICB0aGlzLmxvYWRHb29nbGVTY3JpcHQoKTtcbiAgICBpZiAodGhpcy5hdXRoTWVjaGFuaXNtcyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5hdXRoTWVjaGFuaXNtcyA9IHRoaXMuYXV0aE1lY2hhbmlzbXMuZmlsdGVyKFxuICAgICAgICAoaXRlbSkgPT4gaXRlbS5BdXRoTWVjaGFuaXNtICE9PSBNZWNoYW5pc21UeXBlLkluQXBwXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRQYWdlKCkge1xuICAgIHRoaXMucGFnZSA9IHRoaXMucm91dGVyLnVybDtcbiAgfVxuXG4gIGxvYWRHb29nbGVTY3JpcHQoKTogdm9pZCB7XG4gICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlLWpzc2RrJykpIHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vZ3NpL2NsaWVudCc7XG4gICAgICBzY3JpcHQuaWQgPSAnZ29vZ2xlLWpzc2RrJztcbiAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICBzY3JpcHQuZGVmZXIgPSB0cnVlO1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IGNvbnNvbGUubG9nKCdHb29nbGUgU0RLIGxvYWRlZCcpO1xuICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoKSA9PiBjb25zb2xlLmxvZygnRXJyb3IgbG9hZGluZyBHb29nbGUgU0RLJyk7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfVxuICB9XG5cbiAgb0F1dGhXaXRoR29vZ2xlKGRhdGE6IEF1dGhNZWNoYW5pc20pIHtcbiAgICB0aGlzLnR5cGUgPSBkYXRhLkF1dGhNZWNoYW5pc207XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3R5cGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnR5cGUpKTtcbiAgICBjb25zdCByZWRpcmVjdFVyaSA9IGVuY29kZVVSSUNvbXBvbmVudChkYXRhLlJlZGlyZWN0VXJpKTtcbiAgICBjb25zdCBzY29wZSA9IGVuY29kZVVSSUNvbXBvbmVudCgnb3BlbmlkIGVtYWlsIHByb2ZpbGUnKTtcbiAgICBjb25zdCByZXNwb25zZVR5cGUgPSAnY29kZSc7XG4gICAgY29uc3Qgc3RhdGUgPSBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoeyByZXR1cm5UbzogdGhpcy5wYWdlIH0pKTtcbiAgICBjb25zdCBhdXRoVXJsID0gYGh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi92Mi9hdXRoP2NsaWVudF9pZD0ke2RhdGEuQ2xpZW50SWR9JnJlZGlyZWN0X3VyaT0ke3JlZGlyZWN0VXJpfSZyZXNwb25zZV90eXBlPSR7cmVzcG9uc2VUeXBlfSZzY29wZT0ke3Njb3BlfSZzdGF0ZT0ke3N0YXRlfWA7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBhdXRoVXJsO1xuICB9XG5cbiAgb0F1dGhXaXRoQXBwbGUoKSB7fVxuXG4gIG9BdXRoV2l0aE1pY3Jvc29mdChkYXRhOiBBdXRoTWVjaGFuaXNtKSB7XG4gICAgdGhpcy50eXBlID0gZGF0YS5BdXRoTWVjaGFuaXNtO1xuICAgIGNvbnN0IGNsZWFuVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVswXTtcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIGRvY3VtZW50LnRpdGxlLCBjbGVhblVybCk7ICAvLyBVcGRhdGUgdGhlIFVSTCB3aXRob3V0IHJlbG9hZGluZ1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0eXBlJywgSlNPTi5zdHJpbmdpZnkodGhpcy50eXBlKSk7XG4gICAgY29uc3QgcmVkaXJlY3RVcmkgPSBlbmNvZGVVUklDb21wb25lbnQoZGF0YS5SZWRpcmVjdFVyaSk7XG4gICAgY29uc3Qgc2NvcGUgPSBlbmNvZGVVUklDb21wb25lbnQoJ29wZW5pZCBlbWFpbCBwcm9maWxlJyk7XG4gICAgY29uc3QgcmVzcG9uc2VUeXBlID0gJ2NvZGUnO1xuICAgIGNvbnN0IHN0YXRlID0gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHsgcmV0dXJuVG86IHRoaXMucGFnZSB9KSk7XG4gICAgLy8gY29uc3QgYXV0aFVybCA9IGBodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vJHtkYXRhLlRlbmFudElkfS9vYXV0aDIvdjIuMC9hdXRob3JpemU/Y2xpZW50X2lkPSR7ZGF0YS5DbGllbnRJZH0mcmVzcG9uc2VfdHlwZT0ke3Jlc3BvbnNlVHlwZX0mcmVkaXJlY3RfdXJpPSR7cmVkaXJlY3RVcml9JnJlc3BvbnNlX21vZGU9cXVlcnkmc3RhdGU9JHtzdGF0ZX1gO1xuICAgIGNvbnN0IGF1dGhVcmwgPSBgaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vbi9vYXV0aDIvdjIuMC9hdXRob3JpemVcbj9jbGllbnRfaWQ9JHtkYXRhLkNsaWVudElkfVxuJnJlc3BvbnNlX3R5cGU9JHtyZXNwb25zZVR5cGV9XG4mcmVkaXJlY3RfdXJpPSR7cmVkaXJlY3RVcml9JnNjb3BlPSR7c2NvcGV9XG4mcmVzcG9uc2VfbW9kZT1xdWVyeSZzdGF0ZT0ke3N0YXRlfWA7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBhdXRoVXJsO1xuICB9XG5cbiAgY2hlY2tGb3JWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSBNZWNoYW5pc21UeXBlLkdvb2dsZTpcbiAgICAgICAgcmV0dXJuICdnb29nbGUtbG9nbyc7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuQXBwbGU6XG4gICAgICAgIHJldHVybiAnYXBwbGUtbG9nbyc7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuTWljcm9zb2Z0QUQ6XG4gICAgICAgIHJldHVybiAnbWljcm9zb2Z0LWxvZ28nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU9hdXRoQ2xpY2sodmFsdWU6IEF1dGhNZWNoYW5pc20pIHtcbiAgICBzd2l0Y2ggKHZhbHVlLkF1dGhNZWNoYW5pc20pIHtcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5Hb29nbGU6XG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoV2l0aEdvb2dsZSh2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBNZWNoYW5pc21UeXBlLkFwcGxlOlxuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aFdpdGhBcHBsZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5NaWNyb3NvZnRBRDpcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGhXaXRoTWljcm9zb2Z0KHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm9hdXRoV3JhcHBlclwiPiBcbiAgICA8ZGl2IGNsYXNzPVwiT3JGbGV4V3JhcHBlclwiPlxuICAgICAgICA8aHIvPlxuICAgICAgICA8c3Bhbj5PUjwvc3Bhbj5cbiAgICAgICAgPGhyLz5cbiAgICA8L2Rpdj5cbiAgICAgPGRpdiBjbGFzcz1cImJ0bldyYXBwZXJcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJ0biBvZiBhdXRoTWVjaGFuaXNtcywgbGV0IGkgPSBpbmRleFwiPiBcbiAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgIFtzdmddPVwiY2hlY2tGb3JWYWx1ZShidG4uQXV0aE1lY2hhbmlzbSlcIlxuICAgICAgICBbc3ZnSGVpZ2h0XT1cIjI0XCJcbiAgICAgICAgW3N2Z1dpZHRoXT1cIjI0XCJcbiAgICAgICAgW3RleHRdPVwiJ0NvbnRpbnVlIHdpdGggJyArIGJ0bi5BdXRoTWVjaGFuaXNtXCJcbiAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBib3JkZXI9XCIxcHggc29saWQgIzMzM1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjQwcHhcIlxuICAgICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIHN2Z1Bvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgIGJ1dHRvbkNsYXNzPVwiZm9udC1ub3JtYWwgdGV4dC1bMjRweF0gbGVhZGluZy1bMjkuMDVweF0gdGV4dC1bIzMzM10gbXQtMlwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVPYXV0aENsaWNrKGJ0bilcIlxuICAgICAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgIDwvZGl2PiBcbiAgICAgPC9kaXY+IFxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
export class OtpInputComponent {
|
|
7
|
-
fb;
|
|
8
|
-
length = 6;
|
|
9
|
-
otpClass = '';
|
|
10
|
-
otpChange = new EventEmitter();
|
|
11
|
-
otpForm;
|
|
12
|
-
constructor(fb) {
|
|
13
|
-
this.fb = fb;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.otpForm = this.fb.group({
|
|
17
|
-
otpArray: this.fb.array(Array(this.length).fill('').map(() => new FormControl('')))
|
|
18
|
-
});
|
|
19
|
-
this.otpArray.valueChanges.subscribe(() => {
|
|
20
|
-
this.emitOtp();
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
get otpArray() {
|
|
24
|
-
return this.otpForm.get('otpArray');
|
|
25
|
-
}
|
|
26
|
-
handleInput(event, index) {
|
|
27
|
-
let value = event.target.value;
|
|
28
|
-
// /\d/.test(value)
|
|
29
|
-
if (value.length > 0) {
|
|
30
|
-
value = value.toUpperCase();
|
|
31
|
-
this.otpArray.at(index).setValue(value);
|
|
32
|
-
if (index < this.length - 1) {
|
|
33
|
-
this.focusNextInput(index);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.otpArray.at(index).setValue('');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
handleKeydown(event, index) {
|
|
41
|
-
if (event.key === 'Backspace') {
|
|
42
|
-
const currentValue = this.otpArray.at(index).value;
|
|
43
|
-
if (currentValue) {
|
|
44
|
-
this.otpArray.at(index).setValue('');
|
|
45
|
-
}
|
|
46
|
-
else if (index > 0) {
|
|
47
|
-
this.focusPreviousInput(index);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
handlePaste(event) {
|
|
52
|
-
event.preventDefault();
|
|
53
|
-
const pastedData = (event.clipboardData?.getData('text') || '').toUpperCase();
|
|
54
|
-
const validData = pastedData.slice(0, this.length);
|
|
55
|
-
validData.split('').forEach((char, index) => {
|
|
56
|
-
this.otpArray.at(index).setValue(char);
|
|
57
|
-
});
|
|
58
|
-
const nextIndex = validData.length < this.length ? validData.length : this.length - 1;
|
|
59
|
-
this.focusNextInput(nextIndex - 1);
|
|
60
|
-
}
|
|
61
|
-
focusNextInput(index) {
|
|
62
|
-
const nextInput = document.getElementById(`otp-input-${index + 1}`);
|
|
63
|
-
nextInput?.focus();
|
|
64
|
-
}
|
|
65
|
-
focusPreviousInput(index) {
|
|
66
|
-
const prevInput = document.getElementById(`otp-input-${index - 1}`);
|
|
67
|
-
prevInput?.focus();
|
|
68
|
-
}
|
|
69
|
-
emitOtp() {
|
|
70
|
-
const otp = this.otpArray.value.join('');
|
|
71
|
-
this.otpChange.emit(otp);
|
|
72
|
-
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpInputComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OtpInputComponent, selector: "verben-otp-input", inputs: { length: "length", otpClass: "otpClass" }, outputs: { otpChange: "otpChange" }, ngImport: i0, template: "<form [formGroup]=\"otpForm\" >\n <div formArrayName=\"otpArray\" class=\"otp-container\">\n <input\n *ngFor=\"let control of otpArray.controls; let i = index\"\n [id]=\"'otp-input-' + i\"\n class=\"otp-input {{otpClass}}\"\n maxlength=\"1\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeydown($event, i)\"\n (paste)=\"handlePaste($event)\"\n [formControlName]=\"i\"\n type=\"text\"\n />\n </div>\n</form>\n", styles: [".otp-container{display:flex;gap:15px}.otp-input{width:50px;height:46px;text-align:center;font-size:1.5rem;border:1px solid #66666658;border-radius:12px}.otp-input:focus{border-color:#ffe681;outline:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }] });
|
|
75
|
-
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpInputComponent, decorators: [{
|
|
77
|
-
type: Component,
|
|
78
|
-
args: [{ selector: 'verben-otp-input', template: "<form [formGroup]=\"otpForm\" >\n <div formArrayName=\"otpArray\" class=\"otp-container\">\n <input\n *ngFor=\"let control of otpArray.controls; let i = index\"\n [id]=\"'otp-input-' + i\"\n class=\"otp-input {{otpClass}}\"\n maxlength=\"1\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeydown($event, i)\"\n (paste)=\"handlePaste($event)\"\n [formControlName]=\"i\"\n type=\"text\"\n />\n </div>\n</form>\n", styles: [".otp-container{display:flex;gap:15px}.otp-input{width:50px;height:46px;text-align:center;font-size:1.5rem;border:1px solid #66666658;border-radius:12px}.otp-input:focus{border-color:#ffe681;outline:none}\n"] }]
|
|
79
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { length: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], otpClass: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], otpChange: [{
|
|
84
|
-
type: Output
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RwLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvb3RwLWlucHV0L290cC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL290cC1pbnB1dC9vdHAtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQTBCLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBT2hGLE1BQU0sT0FBTyxpQkFBaUI7SUFPUjtJQU5YLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUNyQixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVqRCxPQUFPLENBQWE7SUFFcEIsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7SUFBRyxDQUFDO0lBRXZDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENB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LENBQUMsY0FBYyxDQUFDLGFBQWEsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxPQUFPO1FBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7d0dBOUVVLGlCQUFpQjs0RkFBakIsaUJBQWlCLGlKQ1I5QiwyZEFlQTs7NEZEUGEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGtCQUFrQjtnRkFLbkIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1vdHAtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3RwLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL290cC1pbnB1dC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBPdHBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxlbmd0aDogbnVtYmVyID0gNjtcbiAgQElucHV0KCkgb3RwQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgb3RwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgb3RwRm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm90cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG90cEFycmF5OiB0aGlzLmZiLmFycmF5KEFycmF5KHRoaXMubGVuZ3RoKS5maWxsKCcnKS5tYXAoKCkgPT4gbmV3IEZvcm1Db250cm9sKCcnKSkpXG4gICAgfSk7XG5cbiAgICB0aGlzLm90cEFycmF5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5lbWl0T3RwKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgb3RwQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5vdHBGb3JtLmdldCgnb3RwQXJyYXknKSBhcyBGb3JtQXJyYXk7XG4gIH1cblxuICBoYW5kbGVJbnB1dChldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgbGV0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG4gICAgLy8gL1xcZC8udGVzdCh2YWx1ZSlcbiAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgdGhpcy5vdHBBcnJheS5hdChpbmRleCkuc2V0VmFsdWUodmFsdWUpO1xuXG4gICAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5mb2N1c05leHRJbnB1dChpbmRleCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3RwQXJyYXkuYXQoaW5kZXgpLnNldFZhbHVlKCcnKTsgXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm90cEFycmF5LmF0KGluZGV4KS52YWx1ZTtcbiAgXG4gICAgICBpZiAoY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMub3RwQXJyYXkuYXQoaW5kZXgpLnNldFZhbHVlKCcnKTtcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0lucHV0KGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVQYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHBhc3RlZERhdGEgPSAoZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dCcpIHx8ICcnKS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IHZhbGlkRGF0YSA9IHBhc3RlZERhdGEuc2xpY2UoMCwgdGhpcy5sZW5ndGgpO1xuXG4gICAgdmFsaWREYXRhLnNwbGl0KCcnKS5mb3JFYWNoKChjaGFyLCBpbmRleCkgPT4ge1xuICAgICAgdGhpcy5vdHBBcnJheS5hdChpbmRleCkuc2V0VmFsdWUoY2hhcik7XG4gICAgfSk7XG5cbiAgICBjb25zdCBuZXh0SW5kZXggPSB2YWxpZERhdGEubGVuZ3RoIDwgdGhpcy5sZW5ndGggPyB2YWxpZERhdGEubGVuZ3RoIDogdGhpcy5sZW5ndGggLSAxO1xuICAgIHRoaXMuZm9jdXNOZXh0SW5wdXQobmV4dEluZGV4IC0gMSk7XG4gIH1cblxuXG4gIHByaXZhdGUgZm9jdXNOZXh0SW5wdXQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5leHRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBvdHAtaW5wdXQtJHtpbmRleCArIDF9YCk7XG4gICAgbmV4dElucHV0Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzSW5wdXQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHByZXZJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBvdHAtaW5wdXQtJHtpbmRleCAtIDF9YCk7XG4gICAgcHJldklucHV0Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0T3RwKCkge1xuICAgIGNvbnN0IG90cCA9IHRoaXMub3RwQXJyYXkudmFsdWUuam9pbignJyk7XG4gICAgdGhpcy5vdHBDaGFuZ2UuZW1pdChvdHApO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIm90cEZvcm1cIiA+XG4gIDxkaXYgZm9ybUFycmF5TmFtZT1cIm90cEFycmF5XCIgY2xhc3M9XCJvdHAtY29udGFpbmVyXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBvdHBBcnJheS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbaWRdPVwiJ290cC1pbnB1dC0nICsgaVwiXG4gICAgICBjbGFzcz1cIm90cC1pbnB1dCB7e290cENsYXNzfX1cIlxuICAgICAgbWF4bGVuZ3RoPVwiMVwiXG4gICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50LCBpKVwiXG4gICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKCRldmVudCwgaSlcIlxuICAgICAgKHBhc3RlKT1cImhhbmRsZVBhc3RlKCRldmVudClcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|