@azure/msal-react 3.0.22 → 5.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/MsalContext.js +1 -1
- package/dist/MsalProvider.js +5 -5
- package/dist/MsalProvider.js.map +1 -1
- package/dist/components/AuthenticatedTemplate.js +1 -1
- package/dist/components/MsalAuthenticationTemplate.js +1 -1
- package/dist/components/UnauthenticatedTemplate.js +1 -1
- package/dist/components/withMsal.js +1 -1
- package/dist/error/ReactAuthError.js +1 -1
- package/dist/hooks/useAccount.d.ts +6 -0
- package/dist/hooks/useAccount.js +50 -13
- package/dist/hooks/useAccount.js.map +1 -1
- package/dist/hooks/useIsAuthenticated.js +1 -1
- package/dist/hooks/useMsal.js +1 -1
- package/dist/hooks/useMsalAuthentication.js +69 -72
- package/dist/hooks/useMsalAuthentication.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/utils/utilities.js +1 -1
- package/lib/msal-react.cjs +119 -85
- package/lib/msal-react.cjs.map +1 -1
- package/lib/types/hooks/useAccount.d.ts +6 -0
- package/lib/types/packageMetadata.d.ts +1 -1
- package/package.json +6 -8
- package/src/MsalProvider.tsx +8 -4
- package/src/hooks/useAccount.ts +65 -15
- package/src/hooks/useMsalAuthentication.ts +106 -95
- package/src/packageMetadata.ts +1 -1
package/lib/msal-react.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-react
|
|
1
|
+
/*! @azure/msal-react v5.0.0-alpha.1 2025-12-04 */
|
|
2
2
|
'use strict';
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -104,7 +104,7 @@ function getAccountByIdentifiers(allAccounts, accountIdentifiers) {
|
|
|
104
104
|
|
|
105
105
|
/* eslint-disable header/header */
|
|
106
106
|
const name = "@azure/msal-react";
|
|
107
|
-
const version = "
|
|
107
|
+
const version = "5.0.0-alpha.1";
|
|
108
108
|
|
|
109
109
|
/*
|
|
110
110
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -126,14 +126,14 @@ const reducer = (previousState, action) => {
|
|
|
126
126
|
case MsalProviderActionType.UNBLOCK_INPROGRESS:
|
|
127
127
|
if (previousState.inProgress === msalBrowser.InteractionStatus.Startup) {
|
|
128
128
|
newInProgress = msalBrowser.InteractionStatus.None;
|
|
129
|
-
payload.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'");
|
|
129
|
+
payload.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'", "");
|
|
130
130
|
}
|
|
131
131
|
break;
|
|
132
132
|
case MsalProviderActionType.EVENT:
|
|
133
133
|
const message = payload.message;
|
|
134
134
|
const status = msalBrowser.EventMessageUtils.getInteractionStatusFromEvent(message, previousState.inProgress);
|
|
135
135
|
if (status) {
|
|
136
|
-
payload.logger.info(`MsalProvider - ${message.eventType} results in setting inProgress from ${previousState.inProgress} to ${status}
|
|
136
|
+
payload.logger.info(`MsalProvider - '${message.eventType}' results in setting inProgress from '${previousState.inProgress}' to '${status}'`, "");
|
|
137
137
|
newInProgress = status;
|
|
138
138
|
}
|
|
139
139
|
break;
|
|
@@ -202,7 +202,7 @@ function MsalProvider({ instance, children, }) {
|
|
|
202
202
|
type: MsalProviderActionType.EVENT,
|
|
203
203
|
});
|
|
204
204
|
});
|
|
205
|
-
logger.verbose(`MsalProvider - Registered event callback with id: ${callbackId}
|
|
205
|
+
logger.verbose(`MsalProvider - Registered event callback with id: '${callbackId}'`, "");
|
|
206
206
|
instance
|
|
207
207
|
.initialize()
|
|
208
208
|
.then(() => {
|
|
@@ -233,7 +233,7 @@ function MsalProvider({ instance, children, }) {
|
|
|
233
233
|
return () => {
|
|
234
234
|
// Remove callback when component unmounts or accounts change
|
|
235
235
|
if (callbackId) {
|
|
236
|
-
logger.verbose(`MsalProvider - Removing event callback ${callbackId}
|
|
236
|
+
logger.verbose(`MsalProvider - Removing event callback '${callbackId}'`, "");
|
|
237
237
|
instance.removeEventCallback(callbackId);
|
|
238
238
|
}
|
|
239
239
|
};
|
|
@@ -348,6 +348,28 @@ function getAccount(instance, accountIdentifiers) {
|
|
|
348
348
|
}
|
|
349
349
|
return getAccountByIdentifiers(instance.getAllAccounts(), accountIdentifiers);
|
|
350
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Helper function to determine whether 2 accountInfo objects represent the same account
|
|
353
|
+
* @param accountA
|
|
354
|
+
* @param accountB
|
|
355
|
+
*/
|
|
356
|
+
function accountInfoIsEqual(accountA, accountB) {
|
|
357
|
+
if (!accountA || !accountB) {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
const accountAClaims = (accountA.idTokenClaims || {});
|
|
361
|
+
const accountBClaims = (accountB.idTokenClaims || {});
|
|
362
|
+
// issued at timestamp and nonce are expected to change each time a new id token is acquired
|
|
363
|
+
const claimsMatch = accountAClaims.iat === accountBClaims.iat &&
|
|
364
|
+
accountAClaims.nonce === accountBClaims.nonce;
|
|
365
|
+
return (accountA.homeAccountId === accountB.homeAccountId &&
|
|
366
|
+
accountA.localAccountId === accountB.localAccountId &&
|
|
367
|
+
accountA.username === accountB.username &&
|
|
368
|
+
accountA.tenantId === accountB.tenantId &&
|
|
369
|
+
accountA.environment === accountB.environment &&
|
|
370
|
+
accountA.nativeAccountId === accountB.nativeAccountId &&
|
|
371
|
+
claimsMatch);
|
|
372
|
+
}
|
|
351
373
|
/**
|
|
352
374
|
* Given 1 or more accountIdentifiers, returns the Account object if the user is signed-in
|
|
353
375
|
* @param accountIdentifiers
|
|
@@ -362,18 +384,33 @@ function useAccount(accountIdentifiers) {
|
|
|
362
384
|
return getAccount(instance, accountIdentifiers);
|
|
363
385
|
}
|
|
364
386
|
});
|
|
387
|
+
const updateAccount = React.useCallback(() => {
|
|
388
|
+
const nextAccount = getAccount(instance, accountIdentifiers);
|
|
389
|
+
setAccount((currentAccount) => {
|
|
390
|
+
if (!accountInfoIsEqual(currentAccount, nextAccount)) {
|
|
391
|
+
logger.info("useAccount - Updating account", "");
|
|
392
|
+
return nextAccount;
|
|
393
|
+
}
|
|
394
|
+
return currentAccount;
|
|
395
|
+
});
|
|
396
|
+
}, [accountIdentifiers, instance, logger]);
|
|
365
397
|
React.useEffect(() => {
|
|
366
398
|
if (inProgress !== msalBrowser.InteractionStatus.Startup) {
|
|
367
|
-
|
|
368
|
-
const nextAccount = getAccount(instance, accountIdentifiers);
|
|
369
|
-
if (!msalBrowser.AccountEntity.accountInfoIsEqual(currentAccount, nextAccount, true)) {
|
|
370
|
-
logger.info("useAccount - Updating account");
|
|
371
|
-
return nextAccount;
|
|
372
|
-
}
|
|
373
|
-
return currentAccount;
|
|
374
|
-
});
|
|
399
|
+
updateAccount();
|
|
375
400
|
}
|
|
376
|
-
|
|
401
|
+
const callbackId = instance.addEventCallback((message) => {
|
|
402
|
+
if (message.eventType === msalBrowser.EventType.ACTIVE_ACCOUNT_CHANGED ||
|
|
403
|
+
(message.eventType === msalBrowser.EventType.LOGIN_SUCCESS &&
|
|
404
|
+
message.interactionType === msalBrowser.InteractionType.Silent)) {
|
|
405
|
+
updateAccount();
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
return () => {
|
|
409
|
+
if (callbackId) {
|
|
410
|
+
instance.removeEventCallback(callbackId);
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
}, [updateAccount, inProgress, instance]);
|
|
377
414
|
return account;
|
|
378
415
|
}
|
|
379
416
|
|
|
@@ -452,75 +489,96 @@ function useMsalAuthentication(interactionType, authenticationRequest, accountId
|
|
|
452
489
|
const login = React.useCallback(async (callbackInteractionType, callbackRequest) => {
|
|
453
490
|
const loginType = callbackInteractionType || interactionType;
|
|
454
491
|
const loginRequest = callbackRequest || authenticationRequest;
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
.loginRedirect
|
|
464
|
-
.
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
492
|
+
const getToken = async () => {
|
|
493
|
+
logger.verbose("useMsalAuthentication - Calling getToken", callbackRequest?.correlationId || "");
|
|
494
|
+
switch (loginType) {
|
|
495
|
+
case msalBrowser.InteractionType.Popup:
|
|
496
|
+
logger.verbose("useMsalAuthentication - Calling loginPopup", callbackRequest?.correlationId || "");
|
|
497
|
+
return instance.loginPopup(loginRequest);
|
|
498
|
+
case msalBrowser.InteractionType.Redirect:
|
|
499
|
+
// This promise is not expected to resolve due to full frame redirect
|
|
500
|
+
logger.verbose("useMsalAuthentication - Calling loginRedirect", callbackRequest?.correlationId || "");
|
|
501
|
+
await instance.handleRedirectPromise();
|
|
502
|
+
return instance
|
|
503
|
+
.loginRedirect(loginRequest)
|
|
504
|
+
.then(() => null);
|
|
505
|
+
case msalBrowser.InteractionType.Silent:
|
|
506
|
+
logger.verbose("useMsalAuthentication - Calling ssoSilent", callbackRequest?.correlationId || "");
|
|
507
|
+
return instance.ssoSilent(loginRequest);
|
|
508
|
+
default:
|
|
509
|
+
const invalidTypeError = ReactAuthError.createInvalidInteractionTypeError();
|
|
510
|
+
if (mounted.current) {
|
|
511
|
+
setResponse([null, invalidTypeError]);
|
|
512
|
+
}
|
|
513
|
+
throw invalidTypeError;
|
|
514
|
+
}
|
|
515
|
+
};
|
|
516
|
+
return getToken()
|
|
517
|
+
.then((response) => {
|
|
518
|
+
if (response && mounted.current) {
|
|
519
|
+
setResponse([response, null]);
|
|
520
|
+
}
|
|
521
|
+
return response;
|
|
522
|
+
})
|
|
523
|
+
.catch((e) => {
|
|
524
|
+
if (mounted.current) {
|
|
525
|
+
setResponse([null, e]);
|
|
526
|
+
}
|
|
527
|
+
throw e;
|
|
528
|
+
});
|
|
471
529
|
}, [instance, interactionType, authenticationRequest, logger]);
|
|
472
530
|
const acquireToken = React.useCallback(async (callbackInteractionType, callbackRequest) => {
|
|
473
531
|
const fallbackInteractionType = callbackInteractionType || interactionType;
|
|
474
532
|
let tokenRequest;
|
|
475
533
|
if (callbackRequest) {
|
|
476
|
-
logger.trace("useMsalAuthentication - acquireToken - Using request provided in the callback");
|
|
534
|
+
logger.trace("useMsalAuthentication - acquireToken - Using request provided in the callback", callbackRequest.correlationId || "");
|
|
477
535
|
tokenRequest = {
|
|
478
536
|
...callbackRequest,
|
|
479
537
|
};
|
|
480
538
|
}
|
|
481
539
|
else if (authenticationRequest) {
|
|
482
|
-
logger.trace("useMsalAuthentication - acquireToken - Using request provided in the hook");
|
|
540
|
+
logger.trace("useMsalAuthentication - acquireToken - Using request provided in the hook", authenticationRequest.correlationId || "");
|
|
483
541
|
tokenRequest = {
|
|
484
542
|
...authenticationRequest,
|
|
485
543
|
scopes: authenticationRequest.scopes || msalBrowser.OIDC_DEFAULT_SCOPES,
|
|
486
544
|
};
|
|
487
545
|
}
|
|
488
546
|
else {
|
|
489
|
-
logger.trace("useMsalAuthentication - acquireToken - No request object provided, using default request.");
|
|
547
|
+
logger.trace("useMsalAuthentication - acquireToken - No request object provided, using default request.", "");
|
|
490
548
|
tokenRequest = {
|
|
491
549
|
scopes: msalBrowser.OIDC_DEFAULT_SCOPES,
|
|
492
550
|
};
|
|
493
551
|
}
|
|
552
|
+
const correlationId = tokenRequest.correlationId || msalBrowser.BrowserUtils.createGuid();
|
|
553
|
+
tokenRequest.correlationId = correlationId;
|
|
494
554
|
if (!tokenRequest.account && account) {
|
|
495
|
-
logger.trace("useMsalAuthentication - acquireToken - Attaching account to request");
|
|
555
|
+
logger.trace("useMsalAuthentication - acquireToken - Attaching account to request", correlationId);
|
|
496
556
|
tokenRequest.account = account;
|
|
497
557
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
return instance
|
|
501
|
-
.acquireTokenSilent(tokenRequest)
|
|
502
|
-
.catch(async (e) => {
|
|
503
|
-
if (e instanceof msalBrowser.InteractionRequiredAuthError) {
|
|
504
|
-
if (!interactionInProgress.current) {
|
|
505
|
-
logger.error("useMsalAuthentication - Interaction required, falling back to interaction");
|
|
506
|
-
return login(fallbackInteractionType, tokenRequest);
|
|
507
|
-
}
|
|
508
|
-
else {
|
|
509
|
-
logger.error("useMsalAuthentication - Interaction required but is already in progress. Please try again, if needed, after interaction completes.");
|
|
510
|
-
throw ReactAuthError.createUnableToFallbackToInteractionError();
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
throw e;
|
|
514
|
-
});
|
|
515
|
-
};
|
|
516
|
-
return getToken()
|
|
558
|
+
return instance
|
|
559
|
+
.acquireTokenSilent(tokenRequest)
|
|
517
560
|
.then((response) => {
|
|
518
561
|
if (mounted.current) {
|
|
519
562
|
setResponse([response, null]);
|
|
520
563
|
}
|
|
521
564
|
return response;
|
|
522
565
|
})
|
|
523
|
-
.catch((e) => {
|
|
566
|
+
.catch(async (e) => {
|
|
567
|
+
if (e instanceof msalBrowser.InteractionRequiredAuthError) {
|
|
568
|
+
if (!interactionInProgress.current) {
|
|
569
|
+
logger.error("useMsalAuthentication - Interaction required, falling back to interaction", correlationId);
|
|
570
|
+
return login(fallbackInteractionType, tokenRequest);
|
|
571
|
+
}
|
|
572
|
+
else {
|
|
573
|
+
const fallbackError = ReactAuthError.createUnableToFallbackToInteractionError();
|
|
574
|
+
logger.error("useMsalAuthentication - Interaction required but is already in progress. Please try again, if needed, after interaction completes.", correlationId);
|
|
575
|
+
if (mounted.current) {
|
|
576
|
+
setResponse([null, fallbackError]);
|
|
577
|
+
}
|
|
578
|
+
throw fallbackError;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
// Handle other errors
|
|
524
582
|
if (mounted.current) {
|
|
525
583
|
setResponse([null, e]);
|
|
526
584
|
}
|
|
@@ -534,40 +592,12 @@ function useMsalAuthentication(interactionType, authenticationRequest, accountId
|
|
|
534
592
|
account,
|
|
535
593
|
login,
|
|
536
594
|
]);
|
|
537
|
-
React.useEffect(() => {
|
|
538
|
-
const callbackId = instance.addEventCallback((message) => {
|
|
539
|
-
switch (message.eventType) {
|
|
540
|
-
case msalBrowser.EventType.LOGIN_SUCCESS:
|
|
541
|
-
case msalBrowser.EventType.SSO_SILENT_SUCCESS:
|
|
542
|
-
if (message.payload) {
|
|
543
|
-
setResponse([
|
|
544
|
-
message.payload,
|
|
545
|
-
null,
|
|
546
|
-
]);
|
|
547
|
-
}
|
|
548
|
-
break;
|
|
549
|
-
case msalBrowser.EventType.LOGIN_FAILURE:
|
|
550
|
-
case msalBrowser.EventType.SSO_SILENT_FAILURE:
|
|
551
|
-
if (message.error) {
|
|
552
|
-
setResponse([null, message.error]);
|
|
553
|
-
}
|
|
554
|
-
break;
|
|
555
|
-
}
|
|
556
|
-
});
|
|
557
|
-
logger.verbose(`useMsalAuthentication - Registered event callback with id: ${callbackId}`);
|
|
558
|
-
return () => {
|
|
559
|
-
if (callbackId) {
|
|
560
|
-
logger.verbose(`useMsalAuthentication - Removing event callback ${callbackId}`);
|
|
561
|
-
instance.removeEventCallback(callbackId);
|
|
562
|
-
}
|
|
563
|
-
};
|
|
564
|
-
}, [instance, logger]);
|
|
565
595
|
React.useEffect(() => {
|
|
566
596
|
if (shouldAcquireToken.current &&
|
|
567
597
|
inProgress === msalBrowser.InteractionStatus.None) {
|
|
568
598
|
if (!isAuthenticated) {
|
|
569
599
|
shouldAcquireToken.current = false;
|
|
570
|
-
logger.info("useMsalAuthentication - No user is authenticated, attempting to login");
|
|
600
|
+
logger.info("useMsalAuthentication - No user is authenticated, attempting to login", "");
|
|
571
601
|
login().catch(() => {
|
|
572
602
|
// Errors are saved in state above
|
|
573
603
|
return;
|
|
@@ -575,12 +605,16 @@ function useMsalAuthentication(interactionType, authenticationRequest, accountId
|
|
|
575
605
|
}
|
|
576
606
|
else if (account) {
|
|
577
607
|
shouldAcquireToken.current = false;
|
|
578
|
-
logger.info("useMsalAuthentication - User is authenticated, attempting to acquire token");
|
|
608
|
+
logger.info("useMsalAuthentication - User is authenticated, attempting to acquire token", "");
|
|
579
609
|
acquireToken().catch(() => {
|
|
580
610
|
// Errors are saved in state above
|
|
581
611
|
return;
|
|
582
612
|
});
|
|
583
613
|
}
|
|
614
|
+
// If logging out, set the state to null so the component doesn't display authenticated content for a user that is logged out
|
|
615
|
+
}
|
|
616
|
+
else if (!account && result) {
|
|
617
|
+
setResponse([null, null]);
|
|
584
618
|
}
|
|
585
619
|
}, [isAuthenticated, account, inProgress, login, acquireToken, logger]);
|
|
586
620
|
return {
|
package/lib/msal-react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msal-react.cjs","sources":["../../src/MsalContext.ts","../../src/utils/utilities.ts","../../src/packageMetadata.ts","../../src/MsalProvider.tsx","../../src/hooks/useMsal.ts","../../src/hooks/useIsAuthenticated.ts","../../src/components/AuthenticatedTemplate.tsx","../../src/components/UnauthenticatedTemplate.tsx","../../src/hooks/useAccount.ts","../../src/error/ReactAuthError.ts","../../src/hooks/useMsalAuthentication.ts","../../src/components/MsalAuthenticationTemplate.tsx","../../src/components/withMsal.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["stubbedPublicClientApplication","InteractionStatus","Logger","React","EventMessageUtils","useEffect","WrapperSKU","useMemo","SKU","useReducer","useContext","useState","AccountEntity","AuthError","useRef","useCallback","InteractionType","OIDC_DEFAULT_SCOPES","InteractionRequiredAuthError","EventType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"msal-react.cjs","sources":["../../src/MsalContext.ts","../../src/utils/utilities.ts","../../src/packageMetadata.ts","../../src/MsalProvider.tsx","../../src/hooks/useMsal.ts","../../src/hooks/useIsAuthenticated.ts","../../src/components/AuthenticatedTemplate.tsx","../../src/components/UnauthenticatedTemplate.tsx","../../src/hooks/useAccount.ts","../../src/error/ReactAuthError.ts","../../src/hooks/useMsalAuthentication.ts","../../src/components/MsalAuthenticationTemplate.tsx","../../src/components/withMsal.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["stubbedPublicClientApplication","InteractionStatus","Logger","React","EventMessageUtils","useEffect","WrapperSKU","useMemo","SKU","useReducer","useContext","useState","useCallback","EventType","InteractionType","AuthError","useRef","OIDC_DEFAULT_SCOPES","BrowserUtils","InteractionRequiredAuthError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGG;AAkBH;;;AAGG;AACH,MAAM,kBAAkB,GAAiB;AACrC,IAAA,QAAQ,EAAEA,0CAA8B;IACxC,UAAU,EAAEC,6BAAiB,CAAC,IAAI;AAClC,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,MAAM,EAAE,IAAIC,kBAAM,CAAC,EAAE,CAAC;CACzB,CAAC;AAEW,MAAA,WAAW,GACpBC,gBAAK,CAAC,aAAa,CAAe,kBAAkB,EAAE;AAC7C,MAAA,YAAY,GAAG,WAAW,CAAC;;AClCxC;;;AAGG;AAOa,SAAA,qBAAqB,CACjC,QAAwC,EACxC,IAAO,EAAA;AAEP,IAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAChC,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzB,KAAA;AACD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAaD;;;;;AAKG;AACa,SAAA,qBAAqB,CACjC,MAAiC,EACjC,MAAiC,EAAA;AAEjC,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;AACjC,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAED,IAAA,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAEpC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAI;AAC7B,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACxB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,QACI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;AACjD,YAAA,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc;AACnD,YAAA,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EACzC;AACN,KAAC,CAAC,CAAC;AACP,CAAC;AAEe,SAAA,uBAAuB,CACnC,WAA0B,EAC1B,kBAAsC,EAAA;AAEtC,IAAA,IACI,WAAW,CAAC,MAAM,GAAG,CAAC;SACrB,kBAAkB,CAAC,aAAa;AAC7B,YAAA,kBAAkB,CAAC,cAAc;YACjC,kBAAkB,CAAC,QAAQ,CAAC,EAClC;QACE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,KAAI;YACtD,IACI,kBAAkB,CAAC,QAAQ;AAC3B,gBAAA,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE;AACrC,oBAAA,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,EACvC;AACE,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;YACD,IACI,kBAAkB,CAAC,aAAa;AAChC,gBAAA,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE;AAC1C,oBAAA,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,EAC5C;AACE,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;YACD,IACI,kBAAkB,CAAC,cAAc;AACjC,gBAAA,kBAAkB,CAAC,cAAc,CAAC,WAAW,EAAE;AAC3C,oBAAA,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,EAC7C;AACE,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACrC,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AACL;;ACrGA;AACO,MAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,MAAM,OAAO,GAAG;;ACFvB;;;AAGG;AA8BH,MAAM,sBAAsB,GAAG;AAC3B,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,KAAK,EAAE,OAAO;CACR,CAAC;AAaX;;;;AAIG;AACH,MAAM,OAAO,GAAG,CACZ,aAAwB,EACxB,MAAiC,KACtB;AACX,IAAA,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AACjC,IAAA,IAAI,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;AAE7C,IAAA,QAAQ,IAAI;QACR,KAAK,sBAAsB,CAAC,kBAAkB;AAC1C,YAAA,IAAI,aAAa,CAAC,UAAU,KAAKF,6BAAiB,CAAC,OAAO,EAAE;AACxD,gBAAA,aAAa,GAAGA,6BAAiB,CAAC,IAAI,CAAC;gBACvC,OAAO,CAAC,MAAM,CAAC,IAAI,CACf,6EAA6E,EAC7E,EAAE,CACL,CAAC;AACL,aAAA;YACD,MAAM;QACV,KAAK,sBAAsB,CAAC,KAAK;AAC7B,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAuB,CAAC;AAChD,YAAA,MAAM,MAAM,GAAGG,6BAAiB,CAAC,6BAA6B,CAC1D,OAAO,EACP,aAAa,CAAC,UAAU,CAC3B,CAAC;AACF,YAAA,IAAI,MAAM,EAAE;AACR,gBAAA,OAAO,CAAC,MAAM,CAAC,IAAI,CACf,CAAA,gBAAA,EAAmB,OAAO,CAAC,SAAS,yCAAyC,aAAa,CAAC,UAAU,CAAS,MAAA,EAAA,MAAM,GAAG,EACvH,EAAE,CACL,CAAC;gBACF,aAAa,GAAG,MAAM,CAAC;AAC1B,aAAA;YACD,MAAM;AACV,QAAA;AACI,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAA,CAAE,CAAC,CAAC;AACvD,KAAA;AAED,IAAA,IAAI,aAAa,KAAKH,6BAAiB,CAAC,OAAO,EAAE;;AAE7C,QAAA,OAAO,aAAa,CAAC;AACxB,KAAA;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC1D,IAAA,IACI,aAAa,KAAK,aAAa,CAAC,UAAU;QAC1C,CAAC,qBAAqB,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjE;;QAEE,OAAO;AACH,YAAA,GAAG,aAAa;AAChB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,QAAQ,EAAE,eAAe;SAC5B,CAAC;AACL,KAAA;AAAM,SAAA,IAAI,aAAa,KAAK,aAAa,CAAC,UAAU,EAAE;;QAEnD,OAAO;AACH,YAAA,GAAG,aAAa;AAChB,YAAA,UAAU,EAAE,aAAa;SAC5B,CAAC;AACL,KAAA;SAAM,IACH,CAAC,qBAAqB,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjE;;QAEE,OAAO;AACH,YAAA,GAAG,aAAa;AAChB,YAAA,QAAQ,EAAE,eAAe;SAC5B,CAAC;AACL,KAAA;AAAM,SAAA;;AAEH,QAAA,OAAO,aAAa,CAAC;AACxB,KAAA;AACL,CAAC,CAAC;AAEF;;AAEG;SACa,YAAY,CAAC,EACzB,QAAQ,EACR,QAAQ,GACQ,EAAA;IAChBI,eAAS,CAAC,MAAK;QACX,QAAQ,CAAC,wBAAwB,CAACC,sBAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACjE,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;;AAEf,IAAA,MAAM,MAAM,GAAGC,aAAO,CAAC,MAAK;QACxB,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAACC,IAAG,EAAE,OAAO,CAAC,CAAC;AACpD,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEf,IAAA,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAGC,gBAAU,CAAC,OAAO,EAAE,SAAS,EAAE,MAAK;;QAE7D,OAAO;YACH,UAAU,EAAER,6BAAiB,CAAC,OAAO;AACrC,YAAA,QAAQ,EAAE,EAAE;SACf,CAAC;AACN,KAAC,CAAC,CAAC;IAEHI,eAAS,CAAC,MAAK;QACX,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CACxC,CAAC,OAAqB,KAAI;AACtB,YAAA,WAAW,CAAC;AACR,gBAAA,OAAO,EAAE;oBACL,QAAQ;oBACR,MAAM;oBACN,OAAO;AACV,iBAAA;gBACD,IAAI,EAAE,sBAAsB,CAAC,KAAK;AACrC,aAAA,CAAC,CAAC;AACP,SAAC,CACJ,CAAC;QACF,MAAM,CAAC,OAAO,CACV,CAAA,mDAAA,EAAsD,UAAU,CAAG,CAAA,CAAA,EACnE,EAAE,CACL,CAAC;QAEF,QAAQ;AACH,aAAA,UAAU,EAAE;aACZ,IAAI,CAAC,MAAK;YACP,QAAQ;AACH,iBAAA,qBAAqB,EAAE;iBACvB,KAAK,CAAC,MAAK;;gBAER,OAAO;AACX,aAAC,CAAC;iBACD,OAAO,CAAC,MAAK;AACV;;;AAGG;AACH,gBAAA,WAAW,CAAC;AACR,oBAAA,OAAO,EAAE;wBACL,QAAQ;wBACR,MAAM;AACT,qBAAA;oBACD,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;AAClD,iBAAA,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AACX,SAAC,CAAC;aACD,KAAK,CAAC,MAAK;;YAER,OAAO;AACX,SAAC,CAAC,CAAC;AAEP,QAAA,OAAO,MAAK;;AAER,YAAA,IAAI,UAAU,EAAE;gBACZ,MAAM,CAAC,OAAO,CACV,CAAA,wCAAA,EAA2C,UAAU,CAAG,CAAA,CAAA,EACxD,EAAE,CACL,CAAC;AACF,gBAAA,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC5C,aAAA;AACL,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvB,IAAA,MAAM,YAAY,GAAiB;QAC/B,QAAQ;QACR,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM;KACT,CAAC;AAEF,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,WAAW,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,YAAY,EAAA,EACpC,QAAQ,CACU,EACzB;AACN;;AC1NA;;;AAGG;AAKH;;AAEG;AACU,MAAA,OAAO,GAAG,MAAoBK,gBAAU,CAAC,WAAW;;ACXjE;;;AAGG;AAQH,SAAS,eAAe,CACpB,WAA0B,EAC1B,YAAiC,EAAA;AAEjC,IAAA,IACI,YAAY;SACX,YAAY,CAAC,QAAQ;AAClB,YAAA,YAAY,CAAC,aAAa;YAC1B,YAAY,CAAC,cAAc,CAAC,EAClC;QACE,OAAO,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC/D,KAAA;AAED,IAAA,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;AAGG;AACG,SAAU,kBAAkB,CAAC,YAAiC,EAAA;IAChE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;AAExD,IAAA,MAAM,mBAAmB,GAAGH,aAAO,CAAC,MAAK;AACrC,QAAA,IAAI,UAAU,KAAKN,6BAAiB,CAAC,OAAO,EAAE;AAC1C,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,OAAO,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;KACrD,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAE5C,IAAA,OAAO,mBAAmB,CAAC;AAC/B;;AC1CA;;;AAGG;AAWH;;;AAGG;AACG,SAAU,qBAAqB,CAAC,EAClC,QAAQ,EACR,aAAa,EACb,cAAc,EACd,QAAQ,GACiB,EAAA;AACzB,IAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;AAC1B,IAAA,MAAM,iBAAiB,GAAuBM,aAAO,CAAC,MAAK;QACvD,OAAO;YACH,QAAQ;YACR,aAAa;YACb,cAAc;SACjB,CAAC;KACL,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9C,IAAA,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAE9D,IAAI,eAAe,IAAI,OAAO,CAAC,UAAU,KAAKN,6BAAiB,CAAC,OAAO,EAAE;AACrE,QAAA,QACI,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC5B,EACnB;AACL,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB;;AC1CA;;;AAGG;AAYH;;;AAGG;AACG,SAAU,uBAAuB,CAAC,EACpC,QAAQ,EACR,aAAa,EACb,cAAc,EACd,QAAQ,GACmB,EAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;AAC1B,IAAA,MAAM,iBAAiB,GAAuBM,aAAO,CAAC,MAAK;QACvD,OAAO;YACH,QAAQ;YACR,aAAa;YACb,cAAc;SACjB,CAAC;KACL,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9C,IAAA,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAE9D,IAAA,IACI,CAAC,eAAe;AAChB,QAAA,OAAO,CAAC,UAAU,KAAKN,6BAAiB,CAAC,OAAO;AAChD,QAAA,OAAO,CAAC,UAAU,KAAKA,6BAAiB,CAAC,cAAc,EACzD;AACE,QAAA,QACI,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC5B,EACnB;AACL,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB;;AC/CA;;;AAGG;AAgBH,SAAS,UAAU,CACf,QAAkC,EAClC,kBAAuC,EAAA;AAEvC,IAAA,IACI,CAAC,kBAAkB;SAClB,CAAC,kBAAkB,CAAC,aAAa;YAC9B,CAAC,kBAAkB,CAAC,cAAc;AAClC,YAAA,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EACnC;;AAEE,QAAA,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC;AACtC,KAAA;IAED,OAAO,uBAAuB,CAC1B,QAAQ,CAAC,cAAc,EAAE,EACzB,kBAAkB,CACrB,CAAC;AACN,CAAC;AAED;;;;AAIG;AACa,SAAA,kBAAkB,CAC9B,QAA4B,EAC5B,QAA4B,EAAA;AAE5B,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACxB,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;IAED,MAAM,cAAc,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAkB,CAAC;IACvE,MAAM,cAAc,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAkB,CAAC;;IAGvE,MAAM,WAAW,GACb,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG;AACzC,QAAA,cAAc,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC;AAElD,IAAA,QACI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;AACjD,QAAA,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc;AACnD,QAAA,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;AACvC,QAAA,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;AACvC,QAAA,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;AAC7C,QAAA,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe;AACrD,QAAA,WAAW,EACb;AACN,CAAC;AAED;;;AAGG;AACG,SAAU,UAAU,CACtB,kBAAuC,EAAA;IAEvC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAEnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGU,cAAQ,CAAqB,MAAK;AAC5D,QAAA,IAAI,UAAU,KAAKV,6BAAiB,CAAC,OAAO,EAAE;AAC1C,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACnD,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,MAAM,aAAa,GAAGW,iBAAW,CAAC,MAAK;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAC7D,QAAA,UAAU,CAAC,CAAC,cAAkC,KAAI;AAC9C,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE;AAClD,gBAAA,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;AACjD,gBAAA,OAAO,WAAW,CAAC;AACtB,aAAA;AACD,YAAA,OAAO,cAAc,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3CP,eAAS,CAAC,MAAK;AACX,QAAA,IAAI,UAAU,KAAKJ,6BAAiB,CAAC,OAAO,EAAE;AAC1C,YAAA,aAAa,EAAE,CAAC;AACnB,SAAA;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CACxC,CAAC,OAAqB,KAAI;AACtB,YAAA,IACI,OAAO,CAAC,SAAS,KAAKY,qBAAS,CAAC,sBAAsB;AACtD,iBAAC,OAAO,CAAC,SAAS,KAAKA,qBAAS,CAAC,aAAa;AAC1C,oBAAA,OAAO,CAAC,eAAe,KAAKC,2BAAe,CAAC,MAAM,CAAC,EACzD;AACE,gBAAA,aAAa,EAAE,CAAC;AACnB,aAAA;AACL,SAAC,CACJ,CAAC;AAEF,QAAA,OAAO,MAAK;AACR,YAAA,IAAI,UAAU,EAAE;AACZ,gBAAA,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC5C,aAAA;AACL,SAAC,CAAC;KACL,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1C,IAAA,OAAO,OAAO,CAAC;AACnB;;AC5HA;;;AAGG;AAII,MAAM,qBAAqB,GAAG;AACjC,IAAA,sBAAsB,EAAE;AACpB,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,IAAI,EAAE,2CAA2C;AACpD,KAAA;AACD,IAAA,6BAA6B,EAAE;AAC3B,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,IAAI,EAAE,oIAAoI;AAC7I,KAAA;CACJ,CAAC;AAEI,MAAO,cAAe,SAAQC,qBAAS,CAAA;IACzC,WAAY,CAAA,SAAiB,EAAE,YAAqB,EAAA;AAChD,QAAA,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAE/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;KAChC;AAED,IAAA,OAAO,iCAAiC,GAAA;AACpC,QAAA,OAAO,IAAI,cAAc,CACrB,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,EACjD,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,CACpD,CAAC;KACL;AAED,IAAA,OAAO,wCAAwC,GAAA;AAC3C,QAAA,OAAO,IAAI,cAAc,CACrB,qBAAqB,CAAC,6BAA6B,CAAC,IAAI,EACxD,qBAAqB,CAAC,6BAA6B,CAAC,IAAI,CAC3D,CAAC;KACL;AACJ;;ACvCD;;;AAGG;AAmCH;;;;;;;;AAQG;SACa,qBAAqB,CACjC,eAAgC,EAChC,qBAAyE,EACzE,kBAAuC,EAAA;IAEvC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AACnD,IAAA,MAAM,eAAe,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AAC/D,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAC/C,IAAA,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,GAAGJ,cAAQ,CAE7C,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;;AAGhB,IAAA,MAAM,OAAO,GAAGK,YAAM,CAAC,IAAI,CAAC,CAAC;IAC7BX,eAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACR,YAAA,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;AAC5B,SAAC,CAAC;KACL,EAAE,EAAE,CAAC,CAAC;;IAGP,MAAM,qBAAqB,GAAGW,YAAM,CAAC,UAAU,KAAKf,6BAAiB,CAAC,IAAI,CAAC,CAAC;IAC5EI,eAAS,CAAC,MAAK;QACX,qBAAqB,CAAC,OAAO,GAAG,UAAU,KAAKJ,6BAAiB,CAAC,IAAI,CAAC;AAC1E,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;;AAGjB,IAAA,MAAM,kBAAkB,GAAGe,YAAM,CAAC,IAAI,CAAC,CAAC;IACxCX,eAAS,CAAC,MAAK;QACX,IAAI,CAAC,CAAC,KAAK,EAAE;;AAET,YAAA,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,OAAO;AACV,SAAA;QAED,IAAI,CAAC,CAAC,MAAM,EAAE;;AAEV,YAAA,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,OAAO;AACV,SAAA;AACL,KAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAGO,iBAAW,CACrB,OACI,uBAAyC,EACzC,eAAmE,KAC7B;AACtC,QAAA,MAAM,SAAS,GAAG,uBAAuB,IAAI,eAAe,CAAC;AAC7D,QAAA,MAAM,YAAY,GAAG,eAAe,IAAI,qBAAqB,CAAC;AAE9D,QAAA,MAAM,QAAQ,GAAG,YAAiD;YAC9D,MAAM,CAAC,OAAO,CACV,0CAA0C,EAC1C,eAAe,EAAE,aAAa,IAAI,EAAE,CACvC,CAAC;AAEF,YAAA,QAAQ,SAAS;gBACb,KAAKE,2BAAe,CAAC,KAAK;oBACtB,MAAM,CAAC,OAAO,CACV,4CAA4C,EAC5C,eAAe,EAAE,aAAa,IAAI,EAAE,CACvC,CAAC;AACF,oBAAA,OAAO,QAAQ,CAAC,UAAU,CACtB,YAA4B,CAC/B,CAAC;gBAEN,KAAKA,2BAAe,CAAC,QAAQ;;oBAEzB,MAAM,CAAC,OAAO,CACV,+CAA+C,EAC/C,eAAe,EAAE,aAAa,IAAI,EAAE,CACvC,CAAC;AACF,oBAAA,MAAM,QAAQ,CAAC,qBAAqB,EAAE,CAAC;AACvC,oBAAA,OAAO,QAAQ;yBACV,aAAa,CAAC,YAA+B,CAAC;AAC9C,yBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBAE1B,KAAKA,2BAAe,CAAC,MAAM;oBACvB,MAAM,CAAC,OAAO,CACV,2CAA2C,EAC3C,eAAe,EAAE,aAAa,IAAI,EAAE,CACvC,CAAC;AACF,oBAAA,OAAO,QAAQ,CAAC,SAAS,CACrB,YAAgC,CACnC,CAAC;AAEN,gBAAA;AACI,oBAAA,MAAM,gBAAgB,GAClB,cAAc,CAAC,iCAAiC,EAAE,CAAC;oBACvD,IAAI,OAAO,CAAC,OAAO,EAAE;AACjB,wBAAA,WAAW,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzC,qBAAA;AACD,oBAAA,MAAM,gBAAgB,CAAC;AAC9B,aAAA;AACL,SAAC,CAAC;AAEF,QAAA,OAAO,QAAQ,EAAE;AACZ,aAAA,IAAI,CAAC,CAAC,QAAqC,KAAI;AAC5C,YAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,gBAAA,WAAW,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACjC,aAAA;AACD,YAAA,OAAO,QAAQ,CAAC;AACpB,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,CAAY,KAAI;YACpB,IAAI,OAAO,CAAC,OAAO,EAAE;AACjB,gBAAA,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAA;AACD,YAAA,MAAM,CAAC,CAAC;AACZ,SAAC,CAAC,CAAC;KACV,EACD,CAAC,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAC7D,CAAC;IAEF,MAAM,YAAY,GAAGF,iBAAW,CAC5B,OACI,uBAAyC,EACzC,eAA+B,KACO;AACtC,QAAA,MAAM,uBAAuB,GACzB,uBAAuB,IAAI,eAAe,CAAC;AAE/C,QAAA,IAAI,YAA2B,CAAC;AAEhC,QAAA,IAAI,eAAe,EAAE;YACjB,MAAM,CAAC,KAAK,CACR,+EAA+E,EAC/E,eAAe,CAAC,aAAa,IAAI,EAAE,CACtC,CAAC;AACF,YAAA,YAAY,GAAG;AACX,gBAAA,GAAG,eAAe;aACrB,CAAC;AACL,SAAA;AAAM,aAAA,IAAI,qBAAqB,EAAE;YAC9B,MAAM,CAAC,KAAK,CACR,2EAA2E,EAC3E,qBAAqB,CAAC,aAAa,IAAI,EAAE,CAC5C,CAAC;AACF,YAAA,YAAY,GAAG;AACX,gBAAA,GAAG,qBAAqB;AACxB,gBAAA,MAAM,EAAE,qBAAqB,CAAC,MAAM,IAAIK,+BAAmB;aAC9D,CAAC;AACL,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,CAAC,KAAK,CACR,2FAA2F,EAC3F,EAAE,CACL,CAAC;AACF,YAAA,YAAY,GAAG;AACX,gBAAA,MAAM,EAAEA,+BAAmB;aAC9B,CAAC;AACL,SAAA;QAED,MAAM,aAAa,GACf,YAAY,CAAC,aAAa,IAAIC,wBAAY,CAAC,UAAU,EAAE,CAAC;AAC5D,QAAA,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;AAE3C,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,OAAO,EAAE;AAClC,YAAA,MAAM,CAAC,KAAK,CACR,qEAAqE,EACrE,aAAa,CAChB,CAAC;AACF,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;AAClC,SAAA;AAED,QAAA,OAAO,QAAQ;aACV,kBAAkB,CAAC,YAAY,CAAC;AAChC,aAAA,IAAI,CAAC,CAAC,QAA8B,KAAI;YACrC,IAAI,OAAO,CAAC,OAAO,EAAE;AACjB,gBAAA,WAAW,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACjC,aAAA;AACD,YAAA,OAAO,QAAQ,CAAC;AACpB,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,OAAO,CAAY,KAAI;YAC1B,IAAI,CAAC,YAAYC,wCAA4B,EAAE;AAC3C,gBAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;AAChC,oBAAA,MAAM,CAAC,KAAK,CACR,2EAA2E,EAC3E,aAAa,CAChB,CAAC;AACF,oBAAA,OAAO,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;AACvD,iBAAA;AAAM,qBAAA;AACH,oBAAA,MAAM,aAAa,GACf,cAAc,CAAC,wCAAwC,EAAE,CAAC;AAC9D,oBAAA,MAAM,CAAC,KAAK,CACR,oIAAoI,EACpI,aAAa,CAChB,CAAC;oBACF,IAAI,OAAO,CAAC,OAAO,EAAE;AACjB,wBAAA,WAAW,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AACtC,qBAAA;AACD,oBAAA,MAAM,aAAa,CAAC;AACvB,iBAAA;AACJ,aAAA;;YAGD,IAAI,OAAO,CAAC,OAAO,EAAE;AACjB,gBAAA,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAA;AACD,YAAA,MAAM,CAAC,CAAC;AACZ,SAAC,CAAC,CAAC;AACX,KAAC,EACD;QACI,QAAQ;QACR,eAAe;QACf,qBAAqB;QACrB,MAAM;QACN,OAAO;QACP,KAAK;AACR,KAAA,CACJ,CAAC;IAEFd,eAAS,CAAC,MAAK;QACX,IACI,kBAAkB,CAAC,OAAO;AAC1B,YAAA,UAAU,KAAKJ,6BAAiB,CAAC,IAAI,EACvC;YACE,IAAI,CAAC,eAAe,EAAE;AAClB,gBAAA,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;AACnC,gBAAA,MAAM,CAAC,IAAI,CACP,uEAAuE,EACvE,EAAE,CACL,CAAC;AACF,gBAAA,KAAK,EAAE,CAAC,KAAK,CAAC,MAAK;;oBAEf,OAAO;AACX,iBAAC,CAAC,CAAC;AACN,aAAA;AAAM,iBAAA,IAAI,OAAO,EAAE;AAChB,gBAAA,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;AACnC,gBAAA,MAAM,CAAC,IAAI,CACP,4EAA4E,EAC5E,EAAE,CACL,CAAC;AACF,gBAAA,YAAY,EAAE,CAAC,KAAK,CAAC,MAAK;;oBAEtB,OAAO;AACX,iBAAC,CAAC,CAAC;AACN,aAAA;;AAEJ,SAAA;AAAM,aAAA,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;AAC3B,YAAA,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7B,SAAA;AACL,KAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAExE,OAAO;QACH,KAAK;QACL,YAAY;QACZ,MAAM;QACN,KAAK;KACR,CAAC;AACN;;ACtSA;;;AAGG;AAgCH;;;AAGG;AACG,SAAU,0BAA0B,CAAC,EACvC,eAAe,EACf,QAAQ,EACR,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,QAAQ,GACc,EAAA;AACtB,IAAA,MAAM,iBAAiB,GAAuBM,aAAO,CAAC,MAAK;QACvD,OAAO;YACH,QAAQ;YACR,aAAa;YACb,cAAc;SACjB,CAAC;KACL,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9C,IAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAG,qBAAqB,CACxC,eAAe,EACf,qBAAqB,EACrB,iBAAiB,CACpB,CAAC;AACF,IAAA,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAE9D,IAAI,cAAc,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,KAAKN,6BAAiB,CAAC,IAAI,EAAE;QACvE,IAAI,CAAC,CAAC,cAAc,EAAE;AAClB,YAAA,OAAO,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,EAAA,GAAA,cAAc,GAAI,CAAC;AACjD,SAAA;QAED,MAAM,cAAc,CAAC,KAAK,CAAC;AAC9B,KAAA;AAED,IAAA,IAAI,eAAe,EAAE;AACjB,QAAA,QACI,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,qBAAqB,CAAC,QAAQ,EAAE,cAAc,CAAC,CACnC,EACnB;AACL,KAAA;IAED,IAAI,CAAC,CAAC,gBAAgB,IAAI,OAAO,CAAC,UAAU,KAAKA,6BAAiB,CAAC,IAAI,EAAE;AACrE,QAAA,OAAO,KAAC,CAAA,aAAA,CAAA,gBAAgB,EAAK,EAAA,GAAA,OAAO,GAAI,CAAC;AAC5C,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AAChB;;ACrFA;;;AAGG;AAWH;;;AAGG;AACU,MAAA,QAAQ,GAAG,CACpB,SAAiC,KACoB;AACrD,IAAA,MAAM,iBAAiB,GAEnB,CAAC,KAAK,KAAI;AACV,QAAA,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,OAAO,KAAA,CAAA,aAAA,CAAC,SAAS,EAAM,EAAA,GAAA,KAAW,EAAE,WAAW,EAAE,IAAI,EAAA,CAAI,CAAC;AAC9D,KAAC,CAAC;IAEF,MAAM,aAAa,GACf,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,CAAC;AAC3D,IAAA,iBAAiB,CAAC,WAAW,GAAG,CAAY,SAAA,EAAA,aAAa,GAAG,CAAC;AAE7D,IAAA,OAAO,iBAAiB,CAAC;AAC7B;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { AccountInfo } from "@azure/msal-browser";
|
|
2
2
|
import { AccountIdentifiers } from "../types/AccountIdentifiers.js";
|
|
3
|
+
/**
|
|
4
|
+
* Helper function to determine whether 2 accountInfo objects represent the same account
|
|
5
|
+
* @param accountA
|
|
6
|
+
* @param accountB
|
|
7
|
+
*/
|
|
8
|
+
export declare function accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null): boolean;
|
|
3
9
|
/**
|
|
4
10
|
* Given 1 or more accountIdentifiers, returns the Account object if the user is signed-in
|
|
5
11
|
* @param accountIdentifiers
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@azure/msal-react";
|
|
2
|
-
export declare const version = "
|
|
2
|
+
export declare const version = "5.0.0-alpha.1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure/msal-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-alpha.1",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Microsoft",
|
|
6
6
|
"email": "nugetaad@microsoft.com",
|
|
@@ -35,12 +35,10 @@
|
|
|
35
35
|
"src"
|
|
36
36
|
],
|
|
37
37
|
"engines": {
|
|
38
|
-
"node": ">=
|
|
38
|
+
"node": ">=20"
|
|
39
39
|
},
|
|
40
40
|
"beachball": {
|
|
41
|
-
"disallowedChangeTypes": [
|
|
42
|
-
"major"
|
|
43
|
-
]
|
|
41
|
+
"disallowedChangeTypes": []
|
|
44
42
|
},
|
|
45
43
|
"scripts": {
|
|
46
44
|
"build": "rollup -c --strictDeprecations --bundleConfigAsCjs",
|
|
@@ -56,11 +54,11 @@
|
|
|
56
54
|
"apiExtractor": "api-extractor run"
|
|
57
55
|
},
|
|
58
56
|
"peerDependencies": {
|
|
59
|
-
"@azure/msal-browser": "^
|
|
60
|
-
"react": "^
|
|
57
|
+
"@azure/msal-browser": "^5.0.0-alpha.0",
|
|
58
|
+
"react": "^19"
|
|
61
59
|
},
|
|
62
60
|
"devDependencies": {
|
|
63
|
-
"@azure/msal-browser": "^
|
|
61
|
+
"@azure/msal-browser": "^5.0.0-alpha.0",
|
|
64
62
|
"@microsoft/api-extractor": "^7.43.4",
|
|
65
63
|
"@rollup/plugin-typescript": "^11.1.5",
|
|
66
64
|
"@testing-library/jest-dom": "^5.11.5",
|
package/src/MsalProvider.tsx
CHANGED
|
@@ -64,7 +64,8 @@ const reducer = (
|
|
|
64
64
|
if (previousState.inProgress === InteractionStatus.Startup) {
|
|
65
65
|
newInProgress = InteractionStatus.None;
|
|
66
66
|
payload.logger.info(
|
|
67
|
-
"MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"
|
|
67
|
+
"MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'",
|
|
68
|
+
""
|
|
68
69
|
);
|
|
69
70
|
}
|
|
70
71
|
break;
|
|
@@ -76,7 +77,8 @@ const reducer = (
|
|
|
76
77
|
);
|
|
77
78
|
if (status) {
|
|
78
79
|
payload.logger.info(
|
|
79
|
-
`MsalProvider - ${message.eventType} results in setting inProgress from ${previousState.inProgress} to ${status}
|
|
80
|
+
`MsalProvider - '${message.eventType}' results in setting inProgress from '${previousState.inProgress}' to '${status}'`,
|
|
81
|
+
""
|
|
80
82
|
);
|
|
81
83
|
newInProgress = status;
|
|
82
84
|
}
|
|
@@ -158,7 +160,8 @@ export function MsalProvider({
|
|
|
158
160
|
}
|
|
159
161
|
);
|
|
160
162
|
logger.verbose(
|
|
161
|
-
`MsalProvider - Registered event callback with id: ${callbackId}
|
|
163
|
+
`MsalProvider - Registered event callback with id: '${callbackId}'`,
|
|
164
|
+
""
|
|
162
165
|
);
|
|
163
166
|
|
|
164
167
|
instance
|
|
@@ -193,7 +196,8 @@ export function MsalProvider({
|
|
|
193
196
|
// Remove callback when component unmounts or accounts change
|
|
194
197
|
if (callbackId) {
|
|
195
198
|
logger.verbose(
|
|
196
|
-
`MsalProvider - Removing event callback ${callbackId}
|
|
199
|
+
`MsalProvider - Removing event callback '${callbackId}'`,
|
|
200
|
+
""
|
|
197
201
|
);
|
|
198
202
|
instance.removeEventCallback(callbackId);
|
|
199
203
|
}
|
package/src/hooks/useAccount.ts
CHANGED
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { useState, useEffect } from "react";
|
|
6
|
+
import { useState, useEffect, useCallback } from "react";
|
|
7
7
|
import {
|
|
8
8
|
AccountInfo,
|
|
9
9
|
IPublicClientApplication,
|
|
10
|
-
AccountEntity,
|
|
11
10
|
InteractionStatus,
|
|
11
|
+
EventMessage,
|
|
12
|
+
EventType,
|
|
13
|
+
InteractionType,
|
|
14
|
+
IdTokenClaims,
|
|
12
15
|
} from "@azure/msal-browser";
|
|
13
16
|
import { useMsal } from "./useMsal.js";
|
|
14
17
|
import { AccountIdentifiers } from "../types/AccountIdentifiers.js";
|
|
@@ -34,6 +37,38 @@ function getAccount(
|
|
|
34
37
|
);
|
|
35
38
|
}
|
|
36
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Helper function to determine whether 2 accountInfo objects represent the same account
|
|
42
|
+
* @param accountA
|
|
43
|
+
* @param accountB
|
|
44
|
+
*/
|
|
45
|
+
export function accountInfoIsEqual(
|
|
46
|
+
accountA: AccountInfo | null,
|
|
47
|
+
accountB: AccountInfo | null
|
|
48
|
+
): boolean {
|
|
49
|
+
if (!accountA || !accountB) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const accountAClaims = (accountA.idTokenClaims || {}) as IdTokenClaims;
|
|
54
|
+
const accountBClaims = (accountB.idTokenClaims || {}) as IdTokenClaims;
|
|
55
|
+
|
|
56
|
+
// issued at timestamp and nonce are expected to change each time a new id token is acquired
|
|
57
|
+
const claimsMatch =
|
|
58
|
+
accountAClaims.iat === accountBClaims.iat &&
|
|
59
|
+
accountAClaims.nonce === accountBClaims.nonce;
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
accountA.homeAccountId === accountB.homeAccountId &&
|
|
63
|
+
accountA.localAccountId === accountB.localAccountId &&
|
|
64
|
+
accountA.username === accountB.username &&
|
|
65
|
+
accountA.tenantId === accountB.tenantId &&
|
|
66
|
+
accountA.environment === accountB.environment &&
|
|
67
|
+
accountA.nativeAccountId === accountB.nativeAccountId &&
|
|
68
|
+
claimsMatch
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
37
72
|
/**
|
|
38
73
|
* Given 1 or more accountIdentifiers, returns the Account object if the user is signed-in
|
|
39
74
|
* @param accountIdentifiers
|
|
@@ -51,25 +86,40 @@ export function useAccount(
|
|
|
51
86
|
}
|
|
52
87
|
});
|
|
53
88
|
|
|
89
|
+
const updateAccount = useCallback(() => {
|
|
90
|
+
const nextAccount = getAccount(instance, accountIdentifiers);
|
|
91
|
+
setAccount((currentAccount: AccountInfo | null) => {
|
|
92
|
+
if (!accountInfoIsEqual(currentAccount, nextAccount)) {
|
|
93
|
+
logger.info("useAccount - Updating account", "");
|
|
94
|
+
return nextAccount;
|
|
95
|
+
}
|
|
96
|
+
return currentAccount;
|
|
97
|
+
});
|
|
98
|
+
}, [accountIdentifiers, instance, logger]);
|
|
99
|
+
|
|
54
100
|
useEffect(() => {
|
|
55
101
|
if (inProgress !== InteractionStatus.Startup) {
|
|
56
|
-
|
|
57
|
-
|
|
102
|
+
updateAccount();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const callbackId = instance.addEventCallback(
|
|
106
|
+
(message: EventMessage) => {
|
|
58
107
|
if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
true
|
|
63
|
-
)
|
|
108
|
+
message.eventType === EventType.ACTIVE_ACCOUNT_CHANGED ||
|
|
109
|
+
(message.eventType === EventType.LOGIN_SUCCESS &&
|
|
110
|
+
message.interactionType === InteractionType.Silent)
|
|
64
111
|
) {
|
|
65
|
-
|
|
66
|
-
return nextAccount;
|
|
112
|
+
updateAccount();
|
|
67
113
|
}
|
|
114
|
+
}
|
|
115
|
+
);
|
|
68
116
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
117
|
+
return () => {
|
|
118
|
+
if (callbackId) {
|
|
119
|
+
instance.removeEventCallback(callbackId);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
}, [updateAccount, inProgress, instance]);
|
|
73
123
|
|
|
74
124
|
return account;
|
|
75
125
|
}
|