@arsedizioni/ars-utils 22.0.42 → 22.0.43
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/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +29 -29
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-help.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +5 -5
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +31 -31
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +22 -22
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/package.json +1 -1
- package/types/arsedizioni-ars-utils-clipper.ui.d.ts +1 -1
- package/types/arsedizioni-ars-utils-ui.d.ts +5 -5
|
@@ -5,7 +5,7 @@ import * as i1 from '@angular/material/button';
|
|
|
5
5
|
import { MatButtonModule } from '@angular/material/button';
|
|
6
6
|
import { EnvironmentService } from '@arsedizioni/ars-utils/core';
|
|
7
7
|
import * as i1$1 from '@arsedizioni/ars-utils/ui';
|
|
8
|
-
import { DialogService,
|
|
8
|
+
import { DialogService, FlexLayoutModule } from '@arsedizioni/ars-utils/ui';
|
|
9
9
|
import { MsalBroadcastService, MsalService, MSAL_INSTANCE, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG } from '@azure/msal-angular';
|
|
10
10
|
import { PublicClientApplication, BrowserCacheLocation, InteractionType, EventType } from '@azure/msal-browser';
|
|
11
11
|
import { filter } from 'rxjs';
|
|
@@ -275,11 +275,11 @@ class LoginOAuthOkMSComponent {
|
|
|
275
275
|
});
|
|
276
276
|
}
|
|
277
277
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LoginOAuthOkMSComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
278
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: LoginOAuthOkMSComponent, isStandalone: true, selector: "app-login-oauth-ok-ms", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div class=\"login-auto fade-in\">\r\n <div class=\"message\">\r\n Autenticazione in corso...\r\n </div>\r\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\r\n </div>\r\n</div>\r\n", styles: [".login-auto{padding:20px 0}.login-auto .message{font-size:large;font-weight:700;color:var(--ars-color-primary);max-width:300px;text-align:center;width:100%;padding:40px 0}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: LoginOAuthOkMSComponent, isStandalone: true, selector: "app-login-oauth-ok-ms", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div class=\"login-auto fade-in\">\r\n <div class=\"message\">\r\n Autenticazione in corso...\r\n </div>\r\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\r\n </div>\r\n</div>\r\n", styles: [".login-auto{padding:20px 0}.login-auto .message{font-size:large;font-weight:700;color:var(--ars-color-primary);max-width:300px;text-align:center;width:100%;padding:40px 0}\n"], dependencies: [{ kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i1$1.FxLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg], [fxLayout.sm-up], [fxLayout.md-up], [fxLayout.lg-up], [fxLayout.xl-up], [fxLayout.sm-down], [fxLayout.md-down], [fxLayout.lg-down] ", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg", "fxLayout.sm-up", "fxLayout.md-up", "fxLayout.lg-up", "fxLayout.xl-up", "fxLayout.sm-down", "fxLayout.md-down", "fxLayout.lg-down"] }, { kind: "directive", type: i1$1.FxLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg], [fxLayoutAlign.sm-up], [fxLayoutAlign.md-up], [fxLayoutAlign.lg-up], [fxLayoutAlign.xl-up], [fxLayoutAlign.sm-down], [fxLayoutAlign.md-down], [fxLayoutAlign.lg-down] ", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg", "fxLayoutAlign.sm-up", "fxLayoutAlign.md-up", "fxLayoutAlign.lg-up", "fxLayoutAlign.xl-up", "fxLayoutAlign.sm-down", "fxLayoutAlign.md-down", "fxLayoutAlign.lg-down"] }, { kind: "directive", type: i1$1.FxFlexFillDirective, selector: " [fxFlexFill], [fxFill], [fxFlexFill.xs], [fxFlexFill.sm], [fxFlexFill.md], [fxFlexFill.lg], [fxFlexFill.xl], [fxFlexFill.lt-sm], [fxFlexFill.lt-md], [fxFlexFill.lt-lg], [fxFlexFill.lt-xl], [fxFlexFill.gt-xs], [fxFlexFill.gt-sm], [fxFlexFill.gt-md], [fxFlexFill.gt-lg], [fxFlexFill.sm-up], [fxFlexFill.md-up], [fxFlexFill.lg-up], [fxFlexFill.xl-up], [fxFlexFill.sm-down], [fxFlexFill.md-down], [fxFlexFill.lg-down] ", inputs: ["fxFlexFill", "fxFill", "fxFlexFill.xs", "fxFlexFill.sm", "fxFlexFill.md", "fxFlexFill.lg", "fxFlexFill.xl", "fxFlexFill.lt-sm", "fxFlexFill.lt-md", "fxFlexFill.lt-lg", "fxFlexFill.lt-xl", "fxFlexFill.gt-xs", "fxFlexFill.gt-sm", "fxFlexFill.gt-md", "fxFlexFill.gt-lg", "fxFlexFill.sm-up", "fxFlexFill.md-up", "fxFlexFill.lg-up", "fxFlexFill.xl-up", "fxFlexFill.sm-down", "fxFlexFill.md-down", "fxFlexFill.lg-down"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
279
279
|
}
|
|
280
280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LoginOAuthOkMSComponent, decorators: [{
|
|
281
281
|
type: Component,
|
|
282
|
-
args: [{ selector: 'app-login-oauth-ok-ms', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
282
|
+
args: [{ selector: 'app-login-oauth-ok-ms', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexLayoutModule, MatProgressBarModule], template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div class=\"login-auto fade-in\">\r\n <div class=\"message\">\r\n Autenticazione in corso...\r\n </div>\r\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\r\n </div>\r\n</div>\r\n", styles: [".login-auto{padding:20px 0}.login-auto .message{font-size:large;font-weight:700;color:var(--ars-color-primary);max-width:300px;text-align:center;width:100%;padding:40px 0}\n"] }]
|
|
283
283
|
}], ctorParameters: () => [], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }] } });
|
|
284
284
|
|
|
285
285
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arsedizioni-ars-utils-ui.oauth.mjs","sources":["../../../projects/ars-utils/ui.oauth/ui/definitions.ts","../../../projects/ars-utils/ui.oauth/ui/components/login/login-oauth.component.ts","../../../projects/ars-utils/ui.oauth/ui/components/login/login-oauth.component.html","../../../projects/ars-utils/ui.oauth/ui/components/login-ok/ms/login-oauth-ok-ms.component.ts","../../../projects/ars-utils/ui.oauth/ui/components/login-ok/ms/login-oauth-ok-ms.component.html","../../../projects/ars-utils/ui.oauth/public_api.ts","../../../projects/ars-utils/ui.oauth/arsedizioni-ars-utils-ui.oauth.ts"],"sourcesContent":["export enum LoginOAuthType {\r\n None = 0,\r\n Microsoft = 1,\r\n Google = 2\r\n}\r\n\r\nexport interface LoginOAuthResult {\r\n type: LoginOAuthType,\r\n token: string\r\n}","import { ChangeDetectionStrategy, Component, DestroyRef, NgZone, afterNextRender, inject, input, output, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { EnvironmentService } from '@arsedizioni/ars-utils/core';\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\nimport { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalInterceptorConfiguration, MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult, BrowserCacheLocation, EventMessage, EventType, IPublicClientApplication, InteractionType, PublicClientApplication } from '@azure/msal-browser';\nimport { filter } from 'rxjs';\nimport { LoginOAuthResult, LoginOAuthType } from '../../definitions';\n\n/** Default Azure app registration — overridable via EnvironmentService. */\nconst DEFAULT_MS_CLIENT_ID = '6b2c080f-6ab0-4511-a9df-0bce69db5833';\nconst MS_AUTH_SCOPE = `api://${DEFAULT_MS_CLIENT_ID}/AngularSPAAuthScope`;\n\nexport function MSALInstanceFactory(environment: EnvironmentService): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: (environment as any).msalClientId ?? DEFAULT_MS_CLIENT_ID,\n authority: (environment as any).msalAuthority ?? 'https://login.microsoftonline.com/common',\n redirectUri: environment.appLoginRedirectUri,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage\n }\n });\n}\n\nexport function MSALInterceptorConfigFactory(environment: EnvironmentService): MsalInterceptorConfiguration {\n\n return {\n interactionType: InteractionType.Popup,\n protectedResourceMap: new Map([\n [environment.appServiceLoginUri, [MS_AUTH_SCOPE]],\n [\"https://graph.microsoft.com/v2.0/me\", [\"user.read\"]],\n ])\n };\n}\n\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Popup,\n authRequest: {\n scopes: [\"user.read\"]\n }\n };\n}\n\n@Component({\n selector: 'login-oauth',\n templateUrl: './login-oauth.component.html',\n styleUrls: ['./login-oauth.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MSAL_INSTANCE,\n deps: [EnvironmentService],\n useFactory: MSALInstanceFactory\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n deps: [EnvironmentService],\n useFactory: MSALInterceptorConfigFactory\n },\n MsalService,\n MsalBroadcastService],\n imports: [\n MatButtonModule\n ]\n})\nexport class LoginOAuthComponent {\n private readonly destroyRef = inject(DestroyRef);\n private readonly msalBroadcastService = inject(MsalBroadcastService);\n private readonly msaLService = inject(MsalService);\n private readonly dialogService = inject(DialogService);\n private readonly ngZone = inject(NgZone);\n /** Emitted when OAuth authentication succeeds. */\n readonly success = output<LoginOAuthResult>();\n /** Whether to show the introductory info panel. */\n readonly showInfo = input<boolean>(true);\n /** Application name displayed in the info panel. */\n readonly applicationName = input<string>();\n /** Whether to trigger `initialize()` automatically on mount. */\n readonly autoInitialize = input<boolean>(false);\n /** Whether the Microsoft login button is shown. */\n readonly allowMicrosoft = input<boolean>(true);\n /** Whether the Google login button is shown. */\n readonly allowGoogle = input<boolean>(true);\n /** Google OAuth client id. Override per deployment. */\n readonly googleClientId = input<string>('71204983077-ag31h3bgt2udcbfr9nn84r9rni2k3snp.apps.googleusercontent.com');\n /** MSAL access-token scope requested after login. */\n readonly msalScope = input<string>(MS_AUTH_SCOPE);\n protected readonly oauthReady = signal<boolean>(false);\n protected readonly oauthMicrosoftReady = signal<boolean>(false);\n protected readonly oauthGoogleReady = signal<boolean>(false);\n /** Hidden GSI button proxy, created once the Google library is ready. */\n private googleButtonWrapper?: { click: () => void };\n\n constructor() {\n\n this.msalBroadcastService.msalSubject$\n .pipe(\n filter((msg: EventMessage) =>\n msg.eventType === EventType.LOGOUT_FAILURE ||\n msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((r: EventMessage) => {\n if (r?.payload) {\n const error = r.payload as any;\n this.dialogService.error(error?.message ?? 'Errore di autenticazione Microsoft');\n }\n });\n\n afterNextRender(() => {\n if (this.autoInitialize()) {\n this.initialize();\n }\n });\n\n }\n\n /**\n * Initialize OAuth providers (Microsoft MSAL and Google GSI).\n * Safe to call multiple times — already-initialized providers are skipped.\n * Must be public so the host component can trigger it manually when `autoInitialize` is false.\n */\n initialize() {\n this.oauthReady.set(true);\n\n // Initialize the Microsoft stack only when allowed and not already done.\n if (this.allowMicrosoft() && !this.oauthMicrosoftReady()) {\n this.msaLService.initialize()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: () => this.oauthMicrosoftReady.set(true),\n error: (error: any) =>\n this.dialogService.error(error?.message ?? 'Errore di inizializzazione Microsoft'),\n });\n }\n\n // Load the Google GSI script only when allowed and not already done.\n if (this.allowGoogle() && !this.oauthGoogleReady()) {\n // @ts-ignore — define the callback BEFORE the script loads so GSI can find it\n window.onGoogleLibraryLoad = () => {\n // @ts-ignore\n google.accounts.id.initialize({\n client_id: this.googleClientId(),\n cancel_on_tap_outside: true,\n auto_select: false,\n callback: (r: any) => {\n this.ngZone.run(() => {\n this.success.emit({ type: LoginOAuthType.Google, token: r.credential });\n });\n }\n });\n\n this.googleButtonWrapper = createFakeGoogleWrapper();\n this.ngZone.run(() => this.oauthGoogleReady.set(true));\n };\n\n // Reuse the script tag if a previous instance already added it.\n const existing = document.querySelector<HTMLScriptElement>('script[data-gsi=\"ars\"]');\n if (existing) {\n // @ts-ignore — library already present: run the callback directly\n if (window.google?.accounts?.id) window.onGoogleLibraryLoad();\n } else {\n const script = document.createElement('script');\n script.src = 'https://accounts.google.com/gsi/client';\n script.async = true;\n script.defer = true;\n script.dataset['gsi'] = 'ars';\n script.onerror = () => this.ngZone.run(() =>\n this.dialogService.error('Impossibile caricare il servizio di accesso Google.'));\n // Append and LEAVE it in the DOM so the browser actually fetches it.\n document.body.appendChild(script);\n }\n }\n }\n\n /**\n * Trigger a Microsoft (MSAL) login popup and acquire an access token on success.\n */\n protected loginMSAL() {\n // Clear any in-progress interaction flag that may have been left by a previous incomplete popup\n sessionStorage.removeItem('msal.interaction.status');\n\n this.msaLService.loginPopup()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: (r: AuthenticationResult) => {\n try {\n this.msaLService.instance.setActiveAccount(r.account);\n this.msaLService.acquireTokenSilent({\n scopes: [this.msalScope()],\n account: r.account\n }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: (tokenResult: AuthenticationResult) => {\n this.success.emit({ type: LoginOAuthType.Microsoft, token: tokenResult.accessToken });\n },\n error: (error: any) => {\n this.dialogService.error(error.message);\n }\n });\n } catch (error: any) {\n this.dialogService.error(error.message);\n }\n },\n error: (error: any) => {\n this.dialogService.error(error.message);\n }\n });\n }\n\n /**\n * Trigger the hidden Google GSI button to open the Google sign-in flow.\n */\n protected loginGoogle() {\n // Use the wrapper click to avoid an \"Illegal invocation\" exception.\n // Guard: the button only exists once the GSI library has loaded.\n if (!this.googleButtonWrapper) {\n this.dialogService.error('Il servizio di accesso Google non è ancora pronto.');\n return;\n }\n this.googleButtonWrapper.click();\n }\n}\n\nconst createFakeGoogleWrapper = (): { click: () => void } => {\n const googleLoginWrapper = document.createElement(\"div\");\n googleLoginWrapper.style.display = \"none\";\n googleLoginWrapper.classList.add(\"custom-google-button\");\n document.body.appendChild(googleLoginWrapper);\n\n // Render the (invisible) GSI button inside our wrapper.\n // @ts-ignore\n window.google.accounts.id.renderButton(googleLoginWrapper, {\n type: \"icon\",\n width: \"200\",\n });\n\n const googleLoginWrapperButton =\n googleLoginWrapper.querySelector<HTMLElement>(\"div[role=button]\");\n\n return {\n click: () => googleLoginWrapperButton?.click(),\n };\n};\n\n","<div class=\"login-oauth\">\r\n @if(showInfo()) {\r\n <div class=\"message\">\r\n <p>Questa sezione consente di accedere al servizio utilizzando un provider OAuth2.</p>\r\n @if(applicationName()) {\r\n <p>La email utilizzata deve essere collegata ad un utente valido di {{applicationName()}} e dei servizi ad esso\r\n connessi.</p>\r\n }\r\n </div>\r\n }\r\n @if (allowMicrosoft()) {\r\n <div class=\"button\">\r\n <button mat-flat-button (click)=\"loginMSAL()\" aria-label=\"Effettua accesso\"\r\n [disabled]=\"!oauthMicrosoftReady()\" style=\"width: 100%;\">\r\n Accedi con Microsoft</button>\r\n </div>\r\n }\r\n @if (allowGoogle()) {\r\n <div class=\"button\">\r\n <button mat-flat-button (click)=\"loginGoogle()\" style=\"width: 100%;\"\r\n aria-label=\"Effettua accesso\" [disabled]=\"!oauthGoogleReady()\">\r\n Accedi con Google</button>\r\n </div>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { broadcastResponseToMainFrame } from '@azure/msal-browser/redirect-bridge';\nimport { FlexModule } from '@arsedizioni/ars-utils/ui';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n\n@Component({\n selector: 'app-login-oauth-ok-ms',\n styleUrls: ['./login-oauth-ok-ms.component.scss'],\n templateUrl: './login-oauth-ok-ms.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FlexModule, MatProgressBarModule]\n})\nexport class LoginOAuthOkMSComponent {\n\n /** Message displayed while the popup is completing authentication. */\n readonly message = input<string>('Accesso in corso...');\n\n constructor() {\n // MSAL v5 popup flow: parse the auth response from the URL and send\n // it back to the opener window via BroadcastChannel, then close the popup.\n // The promise can reject (e.g. COOP misconfiguration); log instead of\n // leaving an unhandled rejection that silently strands the popup.\n broadcastResponseToMainFrame().catch((error: unknown) => {\n console.error('Errore durante la comunicazione della risposta di autenticazione:', error);\n });\n }\n}\n","<div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div class=\"login-auto fade-in\">\r\n <div class=\"message\">\r\n Autenticazione in corso...\r\n </div>\r\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\r\n </div>\r\n</div>\r\n","/*\r\n * Public API Surface of scm-utils\r\n */\r\nexport * from './ui/definitions';\r\nexport * from './ui/components/index';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arsedizioni-ars-utils-ui.oauth.mjs","sources":["../../../projects/ars-utils/ui.oauth/ui/definitions.ts","../../../projects/ars-utils/ui.oauth/ui/components/login/login-oauth.component.ts","../../../projects/ars-utils/ui.oauth/ui/components/login/login-oauth.component.html","../../../projects/ars-utils/ui.oauth/ui/components/login-ok/ms/login-oauth-ok-ms.component.ts","../../../projects/ars-utils/ui.oauth/ui/components/login-ok/ms/login-oauth-ok-ms.component.html","../../../projects/ars-utils/ui.oauth/public_api.ts","../../../projects/ars-utils/ui.oauth/arsedizioni-ars-utils-ui.oauth.ts"],"sourcesContent":["export enum LoginOAuthType {\r\n None = 0,\r\n Microsoft = 1,\r\n Google = 2\r\n}\r\n\r\nexport interface LoginOAuthResult {\r\n type: LoginOAuthType,\r\n token: string\r\n}","import { ChangeDetectionStrategy, Component, DestroyRef, NgZone, afterNextRender, inject, input, output, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatButtonModule } from '@angular/material/button';\nimport { EnvironmentService } from '@arsedizioni/ars-utils/core';\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\nimport { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalInterceptorConfiguration, MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult, BrowserCacheLocation, EventMessage, EventType, IPublicClientApplication, InteractionType, PublicClientApplication } from '@azure/msal-browser';\nimport { filter } from 'rxjs';\nimport { LoginOAuthResult, LoginOAuthType } from '../../definitions';\n\n/** Default Azure app registration — overridable via EnvironmentService. */\nconst DEFAULT_MS_CLIENT_ID = '6b2c080f-6ab0-4511-a9df-0bce69db5833';\nconst MS_AUTH_SCOPE = `api://${DEFAULT_MS_CLIENT_ID}/AngularSPAAuthScope`;\n\nexport function MSALInstanceFactory(environment: EnvironmentService): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: (environment as any).msalClientId ?? DEFAULT_MS_CLIENT_ID,\n authority: (environment as any).msalAuthority ?? 'https://login.microsoftonline.com/common',\n redirectUri: environment.appLoginRedirectUri,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage\n }\n });\n}\n\nexport function MSALInterceptorConfigFactory(environment: EnvironmentService): MsalInterceptorConfiguration {\n\n return {\n interactionType: InteractionType.Popup,\n protectedResourceMap: new Map([\n [environment.appServiceLoginUri, [MS_AUTH_SCOPE]],\n [\"https://graph.microsoft.com/v2.0/me\", [\"user.read\"]],\n ])\n };\n}\n\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Popup,\n authRequest: {\n scopes: [\"user.read\"]\n }\n };\n}\n\n@Component({\n selector: 'login-oauth',\n templateUrl: './login-oauth.component.html',\n styleUrls: ['./login-oauth.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MSAL_INSTANCE,\n deps: [EnvironmentService],\n useFactory: MSALInstanceFactory\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n deps: [EnvironmentService],\n useFactory: MSALInterceptorConfigFactory\n },\n MsalService,\n MsalBroadcastService],\n imports: [\n MatButtonModule\n ]\n})\nexport class LoginOAuthComponent {\n private readonly destroyRef = inject(DestroyRef);\n private readonly msalBroadcastService = inject(MsalBroadcastService);\n private readonly msaLService = inject(MsalService);\n private readonly dialogService = inject(DialogService);\n private readonly ngZone = inject(NgZone);\n /** Emitted when OAuth authentication succeeds. */\n readonly success = output<LoginOAuthResult>();\n /** Whether to show the introductory info panel. */\n readonly showInfo = input<boolean>(true);\n /** Application name displayed in the info panel. */\n readonly applicationName = input<string>();\n /** Whether to trigger `initialize()` automatically on mount. */\n readonly autoInitialize = input<boolean>(false);\n /** Whether the Microsoft login button is shown. */\n readonly allowMicrosoft = input<boolean>(true);\n /** Whether the Google login button is shown. */\n readonly allowGoogle = input<boolean>(true);\n /** Google OAuth client id. Override per deployment. */\n readonly googleClientId = input<string>('71204983077-ag31h3bgt2udcbfr9nn84r9rni2k3snp.apps.googleusercontent.com');\n /** MSAL access-token scope requested after login. */\n readonly msalScope = input<string>(MS_AUTH_SCOPE);\n protected readonly oauthReady = signal<boolean>(false);\n protected readonly oauthMicrosoftReady = signal<boolean>(false);\n protected readonly oauthGoogleReady = signal<boolean>(false);\n /** Hidden GSI button proxy, created once the Google library is ready. */\n private googleButtonWrapper?: { click: () => void };\n\n constructor() {\n\n this.msalBroadcastService.msalSubject$\n .pipe(\n filter((msg: EventMessage) =>\n msg.eventType === EventType.LOGOUT_FAILURE ||\n msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((r: EventMessage) => {\n if (r?.payload) {\n const error = r.payload as any;\n this.dialogService.error(error?.message ?? 'Errore di autenticazione Microsoft');\n }\n });\n\n afterNextRender(() => {\n if (this.autoInitialize()) {\n this.initialize();\n }\n });\n\n }\n\n /**\n * Initialize OAuth providers (Microsoft MSAL and Google GSI).\n * Safe to call multiple times — already-initialized providers are skipped.\n * Must be public so the host component can trigger it manually when `autoInitialize` is false.\n */\n initialize() {\n this.oauthReady.set(true);\n\n // Initialize the Microsoft stack only when allowed and not already done.\n if (this.allowMicrosoft() && !this.oauthMicrosoftReady()) {\n this.msaLService.initialize()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: () => this.oauthMicrosoftReady.set(true),\n error: (error: any) =>\n this.dialogService.error(error?.message ?? 'Errore di inizializzazione Microsoft'),\n });\n }\n\n // Load the Google GSI script only when allowed and not already done.\n if (this.allowGoogle() && !this.oauthGoogleReady()) {\n // @ts-ignore — define the callback BEFORE the script loads so GSI can find it\n window.onGoogleLibraryLoad = () => {\n // @ts-ignore\n google.accounts.id.initialize({\n client_id: this.googleClientId(),\n cancel_on_tap_outside: true,\n auto_select: false,\n callback: (r: any) => {\n this.ngZone.run(() => {\n this.success.emit({ type: LoginOAuthType.Google, token: r.credential });\n });\n }\n });\n\n this.googleButtonWrapper = createFakeGoogleWrapper();\n this.ngZone.run(() => this.oauthGoogleReady.set(true));\n };\n\n // Reuse the script tag if a previous instance already added it.\n const existing = document.querySelector<HTMLScriptElement>('script[data-gsi=\"ars\"]');\n if (existing) {\n // @ts-ignore — library already present: run the callback directly\n if (window.google?.accounts?.id) window.onGoogleLibraryLoad();\n } else {\n const script = document.createElement('script');\n script.src = 'https://accounts.google.com/gsi/client';\n script.async = true;\n script.defer = true;\n script.dataset['gsi'] = 'ars';\n script.onerror = () => this.ngZone.run(() =>\n this.dialogService.error('Impossibile caricare il servizio di accesso Google.'));\n // Append and LEAVE it in the DOM so the browser actually fetches it.\n document.body.appendChild(script);\n }\n }\n }\n\n /**\n * Trigger a Microsoft (MSAL) login popup and acquire an access token on success.\n */\n protected loginMSAL() {\n // Clear any in-progress interaction flag that may have been left by a previous incomplete popup\n sessionStorage.removeItem('msal.interaction.status');\n\n this.msaLService.loginPopup()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: (r: AuthenticationResult) => {\n try {\n this.msaLService.instance.setActiveAccount(r.account);\n this.msaLService.acquireTokenSilent({\n scopes: [this.msalScope()],\n account: r.account\n }).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: (tokenResult: AuthenticationResult) => {\n this.success.emit({ type: LoginOAuthType.Microsoft, token: tokenResult.accessToken });\n },\n error: (error: any) => {\n this.dialogService.error(error.message);\n }\n });\n } catch (error: any) {\n this.dialogService.error(error.message);\n }\n },\n error: (error: any) => {\n this.dialogService.error(error.message);\n }\n });\n }\n\n /**\n * Trigger the hidden Google GSI button to open the Google sign-in flow.\n */\n protected loginGoogle() {\n // Use the wrapper click to avoid an \"Illegal invocation\" exception.\n // Guard: the button only exists once the GSI library has loaded.\n if (!this.googleButtonWrapper) {\n this.dialogService.error('Il servizio di accesso Google non è ancora pronto.');\n return;\n }\n this.googleButtonWrapper.click();\n }\n}\n\nconst createFakeGoogleWrapper = (): { click: () => void } => {\n const googleLoginWrapper = document.createElement(\"div\");\n googleLoginWrapper.style.display = \"none\";\n googleLoginWrapper.classList.add(\"custom-google-button\");\n document.body.appendChild(googleLoginWrapper);\n\n // Render the (invisible) GSI button inside our wrapper.\n // @ts-ignore\n window.google.accounts.id.renderButton(googleLoginWrapper, {\n type: \"icon\",\n width: \"200\",\n });\n\n const googleLoginWrapperButton =\n googleLoginWrapper.querySelector<HTMLElement>(\"div[role=button]\");\n\n return {\n click: () => googleLoginWrapperButton?.click(),\n };\n};\n\n","<div class=\"login-oauth\">\r\n @if(showInfo()) {\r\n <div class=\"message\">\r\n <p>Questa sezione consente di accedere al servizio utilizzando un provider OAuth2.</p>\r\n @if(applicationName()) {\r\n <p>La email utilizzata deve essere collegata ad un utente valido di {{applicationName()}} e dei servizi ad esso\r\n connessi.</p>\r\n }\r\n </div>\r\n }\r\n @if (allowMicrosoft()) {\r\n <div class=\"button\">\r\n <button mat-flat-button (click)=\"loginMSAL()\" aria-label=\"Effettua accesso\"\r\n [disabled]=\"!oauthMicrosoftReady()\" style=\"width: 100%;\">\r\n Accedi con Microsoft</button>\r\n </div>\r\n }\r\n @if (allowGoogle()) {\r\n <div class=\"button\">\r\n <button mat-flat-button (click)=\"loginGoogle()\" style=\"width: 100%;\"\r\n aria-label=\"Effettua accesso\" [disabled]=\"!oauthGoogleReady()\">\r\n Accedi con Google</button>\r\n </div>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { broadcastResponseToMainFrame } from '@azure/msal-browser/redirect-bridge';\nimport { FlexLayoutModule } from '@arsedizioni/ars-utils/ui';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n\n@Component({\n selector: 'app-login-oauth-ok-ms',\n styleUrls: ['./login-oauth-ok-ms.component.scss'],\n templateUrl: './login-oauth-ok-ms.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FlexLayoutModule, MatProgressBarModule]\n})\nexport class LoginOAuthOkMSComponent {\n\n /** Message displayed while the popup is completing authentication. */\n readonly message = input<string>('Accesso in corso...');\n\n constructor() {\n // MSAL v5 popup flow: parse the auth response from the URL and send\n // it back to the opener window via BroadcastChannel, then close the popup.\n // The promise can reject (e.g. COOP misconfiguration); log instead of\n // leaving an unhandled rejection that silently strands the popup.\n broadcastResponseToMainFrame().catch((error: unknown) => {\n console.error('Errore durante la comunicazione della risposta di autenticazione:', error);\n });\n }\n}\n","<div fxLayout=\"column\" fxLayoutAlign=\"center center\" fxFill>\r\n <div class=\"login-auto fade-in\">\r\n <div class=\"message\">\r\n Autenticazione in corso...\r\n </div>\r\n <mat-progress-bar mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\r\n </div>\r\n</div>\r\n","/*\r\n * Public API Surface of scm-utils\r\n */\r\nexport * from './ui/definitions';\r\nexport * from './ui/components/index';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1049,7 +1049,7 @@ declare class ClipperDocumentMenuComponent {
|
|
|
1049
1049
|
private readonly renderer2;
|
|
1050
1050
|
private readonly clipperService;
|
|
1051
1051
|
readonly useSelections: _angular_core.InputSignal<boolean>;
|
|
1052
|
-
readonly selectionSource: _angular_core.InputSignal<"
|
|
1052
|
+
readonly selectionSource: _angular_core.InputSignal<"bag" | "selection" | "none">;
|
|
1053
1053
|
/**
|
|
1054
1054
|
* Computed signal that returns the current effective document selection.
|
|
1055
1055
|
* Re-evaluates when any input signal or the underlying selection model changes.
|
|
@@ -1405,11 +1405,11 @@ declare class FxClassDirective extends ResponsiveBaseDirective {
|
|
|
1405
1405
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FxClassDirective, " [fxClass], [fxClass.xs], [fxClass.sm], [fxClass.md], [fxClass.lg], [fxClass.xl], [fxClass.lt-sm], [fxClass.lt-md], [fxClass.lt-lg], [fxClass.lt-xl], [fxClass.gt-xs], [fxClass.gt-sm], [fxClass.gt-md], [fxClass.gt-lg], [fxClass.sm-up], [fxClass.md-up], [fxClass.lg-up], [fxClass.xl-up], [fxClass.sm-down], [fxClass.md-down], [fxClass.lg-down] ", never, { "fxClass": { "alias": "fxClass"; "required": false; "isSignal": true; }; "xs": { "alias": "fxClass.xs"; "required": false; "isSignal": true; }; "sm": { "alias": "fxClass.sm"; "required": false; "isSignal": true; }; "md": { "alias": "fxClass.md"; "required": false; "isSignal": true; }; "lg": { "alias": "fxClass.lg"; "required": false; "isSignal": true; }; "xl": { "alias": "fxClass.xl"; "required": false; "isSignal": true; }; "ltSm": { "alias": "fxClass.lt-sm"; "required": false; "isSignal": true; }; "ltMd": { "alias": "fxClass.lt-md"; "required": false; "isSignal": true; }; "ltLg": { "alias": "fxClass.lt-lg"; "required": false; "isSignal": true; }; "ltXl": { "alias": "fxClass.lt-xl"; "required": false; "isSignal": true; }; "gtXs": { "alias": "fxClass.gt-xs"; "required": false; "isSignal": true; }; "gtSm": { "alias": "fxClass.gt-sm"; "required": false; "isSignal": true; }; "gtMd": { "alias": "fxClass.gt-md"; "required": false; "isSignal": true; }; "gtLg": { "alias": "fxClass.gt-lg"; "required": false; "isSignal": true; }; "smUp": { "alias": "fxClass.sm-up"; "required": false; "isSignal": true; }; "mdUp": { "alias": "fxClass.md-up"; "required": false; "isSignal": true; }; "lgUp": { "alias": "fxClass.lg-up"; "required": false; "isSignal": true; }; "xlUp": { "alias": "fxClass.xl-up"; "required": false; "isSignal": true; }; "smDown": { "alias": "fxClass.sm-down"; "required": false; "isSignal": true; }; "mdDown": { "alias": "fxClass.md-down"; "required": false; "isSignal": true; }; "lgDown": { "alias": "fxClass.lg-down"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1406
1406
|
}
|
|
1407
1407
|
|
|
1408
|
-
declare class
|
|
1409
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1410
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<
|
|
1411
|
-
static ɵinj: _angular_core.ɵɵInjectorDeclaration<
|
|
1408
|
+
declare class FlexLayoutModule {
|
|
1409
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlexLayoutModule, never>;
|
|
1410
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<FlexLayoutModule, never, [typeof FxLayoutDirective, typeof FxLayoutWrapDirective, typeof FxFlexDirective, typeof FxShowHideDirective, typeof FxLayoutAlignDirective, typeof FxLayoutGapDirective, typeof FxFlexOrderDirective, typeof FxFlexOffsetDirective, typeof FxFlexAlignDirective, typeof FxFlexFillDirective, typeof FxStyleDirective, typeof FxClassDirective, typeof FxGridDirective, typeof FxGridColumnDirective, typeof FxGridAreaDirective, typeof IfBpDirective], [typeof FxLayoutDirective, typeof FxLayoutWrapDirective, typeof FxFlexDirective, typeof FxShowHideDirective, typeof FxLayoutAlignDirective, typeof FxLayoutGapDirective, typeof FxFlexOrderDirective, typeof FxFlexOffsetDirective, typeof FxFlexAlignDirective, typeof FxFlexFillDirective, typeof FxStyleDirective, typeof FxClassDirective, typeof FxGridDirective, typeof FxGridColumnDirective, typeof FxGridAreaDirective, typeof IfBpDirective]>;
|
|
1411
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<FlexLayoutModule>;
|
|
1412
1412
|
}
|
|
1413
1413
|
|
|
1414
|
-
export { ALIAS_FAMILIES, ALIAS_INDEX, BS5_BREAKPOINTS, BusyDialogComponent, BusyTimer, CANONICAL_ALIASES, ConfirmDialogComponent, CredentialsDialogComponent, DeleteDialogComponent, DeleteDialogConfirmMode, DialogService,
|
|
1414
|
+
export { ALIAS_FAMILIES, ALIAS_INDEX, BS5_BREAKPOINTS, BusyDialogComponent, BusyTimer, CANONICAL_ALIASES, ConfirmDialogComponent, CredentialsDialogComponent, DeleteDialogComponent, DeleteDialogConfirmMode, DialogService, FlexLayoutModule, FxClassDirective, FxFlexAlignDirective, FxFlexDirective, FxFlexFillDirective, FxFlexOffsetDirective, FxFlexOrderDirective, FxGridAreaDirective, FxGridColumnDirective, FxGridDirective, FxLayoutAlignDirective, FxLayoutDirective, FxLayoutGapDirective, FxLayoutWrapDirective, FxShowHideDirective, FxStyleDirective, IfBpDirective, InfoDialogComponent, LAYOUT_BREAKPOINTS, LAYOUT_VALUES, MediaObserver, NON_CANONICAL_PRIORITY, OtpInputComponent, PaginatorIntl, PasswordStrengthComponent, RecoverPasswordDialogComponent, ResetPasswordDialogComponent, ResponsiveBaseDirective, ToastComponent, UIService, applyVisibility, buildAlignStyles, buildFlexStyles, buildLayoutCSS, resolve, resolveAll, resolveFlexInput, resolveNonCanonical, resolveParentFlow, validateBasis, validateLayoutValue, validateWrapValue };
|
|
1415
1415
|
export type { BpValues, BreakpointAlias, CanonicalKey, ConfirmDialogData, ConfirmDialogOption, CredentialsDialogData, CredentialsDialogResult, DeleteDialogData, DialogOption, DialogResult, IDialogService, InfoDialogData, NcValues, NonCanonicalKey, RecoverPasswordDialogData, RecoverPasswordDialogResult, ResetPasswordDialogData, ResetPasswordDialogMode, ResetPasswordDialogResult, ToastData };
|