@arsedizioni/ars-utils 19.0.27 → 19.0.30
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/clipper.ui/ui/document-menu/document-menu.component.d.ts +13 -13
- package/clipper.ui/ui/search-calendar/search-calendar.component.d.ts +1 -1
- package/clipper.ui/ui/search-result-item/search-result-item.component.d.ts +11 -11
- package/core/services/environment.service.d.ts +6 -0
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +14 -0
- package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +25 -9
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/package.json +5 -5
- package/ui.application/ui/components/button-selector/button-selector.component.d.ts +7 -7
- package/ui.application/ui/components/button-toggle/button-toggle.component.d.ts +9 -9
- package/ui.application/ui/components/chips-selector/chips-selector.component.d.ts +11 -11
- package/ui.application/ui/components/file-input/file-input.component.d.ts +6 -6
- package/ui.application/ui/components/filter-bar/filter-bar.component.d.ts +20 -20
- package/ui.oauth/ui/components/login/login-oauth.component.d.ts +6 -5
|
@@ -3,9 +3,10 @@ import { NgModule, inject, NgZone, output, input, signal, Component, ChangeDetec
|
|
|
3
3
|
import * as i1 from '@angular/material/button';
|
|
4
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
5
|
import { EnvironmentService } from '@arsedizioni/ars-utils/core';
|
|
6
|
+
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
6
7
|
import { MsalBroadcastService, MsalService, MSAL_INSTANCE, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG } from '@azure/msal-angular';
|
|
7
8
|
import { PublicClientApplication, BrowserCacheLocation, InteractionType, EventType } from '@azure/msal-browser';
|
|
8
|
-
import { Subject, filter, takeUntil } from 'rxjs';
|
|
9
|
+
import { Subject, filter, takeUntil, catchError, throwError } from 'rxjs';
|
|
9
10
|
|
|
10
11
|
var LoginOAuthType;
|
|
11
12
|
(function (LoginOAuthType) {
|
|
@@ -29,7 +30,7 @@ function MSALInstanceFactory(environment) {
|
|
|
29
30
|
auth: {
|
|
30
31
|
clientId: "6b2c080f-6ab0-4511-a9df-0bce69db5833",
|
|
31
32
|
authority: "https://login.microsoftonline.com/common",
|
|
32
|
-
redirectUri: environment.
|
|
33
|
+
redirectUri: environment.appLoginRedirectUri, // This is your redir
|
|
33
34
|
},
|
|
34
35
|
cache: {
|
|
35
36
|
cacheLocation: BrowserCacheLocation.LocalStorage
|
|
@@ -40,7 +41,7 @@ function MSALInterceptorConfigFactory(environment) {
|
|
|
40
41
|
return {
|
|
41
42
|
interactionType: InteractionType.Popup,
|
|
42
43
|
protectedResourceMap: new Map([
|
|
43
|
-
[environment.
|
|
44
|
+
[environment.appServiceLoginUri, ["api://6b2c080f-6ab0-4511-a9df-0bce69db5833/AngularSPAAuthScope"]],
|
|
44
45
|
["https://graph.microsoft.com/v2.0/me", ["user.read"]],
|
|
45
46
|
])
|
|
46
47
|
};
|
|
@@ -58,6 +59,7 @@ class LoginOAuthComponent {
|
|
|
58
59
|
this.unsubscribe = new Subject();
|
|
59
60
|
this.msalBroadcastService = inject(MsalBroadcastService);
|
|
60
61
|
this.msaLService = inject(MsalService);
|
|
62
|
+
this.dialogService = inject(DialogService);
|
|
61
63
|
this.ngZone = inject(NgZone);
|
|
62
64
|
this.success = output();
|
|
63
65
|
this.showInfo = input(true);
|
|
@@ -74,7 +76,10 @@ class LoginOAuthComponent {
|
|
|
74
76
|
this.initialize();
|
|
75
77
|
}
|
|
76
78
|
this.msalBroadcastService.msalSubject$
|
|
77
|
-
.pipe(filter((msg) => msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS), takeUntil(this.unsubscribe)
|
|
79
|
+
.pipe(filter((msg) => msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS), takeUntil(this.unsubscribe), catchError(error => {
|
|
80
|
+
this.dialogService.error(error);
|
|
81
|
+
return throwError(() => error);
|
|
82
|
+
}))
|
|
78
83
|
.subscribe((r) => {
|
|
79
84
|
if (r) {
|
|
80
85
|
this.success.emit({ type: 1, token: r.payload.accessToken });
|
|
@@ -138,8 +143,15 @@ class LoginOAuthComponent {
|
|
|
138
143
|
],
|
|
139
144
|
account: r.account
|
|
140
145
|
}).subscribe({
|
|
141
|
-
error: (
|
|
146
|
+
error: (error) => {
|
|
147
|
+
this.dialogService.error(error.message);
|
|
148
|
+
console.log(error.message);
|
|
149
|
+
}
|
|
142
150
|
});
|
|
151
|
+
},
|
|
152
|
+
error: (error) => {
|
|
153
|
+
this.dialogService.error(error.message);
|
|
154
|
+
console.log(error.message);
|
|
143
155
|
}
|
|
144
156
|
});
|
|
145
157
|
}
|
|
@@ -151,7 +163,8 @@ class LoginOAuthComponent {
|
|
|
151
163
|
googleButtonWrapper.click();
|
|
152
164
|
}
|
|
153
165
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: LoginOAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: LoginOAuthComponent, isStandalone: true, selector: "login-oauth", inputs: { showInfo: { classPropertyName: "showInfo", publicName: "showInfo", isSignal: true, isRequired: false, transformFunction: null }, applicationName: { classPropertyName: "applicationName", publicName: "applicationName", isSignal: true, isRequired: false, transformFunction: null }, autoInitialize: { classPropertyName: "autoInitialize", publicName: "autoInitialize", isSignal: true, isRequired: false, transformFunction: null }, allowMicrosoft: { classPropertyName: "allowMicrosoft", publicName: "allowMicrosoft", isSignal: true, isRequired: false, transformFunction: null }, allowGoogle: { classPropertyName: "allowGoogle", publicName: "allowGoogle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { success: "success" }, providers: [
|
|
166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: LoginOAuthComponent, isStandalone: true, selector: "login-oauth", inputs: { showInfo: { classPropertyName: "showInfo", publicName: "showInfo", isSignal: true, isRequired: false, transformFunction: null }, applicationName: { classPropertyName: "applicationName", publicName: "applicationName", isSignal: true, isRequired: false, transformFunction: null }, autoInitialize: { classPropertyName: "autoInitialize", publicName: "autoInitialize", isSignal: true, isRequired: false, transformFunction: null }, allowMicrosoft: { classPropertyName: "allowMicrosoft", publicName: "allowMicrosoft", isSignal: true, isRequired: false, transformFunction: null }, allowGoogle: { classPropertyName: "allowGoogle", publicName: "allowGoogle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { success: "success" }, providers: [
|
|
167
|
+
{
|
|
155
168
|
provide: MSAL_INSTANCE,
|
|
156
169
|
deps: [EnvironmentService],
|
|
157
170
|
useFactory: MSALInstanceFactory
|
|
@@ -166,11 +179,13 @@ class LoginOAuthComponent {
|
|
|
166
179
|
useFactory: MSALInterceptorConfigFactory
|
|
167
180
|
},
|
|
168
181
|
MsalService,
|
|
169
|
-
MsalBroadcastService
|
|
182
|
+
MsalBroadcastService
|
|
183
|
+
], ngImport: i0, template: "<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 color=\"primary\" (click)=\"loginMSAL()\" [attr.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 color=\"primary\" (click)=\"loginGoogle()\" style=\"width: 100%;\"\r\n [attr.aria-label]=\"'Effettua accesso'\" [disabled]=\"!oauthGoogleReady()\">\r\n Accedi con Google</button>\r\n </div>\r\n }\r\n</div>", styles: [".login-oauth{text-align:center}.login-oauth .button{padding:10px 0;width:100%}.login-oauth .message{padding:0 0 10px!important;font-size:small}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
170
184
|
}
|
|
171
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: LoginOAuthComponent, decorators: [{
|
|
172
186
|
type: Component,
|
|
173
|
-
args: [{ selector: 'login-oauth', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
187
|
+
args: [{ selector: 'login-oauth', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
188
|
+
{
|
|
174
189
|
provide: MSAL_INSTANCE,
|
|
175
190
|
deps: [EnvironmentService],
|
|
176
191
|
useFactory: MSALInstanceFactory
|
|
@@ -185,7 +200,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
185
200
|
useFactory: MSALInterceptorConfigFactory
|
|
186
201
|
},
|
|
187
202
|
MsalService,
|
|
188
|
-
MsalBroadcastService
|
|
203
|
+
MsalBroadcastService
|
|
204
|
+
], imports: [
|
|
189
205
|
MatButtonModule
|
|
190
206
|
], template: "<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 color=\"primary\" (click)=\"loginMSAL()\" [attr.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 color=\"primary\" (click)=\"loginGoogle()\" style=\"width: 100%;\"\r\n [attr.aria-label]=\"'Effettua accesso'\" [disabled]=\"!oauthGoogleReady()\">\r\n Accedi con Google</button>\r\n </div>\r\n }\r\n</div>", styles: [".login-oauth{text-align:center}.login-oauth .button{padding:10px 0;width:100%}.login-oauth .message{padding:0 0 10px!important;font-size:small}\n"] }]
|
|
191
207
|
}] });
|
|
@@ -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/ui.module.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/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: number,\r\n token: string\r\n}","import { NgModule } from \"@angular/core\";\r\n\r\n// Material\r\n\r\n@NgModule()\r\nexport class ArsUIOAuthModule { }\r\n\r\nexport * from \"./definitions\";\r\n\r\n\r\n","import { ChangeDetectionStrategy, Component, NgZone, OnDestroy, OnInit, inject, input, signal, output } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { EnvironmentService } from '@arsedizioni/ars-utils/core';\r\nimport { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalInterceptorConfiguration, MsalService } from '@azure/msal-angular';\r\nimport { AuthenticationResult, BrowserCacheLocation, EventMessage, EventType, IPublicClientApplication, InteractionType, PublicClientApplication } from '@azure/msal-browser';\r\nimport { Subject, filter, takeUntil } from 'rxjs';\r\nimport { LoginOAuthResult } from '../../definitions';\r\n\r\nexport function MSALInstanceFactory(environment: EnvironmentService): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: \"6b2c080f-6ab0-4511-a9df-0bce69db5833\",\r\n authority: \"https://login.microsoftonline.com/common\",\r\n redirectUri: environment.appUri, // This is your redir\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage\r\n }\r\n });\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(environment: EnvironmentService): MsalInterceptorConfiguration {\r\n \r\n return {\r\n interactionType: InteractionType.Popup,\r\n protectedResourceMap: new Map([\r\n [environment.appServiceUri + '/login', [\"api://6b2c080f-6ab0-4511-a9df-0bce69db5833/AngularSPAAuthScope\"]],\r\n [\"https://graph.microsoft.com/v2.0/me\", [\"user.read\"]],\r\n ])\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return {\r\n interactionType: InteractionType.Popup,\r\n authRequest: {\r\n scopes: [\"user.read\"]\r\n }\r\n };\r\n}\r\n\r\n@Component({\r\n selector: 'login-oauth',\r\n templateUrl: './login-oauth.component.html',\r\n styleUrls: ['./login-oauth.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [{\r\n provide: MSAL_INSTANCE,\r\n deps:[EnvironmentService],\r\n useFactory: MSALInstanceFactory\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n deps:[EnvironmentService],\r\n useFactory: MSALInterceptorConfigFactory\r\n },\r\n MsalService,\r\n MsalBroadcastService],\r\n imports: [\r\n MatButtonModule\r\n ]\r\n})\r\nexport class LoginOAuthComponent implements OnInit, OnDestroy {\r\n private unsubscribe: Subject<void> = new Subject<void>();\r\n private msalBroadcastService = inject(MsalBroadcastService);\r\n private msaLService = inject(MsalService);\r\n private ngZone = inject(NgZone);\r\n\r\n readonly success = output<LoginOAuthResult>();\r\n\r\n showInfo = input<boolean>(true);\r\n applicationName = input<string>();\r\n autoInitialize = input<boolean>(false);\r\n allowMicrosoft = input<boolean>(true);\r\n allowGoogle = input<boolean>(true);\r\n\r\n\r\n protected oauthReady = signal<boolean>(false);\r\n protected oauthMicrosoftReady = signal<boolean>(false);\r\n protected oauthGoogleReady = signal<boolean>(false);\r\n\r\n\r\n ngOnInit() {\r\n if (this.autoInitialize()) {\r\n this.initialize();\r\n }\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter((msg: EventMessage) => msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS),\r\n takeUntil(this.unsubscribe)\r\n )\r\n .subscribe((r: any) => { \r\n if (r) {\r\n this.success.emit({ type: 1, token: r.payload.accessToken });\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.next();\r\n this.unsubscribe.complete();\r\n }\r\n\r\n /**\r\n * Initialize open authentication \r\n * Must be a public method \r\n */\r\n initialize() {\r\n if (this.oauthReady()) {\r\n return; // Already done\r\n }\r\n this.oauthReady.set(true);\r\n\r\n // Load MS stack\r\n this.msaLService.initialize()\r\n .pipe(takeUntil(this.unsubscribe))\r\n .subscribe(() => {\r\n this.oauthMicrosoftReady.set(true);\r\n });\r\n\r\n // Load google maps script after view init\r\n const DSLScript = document.createElement('script');\r\n DSLScript.src = 'https://accounts.google.com/gsi/client';\r\n DSLScript.type = 'text/javascript';\r\n document.body.appendChild(DSLScript);\r\n document.body.removeChild(DSLScript);\r\n\r\n // @ts-ignore\r\n window.onGoogleLibraryLoad = () => {\r\n // initialize google account\r\n // @ts-ignore\r\n google.accounts.id.initialize({\r\n client_id: '71204983077-ag31h3bgt2udcbfr9nn84r9rni2k3snp.apps.googleusercontent.com',\r\n cancel_on_tap_outside: true,\r\n auto_select: false,\r\n callback: (r: any) => {\r\n this.ngZone.run(() => {\r\n this.success.emit({ type: 2, token: r.credential });\r\n });\r\n }\r\n });\r\n\r\n googleButtonWrapper = createFakeGoogleWrapper();\r\n\r\n this.oauthGoogleReady.set(true);\r\n };\r\n\r\n }\r\n\r\n /**\r\n * Perform login using MSAL\r\n */\r\n protected loginMSAL() {\r\n this.msaLService.loginPopup()\r\n .subscribe({\r\n next: (r: AuthenticationResult) => {\r\n this.msaLService.instance.setActiveAccount(r.account);\r\n this.msaLService.acquireTokenSilent({\r\n scopes: [\r\n \"api://6b2c080f-6ab0-4511-a9df-0bce69db5833/AngularSPAAuthScope\"\r\n ],\r\n account: r.account\r\n }).subscribe({\r\n error: (err) => { console.log(err.message)} \r\n })\r\n }\r\n });\r\n }\r\n\r\n /**\r\n* Perform login using Google\r\n*/\r\n protected loginGoogle() {\r\n // Use wrapper click to prevent Illegal invocation exception\r\n googleButtonWrapper.click();\r\n }\r\n}\r\n\r\nconst createFakeGoogleWrapper = () => {\r\n const googleLoginWrapper = document.createElement(\"div\");\r\n // Or you can simple hide it in CSS rule for custom-google-button\r\n googleLoginWrapper.style.display = \"none\";\r\n googleLoginWrapper.classList.add(\"custom-google-button\");\r\n\r\n // Add the wrapper to body\r\n document.body.appendChild(googleLoginWrapper);\r\n\r\n // Use GSI javascript api to render the button inside our wrapper\r\n // You can ignore the properties because this button will not appear\r\n // @ts-ignore\r\n window.google.accounts.id.renderButton(googleLoginWrapper, {\r\n type: \"icon\",\r\n width: \"200\",\r\n });\r\n\r\n const googleLoginWrapperButton =\r\n googleLoginWrapper.querySelector(\"div[role=button]\");\r\n\r\n return {\r\n click: () => {\r\n // @ts-ignore\r\n googleLoginWrapperButton.click();\r\n },\r\n };\r\n};\r\nvar googleButtonWrapper: any = null;\r\n\r\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 color=\"primary\" (click)=\"loginMSAL()\" [attr.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 color=\"primary\" (click)=\"loginGoogle()\" style=\"width: 100%;\"\r\n [attr.aria-label]=\"'Effettua accesso'\" [disabled]=\"!oauthGoogleReady()\">\r\n Accedi con Google</button>\r\n </div>\r\n }\r\n</div>","/*\r\n * Public API Surface of ars-utils\r\n */\r\nexport * from './ui/ui.module';\r\nexport * from './ui/components/login/login-oauth.component';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;IAAY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,cAAA,CAAA,cAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACZ,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA;;ACFD;MAGa,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;;;ACIK,SAAU,mBAAmB,CAAC,WAA+B,EAAA;IACjE,OAAO,IAAI,uBAAuB,CAAC;AACjC,QAAA,IAAI,EAAE;AACJ,YAAA,QAAQ,EAAE,sCAAsC;AAChD,YAAA,SAAS,EAAE,0CAA0C;AACrD,YAAA,WAAW,EAAE,WAAW,CAAC,MAAM;AAChC,SAAA;AACD,QAAA,KAAK,EAAE;YACL,aAAa,EAAE,oBAAoB,CAAC;AACrC;AACF,KAAA,CAAC;AACJ;AAEM,SAAU,4BAA4B,CAAC,WAA+B,EAAA;IAE1E,OAAO;QACL,eAAe,EAAE,eAAe,CAAC,KAAK;QACtC,oBAAoB,EAAE,IAAI,GAAG,CAAC;YAC5B,CAAC,WAAW,CAAC,aAAa,GAAG,QAAQ,EAAE,CAAC,gEAAgE,CAAC,CAAC;AAC1G,YAAA,CAAC,qCAAqC,EAAE,CAAC,WAAW,CAAC,CAAC;SACvD;KACF;AACH;SAEgB,sBAAsB,GAAA;IACpC,OAAO;QACL,eAAe,EAAE,eAAe,CAAC,KAAK;AACtC,QAAA,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,WAAW;AACrB;KACF;AACH;MA4Ba,mBAAmB,CAAA;AA1BhC,IAAA,WAAA,GAAA;AA2BU,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAI,OAAO,EAAQ;AAChD,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACnD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEtB,IAAO,CAAA,OAAA,GAAG,MAAM,EAAoB;AAE7C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,IAAI,CAAC;QAC/B,IAAe,CAAA,eAAA,GAAG,KAAK,EAAU;AACjC,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAU,KAAK,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAU,IAAI,CAAC;AACrC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAU,IAAI,CAAC;AAGxB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC;AACnC,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAU,KAAK,CAAC;AAC5C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAU,KAAK,CAAC;AAkGpD;IA/FC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,UAAU,EAAE;;QAEnB,IAAI,CAAC,oBAAoB,CAAC;aACvB,IAAI,CACH,MAAM,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,qBAAqB,CAAC,EAChF,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5B,aAAA,SAAS,CAAC,CAAC,CAAM,KAAI;YACpB,IAAI,CAAC,EAAE;AACL,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAEhE,SAAC,CAAC;;IAIN,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;;AAG7B;;;AAGG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,OAAO;;AAET,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;AAGzB,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU;AACxB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;aAChC,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AACpC,SAAC,CAAC;;QAGJ,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAClD,QAAA,SAAS,CAAC,GAAG,GAAG,wCAAwC;AACxD,QAAA,SAAS,CAAC,IAAI,GAAG,iBAAiB;AAClC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AACpC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;;AAGpC,QAAA,MAAM,CAAC,mBAAmB,GAAG,MAAK;;;AAGhC,YAAA,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC;AAC5B,gBAAA,SAAS,EAAE,yEAAyE;AACpF,gBAAA,qBAAqB,EAAE,IAAI;AAC3B,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,QAAQ,EAAE,CAAC,CAAM,KAAI;AACnB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,wBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AACrD,qBAAC,CAAC;;AAEL,aAAA,CAAC;YAEF,mBAAmB,GAAG,uBAAuB,EAAE;AAE/C,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AACjC,SAAC;;AAIH;;AAEE;IACQ,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU;AACxB,aAAA,SAAS,CAAC;AACT,YAAA,IAAI,EAAE,CAAC,CAAuB,KAAI;gBAChC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,gBAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;AAClC,oBAAA,MAAM,EAAE;wBACN;AACD,qBAAA;oBACD,OAAO,EAAE,CAAC,CAAC;iBACZ,CAAC,CAAC,SAAS,CAAC;AACX,oBAAA,KAAK,EAAE,CAAC,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAC3C,iBAAA,CAAC;;AAEL,SAAA,CAAC;;AAGN;;AAEA;IACU,WAAW,GAAA;;QAEnB,mBAAmB,CAAC,KAAK,EAAE;;8GAjHlB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,8yBApBnB,CAAC;AACV,gBAAA,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAC,CAAC,kBAAkB,CAAC;AACzB,gBAAA,UAAU,EAAE;AACb,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,UAAU,EAAE;AACb,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAC,CAAC,kBAAkB,CAAC;AACzB,gBAAA,UAAU,EAAE;AACb,aAAA;YACC,WAAW;AACX,YAAA,oBAAoB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9DzB,s9BAwBM,EAAA,MAAA,EAAA,CAAA,mJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDwCF,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA1B/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,aACpC,CAAC;AACV,4BAAA,OAAO,EAAE,aAAa;4BACtB,IAAI,EAAC,CAAC,kBAAkB,CAAC;AACzB,4BAAA,UAAU,EAAE;AACb,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,UAAU,EAAE;AACb,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uBAAuB;4BAChC,IAAI,EAAC,CAAC,kBAAkB,CAAC;AACzB,4BAAA,UAAU,EAAE;AACb,yBAAA;wBACC,WAAW;AACX,wBAAA,oBAAoB,CAAC,EACd,OAAA,EAAA;wBACP;AACD,qBAAA,EAAA,QAAA,EAAA,s9BAAA,EAAA,MAAA,EAAA,CAAA,mJAAA,CAAA,EAAA;;AAuHH,MAAM,uBAAuB,GAAG,MAAK;IACnC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;;AAExD,IAAA,kBAAkB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AACzC,IAAA,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC;;AAGxD,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;;;;IAK7C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE;AACzD,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,KAAK,EAAE,KAAK;AACb,KAAA,CAAC;IAEF,MAAM,wBAAwB,GAC5B,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC;IAEtD,OAAO;QACL,KAAK,EAAE,MAAK;;YAEV,wBAAwB,CAAC,KAAK,EAAE;SACjC;KACF;AACH,CAAC;AACD,IAAI,mBAAmB,GAAQ,IAAI;;AEnNnC;;AAEG;;ACFH;;AAEG;;;;"}
|
|
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/ui.module.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/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: number,\r\n token: string\r\n}","import { NgModule } from \"@angular/core\";\r\n\r\n// Material\r\n\r\n@NgModule()\r\nexport class ArsUIOAuthModule { }\r\n\r\nexport * from \"./definitions\";\r\n\r\n\r\n","import { ChangeDetectionStrategy, Component, NgZone, OnDestroy, OnInit, inject, input, output, signal } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { EnvironmentService } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalInterceptorConfiguration, MsalService } from '@azure/msal-angular';\r\nimport { AuthenticationResult, BrowserCacheLocation, EventMessage, EventType, IPublicClientApplication, InteractionType, PublicClientApplication } from '@azure/msal-browser';\r\nimport { Subject, catchError, filter, takeUntil, throwError } from 'rxjs';\r\nimport { LoginOAuthResult } from '../../definitions';\r\n\r\nexport function MSALInstanceFactory(environment: EnvironmentService): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: \"6b2c080f-6ab0-4511-a9df-0bce69db5833\",\r\n authority: \"https://login.microsoftonline.com/common\",\r\n redirectUri: environment.appLoginRedirectUri, // This is your redir\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage\r\n }\r\n });\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(environment: EnvironmentService): MsalInterceptorConfiguration {\r\n\r\n return {\r\n interactionType: InteractionType.Popup,\r\n protectedResourceMap: new Map([\r\n [environment.appServiceLoginUri, [\"api://6b2c080f-6ab0-4511-a9df-0bce69db5833/AngularSPAAuthScope\"]],\r\n [\"https://graph.microsoft.com/v2.0/me\", [\"user.read\"]],\r\n ])\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return {\r\n interactionType: InteractionType.Popup,\r\n authRequest: {\r\n scopes: [\"user.read\"]\r\n }\r\n };\r\n}\r\n\r\n@Component({\r\n selector: 'login-oauth',\r\n templateUrl: './login-oauth.component.html',\r\n styleUrls: ['./login-oauth.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: MSAL_INSTANCE,\r\n deps: [EnvironmentService],\r\n useFactory: MSALInstanceFactory\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n deps: [EnvironmentService],\r\n useFactory: MSALInterceptorConfigFactory\r\n },\r\n MsalService,\r\n MsalBroadcastService],\r\n imports: [\r\n MatButtonModule\r\n ]\r\n})\r\nexport class LoginOAuthComponent implements OnInit, OnDestroy {\r\n private unsubscribe: Subject<void> = new Subject<void>();\r\n private msalBroadcastService = inject(MsalBroadcastService);\r\n private msaLService = inject(MsalService);\r\n private dialogService = inject(DialogService);\r\n private ngZone = inject(NgZone);\r\n\r\n readonly success = output<LoginOAuthResult>();\r\n\r\n readonly showInfo = input<boolean>(true);\r\n readonly applicationName = input<string>();\r\n readonly autoInitialize = input<boolean>(false);\r\n readonly allowMicrosoft = input<boolean>(true);\r\n readonly allowGoogle = input<boolean>(true);\r\n\r\n\r\n protected oauthReady = signal<boolean>(false);\r\n protected oauthMicrosoftReady = signal<boolean>(false);\r\n protected oauthGoogleReady = signal<boolean>(false);\r\n\r\n\r\n ngOnInit() {\r\n if (this.autoInitialize()) {\r\n this.initialize();\r\n }\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter((msg: EventMessage) => msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS),\r\n takeUntil(this.unsubscribe),\r\n catchError(error => {\r\n this.dialogService.error(error);\r\n return throwError(() => error);\r\n })\r\n )\r\n .subscribe((r: any) => {\r\n if (r) {\r\n this.success.emit({ type: 1, token: r.payload.accessToken });\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.next();\r\n this.unsubscribe.complete();\r\n }\r\n\r\n /**\r\n * Initialize open authentication \r\n * Must be a public method \r\n */\r\n initialize() {\r\n if (this.oauthReady()) {\r\n return; // Already done\r\n }\r\n this.oauthReady.set(true);\r\n\r\n // Load MS stack\r\n this.msaLService.initialize()\r\n .pipe(takeUntil(this.unsubscribe))\r\n .subscribe(() => {\r\n this.oauthMicrosoftReady.set(true);\r\n });\r\n\r\n // Load google maps script after view init\r\n const DSLScript = document.createElement('script');\r\n DSLScript.src = 'https://accounts.google.com/gsi/client';\r\n DSLScript.type = 'text/javascript';\r\n document.body.appendChild(DSLScript);\r\n document.body.removeChild(DSLScript);\r\n\r\n // @ts-ignore\r\n window.onGoogleLibraryLoad = () => {\r\n // initialize google account\r\n // @ts-ignore\r\n google.accounts.id.initialize({\r\n client_id: '71204983077-ag31h3bgt2udcbfr9nn84r9rni2k3snp.apps.googleusercontent.com',\r\n cancel_on_tap_outside: true,\r\n auto_select: false,\r\n callback: (r: any) => {\r\n this.ngZone.run(() => {\r\n this.success.emit({ type: 2, token: r.credential });\r\n });\r\n }\r\n });\r\n\r\n googleButtonWrapper = createFakeGoogleWrapper();\r\n\r\n this.oauthGoogleReady.set(true);\r\n };\r\n\r\n }\r\n\r\n /**\r\n * Perform login using MSAL\r\n */\r\n protected loginMSAL() {\r\n this.msaLService.loginPopup()\r\n .subscribe({\r\n next: (r: AuthenticationResult) => {\r\n this.msaLService.instance.setActiveAccount(r.account);\r\n this.msaLService.acquireTokenSilent({\r\n scopes: [\r\n \"api://6b2c080f-6ab0-4511-a9df-0bce69db5833/AngularSPAAuthScope\"\r\n ],\r\n account: r.account\r\n }).subscribe({\r\n error: (error) => { \r\n this.dialogService.error(error.message);\r\n console.log(error.message);\r\n }\r\n })\r\n },\r\n error: (error) => { \r\n this.dialogService.error(error.message);\r\n console.log(error.message);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n* Perform login using Google\r\n*/\r\n protected loginGoogle() {\r\n // Use wrapper click to prevent Illegal invocation exception\r\n googleButtonWrapper.click();\r\n }\r\n}\r\n\r\nconst createFakeGoogleWrapper = () => {\r\n const googleLoginWrapper = document.createElement(\"div\");\r\n // Or you can simple hide it in CSS rule for custom-google-button\r\n googleLoginWrapper.style.display = \"none\";\r\n googleLoginWrapper.classList.add(\"custom-google-button\");\r\n\r\n // Add the wrapper to body\r\n document.body.appendChild(googleLoginWrapper);\r\n\r\n // Use GSI javascript api to render the button inside our wrapper\r\n // You can ignore the properties because this button will not appear\r\n // @ts-ignore\r\n window.google.accounts.id.renderButton(googleLoginWrapper, {\r\n type: \"icon\",\r\n width: \"200\",\r\n });\r\n\r\n const googleLoginWrapperButton =\r\n googleLoginWrapper.querySelector(\"div[role=button]\");\r\n\r\n return {\r\n click: () => {\r\n // @ts-ignore\r\n googleLoginWrapperButton.click();\r\n },\r\n };\r\n};\r\nvar googleButtonWrapper: any = null;\r\n\r\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 color=\"primary\" (click)=\"loginMSAL()\" [attr.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 color=\"primary\" (click)=\"loginGoogle()\" style=\"width: 100%;\"\r\n [attr.aria-label]=\"'Effettua accesso'\" [disabled]=\"!oauthGoogleReady()\">\r\n Accedi con Google</button>\r\n </div>\r\n }\r\n</div>","/*\r\n * Public API Surface of ars-utils\r\n */\r\nexport * from './ui/ui.module';\r\nexport * from './ui/components/login/login-oauth.component';\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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arsedizioni/ars-utils",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.30",
|
|
4
4
|
"author": {
|
|
5
5
|
"email": "software@arsedizioni.it",
|
|
6
6
|
"name": "Fabio Buscaroli, Alberto Doria"
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"types": "./clipper.ui/index.d.ts",
|
|
41
41
|
"default": "./fesm2022/arsedizioni-ars-utils-clipper.ui.mjs"
|
|
42
42
|
},
|
|
43
|
-
"./evolution.common": {
|
|
44
|
-
"types": "./evolution.common/index.d.ts",
|
|
45
|
-
"default": "./fesm2022/arsedizioni-ars-utils-evolution.common.mjs"
|
|
46
|
-
},
|
|
47
43
|
"./core": {
|
|
48
44
|
"types": "./core/index.d.ts",
|
|
49
45
|
"default": "./fesm2022/arsedizioni-ars-utils-core.mjs"
|
|
50
46
|
},
|
|
47
|
+
"./evolution.common": {
|
|
48
|
+
"types": "./evolution.common/index.d.ts",
|
|
49
|
+
"default": "./fesm2022/arsedizioni-ars-utils-evolution.common.mjs"
|
|
50
|
+
},
|
|
51
51
|
"./help": {
|
|
52
52
|
"types": "./help/index.d.ts",
|
|
53
53
|
"default": "./fesm2022/arsedizioni-ars-utils-help.mjs"
|
|
@@ -21,13 +21,13 @@ export declare class ButtonSelectorComponent implements OnInit, OnDestroy, Contr
|
|
|
21
21
|
describedBy: string;
|
|
22
22
|
private renderer;
|
|
23
23
|
protected current: import("@angular/core").WritableSignal<NameValueItem<any>>;
|
|
24
|
-
width: import("@angular/core").InputSignal<number>;
|
|
25
|
-
border: import("@angular/core").InputSignal<number>;
|
|
26
|
-
borderRadius: import("@angular/core").InputSignal<string>;
|
|
27
|
-
label: import("@angular/core").InputSignal<string>;
|
|
28
|
-
labelSelected: import("@angular/core").InputSignal<string>;
|
|
29
|
-
options: import("@angular/core").InputSignal<NameValueItem<any>[]>;
|
|
30
|
-
autoSelect: import("@angular/core").InputSignal<boolean>;
|
|
24
|
+
readonly width: import("@angular/core").InputSignal<number>;
|
|
25
|
+
readonly border: import("@angular/core").InputSignal<number>;
|
|
26
|
+
readonly borderRadius: import("@angular/core").InputSignal<string>;
|
|
27
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
28
|
+
readonly labelSelected: import("@angular/core").InputSignal<string>;
|
|
29
|
+
readonly options: import("@angular/core").InputSignal<NameValueItem<any>[]>;
|
|
30
|
+
readonly autoSelect: import("@angular/core").InputSignal<boolean>;
|
|
31
31
|
constructor(ngControl: NgControl);
|
|
32
32
|
ngOnInit(): void;
|
|
33
33
|
ngOnDestroy(): void;
|
|
@@ -8,15 +8,15 @@ export declare class ButtonToggleComponent {
|
|
|
8
8
|
readonly changed: import("@angular/core").OutputEmitterRef<ButtonToggleInfo>;
|
|
9
9
|
protected current: Signal<boolean>;
|
|
10
10
|
toggled: boolean;
|
|
11
|
-
value: import("@angular/core").InputSignal<boolean>;
|
|
12
|
-
width: import("@angular/core").InputSignal<number>;
|
|
13
|
-
border: import("@angular/core").InputSignal<number>;
|
|
14
|
-
labelOn: import("@angular/core").InputSignal<string>;
|
|
15
|
-
labelOff: import("@angular/core").InputSignal<string>;
|
|
16
|
-
iconOn: import("@angular/core").InputSignal<string>;
|
|
17
|
-
iconOff: import("@angular/core").InputSignal<string>;
|
|
18
|
-
cssClass: import("@angular/core").InputSignal<string>;
|
|
19
|
-
cssClassSmall: import("@angular/core").InputSignal<string>;
|
|
11
|
+
readonly value: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly width: import("@angular/core").InputSignal<number>;
|
|
13
|
+
readonly border: import("@angular/core").InputSignal<number>;
|
|
14
|
+
readonly labelOn: import("@angular/core").InputSignal<string>;
|
|
15
|
+
readonly labelOff: import("@angular/core").InputSignal<string>;
|
|
16
|
+
readonly iconOn: import("@angular/core").InputSignal<string>;
|
|
17
|
+
readonly iconOff: import("@angular/core").InputSignal<string>;
|
|
18
|
+
readonly cssClass: import("@angular/core").InputSignal<string>;
|
|
19
|
+
readonly cssClassSmall: import("@angular/core").InputSignal<string>;
|
|
20
20
|
protected label: Signal<string>;
|
|
21
21
|
protected icon: Signal<string>;
|
|
22
22
|
/**
|
|
@@ -12,17 +12,17 @@ export declare class ChipsSelectorComponent implements OnInit, OnDestroy, AfterC
|
|
|
12
12
|
private unsubscribe;
|
|
13
13
|
private changeDetector;
|
|
14
14
|
private changesEnabled;
|
|
15
|
-
options: import("@angular/core").InputSignal<NameValueItem<any>[]>;
|
|
16
|
-
collapsedWidth: import("@angular/core").InputSignal<number>;
|
|
17
|
-
collapsedDisplayMode: import("@angular/core").InputSignal<"button" | "dropdown">;
|
|
18
|
-
collapseAt: import("@angular/core").InputSignal<number>;
|
|
19
|
-
collapseAtContainer: import("@angular/core").InputSignal<boolean>;
|
|
20
|
-
collapsed: Signal<boolean>;
|
|
21
|
-
label: import("@angular/core").InputSignal<string>;
|
|
22
|
-
multiple: import("@angular/core").InputSignal<boolean>;
|
|
23
|
-
mustSelect: import("@angular/core").InputSignal<boolean>;
|
|
24
|
-
mode: import("@angular/core").InputSignal<"collapsed" | "dinamyc">;
|
|
25
|
-
stacked: import("@angular/core").InputSignal<boolean>;
|
|
15
|
+
readonly options: import("@angular/core").InputSignal<NameValueItem<any>[]>;
|
|
16
|
+
readonly collapsedWidth: import("@angular/core").InputSignal<number>;
|
|
17
|
+
readonly collapsedDisplayMode: import("@angular/core").InputSignal<"button" | "dropdown">;
|
|
18
|
+
readonly collapseAt: import("@angular/core").InputSignal<number>;
|
|
19
|
+
readonly collapseAtContainer: import("@angular/core").InputSignal<boolean>;
|
|
20
|
+
protected collapsed: Signal<boolean>;
|
|
21
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
22
|
+
readonly multiple: import("@angular/core").InputSignal<boolean>;
|
|
23
|
+
readonly mustSelect: import("@angular/core").InputSignal<boolean>;
|
|
24
|
+
readonly mode: import("@angular/core").InputSignal<"collapsed" | "dinamyc">;
|
|
25
|
+
readonly stacked: import("@angular/core").InputSignal<boolean>;
|
|
26
26
|
private _value;
|
|
27
27
|
set value(value: NameValueItem<any>[] | null);
|
|
28
28
|
get value(): NameValueItem<any>[] | null;
|
|
@@ -30,12 +30,12 @@ export declare class FileInputComponent implements OnDestroy, AfterViewInit, DoC
|
|
|
30
30
|
get placeholder(): string;
|
|
31
31
|
set placeholder(value: string);
|
|
32
32
|
fileName: string | null;
|
|
33
|
-
maxSizeMb: import("@angular/core").InputSignal<number>;
|
|
34
|
-
minSizeMb: import("@angular/core").InputSignal<number>;
|
|
35
|
-
isNew: import("@angular/core").InputSignal<boolean>;
|
|
36
|
-
canPreview: import("@angular/core").InputSignal<boolean>;
|
|
37
|
-
appearance: import("@angular/core").InputSignal<"fill" | "outline">;
|
|
38
|
-
accept: import("@angular/core").InputSignal<string>;
|
|
33
|
+
readonly maxSizeMb: import("@angular/core").InputSignal<number>;
|
|
34
|
+
readonly minSizeMb: import("@angular/core").InputSignal<number>;
|
|
35
|
+
readonly isNew: import("@angular/core").InputSignal<boolean>;
|
|
36
|
+
readonly canPreview: import("@angular/core").InputSignal<boolean>;
|
|
37
|
+
readonly appearance: import("@angular/core").InputSignal<"fill" | "outline">;
|
|
38
|
+
readonly accept: import("@angular/core").InputSignal<string>;
|
|
39
39
|
get empty(): boolean;
|
|
40
40
|
get errorState(): boolean;
|
|
41
41
|
id: string;
|
|
@@ -4,26 +4,26 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class FilterBarComponent implements OnInit {
|
|
5
5
|
readonly changed: import("@angular/core").OutputEmitterRef<CurrentFilterChanged>;
|
|
6
6
|
private changeDetector;
|
|
7
|
-
filters: import("@angular/core").InputSignal<any>;
|
|
8
|
-
canFilterByFlt1: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
-
canFilterByFlt2: import("@angular/core").WritableSignal<boolean>;
|
|
10
|
-
canFilterByFlt3: import("@angular/core").WritableSignal<boolean>;
|
|
11
|
-
canFilterByFlt4: import("@angular/core").WritableSignal<boolean>;
|
|
12
|
-
canFilterByFlt5: import("@angular/core").WritableSignal<boolean>;
|
|
13
|
-
canFilterByText: import("@angular/core").InputSignal<boolean>;
|
|
14
|
-
canFilterByText2: import("@angular/core").InputSignal<boolean>;
|
|
15
|
-
canFilterByText3: import("@angular/core").InputSignal<boolean>;
|
|
16
|
-
initialText: import("@angular/core").InputSignal<string>;
|
|
17
|
-
initialText2: import("@angular/core").InputSignal<string>;
|
|
18
|
-
initialText3: import("@angular/core").InputSignal<string>;
|
|
19
|
-
textName: import("@angular/core").InputSignal<string>;
|
|
20
|
-
text2Name: import("@angular/core").InputSignal<string>;
|
|
21
|
-
text3Name: import("@angular/core").InputSignal<string>;
|
|
22
|
-
textLength: import("@angular/core").InputSignal<string>;
|
|
23
|
-
text2Length: import("@angular/core").InputSignal<string>;
|
|
24
|
-
text3Length: import("@angular/core").InputSignal<string>;
|
|
25
|
-
showTextSearchButton: import("@angular/core").InputSignal<boolean>;
|
|
26
|
-
appearance: import("@angular/core").InputSignal<"fill" | "outline">;
|
|
7
|
+
readonly filters: import("@angular/core").InputSignal<any>;
|
|
8
|
+
readonly canFilterByFlt1: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
+
readonly canFilterByFlt2: import("@angular/core").WritableSignal<boolean>;
|
|
10
|
+
readonly canFilterByFlt3: import("@angular/core").WritableSignal<boolean>;
|
|
11
|
+
readonly canFilterByFlt4: import("@angular/core").WritableSignal<boolean>;
|
|
12
|
+
readonly canFilterByFlt5: import("@angular/core").WritableSignal<boolean>;
|
|
13
|
+
readonly canFilterByText: import("@angular/core").InputSignal<boolean>;
|
|
14
|
+
readonly canFilterByText2: import("@angular/core").InputSignal<boolean>;
|
|
15
|
+
readonly canFilterByText3: import("@angular/core").InputSignal<boolean>;
|
|
16
|
+
readonly initialText: import("@angular/core").InputSignal<string>;
|
|
17
|
+
readonly initialText2: import("@angular/core").InputSignal<string>;
|
|
18
|
+
readonly initialText3: import("@angular/core").InputSignal<string>;
|
|
19
|
+
readonly textName: import("@angular/core").InputSignal<string>;
|
|
20
|
+
readonly text2Name: import("@angular/core").InputSignal<string>;
|
|
21
|
+
readonly text3Name: import("@angular/core").InputSignal<string>;
|
|
22
|
+
readonly textLength: import("@angular/core").InputSignal<string>;
|
|
23
|
+
readonly text2Length: import("@angular/core").InputSignal<string>;
|
|
24
|
+
readonly text3Length: import("@angular/core").InputSignal<string>;
|
|
25
|
+
readonly showTextSearchButton: import("@angular/core").InputSignal<boolean>;
|
|
26
|
+
readonly appearance: import("@angular/core").InputSignal<"fill" | "outline">;
|
|
27
27
|
protected text: string | null;
|
|
28
28
|
protected text2: string | null;
|
|
29
29
|
protected text3: string | null;
|
|
@@ -11,13 +11,14 @@ export declare class LoginOAuthComponent implements OnInit, OnDestroy {
|
|
|
11
11
|
private unsubscribe;
|
|
12
12
|
private msalBroadcastService;
|
|
13
13
|
private msaLService;
|
|
14
|
+
private dialogService;
|
|
14
15
|
private ngZone;
|
|
15
16
|
readonly success: import("@angular/core").OutputEmitterRef<LoginOAuthResult>;
|
|
16
|
-
showInfo: import("@angular/core").InputSignal<boolean>;
|
|
17
|
-
applicationName: import("@angular/core").InputSignal<string>;
|
|
18
|
-
autoInitialize: import("@angular/core").InputSignal<boolean>;
|
|
19
|
-
allowMicrosoft: import("@angular/core").InputSignal<boolean>;
|
|
20
|
-
allowGoogle: import("@angular/core").InputSignal<boolean>;
|
|
17
|
+
readonly showInfo: import("@angular/core").InputSignal<boolean>;
|
|
18
|
+
readonly applicationName: import("@angular/core").InputSignal<string>;
|
|
19
|
+
readonly autoInitialize: import("@angular/core").InputSignal<boolean>;
|
|
20
|
+
readonly allowMicrosoft: import("@angular/core").InputSignal<boolean>;
|
|
21
|
+
readonly allowGoogle: import("@angular/core").InputSignal<boolean>;
|
|
21
22
|
protected oauthReady: import("@angular/core").WritableSignal<boolean>;
|
|
22
23
|
protected oauthMicrosoftReady: import("@angular/core").WritableSignal<boolean>;
|
|
23
24
|
protected oauthGoogleReady: import("@angular/core").WritableSignal<boolean>;
|