{"version":3,"file":"static/js/main.5a521779.js","mappings":"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EAAA,EAAAg2C,EAAAD,EAAA/1C,EAAAg2C,EAAAxzD,OAAAwd,IAGjB,IAHG,IAAM4mB,EAAIovB,EAAAh2C,GAGKsH,EAAA,EAAA2uC,EAFL9pC,MAAMC,QAAQwa,GAAQA,EAAO1+B,OAAO+W,KAAK2nB,GAEpCtf,EAAA2uC,EAAAzzD,OAAA8kB,IAAM,CACtBsF,EADYqpC,EAAA3uC,IACE,EAIlB,OAAOsF,CACT,EAOaspC,EAAoBJ,EAAY,CAC3C,SACA,QACA,UACA,mBACA,qBACA,sBACA,UACA,iBACA,SACA,gBACA,WACA,UACA,WACA,SACA,UACA,YACA,mBACA,aACA,UACA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAQWK,EAAwBL,EAAY,CAC/C,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAQWhhC,EAAwBghC,EAAYK,EAAuBD,GAO3DlE,EAAkB8D,EAAYhhC,EAAuB,CAChE,SAQWo9B,EAAkB4D,EAAYhhC,EAAuB,CAChE,SACA,OACA,QACA,UACA,MACA,UAQWs9B,EAAkB0D,EAAY5D,EAAiB,CAC1D,WAQWI,EAAewD,EAAYhhC,EAAuB,CAC7D,UAQW09B,EAAesD,EAAYhhC,EAAuB,CAC7D,UAQW29B,EAAmBqD,EAAYhhC,EAAuB,CACjE,WACA,OACA,WACA,QACA,MACA,SACA,SAQW69B,EAAmBmD,EAAYhhC,EAAuB,CACjE,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UAQW89B,EAAkBkD,EAAYnD,EAAkB,CAC3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","sources":["api/api.ts","authConfig.js","config.ts","context/OnboardingContext.tsx","../node_modules/@azure/msal-browser/src/error/BrowserAuthError.ts","../node_modules/@azure/msal-browser/src/error/BrowserConfigurationAuthError.ts","../node_modules/@azure/msal-browser/src/event/EventType.ts","../node_modules/@azure/msal-browser/src/utils/BrowserConstants.ts","../node_modules/@azure/msal-common/src/error/AuthError.ts","../node_modules/@azure/msal-common/src/error/ClientAuthError.ts","../node_modules/@azure/msal-common/src/error/InteractionRequiredAuthError.ts","../node_modules/@azure/msal-common/src/logger/Logger.ts","../node_modules/@azure/msal-common/src/utils/Constants.ts","../node_modules/@azure/msal-common/src/utils/StringUtils.ts","../node_modules/@azure/msal-browser/src/app/IPublicClientApplication.ts","../node_modules/@azure/msal-browser/src/event/EventMessage.ts","../node_modules/@azure/msal-react/src/MsalContext.ts","../node_modules/@azure/msal-react/src/utils/utilities.ts","../node_modules/@azure/msal-react/src/packageMetadata.ts","../node_modules/@azure/msal-react/src/MsalProvider.tsx","../node_modules/@azure/msal-react/src/hooks/useMsal.ts","../node_modules/@azure/msal-react/src/error/ReactAuthError.ts","../node_modules/@fluentui/dom-utilities/src/setPortalAttribute.ts","../node_modules/@fluentui/merge-styles/src/StyleOptionsState.ts","../node_modules/@fluentui/merge-styles/src/Stylesheet.ts","../node_modules/@fluentui/merge-styles/src/concatStyleSets.ts","../node_modules/@fluentui/merge-styles/src/concatStyleSetsWithProps.ts","../node_modules/@fluentui/merge-styles/src/extractStyleParts.ts","../node_modules/@fluentui/merge-styles/src/fontFace.ts","../node_modules/@fluentui/merge-styles/src/keyframes.ts","../node_modules/@fluentui/merge-styles/src/mergeStyleSets.ts","../node_modules/@fluentui/merge-styles/src/mergeStyles.ts","../node_modules/@fluentui/merge-styles/src/getVendorSettings.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/kebabRules.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/prefixRules.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/provideUnits.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/rtlifyRules.ts","../node_modules/@fluentui/merge-styles/src/styleToClassName.ts","../node_modules/@fluentui/merge-styles/src/tokenizeWithParentheses.ts","../node_modules/@fluentui/react-hooks/src/useMergedRefs.ts","../node_modules/@fluentui/react-icons-mdl2/lib/src/utils/SvgIcon.scss.ts","../node_modules/@fluentui/react-icon-provider/src/IconProvider.tsx","../node_modules/@fluentui/react-icons-mdl2/lib/src/utils/createSvgIcon.ts","../node_modules/@fluentui/react-window-provider/src/WindowProvider.tsx","../node_modules/@fluentui/react-portal-compat-context/src/PortalCompatContext.ts","../node_modules/@fluentui/utilities/lib/src/customizations/mergeSettings.ts","../node_modules/@fluentui/utilities/lib/src/customizations/Customizer.tsx","../node_modules/@fluentui/utilities/lib/src/customizations/mergeCustomizations.ts","../node_modules/@fluentui/react/lib/components/src/components/Fabric/Fabric.base.tsx","../node_modules/@fluentui/react/lib/components/src/components/Fabric/Fabric.styles.ts","../node_modules/@fluentui/react/lib/components/src/components/Fabric/Fabric.tsx","../node_modules/@fluentui/react/lib/components/src/components/Layer/Layer.notification.ts","../node_modules/@fluentui/react/lib/components/src/components/Layer/Layer.base.tsx","../node_modules/@fluentui/dom-utilities/src/setVirtualParent.ts","../node_modules/@fluentui/react/lib/components/src/components/Layer/Layer.styles.ts","../node_modules/@fluentui/react/lib/components/src/components/Layer/Layer.tsx","../node_modules/@fluentui/react/lib/components/src/components/Spinner/Spinner.base.tsx","../node_modules/@fluentui/react/lib/components/src/components/Spinner/Spinner.styles.tsx","../node_modules/@fluentui/react/lib/components/src/components/Spinner/Spinner.tsx","../node_modules/@fluentui/react/lib/components/src/components/Spinner/Spinner.types.ts","../node_modules/@fluentui/foundation-legacy/src/utilities.ts","../node_modules/@fluentui/foundation-legacy/src/slots.tsx","../node_modules/@fluentui/foundation-legacy/src/createComponent.tsx","../node_modules/@fluentui/react/lib/components/Stack/src/components/Stack/StackItem/StackItem.styles.ts","../node_modules/@fluentui/react/lib/components/src/components/Stack/StackUtils.ts","../node_modules/@fluentui/react/lib/components/src/components/Stack/Stack.styles.ts","../node_modules/@fluentui/react/lib/components/Stack/src/components/Stack/StackItem/StackItem.tsx","../node_modules/@fluentui/react/lib/components/src/components/Stack/Stack.tsx","../node_modules/@fluentui/set-version/src/setVersion.ts","../node_modules/@fluentui/set-version/src/index.ts","../node_modules/@fluentui/theme/lib/src/motion/AnimationStyles.ts","../node_modules/@fluentui/style-utilities/lib/src/classNames/AnimationClassNames.ts","../node_modules/@fluentui/style-utilities/lib/src/utilities/buildClassMap.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/CommonStyles.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/zIndexes.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/getFocusStyle.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/hiddenContentStyle.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/getGlobalClassNames.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/theme.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/GeneralStyles.ts","../node_modules/@fluentui/style-utilities/lib/src/styles/getPlaceholderStyles.ts","../node_modules/@fluentui/style-utilities/lib/src/utilities/icons.ts","../node_modules/@fluentui/style-utilities/src/cdn.ts","../node_modules/@fluentui/style-utilities/src/version.ts","../node_modules/@fluentui/style-utilities/src/index.ts","../node_modules/@fluentui/theme/lib/src/colors/DefaultPalette.ts","../node_modules/@fluentui/theme/lib/src/effects/FluentDepths.ts","../node_modules/@fluentui/theme/lib/src/effects/DefaultEffects.ts","../node_modules/@fluentui/theme/lib/src/fonts/createFontStyles.ts","../node_modules/@fluentui/utilities/src/language.ts","../node_modules/@fluentui/theme/lib/src/fonts/DefaultFontStyles.ts","../node_modules/@fluentui/utilities/src/localStorage.ts","../node_modules/@fluentui/theme/lib/src/spacing/DefaultSpacing.ts","../node_modules/@fluentui/theme/src/createTheme.ts","../node_modules/@fluentui/theme/lib/src/fonts/FluentFonts.ts","../node_modules/@fluentui/utilities/src/merge.ts","../node_modules/@fluentui/theme/src/mergeThemes.ts","../node_modules/@fluentui/theme/lib/src/utilities/makeSemanticColors.ts","../node_modules/@fluentui/utilities/src/DelayedRender.tsx","../node_modules/@fluentui/utilities/src/FocusRectsProvider.tsx","../node_modules/@fluentui/utilities/src/GlobalSettings.ts","../node_modules/@fluentui/utilities/src/KeyCodes.ts","../node_modules/@fluentui/utilities/src/classNamesFunction.ts","../node_modules/@fluentui/utilities/src/css.ts","../node_modules/@fluentui/utilities/lib/src/customizations/Customizations.ts","../node_modules/@fluentui/utilities/lib/src/customizations/CustomizerContext.ts","../node_modules/@fluentui/utilities/lib/src/customizations/useCustomizationSettings.ts","../node_modules/@fluentui/utilities/lib/src/dom/canUseDOM.ts","../node_modules/@fluentui/utilities/lib/src/dom/getDocument.ts","../node_modules/@fluentui/utilities/lib/src/dom/getWindow.ts","../node_modules/@fluentui/utilities/src/getId.ts","../node_modules/@fluentui/utilities/src/getNativeElementProps.ts","../node_modules/@fluentui/utilities/src/getPropsWithDefaults.ts","../node_modules/@fluentui/utilities/src/memoize.ts","../node_modules/@fluentui/utilities/src/object.ts","../node_modules/@fluentui/utilities/src/properties.ts","../node_modules/@fluentui/utilities/src/rtl.ts","../node_modules/@fluentui/utilities/src/sessionStorage.ts","../node_modules/@fluentui/utilities/src/setFocusVisibility.ts","../node_modules/@fluentui/utilities/src/styled.tsx","../node_modules/@fluentui/utilities/src/keyboard.ts","../node_modules/@fluentui/utilities/src/useFocusRects.ts","../node_modules/@fluentui/utilities/src/useIsomorphicLayoutEffect.ts","../node_modules/@fluentui/utilities/lib/src/warn/warn.ts","../node_modules/@fluentui/utilities/lib/src/warn/warnDeprecations.ts","../node_modules/@microsoft/load-themed-styles/src/index.ts","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../webpack/bootstrap","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-0.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-1.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-2.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-3.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-4.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-5.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-6.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-7.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-8.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-9.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-10.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-11.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-12.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-13.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-14.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-15.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-16.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-17.ts","../node_modules/@fluentui/font-icons-mdl2/src/iconAliases.ts","../node_modules/@fluentui/font-icons-mdl2/src/version.ts","../node_modules/@fluentui/font-icons-mdl2/src/index.ts","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/ThemeContext.ts","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/useTheme.ts","../node_modules/@fluentui/react/lib/utilities/ThemeProvider/src/utilities/ThemeProvider/styleRenderers/mergeStylesRenderer.tsx","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/useThemeProviderClasses.tsx","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/makeStyles.ts","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/renderThemeProvider.tsx","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/useThemeProviderState.tsx","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/ThemeProvider.tsx","../node_modules/@fluentui/react/lib/utilities/src/utilities/ThemeProvider/useThemeProvider.tsx","../node_modules/@azure/msal-common/src/telemetry/performance/PerformanceEvent.ts","../node_modules/@azure/msal-browser/src/cache/CryptoKeyStore.ts","../node_modules/@azure/msal-common/src/error/ServerError.ts","../node_modules/@azure/msal-common/src/error/JoseHeaderError.ts","../node_modules/@azure/msal-common/src/crypto/JoseHeader.ts","../node_modules/@azure/msal-browser/src/utils/MathUtils.ts","../node_modules/@azure/msal-browser/src/crypto/GuidGenerator.ts","../node_modules/@azure/msal-browser/src/utils/BrowserStringUtils.ts","../node_modules/@azure/msal-browser/src/encode/Base64Encode.ts","../node_modules/@azure/msal-browser/src/encode/Base64Decode.ts","../node_modules/@azure/msal-browser/src/crypto/PkceGenerator.ts","../node_modules/@azure/msal-browser/src/crypto/ModernBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/MsrBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/MsBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/BrowserCrypto.ts","../node_modules/@azure/msal-browser/src/cache/DatabaseStorage.ts","../node_modules/@azure/msal-browser/src/cache/MemoryStorage.ts","../node_modules/@azure/msal-browser/src/cache/AsyncMemoryStorage.ts","../node_modules/@azure/msal-common/src/authority/AuthorityType.ts","../node_modules/@azure/msal-browser/src/crypto/CryptoOps.ts","../node_modules/@azure/msal-common/src/telemetry/performance/PerformanceClient.ts","../node_modules/@azure/msal-common/src/telemetry/performance/StubPerformanceClient.ts","../node_modules/@azure/msal-common/src/crypto/ICrypto.ts","../node_modules/@azure/msal-common/src/cache/entities/CredentialEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/IdTokenEntity.ts","../node_modules/@azure/msal-common/src/error/ClientConfigurationError.ts","../node_modules/@azure/msal-common/src/request/ScopeSet.ts","../node_modules/@azure/msal-common/src/account/ClientInfo.ts","../node_modules/@azure/msal-common/src/cache/entities/AccountEntity.ts","../node_modules/@azure/msal-common/src/account/CcsCredential.ts","../node_modules/@azure/msal-common/src/account/AuthToken.ts","../node_modules/@azure/msal-common/src/packageMetadata.ts","../node_modules/@azure/msal-common/src/cache/CacheManager.ts","../node_modules/@azure/msal-common/src/utils/TimeUtils.ts","../node_modules/@azure/msal-common/src/cache/entities/AccessTokenEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/RefreshTokenEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/AppMetadataEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/ServerTelemetryEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/AuthorityMetadataEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/ThrottlingEntity.ts","../node_modules/@azure/msal-common/src/utils/ProtocolUtils.ts","../node_modules/@azure/msal-common/src/authority/ProtocolMode.ts","../node_modules/@azure/msal-common/src/authority/AuthorityOptions.ts","../node_modules/@azure/msal-browser/src/cache/BrowserStorage.ts","../node_modules/@azure/msal-common/src/url/UrlString.ts","../node_modules/@azure/msal-browser/src/utils/BrowserProtocolUtils.ts","../node_modules/@azure/msal-browser/src/cache/BrowserCacheManager.ts","../node_modules/@azure/msal-common/src/config/ClientConfiguration.ts","../node_modules/@azure/msal-common/src/network/INetworkModule.ts","../node_modules/@azure/msal-browser/src/network/FetchClient.ts","../node_modules/@azure/msal-browser/src/network/XhrClient.ts","../node_modules/@azure/msal-browser/src/utils/BrowserUtils.ts","../node_modules/@azure/msal-browser/src/navigation/NavigationClient.ts","../node_modules/@azure/msal-browser/src/config/Configuration.ts","../node_modules/@azure/msal-common/src/crypto/PopTokenGenerator.ts","../node_modules/@azure/msal-browser/src/packageMetadata.ts","../node_modules/@azure/msal-browser/src/event/EventHandler.ts","../node_modules/@azure/msal-common/src/network/ThrottlingUtils.ts","../node_modules/@azure/msal-common/src/network/NetworkManager.ts","../node_modules/@azure/msal-common/src/request/RequestValidator.ts","../node_modules/@azure/msal-common/src/request/RequestParameterBuilder.ts","../node_modules/@azure/msal-common/src/client/BaseClient.ts","../node_modules/@azure/msal-common/src/cache/entities/CacheRecord.ts","../node_modules/@azure/msal-common/src/cache/persistence/TokenCacheContext.ts","../node_modules/@azure/msal-common/src/response/ResponseHandler.ts","../node_modules/@azure/msal-common/src/client/AuthorizationCodeClient.ts","../node_modules/@azure/msal-common/src/authority/OpenIdConfigResponse.ts","../node_modules/@azure/msal-common/src/authority/AuthorityMetadata.ts","../node_modules/@azure/msal-common/src/authority/RegionDiscovery.ts","../node_modules/@azure/msal-browser/src/error/NativeAuthError.ts","../node_modules/@azure/msal-common/src/authority/Authority.ts","../node_modules/@azure/msal-common/src/authority/CloudInstanceDiscoveryResponse.ts","../node_modules/@azure/msal-common/src/authority/CloudInstanceDiscoveryErrorResponse.ts","../node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts","../node_modules/@azure/msal-common/src/telemetry/server/ServerTelemetryManager.ts","../node_modules/@azure/msal-browser/src/interaction_client/BaseInteractionClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/StandardInteractionClient.ts","../node_modules/@azure/msal-common/src/client/RefreshTokenClient.ts","../node_modules/@azure/msal-common/src/client/SilentFlowClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentCacheClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/NativeInteractionClient.ts","../node_modules/@azure/msal-browser/src/broker/nativeBroker/NativeMessageHandler.ts","../node_modules/@azure/msal-browser/src/interaction_handler/InteractionHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/PopupClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/RedirectHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/RedirectClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/SilentHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentIframeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentRefreshClient.ts","../node_modules/@azure/msal-browser/src/cache/TokenCache.ts","../node_modules/@azure/msal-browser/src/interaction_client/HybridSpaAuthorizationCodeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentAuthCodeClient.ts","../node_modules/@azure/msal-browser/src/telemetry/BrowserPerformanceMeasurement.ts","../node_modules/@azure/msal-browser/src/telemetry/BrowserPerformanceClient.ts","../node_modules/@azure/msal-browser/src/app/ClientApplication.ts","../node_modules/@azure/msal-browser/src/app/PublicClientApplication.ts","images/de-logo.svg","components/Toolbar.tsx","../node_modules/@fluentui/react-icons-mdl2/lib/src/components/AcceptIcon.tsx","constants/Steps.ts","components/NavButton.tsx","components/Nav.tsx","layouts/BaseLayout.tsx","App.tsx","index.tsx"],"sourcesContent":["import { AccountInfo, AuthenticationResult, BrowserAuthError, BrowserAuthErrorMessage, IPublicClientApplication, InteractionRequiredAuthError, PopupRequest, RedirectRequest, SilentRequest } from \"@azure/msal-browser\";\r\nimport { config } from \"../config\";\r\nimport { OnboardingStepNames } from \"../types/OnboardingStepNames\";\r\nimport { OnboardingStepStatus } from \"../types/OnboardingStepStatus\";\r\nimport { IOnboardingStep } from \"../types/IOnboardingStep\";\r\n\r\n/**\r\n * Attaches a given access token to a Microsoft Graph API call. Returns information about the user\r\n */\r\nexport function get({\r\n accessToken,\r\n endpoint,\r\n abortController,\r\n}: {\r\n accessToken: string,\r\n endpoint: string,\r\n abortController?: AbortController,\r\n}) {\r\n const headers = new Headers();\r\n const bearer = `Bearer ${accessToken}`;\r\n\r\n headers.append(\"Authorization\", bearer);\r\n\r\n return fetch(\r\n endpoint,\r\n {\r\n method: \"GET\",\r\n headers: headers,\r\n signal: abortController?.signal,\r\n }\r\n )\r\n .then(response => {\r\n if (response.status >= 400) {\r\n throw new Error(`${response.status} (${response.statusText})`);\r\n }\r\n return response.json()\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n throw error;\r\n });\r\n}\r\n\r\nexport const post = ({\r\n accessToken,\r\n endpoint,\r\n body,\r\n abortController,\r\n}: {\r\n accessToken: string,\r\n endpoint: string,\r\n body: any,\r\n abortController?: AbortController,\r\n}) => {\r\n var headers = new Headers();\r\n headers.append(\"Content-Type\", \"application/json\");\r\n headers.append(\"Authorization\", `Bearer ${accessToken}`);\r\n \r\n return fetch(\r\n endpoint,\r\n {\r\n method: 'POST',\r\n headers: headers,\r\n body: JSON.stringify(body),\r\n signal: abortController?.signal,\r\n }\r\n )\r\n .then(response => response.json())\r\n .catch(error => {\r\n console.error(error);\r\n throw error;\r\n });\r\n};\r\n\r\n\r\nexport function acquireToken(instance: IPublicClientApplication, tokenRequest: SilentRequest | PopupRequest | RedirectRequest): Promise {\r\n return instance.acquireTokenSilent(tokenRequest)\r\n .catch((reason) => {\r\n if (reason instanceof InteractionRequiredAuthError) {\r\n console.warn(`Unable to acquire token silently. Attempting popup.`);\r\n\r\n return instance.acquireTokenPopup(tokenRequest);\r\n }\r\n throw reason;\r\n })\r\n .catch((reason) => {\r\n if (reason instanceof BrowserAuthError) {\r\n const errorsNeedingRedirect = [BrowserAuthErrorMessage.popupWindowError.code, BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code];\r\n if (errorsNeedingRedirect.some(e => e === reason.errorCode)) {\r\n console.warn(`Unable to open login popup. Using redirect instead.`);\r\n instance.acquireTokenRedirect(tokenRequest);\r\n return {} as AuthenticationResult; // Return fake result to solve compile issue. It'll never run since acquireTokenRedirect navigates away.\r\n }\r\n else {\r\n console.warn(`Unhandled BrowserAuthError`, reason);\r\n }\r\n }\r\n throw reason;\r\n });\r\n}\r\n\r\ninterface IOnboardingAuditTrailsEntry {\r\n stepName: OnboardingStepNames;\r\n status: OnboardingStepStatus;\r\n Comments: string;\r\n ErrorMessage: string;\r\n SchoolNumber: string;\r\n performedBy: string;\r\n performedDateTimeUTC: Date;\r\n}\r\n\r\nexport type IOnboardingAuditTrailsResponse = IOnboardingAuditTrailsEntry[];\r\n\r\nexport function getOnboardingAuditTrails({\r\n msalInstance,\r\n tenantId,\r\n}: {\r\n msalInstance: IPublicClientApplication\r\n tenantId: string,\r\n}) {\r\n return acquireToken(\r\n msalInstance,\r\n {\r\n scopes: [config.functionAppScope],\r\n account: msalInstance.getActiveAccount() as AccountInfo,\r\n },\r\n )\r\n .then(({ accessToken }) => {\r\n return get({\r\n accessToken,\r\n endpoint: `${config.azureFunctionBaseUrl}${config.getOnboardingAuditTrailsEndpoint}/${tenantId}`\r\n }) as Promise;\r\n });\r\n}\r\n\r\nexport function postOnboardingStep({\r\n msalInstance,\r\n tenantId,\r\n step,\r\n}: {\r\n msalInstance: IPublicClientApplication,\r\n tenantId: string,\r\n step: IOnboardingStep,\r\n}) {\r\n return acquireToken(\r\n msalInstance,\r\n {\r\n scopes: [config.functionAppScope],\r\n account: msalInstance.getActiveAccount() as AccountInfo,\r\n },\r\n )\r\n .then(({ accessToken }) => {\r\n return post({\r\n accessToken,\r\n endpoint: `${config.azureFunctionBaseUrl}${config.postOnboardingStepEndpoint}`,\r\n body: {\r\n TenantId: tenantId,\r\n StepName: step.name,\r\n Status: step.status,\r\n Comments: step.status !== 'failed' ? step.details : undefined,\r\n ErrorMessage: step.status === 'failed' ? step.details : undefined,\r\n PerformedBy: step.performedBy,\r\n SchoolNumber: \"\",\r\n },\r\n }) as Promise;\r\n });\r\n}\r\n\r\n\r\ninterface ISchoolDetailsResponseItem {\r\n SchoolNo: number,\r\n SchoolName: string,\r\n SchoolType: string,\r\n Region: string,\r\n}\r\n\r\nexport type ISchoolDetailsResponse = ISchoolDetailsResponseItem[];\r\n\r\nexport function getSchoolDetails({\r\n msalInstance,\r\n}: {\r\n msalInstance: IPublicClientApplication,\r\n}) {\r\n return acquireToken(\r\n msalInstance,\r\n {\r\n scopes: [config.functionAppScope],\r\n account: msalInstance.getActiveAccount() as AccountInfo,\r\n },\r\n )\r\n .then(({ accessToken }) => {\r\n return get({\r\n accessToken,\r\n endpoint: `${config.azureFunctionBaseUrl}${config.getSchoolDetailsEndpoint}`\r\n }) as Promise;\r\n });\r\n}\r\n\r\n\r\nexport function postTenantDetails({\r\n msalInstance,\r\n tenantId,\r\n tenantName,\r\n defaultDomain,\r\n customDomain,\r\n schoolID,\r\n}: {\r\n msalInstance: IPublicClientApplication,\r\n tenantId: string,\r\n tenantName: string,\r\n defaultDomain: string,\r\n customDomain: string,\r\n schoolID: string,\r\n}) {\r\n return acquireToken(\r\n msalInstance,\r\n {\r\n scopes: [config.functionAppScope],\r\n account: msalInstance.getActiveAccount() as AccountInfo,\r\n },\r\n )\r\n .then(({ accessToken }) => {\r\n return post({\r\n accessToken,\r\n endpoint: `${config.azureFunctionBaseUrl}${config.postTenantDetailsEndpoint}`,\r\n body: {\r\n TenantId: tenantId,\r\n TenantName: tenantName,\r\n DefaultDomain: defaultDomain,\r\n CustomDomain: customDomain,\r\n SchoolID: schoolID,\r\n },\r\n }) as Promise;\r\n });\r\n}\r\n\r\n","import { config } from './config';\r\n\r\nexport const msalConfig = {\r\n auth: {\r\n clientId: config.clientIdSelfEnrolment,\r\n authority: config.authority,\r\n redirectUri: `${window.location.origin}/Login`,\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n};\r\n","interface IConfig {\r\n authority: string,\r\n loginScopes: string[],\r\n requiredServicePrincipals: string[],\r\n\r\n clientIdConfigRegisterAndInsights: string,\r\n\r\n clientIdSelfEnrolment: string,\r\n functionAppScope: string,\r\n azureFunctionBaseUrl: string,\r\n getOnboardingAuditTrailsEndpoint: string,\r\n postOnboardingStepEndpoint: string,\r\n getSchoolDetailsEndpoint: string,\r\n postTenantDetailsEndpoint: string,\r\n\r\n sharepointUrl: string,\r\n\r\n debug?: boolean,\r\n fakeOnboardingStepStorage?: boolean,\r\n fakeGrantConsent?: boolean,\r\n fakeNotAlreadyEnrolled?: boolean,\r\n disableRedirectWhenLoading?: boolean,\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n SELFONBOARDING: Partial\r\n }\r\n}\r\n\r\nif (!window.SELFONBOARDING.clientIdConfigRegisterAndInsights) { throw new Error('clientIdConfigRegisterAndInsights not set in config.js'); }\r\nif (!window.SELFONBOARDING.clientIdSelfEnrolment) { throw new Error('clientIdSelfEnrolment not set in config.js'); }\r\nif (!window.SELFONBOARDING.functionAppScope) { throw new Error('functionAppScope not set in config.js'); }\r\nif (!window.SELFONBOARDING.azureFunctionBaseUrl) { throw new Error('azureFunctionBaseUrl not set in config.js'); }\r\n\r\nexport const config: IConfig = {\r\n authority: \"https://login.microsoftonline.com/organizations\",\r\n loginScopes: [\r\n \"User.Read\",\r\n \"Directory.Read.All\",\r\n \"Application.ReadWrite.All\", // Needed to post servicePrincipals (Adding Teams and Skype for business API if necessary)\r\n \"RoleManagement.ReadWrite.Directory\", // Needed to post roleAssignment (Assigning Global Reader)\r\n ],\r\n requiredServicePrincipals: ['48ac35b8-9aa8-4d74-927d-1f4a14a0b239'],\r\n\r\n clientIdConfigRegisterAndInsights: \"\", // Will be overriden by value from config.js\r\n\r\n clientIdSelfEnrolment: \"\", // Will be overriden by value from config.js\r\n functionAppScope: \"\", // Will be overriden by value from config.js\r\n azureFunctionBaseUrl: \"\", // Will be overriden by value from config.js\r\n\r\n getOnboardingAuditTrailsEndpoint: '/OnboardingAuditTrails',\r\n postOnboardingStepEndpoint: '/OnboardingStep',\r\n getSchoolDetailsEndpoint: '/SchoolDetails',\r\n postTenantDetailsEndpoint: '/TenantDetails',\r\n\r\n sharepointUrl: '/',\r\n\r\n ...window.SELFONBOARDING\r\n};\r\n\r\nif (!config.authority) { throw new Error('authority not set correctly in config.js'); }\r\nif (!config.getOnboardingAuditTrailsEndpoint) { throw new Error('getOnboardingAuditTrailsEndpoint not set correctly in config.js'); }\r\n","import * as React from 'react';\r\nimport { AuthenticationResult, EventMessage, EventType, IPublicClientApplication, InteractionType } from '@azure/msal-browser';\r\n\r\nimport { config } from '../config';\r\nimport { getOnboardingAuditTrails, postOnboardingStep } from '../api/api';\r\nimport { IOnboardingStep } from '../types/IOnboardingStep';\r\nimport { OnboardingStepNames } from '../types/OnboardingStepNames';\r\nimport { ISchoolDetails } from '../types/ISchoolDetails';\r\nimport { useNavigate, useSearchParams } from 'react-router-dom';\r\n\r\ntype IOnboardingStepCollection = {\r\n [K in OnboardingStepNames]?: IOnboardingStep\r\n};\r\n\r\ntype IOnboardingState = {\r\n tenantId: string | null,\r\n schoolDetails?: ISchoolDetails,\r\n onboardingSteps: IOnboardingStepCollection,\r\n isInitialised?: boolean,\r\n isLoading?: boolean,\r\n};\r\n\r\ntype IOnboardingContext = IOnboardingState & {\r\n setInitialised(): void,\r\n load(\r\n tenantId: string\r\n ): void,\r\n logout(): void,\r\n setSchoolDetails(\r\n schoolDetails: ISchoolDetails\r\n ): void,\r\n setStepStatus(\r\n onboardingStep: IOnboardingStep\r\n ): Promise,\r\n setIsLoading(\r\n isLoading: boolean,\r\n ): void,\r\n}\r\n\r\nexport const OnboardingContext = React.createContext({} as IOnboardingContext);\r\n\r\ninterface IOnboardingContextProviderProps {\r\n msalInstance: IPublicClientApplication,\r\n children: React.ReactNode\r\n}\r\n\r\nexport const OnboardingContextProvider: React.ComponentType = ({\r\n msalInstance,\r\n children,\r\n}) => {\r\n const navigate = useNavigate();\r\n const [searchParams] = useSearchParams();\r\n\r\n const [state, setState] = React.useState({\r\n tenantId: null,\r\n onboardingSteps: {},\r\n isInitialised: false,\r\n isLoading: true,\r\n });\r\n\r\n const setStateAndSaveStep = (\r\n step: IOnboardingStep,\r\n ) => {\r\n setState((origState) => {\r\n const newState = {\r\n ...origState,\r\n onboardingSteps: {\r\n ...origState.onboardingSteps,\r\n [step.name]: step,\r\n },\r\n };\r\n if (config.fakeOnboardingStepStorage) {\r\n console.debug('storage', newState, newState.onboardingSteps);\r\n window.localStorage.setItem(`onboardingContext-steps-${newState.tenantId}`, JSON.stringify(newState.onboardingSteps));\r\n }\r\n return newState;\r\n });\r\n\r\n if (!config.fakeOnboardingStepStorage) {\r\n if (state.tenantId) {\r\n return postOnboardingStep({\r\n msalInstance,\r\n tenantId: state.tenantId,\r\n step,\r\n })\r\n }\r\n }\r\n return Promise.resolve();\r\n\r\n }\r\n\r\n const value: IOnboardingContext = {\r\n ...state,\r\n setInitialised: () => {\r\n setState(origState => ({\r\n ...origState,\r\n isInitialised: true,\r\n isLoading: false,\r\n }));\r\n },\r\n load: (tenantId: string) => {\r\n\r\n const applyLoadedState = (steps: IOnboardingStepCollection) => {\r\n if (config.debug) {\r\n console.debug(`Fetched steps for tenant ${tenantId}`, steps);\r\n }\r\n\r\n if (steps) {\r\n setState((state) => ({\r\n ...state,\r\n onboardingSteps: steps,\r\n }));\r\n }\r\n setState((state) => ({\r\n ...state,\r\n tenantId,\r\n isInitialised: true,\r\n isLoading: false,\r\n }));\r\n\r\n if (!config.disableRedirectWhenLoading && !searchParams.toString().length) {\r\n if (steps.adminConsent?.status === 'in progress') {\r\n // Note: Do not navigate or the query string parameters containing the results will be lost\r\n }\r\n else if (steps.review?.status === 'succeeded') {\r\n navigate('/Login');\r\n }\r\n else if (steps.schoolDetails?.status === 'succeeded') {\r\n navigate('/Review');\r\n }\r\n else if (steps.adminConsent?.status === 'succeeded' && steps.globalReader?.status === 'succeeded') {\r\n navigate('/SchoolDetails');\r\n }\r\n else {\r\n navigate('/Login');\r\n }\r\n }\r\n };\r\n\r\n if (config.debug) {\r\n console.debug(`Fetching steps for tenant ${tenantId}`);\r\n }\r\n setState((state) => ({\r\n ...state,\r\n tenantId,\r\n isLoading: true,\r\n }));\r\n\r\n if (config.fakeOnboardingStepStorage) {\r\n // Fake loading from azure function\r\n setTimeout(\r\n () => {\r\n applyLoadedState(JSON.parse(window.localStorage.getItem(`onboardingContext-steps-${tenantId}`) as string));\r\n },\r\n 2000,\r\n );\r\n }\r\n else {\r\n getOnboardingAuditTrails({\r\n msalInstance,\r\n tenantId,\r\n })\r\n .then((response) => {\r\n applyLoadedState(response.reduce(\r\n (prev, curr) => {\r\n prev[curr.stepName] = {\r\n name: curr.stepName,\r\n status: curr.status,\r\n details: curr.Comments,\r\n performedBy: curr.performedBy,\r\n }\r\n return prev;\r\n },\r\n {} as IOnboardingStepCollection,\r\n ));\r\n })\r\n .catch(err => {\r\n console.error('Failed to load state for current user', err);\r\n\r\n setState((state) => ({\r\n ...state,\r\n tenantId: null,\r\n isInitialised: true,\r\n isLoading: false,\r\n }));\r\n });\r\n }\r\n },\r\n logout: () => {\r\n msalInstance.setActiveAccount(null);\r\n setState(origState => ({\r\n ...origState,\r\n tenantId: null,\r\n onboardingSteps: {},\r\n }));\r\n },\r\n setSchoolDetails: (schoolDetails: ISchoolDetails) => {\r\n setState(origState => ({\r\n ...origState,\r\n schoolDetails,\r\n }));\r\n },\r\n setStepStatus: (props) => {\r\n if (config.debug) {\r\n console.debug('setStepStatus', props);\r\n }\r\n const step: IOnboardingStep = {\r\n name: props.name,\r\n status: props.status,\r\n details: props.details ?? '',\r\n performedBy: props.performedBy,\r\n };\r\n return setStateAndSaveStep(step);\r\n },\r\n setIsLoading: (isLoading: boolean) => {\r\n setState(origState => ({\r\n ...origState,\r\n isLoading,\r\n }));\r\n },\r\n };\r\n\r\n console.debug('context changed', value);\r\n\r\n React.useEffect(\r\n () => {\r\n const callbackId = msalInstance.addEventCallback((message: EventMessage) => {\r\n console.debug('msal event', message);\r\n if (\r\n message.eventType === EventType.LOGIN_SUCCESS || \r\n (message.eventType === EventType.ACQUIRE_TOKEN_SUCCESS && message.interactionType === InteractionType.Redirect)\r\n ) {\r\n const payload = message.payload as AuthenticationResult;\r\n const account = payload.account;\r\n if (account) {\r\n msalInstance.setActiveAccount(account);\r\n\r\n setState(origState => ({\r\n ...origState,\r\n tenantId: account.tenantId,\r\n }));\r\n \r\n value.setStepStatus({\r\n name: 'signIn',\r\n status: 'succeeded',\r\n details: 'AAD login completed',\r\n performedBy: account.username\r\n });\r\n }\r\n else {\r\n value.setStepStatus({\r\n name: 'signIn',\r\n status: 'failed',\r\n details: 'AAD login completed, but active account is null',\r\n performedBy: ''\r\n });\r\n }\r\n }\r\n else if (\r\n message.eventType === EventType.HANDLE_REDIRECT_END && message.interactionType === InteractionType.Redirect\r\n ) {\r\n const account = msalInstance.getActiveAccount();\r\n if (account) {\r\n value.load(account.tenantId);\r\n }\r\n else {\r\n value.setInitialised();\r\n }\r\n }\r\n });\r\n\r\n return () => {\r\n if (callbackId) {\r\n msalInstance.removeEventCallback(callbackId);\r\n }\r\n };\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [],\r\n );\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError, StringUtils } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserAuthErrorMessage = {\n pkceNotGenerated: {\n code: \"pkce_not_created\",\n desc: \"The PKCE code challenge and verifier could not be generated.\"\n },\n cryptoDoesNotExist: {\n code: \"crypto_nonexistent\",\n desc: \"The crypto object or function is not available.\"\n },\n httpMethodNotImplementedError: {\n code: \"http_method_not_implemented\",\n desc: \"The HTTP method given has not been implemented in this library.\"\n },\n emptyNavigateUriError: {\n code: \"empty_navigate_uri\",\n desc: \"Navigation URI is empty. Please check stack trace for more info.\"\n },\n hashEmptyError: {\n code: \"hash_empty_error\",\n desc: \"Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n hashDoesNotContainStateError: {\n code: \"no_state_in_hash\",\n desc: \"Hash does not contain state. Please verify that the request originated from msal.\"\n },\n hashDoesNotContainKnownPropertiesError: {\n code: \"hash_does_not_contain_known_properties\",\n desc: \"Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n unableToParseStateError: {\n code: \"unable_to_parse_state\",\n desc: \"Unable to parse state. Please verify that the request originated from msal.\"\n },\n stateInteractionTypeMismatchError: {\n code: \"state_interaction_type_mismatch\",\n desc: \"Hash contains state but the interaction type does not match the caller.\"\n },\n interactionInProgress: {\n code: \"interaction_in_progress\",\n desc: \"Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n popupWindowError: {\n code: \"popup_window_error\",\n desc: \"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"\n },\n emptyWindowError: {\n code: \"empty_window_error\",\n desc: \"window.open returned null or undefined window object.\"\n },\n userCancelledError: {\n code: \"user_cancelled\",\n desc: \"User cancelled the flow.\"\n },\n monitorPopupTimeoutError: {\n code: \"monitor_window_timeout\",\n desc: \"Token acquisition in popup failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n monitorIframeTimeoutError: {\n code: \"monitor_window_timeout\",\n desc: \"Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n redirectInIframeError: {\n code: \"redirect_in_iframe\",\n desc: \"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.\"\n },\n blockTokenRequestsInHiddenIframeError: {\n code: \"block_iframe_reload\",\n desc: \"Request was blocked inside an iframe because MSAL detected an authentication response. For more visit: aka.ms/msaljs/browser-errors\"\n },\n blockAcquireTokenInPopupsError: {\n code: \"block_nested_popups\",\n desc: \"Request was blocked inside a popup because MSAL detected it was running in a popup.\"\n },\n iframeClosedPrematurelyError: {\n code: \"iframe_closed_prematurely\",\n desc: \"The iframe being monitored was closed prematurely.\"\n },\n silentLogoutUnsupportedError: {\n code: \"silent_logout_unsupported\",\n desc: \"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.\"\n },\n noAccountError: {\n code: \"no_account_error\",\n desc: \"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.\"\n },\n silentPromptValueError: {\n code: \"silent_prompt_value_error\",\n desc: \"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.\"\n },\n noTokenRequestCacheError: {\n code: \"no_token_request_cache_error\",\n desc: \"No token request found in cache.\"\n },\n unableToParseTokenRequestCacheError: {\n code: \"unable_to_parse_token_request_cache_error\",\n desc: \"The cached token request could not be parsed.\"\n },\n noCachedAuthorityError: {\n code: \"no_cached_authority_error\",\n desc: \"No cached authority found.\"\n },\n authRequestNotSet: {\n code: \"auth_request_not_set_error\",\n desc: \"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler\"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n notInBrowserEnvironment: {\n code: \"non_browser_environment\",\n desc: \"Login and token requests are not supported in non-browser environments.\"\n },\n databaseNotOpen: {\n code: \"database_not_open\",\n desc: \"Database is not open!\"\n },\n noNetworkConnectivity: {\n code: \"no_network_connectivity\",\n desc: \"No network connectivity. Check your internet connection.\"\n },\n postRequestFailed: {\n code: \"post_request_failed\",\n desc: \"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'\"\n },\n getRequestFailed: {\n code: \"get_request_failed\",\n desc: \"Network request failed. Please check the network trace to determine root cause.\"\n },\n failedToParseNetworkResponse: {\n code: \"failed_to_parse_response\",\n desc: \"Failed to parse network response. Check network trace.\"\n },\n unableToLoadTokenError: {\n code: \"unable_to_load_token\",\n desc: \"Error loading token to cache.\"\n },\n signingKeyNotFoundInStorage: {\n code: \"crypto_key_not_found\",\n desc: \"Cryptographic Key or Keypair not found in browser storage.\"\n },\n authCodeRequired: {\n code: \"auth_code_required\",\n desc: \"An authorization code must be provided (as the `code` property on the request) to this flow.\"\n },\n authCodeOrNativeAccountRequired: {\n code: \"auth_code_or_nativeAccountId_required\",\n desc: \"An authorization code or nativeAccountId must be provided to this flow.\"\n },\n spaCodeAndNativeAccountPresent: {\n code: \"spa_code_and_nativeAccountId_present\",\n desc: \"Request cannot contain both spa code and native account id.\"\n },\n databaseUnavailable: {\n code: \"database_unavailable\",\n desc: \"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.\"\n },\n unableToAcquireTokenFromNativePlatform: {\n code: \"unable_to_acquire_token_from_native_platform\",\n desc: \"Unable to acquire token from native platform. For a list of possible reasons visit aka.ms/msaljs/browser-errors.\"\n },\n nativeHandshakeTimeout: {\n code: \"native_handshake_timeout\",\n desc: \"Timed out while attempting to establish connection to browser extension\"\n },\n nativeExtensionNotInstalled: {\n code: \"native_extension_not_installed\",\n desc: \"Native extension is not installed. If you think this is a mistake call the initialize function.\"\n },\n nativeConnectionNotEstablished: {\n code: \"native_connection_not_established\",\n desc: \"Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). For more please visit aka.ms/msaljs/browser-errors.\"\n },\n nativeBrokerCalledBeforeInitialize: {\n code: \"native_broker_called_before_initialize\",\n desc: \"You must call and await the initialize function before attempting to call any other MSAL API when native brokering is enabled. For more please visit aka.ms/msaljs/browser-errors.\"\n },\n nativePromptNotSupported: {\n code: \"native_prompt_not_supported\",\n desc: \"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n\n Object.setPrototypeOf(this, BrowserAuthError.prototype);\n this.name = \"BrowserAuthError\";\n }\n\n /**\n * Creates an error thrown when PKCE is not implemented.\n * @param errDetail\n */\n static createPkceNotGeneratedError(errDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.pkceNotGenerated.code,\n `${BrowserAuthErrorMessage.pkceNotGenerated.desc} Detail:${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the crypto object is unavailable.\n * @param errDetail\n */\n static createCryptoNotAvailableError(errDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.cryptoDoesNotExist.code,\n `${BrowserAuthErrorMessage.cryptoDoesNotExist.desc} Detail:${errDetail}`);\n }\n\n /**\n * Creates an error thrown when an HTTP method hasn't been implemented by the browser class.\n * @param method\n */\n static createHttpMethodNotImplementedError(method: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.httpMethodNotImplementedError.code,\n `${BrowserAuthErrorMessage.httpMethodNotImplementedError.desc} Given Method: ${method}`);\n }\n\n /**\n * Creates an error thrown when the navigation URI is empty.\n */\n static createEmptyNavigationUriError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyNavigateUriError.code, BrowserAuthErrorMessage.emptyNavigateUriError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n * @param hashValue\n */\n static createEmptyHashError(hashValue: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashEmptyError.code, `${BrowserAuthErrorMessage.hashEmptyError.desc} Given Url: ${hashValue}`);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n */\n static createHashDoesNotContainStateError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainStateError.code, BrowserAuthErrorMessage.hashDoesNotContainStateError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value does not contain known properties\n */\n static createHashDoesNotContainKnownPropertiesError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.code, BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n */\n static createUnableToParseStateError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseStateError.code, BrowserAuthErrorMessage.unableToParseStateError.desc);\n }\n\n /**\n * Creates an error thrown when the state value in the hash does not match the interaction type of the API attempting to consume it.\n */\n static createStateInteractionTypeMismatchError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.stateInteractionTypeMismatchError.code, BrowserAuthErrorMessage.stateInteractionTypeMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when a browser interaction (redirect or popup) is in progress.\n */\n static createInteractionInProgressError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.interactionInProgress.code, BrowserAuthErrorMessage.interactionInProgress.desc);\n }\n\n /**\n * Creates an error thrown when the popup window could not be opened.\n * @param errDetail\n */\n static createPopupWindowError(errDetail?: string): BrowserAuthError {\n let errorMessage = BrowserAuthErrorMessage.popupWindowError.desc;\n errorMessage = !StringUtils.isEmpty(errDetail) ? `${errorMessage} Details: ${errDetail}` : errorMessage;\n return new BrowserAuthError(BrowserAuthErrorMessage.popupWindowError.code, errorMessage);\n }\n\n /**\n * Creates an error thrown when window.open returns an empty window object.\n * @param errDetail\n */\n static createEmptyWindowCreatedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyWindowError.code, BrowserAuthErrorMessage.emptyWindowError.desc);\n }\n\n /**\n * Creates an error thrown when the user closes a popup.\n */\n static createUserCancelledError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.userCancelledError.code,\n BrowserAuthErrorMessage.userCancelledError.desc);\n }\n\n /**\n * Creates an error thrown when monitorPopupFromHash times out for a given popup.\n */\n static createMonitorPopupTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorPopupTimeoutError.code,\n BrowserAuthErrorMessage.monitorPopupTimeoutError.desc);\n }\n\n /**\n * Creates an error thrown when monitorIframeFromHash times out for a given iframe.\n */\n static createMonitorIframeTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorIframeTimeoutError.code,\n BrowserAuthErrorMessage.monitorIframeTimeoutError.desc);\n }\n\n /**\n * Creates an error thrown when navigateWindow is called inside an iframe or brokered applications.\n * @param windowParentCheck\n */\n static createRedirectInIframeError(windowParentCheck: boolean): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.redirectInIframeError.code,\n `${BrowserAuthErrorMessage.redirectInIframeError.desc} (window.parent !== window) => ${windowParentCheck}`);\n }\n\n /**\n * Creates an error thrown when an auth reload is done inside an iframe.\n */\n static createBlockReloadInHiddenIframeError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code,\n BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.desc);\n }\n\n /**\n * Creates an error thrown when a popup attempts to call an acquireToken API\n * @returns\n */\n static createBlockAcquireTokenInPopupsError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.code,\n BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.desc);\n }\n\n /**\n * Creates an error thrown when an iframe is found to be closed before the timeout is reached.\n */\n static createIframeClosedPrematurelyError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.iframeClosedPrematurelyError.code, BrowserAuthErrorMessage.iframeClosedPrematurelyError.desc);\n }\n\n /**\n * Creates an error thrown when the logout API is called on any of the silent interaction clients\n */\n static createSilentLogoutUnsupportedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.silentLogoutUnsupportedError.code, BrowserAuthErrorMessage.silentLogoutUnsupportedError.desc);\n }\n\n /**\n * Creates an error thrown when the account object is not provided in the acquireTokenSilent API.\n */\n static createNoAccountError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noAccountError.code, BrowserAuthErrorMessage.noAccountError.desc);\n }\n\n /**\n * Creates an error thrown when a given prompt value is invalid for silent requests.\n */\n static createSilentPromptValueError(givenPrompt: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.silentPromptValueError.code, `${BrowserAuthErrorMessage.silentPromptValueError.desc} Given value: ${givenPrompt}`);\n }\n\n /**\n * Creates an error thrown when the cached token request could not be retrieved from the cache\n */\n static createUnableToParseTokenRequestCacheError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.code,\n BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.desc);\n }\n\n /**\n * Creates an error thrown when the token request could not be retrieved from the cache\n */\n static createNoTokenRequestCacheError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noTokenRequestCacheError.code,\n BrowserAuthErrorMessage.noTokenRequestCacheError.desc);\n }\n\n /**\n * Creates an error thrown when handleCodeResponse is called before initiateAuthRequest (InteractionHandler)\n */\n static createAuthRequestNotSetError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authRequestNotSet.code,\n BrowserAuthErrorMessage.authRequestNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the authority could not be retrieved from the cache\n */\n static createNoCachedAuthorityError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noCachedAuthorityError.code,\n BrowserAuthErrorMessage.noCachedAuthorityError.desc);\n }\n\n /**\n * Creates an error thrown if cache type is invalid.\n */\n static createInvalidCacheTypeError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.invalidCacheType.code, `${BrowserAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Create an error thrown when login and token requests are made from a non-browser environment\n */\n static createNonBrowserEnvironmentError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.notInBrowserEnvironment.code, BrowserAuthErrorMessage.notInBrowserEnvironment.desc);\n }\n\n /**\n * Create an error thrown when indexDB database is not open\n */\n static createDatabaseNotOpenError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseNotOpen.code, BrowserAuthErrorMessage.databaseNotOpen.desc);\n }\n\n /**\n * Create an error thrown when token fetch fails due to no internet\n */\n static createNoNetworkConnectivityError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noNetworkConnectivity.code, BrowserAuthErrorMessage.noNetworkConnectivity.desc);\n }\n\n /**\n * Create an error thrown when token fetch fails due to reasons other than internet connectivity\n */\n static createPostRequestFailedError(errorDesc: string, endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.postRequestFailed.code, `${BrowserAuthErrorMessage.postRequestFailed.desc} | Network client threw: ${errorDesc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when get request fails due to reasons other than internet connectivity\n */\n static createGetRequestFailedError(errorDesc: string, endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.getRequestFailed.code, `${BrowserAuthErrorMessage.getRequestFailed.desc} | Network client threw: ${errorDesc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when network client fails to parse network response\n */\n static createFailedToParseNetworkResponseError(endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.failedToParseNetworkResponse.code, `${BrowserAuthErrorMessage.failedToParseNetworkResponse.desc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when the necessary information is not available to sideload tokens\n */\n static createUnableToLoadTokenError(errorDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToLoadTokenError.code, `${BrowserAuthErrorMessage.unableToLoadTokenError.desc} | ${errorDetail}`);\n }\n\n /**\n * Create an error thrown when the queried cryptographic key is not found in IndexedDB\n */\n static createSigningKeyNotFoundInStorageError(keyId: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code, `${BrowserAuthErrorMessage.signingKeyNotFoundInStorage.desc} | No match found for KeyId: ${keyId}`);\n }\n\n /**\n * Create an error when an authorization code is required but not provided\n */\n static createAuthCodeRequiredError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeRequired.code, BrowserAuthErrorMessage.authCodeRequired.desc);\n }\n\n /**\n * Create an error when an authorization code or native account ID is required but not provided\n */\n static createAuthCodeOrNativeAccountIdRequiredError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.code, BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.desc);\n }\n\n /**\n * Create an error when both authorization code and native account ID are provided\n */\n static createSpaCodeAndNativeAccountIdPresentError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.spaCodeAndNativeAccountPresent.code, BrowserAuthErrorMessage.spaCodeAndNativeAccountPresent.desc);\n }\n\n /**\n * Create an error when IndexedDB is unavailable\n */\n static createDatabaseUnavailableError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseUnavailable.code, BrowserAuthErrorMessage.databaseUnavailable.desc);\n }\n\n /**\n * Create an error when native token acquisition is not possible\n */\n static createUnableToAcquireTokenFromNativePlatformError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.code, BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.desc);\n }\n\n /**\n * Create an error thrown when Handshake with browser extension times out\n */\n static createNativeHandshakeTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeHandshakeTimeout.code, BrowserAuthErrorMessage.nativeHandshakeTimeout.desc);\n }\n\n /**\n * Create an error thrown when browser extension is not installed\n */\n static createNativeExtensionNotInstalledError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeExtensionNotInstalled.code, BrowserAuthErrorMessage.nativeExtensionNotInstalled.desc);\n }\n\n /**\n * Create an error when native connection has not been established\n * @returns\n */\n static createNativeConnectionNotEstablishedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeConnectionNotEstablished.code, BrowserAuthErrorMessage.nativeConnectionNotEstablished.desc);\n }\n\n /**\n * Create an error thrown when the initialize function hasn't been called\n */\n static createNativeBrokerCalledBeforeInitialize(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.code, BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.desc);\n }\n\n /**\n * Create an error thrown when requesting a token directly from the native platform with an unsupported prompt parameter e.g. select_account, login or create\n * These requests must go through eSTS to ensure eSTS is aware of the new account\n */\n static createNativePromptParameterNotSupportedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativePromptNotSupported.code, BrowserAuthErrorMessage.nativePromptNotSupported.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserConfigurationAuthErrorMessage = {\n redirectUriNotSet: {\n code: \"redirect_uri_empty\",\n desc: \"A redirect URI is required for all calls, and none has been set.\"\n },\n postLogoutUriNotSet: {\n code: \"post_logout_uri_empty\",\n desc: \"A post logout redirect has not been set.\"\n },\n storageNotSupportedError: {\n code: \"storage_not_supported\",\n desc: \"Given storage configuration option was not supported.\"\n },\n noRedirectCallbacksSet: {\n code: \"no_redirect_callbacks\",\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n invalidCallbackObject: {\n code: \"invalid_callback_object\",\n desc: \"The object passed for the callback was invalid. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n stubPcaInstanceCalled: {\n code: \"stubbed_public_client_application_called\",\n desc: \"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors\"\n },\n inMemRedirectUnavailable: {\n code: \"in_mem_redirect_unavailable\",\n desc: \"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true.\"\n },\n entropyNotProvided: {\n code: \"entropy_not_provided\",\n desc: \"The available browser crypto interface requires entropy set via system.cryptoOptions.entropy configuration option.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserConfigurationAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"BrowserConfigurationAuthError\";\n\n Object.setPrototypeOf(this, BrowserConfigurationAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when the redirect uri is empty (not set by caller)\n */\n static createRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\n */\n static createPostLogoutRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\n }\n\n /**\n * Creates error thrown when given storage location is not supported.\n * @param givenStorageLocation \n */\n static createStorageNotSupportedError(givenStorageLocation: string): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, `${BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc} Given Location: ${givenStorageLocation}`);\n }\n\n /**\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\n */\n static createRedirectCallbacksNotSetError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, \n BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\n }\n\n /**\n * Creates error thrown when the stub instance of PublicClientApplication is called.\n */\n static createStubPcaInstanceCalledError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code,\n BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\n }\n\n /*\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\n */\n static createInMemoryRedirectUnavailableError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\n }\n \n /**\n * Creates an error thrown when a crypto interface that requires entropy is initialized without entropy\n */\n static createEntropyNotProvided(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.entropyNotProvided.code, BrowserConfigurationAuthErrorMessage.entropyNotProvided.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport enum EventType {\n INITIALIZE_START = \"msal:initializeStart\",\n INITIALIZE_END = \"msal:initializeEnd\",\n ACCOUNT_ADDED = \"msal:accountAdded\",\n ACCOUNT_REMOVED = \"msal:accountRemoved\",\n LOGIN_START = \"msal:loginStart\",\n LOGIN_SUCCESS = \"msal:loginSuccess\",\n LOGIN_FAILURE = \"msal:loginFailure\",\n ACQUIRE_TOKEN_START = \"msal:acquireTokenStart\",\n ACQUIRE_TOKEN_SUCCESS = \"msal:acquireTokenSuccess\",\n ACQUIRE_TOKEN_FAILURE = \"msal:acquireTokenFailure\",\n ACQUIRE_TOKEN_NETWORK_START = \"msal:acquireTokenFromNetworkStart\",\n SSO_SILENT_START = \"msal:ssoSilentStart\",\n SSO_SILENT_SUCCESS = \"msal:ssoSilentSuccess\",\n SSO_SILENT_FAILURE = \"msal:ssoSilentFailure\",\n ACQUIRE_TOKEN_BY_CODE_START = \"msal:acquireTokenByCodeStart\",\n ACQUIRE_TOKEN_BY_CODE_SUCCESS = \"msal:acquireTokenByCodeSuccess\",\n ACQUIRE_TOKEN_BY_CODE_FAILURE = \"msal:acquireTokenByCodeFailure\",\n HANDLE_REDIRECT_START = \"msal:handleRedirectStart\",\n HANDLE_REDIRECT_END = \"msal:handleRedirectEnd\",\n POPUP_OPENED = \"msal:popupOpened\",\n LOGOUT_START = \"msal:logoutStart\",\n LOGOUT_SUCCESS = \"msal:logoutSuccess\",\n LOGOUT_FAILURE = \"msal:logoutFailure\",\n LOGOUT_END = \"msal:logoutEnd\"\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { OIDC_DEFAULT_SCOPES } from \"@azure/msal-common\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\n\n/**\n * Constants\n */\nexport const BrowserConstants = {\n /**\n * Interaction in progress cache value\n */\n INTERACTION_IN_PROGRESS_VALUE: \"interaction_in_progress\",\n /**\n * Invalid grant error code\n */\n INVALID_GRANT_ERROR: \"invalid_grant\",\n /**\n * Default popup window width\n */\n POPUP_WIDTH: 483,\n /**\n * Default popup window height\n */\n POPUP_HEIGHT: 600,\n /**\n * Name of the popup window starts with\n */\n POPUP_NAME_PREFIX: \"msal\",\n /**\n * Default popup monitor poll interval in milliseconds\n */\n DEFAULT_POLL_INTERVAL_MS: 30,\n /**\n * Msal-browser SKU\n */\n MSAL_SKU: \"msal.js.browser\",\n};\n\nexport const NativeConstants = {\n CHANNEL_ID: \"53ee284d-920a-4b59-9d30-a60315b26836\",\n PREFERRED_EXTENSION_ID: \"ppnbnpeolgkicgegkbkbjmhlideopiji\",\n MATS_TELEMETRY: \"MATS\"\n};\n\nexport enum NativeExtensionMethod {\n HandshakeRequest = \"Handshake\",\n HandshakeResponse = \"HandshakeResponse\",\n GetToken = \"GetToken\",\n Response = \"Response\"\n}\n\nexport enum BrowserCacheLocation {\n LocalStorage = \"localStorage\",\n SessionStorage = \"sessionStorage\",\n MemoryStorage = \"memoryStorage\"\n}\n\n/**\n * HTTP Request types supported by MSAL.\n */\nexport enum HTTP_REQUEST_TYPE {\n GET = \"GET\",\n POST = \"POST\"\n}\n\n/**\n * Temporary cache keys for MSAL, deleted after any request.\n */\nexport enum TemporaryCacheKeys {\n AUTHORITY = \"authority\",\n ACQUIRE_TOKEN_ACCOUNT = \"acquireToken.account\",\n SESSION_STATE = \"session.state\",\n REQUEST_STATE = \"request.state\",\n NONCE_IDTOKEN = \"nonce.id_token\",\n ORIGIN_URI = \"request.origin\",\n RENEW_STATUS = \"token.renew.status\",\n URL_HASH = \"urlHash\",\n REQUEST_PARAMS = \"request.params\",\n SCOPES = \"scopes\",\n INTERACTION_STATUS_KEY = \"interaction.status\",\n CCS_CREDENTIAL = \"ccs.credential\",\n CORRELATION_ID = \"request.correlationId\",\n NATIVE_REQUEST = \"request.native\",\n REDIRECT_CONTEXT = \"request.redirect.context\"\n}\n\nexport enum StaticCacheKeys {\n ACCOUNT_KEYS = \"msal.account.keys\",\n TOKEN_KEYS = \"msal.token.keys\"\n}\n\n/**\n * Cache keys stored in-memory\n */\nexport enum InMemoryCacheKeys {\n WRAPPER_SKU = \"wrapper.sku\",\n WRAPPER_VER = \"wrapper.version\"\n}\n\n/**\n * API Codes for Telemetry purposes. \n * Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs\n * 0-99 Silent Flow\n * 800-899 Auth Code Flow\n */\nexport enum ApiId {\n acquireTokenRedirect = 861,\n acquireTokenPopup = 862,\n ssoSilent = 863,\n acquireTokenSilent_authCode = 864,\n handleRedirectPromise = 865,\n acquireTokenByCode = 866,\n acquireTokenSilent_silentFlow = 61,\n logout = 961,\n logoutPopup = 962\n}\n\n/*\n * Interaction type of the API - used for state and telemetry\n */\nexport enum InteractionType {\n Redirect = \"redirect\",\n Popup = \"popup\",\n Silent = \"silent\",\n None = \"none\"\n}\n\n/**\n * Types of interaction currently in progress.\n * Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.\n */\nexport enum InteractionStatus {\n /**\n * Initial status before interaction occurs\n */\n Startup = \"startup\",\n /**\n * Status set when all login calls occuring\n */\n Login = \"login\",\n /**\n * Status set when logout call occuring\n */ \n Logout = \"logout\",\n /**\n * Status set for acquireToken calls\n */\n AcquireToken = \"acquireToken\",\n /**\n * Status set for ssoSilent calls\n */\n SsoSilent = \"ssoSilent\",\n /**\n * Status set when handleRedirect in progress\n */\n HandleRedirect = \"handleRedirect\",\n /**\n * Status set when interaction is complete\n */\n None = \"none\"\n}\n\nexport const DEFAULT_REQUEST: RedirectRequest|PopupRequest = {\n scopes: OIDC_DEFAULT_SCOPES\n};\n\n/**\n * JWK Key Format string (Type MUST be defined for window crypto APIs)\n */\nexport const KEY_FORMAT_JWK = \"jwk\";\n\n// Supported wrapper SKUs\nexport enum WrapperSKU {\n React = \"@azure/msal-react\",\n Angular = \"@azure/msal-angular\"\n}\n\n// DatabaseStorage Constants\nexport const DB_NAME = \"msal.db\";\nexport const DB_VERSION = 1;\nexport const DB_TABLE_NAME = `${DB_NAME}.keys`;\n\nexport enum CacheLookupPolicy {\n /*\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired\n * or cannot be found the refresh token will be used to acquire a new one. Finally, if the refresh token\n * is expired acquireTokenSilent will attempt to acquire new access and refresh tokens.\n */\n Default = 0, // 0 is falsy, is equivalent to not passing in a CacheLookupPolicy\n /*\n * acquireTokenSilent will only look for access tokens in the cache. It will not attempt to renew access or\n * refresh tokens.\n */\n AccessToken = 1,\n /*\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired or\n * cannot be found, the refresh token will be used to acquire a new one. If the refresh token is expired, it\n * will not be renewed and acquireTokenSilent will fail.\n */\n AccessTokenAndRefreshToken = 2,\n /*\n * acquireTokenSilent will not attempt to retrieve access tokens from the cache and will instead attempt to\n * exchange the cached refresh token for a new access token. If the refresh token is expired, it will not be\n * renewed and acquireTokenSilent will fail.\n */\n RefreshToken = 3,\n /*\n * acquireTokenSilent will not look in the cache for the access token. It will go directly to network with the\n * cached refresh token. If the refresh token is expired an attempt will be made to renew it. This is equivalent to\n * setting \"forceRefresh: true\".\n */\n RefreshTokenAndNetwork = 4,\n /*\n * acquireTokenSilent will attempt to renew both access and refresh tokens. It will not look in the cache. This will\n * always fail if 3rd party cookies are blocked by the browser.\n */\n Skip = 5,\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * AuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const AuthErrorMessage = {\n unexpectedError: {\n code: \"unexpected_error\",\n desc: \"Unexpected error in authentication.\"\n },\n postRequestFailed: {\n code: \"post_request_failed\",\n desc: \"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.\"\n }\n};\n\n/**\n * General error class thrown by the MSAL.js library.\n */\nexport class AuthError extends Error {\n\n /**\n * Short string denoting error\n */\n errorCode: string;\n\n /**\n * Detailed description of error\n */\n errorMessage: string;\n\n /**\n * Describes the subclass of an error\n */\n subError: string;\n\n /**\n * CorrelationId associated with the error\n */\n correlationId: string;\n\n constructor(errorCode?: string, errorMessage?: string, suberror?: string) {\n const errorString = errorMessage ? `${errorCode}: ${errorMessage}` : errorCode;\n super(errorString);\n Object.setPrototypeOf(this, AuthError.prototype);\n\n this.errorCode = errorCode || Constants.EMPTY_STRING;\n this.errorMessage = errorMessage || Constants.EMPTY_STRING;\n this.subError = suberror || Constants.EMPTY_STRING;\n this.name = \"AuthError\";\n }\n\n setCorrelationId(correlationId: string): void {\n this.correlationId = correlationId;\n }\n\n /**\n * Creates an error that is thrown when something unexpected happens in the library.\n * @param errDesc\n */\n static createUnexpectedError(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.unexpectedError.code, `${AuthErrorMessage.unexpectedError.desc}: ${errDesc}`);\n }\n\n /**\n * Creates an error for post request failures.\n * @param errDesc \n * @returns \n */\n static createPostRequestFailed(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.postRequestFailed.code, `${AuthErrorMessage.postRequestFailed.desc}: ${errDesc}`);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientAuthErrorMessage = {\n clientInfoDecodingError: {\n code: \"client_info_decoding_error\",\n desc: \"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"\n },\n clientInfoEmptyError: {\n code: \"client_info_empty_error\",\n desc: \"The client info was empty. Please review the trace to determine the root cause.\"\n },\n tokenParsingError: {\n code: \"token_parsing_error\",\n desc: \"Token cannot be parsed. Please review stack trace to determine root cause.\"\n },\n nullOrEmptyToken: {\n code: \"null_or_empty_token\",\n desc: \"The token is null or empty. Please review the trace to determine the root cause.\"\n },\n endpointResolutionError: {\n code: \"endpoints_resolution_error\",\n desc: \"Error: could not resolve endpoints. Please check network and try again.\"\n },\n networkError: {\n code: \"network_error\",\n desc: \"Network request failed. Please check network trace to determine root cause.\"\n },\n unableToGetOpenidConfigError: {\n code: \"openid_config_error\",\n desc: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\"\n },\n hashNotDeserialized: {\n code: \"hash_not_deserialized\",\n desc: \"The hash parameters could not be deserialized. Please review the trace to determine the root cause.\"\n },\n blankGuidGenerated: {\n code: \"blank_guid_generated\",\n desc: \"The guid generated was blank. Please review the trace to determine the root cause.\"\n },\n invalidStateError: {\n code: \"invalid_state\",\n desc: \"State was not the expected format. Please check the logs to determine whether the request was sent using ProtocolUtils.setRequestState().\"\n },\n stateMismatchError: {\n code: \"state_mismatch\",\n desc: \"State mismatch error. Please check your network. Continued requests may cause cache overflow.\"\n },\n stateNotFoundError: {\n code: \"state_not_found\",\n desc: \"State not found\"\n },\n nonceMismatchError: {\n code: \"nonce_mismatch\",\n desc: \"Nonce mismatch error. This may be caused by a race condition in concurrent requests.\"\n },\n nonceNotFoundError: {\n code: \"nonce_not_found\",\n desc: \"nonce not found\"\n },\n authTimeNotFoundError: {\n code: \"auth_time_not_found\",\n desc: \"Max Age was requested and the ID token is missing the auth_time variable.\" +\n \" auth_time is an optional claim and is not enabled by default - it must be enabled.\" +\n \" See https://aka.ms/msaljs/optional-claims for more information.\"\n },\n maxAgeTranspiredError: {\n code: \"max_age_transpired\",\n desc: \"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.\"\n },\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().\"\n },\n multipleMatchingTokens: {\n code: \"multiple_matching_tokens\",\n desc: \"The cache contains multiple tokens satisfying the requirements. \" +\n \"Call AcquireToken again providing more requirements such as authority or account.\"\n },\n multipleMatchingAccounts: {\n code: \"multiple_matching_accounts\",\n desc: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\"\n },\n multipleMatchingAppMetadata: {\n code: \"multiple_matching_appMetadata\",\n desc: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\"\n },\n tokenRequestCannotBeMade: {\n code: \"request_cannot_be_made\",\n desc: \"Token request cannot be made without authorization code or refresh token.\"\n },\n appendEmptyScopeError: {\n code: \"cannot_append_empty_scope\",\n desc: \"Cannot append null or empty scope to ScopeSet. Please check the stack trace for more info.\"\n },\n removeEmptyScopeError: {\n code: \"cannot_remove_empty_scope\",\n desc: \"Cannot remove null or empty scope from ScopeSet. Please check the stack trace for more info.\"\n },\n appendScopeSetError: {\n code: \"cannot_append_scopeset\",\n desc: \"Cannot append ScopeSet due to error.\"\n },\n emptyInputScopeSetError: {\n code: \"empty_input_scopeset\",\n desc: \"Empty input ScopeSet cannot be processed.\"\n },\n DeviceCodePollingCancelled: {\n code: \"device_code_polling_cancelled\",\n desc: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\"\n },\n DeviceCodeExpired: {\n code: \"device_code_expired\",\n desc: \"Device code is expired.\"\n },\n DeviceCodeUnknownError: {\n code: \"device_code_unknown_error\",\n desc: \"Device code stopped polling for unknown reasons.\"\n },\n NoAccountInSilentRequest: {\n code: \"no_account_in_silent_request\",\n desc: \"Please pass an account object, silent flow is not supported without account information\"\n },\n invalidCacheRecord: {\n code: \"invalid_cache_record\",\n desc: \"Cache record object was null or undefined.\"\n },\n invalidCacheEnvironment: {\n code: \"invalid_cache_environment\",\n desc: \"Invalid environment when attempting to create cache entry\"\n },\n noAccountFound: {\n code: \"no_account_found\",\n desc: \"No account found in cache for given key.\"\n },\n CachePluginError: {\n code: \"no cache plugin set on CacheManager\",\n desc: \"ICachePlugin needs to be set before using readFromStorage or writeFromStorage\"\n },\n noCryptoObj: {\n code: \"no_crypto_object\",\n desc: \"No crypto object detected. This is required for the following operation: \"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n unexpectedAccountType: {\n code: \"unexpected_account_type\",\n desc: \"Unexpected account type.\"\n },\n unexpectedCredentialType: {\n code: \"unexpected_credential_type\",\n desc: \"Unexpected credential type.\"\n },\n invalidAssertion: {\n code: \"invalid_assertion\",\n desc: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\"\n },\n invalidClientCredential: {\n code: \"invalid_client_credential\",\n desc: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\"\n },\n tokenRefreshRequired: {\n code: \"token_refresh_required\",\n desc: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\"\n },\n userTimeoutReached: {\n code: \"user_timeout_reached\",\n desc: \"User defined timeout for device code polling reached\",\n },\n tokenClaimsRequired: {\n code: \"token_claims_cnf_required_for_signedjwt\",\n desc: \"Cannot generate a POP jwt if the token_claims are not populated\"\n },\n noAuthorizationCodeFromServer: {\n code: \"authorization_code_missing_from_server_response\",\n desc: \"Server response does not contain an authorization code to proceed\"\n },\n noAzureRegionDetected: {\n code: \"no_azure_region_detected\",\n desc: \"No azure region was detected and no fallback was made available\"\n },\n accessTokenEntityNullError: {\n code: \"access_token_entity_null\",\n desc: \"Access token entity is null, please check logs and cache to ensure a valid access token is present.\"\n },\n bindingKeyNotRemovedError: {\n code: \"binding_key_not_removed\",\n desc: \"Could not remove the credential's binding key from storage.\"\n },\n logoutNotSupported: {\n code: \"end_session_endpoint_not_supported\",\n desc: \"Provided authority does not support logout.\"\n },\n keyIdMissing: {\n code: \"key_id_missing\",\n desc: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\"\n },\n noNetworkConnectivity: {\n code: \"no_network_connectivity\",\n desc: \"No network connectivity. Check your internet connection.\"\n },\n userCanceledError: {\n code: \"user_canceled\",\n desc: \"User canceled the flow.\"\n }\n};\n\n/**\n * Error thrown when there is an error in the client code running on the browser.\n */\nexport class ClientAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientAuthError\";\n\n Object.setPrototypeOf(this, ClientAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when client info object doesn't decode correctly.\n * @param caughtError\n */\n static createClientInfoDecodingError(caughtError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoDecodingError.code,\n `${ClientAuthErrorMessage.clientInfoDecodingError.desc} Failed with error: ${caughtError}`);\n }\n\n /**\n * Creates an error thrown if the client info is empty.\n * @param rawClientInfo\n */\n static createClientInfoEmptyError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoEmptyError.code,\n `${ClientAuthErrorMessage.clientInfoEmptyError.desc}`);\n }\n\n /**\n * Creates an error thrown when the id token extraction errors out.\n * @param err\n */\n static createTokenParsingError(caughtExtractionError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenParsingError.code,\n `${ClientAuthErrorMessage.tokenParsingError.desc} Failed with error: ${caughtExtractionError}`);\n }\n\n /**\n * Creates an error thrown when the id token string is null or empty.\n * @param invalidRawTokenString\n */\n static createTokenNullOrEmptyError(invalidRawTokenString: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nullOrEmptyToken.code,\n `${ClientAuthErrorMessage.nullOrEmptyToken.desc} Raw Token Value: ${invalidRawTokenString}`);\n }\n\n /**\n * Creates an error thrown when the endpoint discovery doesn't complete correctly.\n */\n static createEndpointDiscoveryIncompleteError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.endpointResolutionError.code,\n `${ClientAuthErrorMessage.endpointResolutionError.desc} Detail: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the fetch client throws\n */\n static createNetworkError(endpoint: string, errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.networkError.code,\n `${ClientAuthErrorMessage.networkError.desc} | Fetch client threw: ${errDetail} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data\n */\n static createUnableToGetOpenidConfigError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unableToGetOpenidConfigError.code,\n `${ClientAuthErrorMessage.unableToGetOpenidConfigError.desc} Attempted to retrieve endpoints from: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the hash cannot be deserialized.\n * @param hashParamObj\n */\n static createHashNotDeserializedError(hashParamObj: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.hashNotDeserialized.code,\n `${ClientAuthErrorMessage.hashNotDeserialized.desc} Given Object: ${hashParamObj}`);\n }\n\n /**\n * Creates an error thrown when the state cannot be parsed.\n * @param invalidState\n */\n static createInvalidStateError(invalidState: string, errorString?: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidStateError.code,\n `${ClientAuthErrorMessage.invalidStateError.desc} Invalid State: ${invalidState}, Root Err: ${errorString}`);\n }\n\n /**\n * Creates an error thrown when two states do not match.\n */\n static createStateMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateMismatchError.code,\n ClientAuthErrorMessage.stateMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when the state is not present\n * @param missingState\n */\n static createStateNotFoundError(missingState: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateNotFoundError.code,\n `${ClientAuthErrorMessage.stateNotFoundError.desc}: ${missingState}`);\n }\n\n /**\n * Creates an error thrown when the nonce does not match.\n */\n static createNonceMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceMismatchError.code,\n ClientAuthErrorMessage.nonceMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when max_age was provided in the request, but auth_time is not in the token claims\n * @param missingNonce\n */\n static createAuthTimeNotFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.authTimeNotFoundError.code,\n ClientAuthErrorMessage.authTimeNotFoundError.desc);\n }\n\n /**\n * Creates an error thrown when too much time has elapsed since the last end-user authentication\n */\n static createMaxAgeTranspiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.maxAgeTranspiredError.code,\n ClientAuthErrorMessage.maxAgeTranspiredError.desc);\n }\n\n /**\n * Creates an error thrown when the mnonce is not present\n * @param missingNonce\n */\n static createNonceNotFoundError(missingNonce: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceNotFoundError.code,\n `${ClientAuthErrorMessage.nonceNotFoundError.desc}: ${missingNonce}`);\n }\n\n /**\n * Throws error when multiple tokens are in cache.\n */\n static createMultipleMatchingTokensInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingTokens.code,\n `${ClientAuthErrorMessage.multipleMatchingTokens.desc}.`);\n }\n\n /**\n * Throws error when multiple accounts are in cache for the given params\n */\n static createMultipleMatchingAccountsInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAccounts.code,\n ClientAuthErrorMessage.multipleMatchingAccounts.desc);\n }\n\n /**\n * Throws error when multiple appMetada are in cache for the given clientId.\n */\n static createMultipleMatchingAppMetadataInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAppMetadata.code,\n ClientAuthErrorMessage.multipleMatchingAppMetadata.desc);\n }\n\n /**\n * Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.\n */\n static createTokenRequestCannotBeMadeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRequestCannotBeMade.code, ClientAuthErrorMessage.tokenRequestCannotBeMade.desc);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createAppendEmptyScopeToSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendEmptyScopeError.code, `${ClientAuthErrorMessage.appendEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createRemoveEmptyScopeFromSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.removeEmptyScopeError.code, `${ClientAuthErrorMessage.removeEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append null or empty ScopeSet.\n * @param appendError\n */\n static createAppendScopeSetError(appendError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendScopeSetError.code, `${ClientAuthErrorMessage.appendScopeSetError.desc} Detail Error: ${appendError}`);\n }\n\n /**\n * Throws error if ScopeSet is null or undefined.\n * @param givenScopeSet\n */\n static createEmptyInputScopeSetError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.emptyInputScopeSetError.code, `${ClientAuthErrorMessage.emptyInputScopeSetError.desc}`);\n }\n\n /**\n * Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow\n */\n static createDeviceCodeCancelledError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodePollingCancelled.code, `${ClientAuthErrorMessage.DeviceCodePollingCancelled.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeExpiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeExpired.code, `${ClientAuthErrorMessage.DeviceCodeExpired.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeUnknownError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeUnknownError.code, `${ClientAuthErrorMessage.DeviceCodeUnknownError.desc}`);\n }\n\n /**\n * Throws error when silent requests are made without an account object\n */\n static createNoAccountInSilentRequestError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.NoAccountInSilentRequest.code, `${ClientAuthErrorMessage.NoAccountInSilentRequest.desc}`);\n }\n\n /**\n * Throws error when cache record is null or undefined.\n */\n static createNullOrUndefinedCacheRecord(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheRecord.code, ClientAuthErrorMessage.invalidCacheRecord.desc);\n }\n\n /**\n * Throws error when provided environment is not part of the CloudDiscoveryMetadata object\n */\n static createInvalidCacheEnvironmentError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheEnvironment.code, ClientAuthErrorMessage.invalidCacheEnvironment.desc);\n }\n\n /**\n * Throws error when account is not found in cache.\n */\n static createNoAccountFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAccountFound.code, ClientAuthErrorMessage.noAccountFound.desc);\n }\n\n /**\n * Throws error if ICachePlugin not set on CacheManager.\n */\n static createCachePluginError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.CachePluginError.code, `${ClientAuthErrorMessage.CachePluginError.desc}`);\n }\n\n /**\n * Throws error if crypto object not found.\n * @param operationName\n */\n static createNoCryptoObjectError(operationName: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noCryptoObj.code, `${ClientAuthErrorMessage.noCryptoObj.desc}${operationName}`);\n }\n\n /**\n * Throws error if cache type is invalid.\n */\n static createInvalidCacheTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheType.code, `${ClientAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Throws error if unexpected account type.\n */\n static createUnexpectedAccountTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedAccountType.code, `${ClientAuthErrorMessage.unexpectedAccountType.desc}`);\n }\n\n /**\n * Throws error if unexpected credential type.\n */\n static createUnexpectedCredentialTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedCredentialType.code, `${ClientAuthErrorMessage.unexpectedCredentialType.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidAssertionError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidAssertion.code, `${ClientAuthErrorMessage.invalidAssertion.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidCredentialError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidClientCredential.code, `${ClientAuthErrorMessage.invalidClientCredential.desc}`);\n }\n\n /**\n * Throws error if token cannot be retrieved from cache due to refresh being required.\n */\n static createRefreshRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRefreshRequired.code, ClientAuthErrorMessage.tokenRefreshRequired.desc);\n }\n\n /**\n * Throws error if the user defined timeout is reached.\n */\n static createUserTimeoutReachedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.userTimeoutReached.code, ClientAuthErrorMessage.userTimeoutReached.desc);\n }\n\n /*\n * Throws error if token claims are not populated for a signed jwt generation\n */\n static createTokenClaimsRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenClaimsRequired.code, ClientAuthErrorMessage.tokenClaimsRequired.desc);\n }\n\n /**\n * Throws error when the authorization code is missing from the server response\n */\n static createNoAuthCodeInServerResponseError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAuthorizationCodeFromServer.code, ClientAuthErrorMessage.noAuthorizationCodeFromServer.desc);\n }\n\n static createBindingKeyNotRemovedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc);\n }\n\n /**\n * Thrown when logout is attempted for an authority that doesnt have an end_session_endpoint\n */\n static createLogoutNotSupportedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.logoutNotSupported.code, ClientAuthErrorMessage.logoutNotSupported.desc);\n }\n\n /**\n * Create an error when kid attribute is missing from a PoP token's cache record\n */\n static createKeyIdMissingError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.keyIdMissing.code, ClientAuthErrorMessage.keyIdMissing.desc);\n }\n\n /**\n * Create an error when the client does not have network connectivity\n */\n static createNoNetworkConnectivityError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noNetworkConnectivity.code, ClientAuthErrorMessage.noNetworkConnectivity.desc);\n }\n\n /**\n * Create an error when the user cancels the flow\n */\n static createUserCanceledError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.userCanceledError.code, ClientAuthErrorMessage.userCanceledError.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"../utils/Constants\";\nimport { AuthError } from \"./AuthError\";\n\n/**\n * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required\n */\nexport const InteractionRequiredServerErrorMessage = [\n \"interaction_required\",\n \"consent_required\",\n \"login_required\"\n];\n\nexport const InteractionRequiredAuthSubErrorMessage = [\n \"message_only\",\n \"additional_action\",\n \"basic_action\",\n \"user_password_expired\",\n \"consent_required\"\n];\n\n/**\n * Interaction required errors defined by the SDK\n */\nexport const InteractionRequiredAuthErrorMessage = {\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No refresh token found in the cache. Please sign-in.\"\n },\n native_account_unavailable: {\n code: \"native_account_unavailable\",\n desc: \"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.\"\n }\n};\n\n/**\n * Error thrown when user interaction is required.\n */\nexport class InteractionRequiredAuthError extends AuthError {\n /**\n * The time the error occured at\n */\n timestamp: string;\n\n /**\n * TraceId associated with the error\n */\n traceId: string;\n\n /**\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/claims-challenge.md\n * \n * A string with extra claims needed for the token request to succeed\n * web site: redirect the user to the authorization page and set the extra claims\n * web api: include the claims in the WWW-Authenticate header that are sent back to the client so that it knows to request a token with the extra claims\n * desktop application or browser context: include the claims when acquiring the token interactively\n * app to app context (client_credentials): include the claims in the AcquireTokenByClientCredential request\n */\n claims: string;\n\n constructor(errorCode?: string, errorMessage?: string, subError?: string, timestamp?: string, traceId?: string, correlationId?: string, claims?: string) {\n super(errorCode, errorMessage, subError);\n Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);\n \n this.timestamp = timestamp || Constants.EMPTY_STRING;\n this.traceId = traceId || Constants.EMPTY_STRING;\n this.correlationId = correlationId || Constants.EMPTY_STRING;\n this.claims = claims || Constants.EMPTY_STRING;\n this.name = \"InteractionRequiredAuthError\";\n }\n\n /**\n * Helper function used to determine if an error thrown by the server requires interaction to resolve\n * @param errorCode \n * @param errorString \n * @param subError \n */\n static isInteractionRequiredError(errorCode?: string, errorString?: string, subError?: string): boolean {\n const isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;\n const isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;\n const isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some((irErrorCode) => {\n return errorString.indexOf(irErrorCode) > -1;\n });\n\n return isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError;\n }\n\n /**\n * Creates an error thrown when the authorization code required for a token request is null or empty.\n */\n static createNoTokensFoundError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.noTokensFoundError.code, InteractionRequiredAuthErrorMessage.noTokensFoundError.desc);\n }\n\n /**\n * Creates an error thrown when the native broker returns ACCOUNT_UNAVAILABLE status, indicating that the account was removed and interactive sign-in is required\n * @returns \n */\n static createNativeAccountUnavailableError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.native_account_unavailable.code, InteractionRequiredAuthErrorMessage.native_account_unavailable.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { LoggerOptions } from \"../config/ClientConfiguration\";\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * Options for logger messages.\n */\nexport type LoggerMessageOptions = {\n logLevel: LogLevel,\n containsPii?: boolean,\n context?: string,\n correlationId?: string\n};\n\n/**\n * Log message level.\n */\nexport enum LogLevel {\n Error,\n Warning,\n Info,\n Verbose,\n Trace\n}\n\n/**\n * Callback to send the messages to.\n */\nexport interface ILoggerCallback {\n (level: LogLevel, message: string, containsPii: boolean): void;\n}\n\n/**\n * Class which facilitates logging of messages to a specific place.\n */\nexport class Logger {\n\n // Correlation ID for request, usually set by user.\n private correlationId: string;\n\n // Current log level, defaults to info.\n private level: LogLevel = LogLevel.Info;\n\n // Boolean describing whether PII logging is allowed.\n private piiLoggingEnabled: boolean;\n\n // Callback to send messages to.\n private localCallback: ILoggerCallback;\n\n // Package name implementing this logger\n private packageName: string;\n\n // Package version implementing this logger\n private packageVersion: string;\n\n constructor(loggerOptions: LoggerOptions, packageName?: string, packageVersion?: string) {\n const defaultLoggerCallback = () => {\n return;\n };\n const setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();\n this.localCallback = setLoggerOptions.loggerCallback || defaultLoggerCallback;\n this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;\n this.level = typeof(setLoggerOptions.logLevel) === \"number\" ? setLoggerOptions.logLevel : LogLevel.Info;\n this.correlationId = setLoggerOptions.correlationId || Constants.EMPTY_STRING;\n this.packageName = packageName || Constants.EMPTY_STRING;\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\n }\n \n private static createDefaultLoggerOptions(): LoggerOptions {\n return {\n loggerCallback: () => {\n // allow users to not set loggerCallback\n },\n piiLoggingEnabled: false,\n logLevel: LogLevel.Info\n };\n }\n\n /**\n * Create new Logger with existing configurations.\n */\n public clone(packageName: string, packageVersion: string, correlationId?: string): Logger {\n return new Logger({loggerCallback: this.localCallback, piiLoggingEnabled: this.piiLoggingEnabled, logLevel: this.level, correlationId: correlationId || this.correlationId}, packageName, packageVersion);\n }\n\n /**\n * Log message with required options.\n */\n private logMessage(logMessage: string, options: LoggerMessageOptions): void {\n if ((options.logLevel > this.level) || (!this.piiLoggingEnabled && options.containsPii)) {\n return;\n }\n const timestamp = new Date().toUTCString();\n\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\n let logHeader: string;\n if (!StringUtils.isEmpty(options.correlationId)) {\n logHeader = `[${timestamp}] : [${options.correlationId}]`;\n } else if (!StringUtils.isEmpty(this.correlationId)) {\n logHeader = `[${timestamp}] : [${this.correlationId}]`;\n } else {\n logHeader = `[${timestamp}]`;\n }\n\n const log = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\n this.executeCallback(options.logLevel, log, options.containsPii || false);\n }\n\n /**\n * Execute callback with message.\n */\n executeCallback(level: LogLevel, message: string, containsPii: boolean): void {\n if (this.localCallback) {\n this.localCallback(level, message, containsPii);\n }\n }\n\n /**\n * Logs error messages.\n */\n error(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Error,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs error messages with PII.\n */\n errorPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Error,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs warning messages.\n */\n warning(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Warning,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs warning messages with PII.\n */\n warningPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Warning,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs info messages.\n */\n info(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Info,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs info messages with PII.\n */\n infoPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Info,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs verbose messages.\n */\n verbose(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Verbose,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs verbose messages with PII.\n */\n verbosePii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Verbose,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs trace messages.\n */\n trace(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Trace,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs trace messages with PII.\n */\n tracePii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Trace,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Returns whether PII Logging is enabled or not.\n */\n isPiiLoggingEnabled(): boolean {\n return this.piiLoggingEnabled || false;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const Constants = {\n LIBRARY_NAME: \"MSAL.JS\",\n SKU: \"msal.js.common\",\n // Prefix for all library cache entries\n CACHE_PREFIX: \"msal\",\n // default authority\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\n DEFAULT_COMMON_TENANT: \"common\",\n // ADFS String\n ADFS: \"adfs\",\n DSTS: \"dstsv2\",\n // Default AAD Instance Discovery Endpoint\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\n // Resource delimiter - used for certain cache entries\n RESOURCE_DELIM: \"|\",\n // Placeholder for non-existent account ids/objects\n NO_ACCOUNT: \"NO_ACCOUNT\",\n // Claims\n CLAIMS: \"claims\",\n // Consumer UTID\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\n // Default scopes\n OPENID_SCOPE: \"openid\",\n PROFILE_SCOPE: \"profile\",\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\n EMAIL_SCOPE: \"email\",\n // Default response type for authorization code flow\n CODE_RESPONSE_TYPE: \"code\",\n CODE_GRANT_TYPE: \"authorization_code\",\n RT_GRANT_TYPE: \"refresh_token\",\n FRAGMENT_RESPONSE_MODE: \"fragment\",\n S256_CODE_CHALLENGE_METHOD: \"S256\",\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\n AUTHORIZATION_PENDING: \"authorization_pending\",\n NOT_DEFINED: \"not_defined\",\n EMPTY_STRING: \"\",\n NOT_APPLICABLE: \"N/A\",\n FORWARD_SLASH: \"/\",\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\n IMDS_VERSION: \"2020-06-01\",\n IMDS_TIMEOUT: 2000,\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\n REGIONAL_AUTH_NON_MSI_QUERY_STRING: \"allowestsrnonmsi=true\",\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"],\n TOKEN_RESPONSE_TYPE: \"token\",\n ID_TOKEN_RESPONSE_TYPE: \"id_token\",\n SHR_NONCE_VALIDITY: 240,\n INVALID_INSTANCE: \"invalid_instance\",\n};\n\nexport const OIDC_DEFAULT_SCOPES = [\n Constants.OPENID_SCOPE,\n Constants.PROFILE_SCOPE,\n Constants.OFFLINE_ACCESS_SCOPE\n];\n\nexport const OIDC_SCOPES = [\n ...OIDC_DEFAULT_SCOPES,\n Constants.EMAIL_SCOPE\n];\n\n/**\n * Request header names\n */\nexport enum HeaderNames {\n CONTENT_TYPE = \"Content-Type\",\n RETRY_AFTER = \"Retry-After\",\n CCS_HEADER = \"X-AnchorMailbox\",\n WWWAuthenticate = \"WWW-Authenticate\",\n AuthenticationInfo = \"Authentication-Info\",\n X_MS_REQUEST_ID = \"x-ms-request-id\",\n X_MS_HTTP_VERSION= \"x-ms-httpver\"\n}\n\n/**\n * Persistent cache keys MSAL which stay while user is logged in.\n */\nexport enum PersistentCacheKeys {\n ID_TOKEN = \"idtoken\",\n CLIENT_INFO = \"client.info\",\n ADAL_ID_TOKEN = \"adal.idtoken\",\n ERROR = \"error\",\n ERROR_DESC = \"error.description\",\n ACTIVE_ACCOUNT = \"active-account\", // Legacy active-account cache key, use new key instead\n ACTIVE_ACCOUNT_FILTERS = \"active-account-filters\" // new cache entry for active_account for a more robust version for browser\n}\n\n/**\n * String constants related to AAD Authority\n */\nexport enum AADAuthorityConstants {\n COMMON = \"common\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\"\n}\n\n/**\n * Keys in the hashParams sent by AAD Server\n */\nexport enum AADServerParamKeys {\n CLIENT_ID = \"client_id\",\n REDIRECT_URI = \"redirect_uri\",\n RESPONSE_TYPE = \"response_type\",\n RESPONSE_MODE = \"response_mode\",\n GRANT_TYPE = \"grant_type\",\n CLAIMS = \"claims\",\n SCOPE = \"scope\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ACCESS_TOKEN = \"access_token\",\n ID_TOKEN = \"id_token\",\n REFRESH_TOKEN = \"refresh_token\",\n EXPIRES_IN = \"expires_in\",\n STATE = \"state\",\n NONCE = \"nonce\",\n PROMPT = \"prompt\",\n SESSION_STATE = \"session_state\",\n CLIENT_INFO = \"client_info\",\n CODE = \"code\",\n CODE_CHALLENGE = \"code_challenge\",\n CODE_CHALLENGE_METHOD = \"code_challenge_method\",\n CODE_VERIFIER = \"code_verifier\",\n CLIENT_REQUEST_ID = \"client-request-id\",\n X_CLIENT_SKU = \"x-client-SKU\",\n X_CLIENT_VER = \"x-client-VER\",\n X_CLIENT_OS = \"x-client-OS\",\n X_CLIENT_CPU = \"x-client-CPU\",\n X_CLIENT_CURR_TELEM = \"x-client-current-telemetry\",\n X_CLIENT_LAST_TELEM = \"x-client-last-telemetry\",\n X_MS_LIB_CAPABILITY = \"x-ms-lib-capability\",\n X_APP_NAME = \"x-app-name\",\n X_APP_VER = \"x-app-ver\",\n POST_LOGOUT_URI = \"post_logout_redirect_uri\",\n ID_TOKEN_HINT = \"id_token_hint\",\n DEVICE_CODE = \"device_code\",\n CLIENT_SECRET = \"client_secret\",\n CLIENT_ASSERTION = \"client_assertion\",\n CLIENT_ASSERTION_TYPE = \"client_assertion_type\",\n TOKEN_TYPE = \"token_type\",\n REQ_CNF = \"req_cnf\",\n OBO_ASSERTION = \"assertion\",\n REQUESTED_TOKEN_USE = \"requested_token_use\",\n ON_BEHALF_OF = \"on_behalf_of\",\n FOCI = \"foci\",\n CCS_HEADER = \"X-AnchorMailbox\",\n RETURN_SPA_CODE = \"return_spa_code\",\n NATIVE_BROKER = \"nativebroker\",\n LOGOUT_HINT = \"logout_hint\"\n}\n\n/**\n * Claims request keys\n */\nexport enum ClaimsRequestKeys {\n ACCESS_TOKEN = \"access_token\",\n XMS_CC = \"xms_cc\"\n}\n\n/**\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\n */\nexport const PromptValue = {\n LOGIN: \"login\",\n SELECT_ACCOUNT: \"select_account\",\n CONSENT: \"consent\",\n NONE: \"none\",\n CREATE: \"create\",\n NO_SESSION: \"no_session\"\n};\n\n/**\n * SSO Types - generated to populate hints\n */\nexport enum SSOTypes {\n ACCOUNT = \"account\",\n SID = \"sid\",\n LOGIN_HINT = \"login_hint\",\n ID_TOKEN = \"id_token\",\n DOMAIN_HINT = \"domain_hint\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\",\n ACCOUNT_ID = \"accountIdentifier\",\n HOMEACCOUNT_ID = \"homeAccountIdentifier\"\n}\n\n/**\n * Disallowed extra query parameters.\n */\nexport const BlacklistedEQParams = [\n SSOTypes.SID,\n SSOTypes.LOGIN_HINT\n];\n\n/**\n * allowed values for codeVerifier\n */\nexport const CodeChallengeMethodValues = {\n PLAIN: \"plain\",\n S256: \"S256\"\n};\n\n/**\n * The method used to encode the code verifier for the code challenge parameter. can be one\n * of plain or s256. if excluded, code challenge is assumed to be plaintext. for more\n * information, see the pkce rcf: https://tools.ietf.org/html/rfc7636\n */\nexport const CodeChallengeMethodValuesArray: string[] = [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n];\n\n/**\n * allowed values for response_mode\n */\nexport enum ResponseMode {\n QUERY = \"query\",\n FRAGMENT = \"fragment\",\n FORM_POST = \"form_post\"\n}\n\n/**\n * allowed grant_type\n */\nexport enum GrantType {\n IMPLICIT_GRANT = \"implicit\",\n AUTHORIZATION_CODE_GRANT = \"authorization_code\",\n CLIENT_CREDENTIALS_GRANT = \"client_credentials\",\n RESOURCE_OWNER_PASSWORD_GRANT = \"password\",\n REFRESH_TOKEN_GRANT = \"refresh_token\",\n DEVICE_CODE_GRANT = \"device_code\",\n JWT_BEARER = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n}\n\n/**\n * Account types in Cache\n */\nexport enum CacheAccountType {\n MSSTS_ACCOUNT_TYPE = \"MSSTS\",\n ADFS_ACCOUNT_TYPE = \"ADFS\",\n MSAV1_ACCOUNT_TYPE = \"MSA\",\n GENERIC_ACCOUNT_TYPE = \"Generic\" // NTLM, Kerberos, FBA, Basic etc\n}\n\n/**\n * Separators used in cache\n */\nexport enum Separators {\n CACHE_KEY_SEPARATOR = \"-\",\n CLIENT_INFO_SEPARATOR = \".\"\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CredentialType {\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n ACCESS_TOKEN_WITH_AUTH_SCHEME = \"AccessToken_With_AuthScheme\",\n REFRESH_TOKEN = \"RefreshToken\",\n}\n\n/**\n * Combine all cache types\n */\nexport enum CacheType {\n ADFS = 1001,\n MSA = 1002,\n MSSTS = 1003,\n GENERIC = 1004,\n ACCESS_TOKEN = 2001,\n REFRESH_TOKEN = 2002,\n ID_TOKEN = 2003,\n APP_METADATA = 3001,\n UNDEFINED = 9999\n}\n\n/**\n * More Cache related constants\n */\nexport const APP_METADATA = \"appmetadata\";\nexport const CLIENT_INFO = \"client_info\";\nexport const THE_FAMILY_ID = \"1\";\n\nexport const AUTHORITY_METADATA_CONSTANTS = {\n CACHE_KEY: \"authority-metadata\",\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\n};\n\nexport enum AuthorityMetadataSource {\n CONFIG = \"config\",\n CACHE = \"cache\",\n NETWORK = \"network\",\n HARDCODED_VALUES= \"hardcoded_values\",\n}\n\nexport const SERVER_TELEM_CONSTANTS = {\n SCHEMA_VERSION: 5,\n MAX_CUR_HEADER_BYTES: 80, // ESTS limit is 100B, set to 80 to provide a 20B buffer\n MAX_LAST_HEADER_BYTES: 330, // ESTS limit is 350B, set to 330 to provide a 20B buffer,\n MAX_CACHED_ERRORS: 50, // Limit the number of errors that can be stored to prevent uncontrolled size gains\n CACHE_KEY: \"server-telemetry\",\n CATEGORY_SEPARATOR: \"|\",\n VALUE_SEPARATOR: \",\",\n OVERFLOW_TRUE: \"1\",\n OVERFLOW_FALSE: \"0\",\n UNKNOWN_ERROR: \"unknown_error\"\n};\n\n/**\n * Type of the authentication request\n */\nexport enum AuthenticationScheme {\n BEARER = \"Bearer\",\n POP = \"pop\",\n SSH = \"ssh-cert\"\n}\n\n/**\n * Constants related to throttling\n */\nexport const ThrottlingConstants = {\n // Default time to throttle RequestThumbprint in seconds\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\n // Default maximum time to throttle in seconds, overrides what the server sends back\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\n // Prefix for storing throttling entries\n THROTTLING_PREFIX: \"throttling\",\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\n};\n\nexport const Errors = {\n INVALID_GRANT_ERROR: \"invalid_grant\",\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\n};\n\n/**\n * Password grant parameters\n */\nexport enum PasswordGrantConstants {\n username = \"username\",\n password = \"password\"\n}\n\n/**\n * Response codes\n */\nexport enum ResponseCodes {\n httpSuccess = 200,\n httpBadRequest = 400\n}\n\n/**\n * Region Discovery Sources\n */\nexport enum RegionDiscoverySources {\n FAILED_AUTO_DETECTION = \"1\",\n INTERNAL_CACHE = \"2\",\n ENVIRONMENT_VARIABLE = \"3\",\n IMDS = \"4\",\n}\n\n/**\n * Region Discovery Outcomes\n */\nexport enum RegionDiscoveryOutcomes {\n CONFIGURED_MATCHES_DETECTED = \"1\",\n CONFIGURED_NO_AUTO_DETECTION = \"2\",\n CONFIGURED_NOT_DETECTED = \"3\",\n AUTO_DETECTION_REQUESTED_SUCCESSFUL = \"4\",\n AUTO_DETECTION_REQUESTED_FAILED = \"5\"\n}\n\nexport enum CacheOutcome {\n NO_CACHE_HIT = \"0\",\n FORCE_REFRESH = \"1\",\n NO_CACHED_ACCESS_TOKEN = \"2\",\n CACHED_ACCESS_TOKEN_EXPIRED = \"3\",\n REFRESH_CACHED_ACCESS_TOKEN = \"4\"\n}\n\nexport enum JsonTypes {\n Jwt = \"JWT\",\n Jwk = \"JWK\",\n Pop = \"pop\"\n}\n\nexport const ONE_DAY_IN_MS = 86400000;\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { DecodedAuthToken } from \"../account/DecodedAuthToken\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * @hidden\n */\nexport class StringUtils {\n\n /**\n * decode a JWT\n *\n * @param authToken\n */\n static decodeAuthToken(authToken: string): DecodedAuthToken {\n if (StringUtils.isEmpty(authToken)) {\n throw ClientAuthError.createTokenNullOrEmptyError(authToken);\n }\n const tokenPartsRegex = /^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/;\n const matches = tokenPartsRegex.exec(authToken);\n if (!matches || matches.length < 4) {\n throw ClientAuthError.createTokenParsingError(`Given token is malformed: ${JSON.stringify(authToken)}`);\n }\n const crackedToken: DecodedAuthToken = {\n header: matches[1],\n JWSPayload: matches[2],\n JWSSig: matches[3]\n };\n return crackedToken;\n }\n\n /**\n * Check if a string is empty.\n *\n * @param str\n */\n static isEmpty(str?: string): boolean {\n return (typeof str === \"undefined\" || !str || 0 === str.length);\n }\n\n /**\n * Check if stringified object is empty\n * @param strObj \n */\n static isEmptyObj(strObj?: string): boolean {\n if (strObj && !StringUtils.isEmpty(strObj)) {\n try {\n const obj = JSON.parse(strObj);\n return Object.keys(obj).length === 0;\n } catch (e) {}\n }\n return true;\n }\n\n static startsWith(str: string, search: string): boolean {\n return str.indexOf(search) === 0;\n }\n\n static endsWith(str: string, search: string): boolean {\n return (str.length >= search.length) && (str.lastIndexOf(search) === (str.length - search.length));\n }\n\n /**\n * Parses string into an object.\n *\n * @param query\n */\n static queryStringToObject(query: string): T {\n const obj: {} = {};\n const params = query.split(\"&\");\n const decode = (s: string) => decodeURIComponent(s.replace(/\\+/g, \" \"));\n params.forEach((pair) => {\n if (pair.trim()) {\n const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character\n if (key && value) {\n obj[decode(key)] = decode(value);\n }\n }\n });\n return obj as T;\n }\n\n /**\n * Trims entries in an array.\n *\n * @param arr\n */\n static trimArrayEntries(arr: Array): Array {\n return arr.map(entry => entry.trim());\n }\n\n /**\n * Removes empty strings from array\n * @param arr\n */\n static removeEmptyStringsFromArray(arr: Array): Array {\n return arr.filter(entry => {\n return !StringUtils.isEmpty(entry);\n });\n }\n\n /**\n * Attempts to parse a string into JSON\n * @param str\n */\n static jsonParseHelper(str: string): T | null {\n try {\n return JSON.parse(str) as T;\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Tests if a given string matches a given pattern, with support for wildcards and queries.\n * @param pattern Wildcard pattern to string match. Supports \"*\" for wildcards and \"?\" for queries\n * @param input String to match against\n */\n static matchPattern(pattern: string, input: string): boolean {\n /**\n * Wildcard support: https://stackoverflow.com/a/3117248/4888559\n * Queries: replaces \"?\" in string with escaped \"\\?\" for regex test\n */\n const regex: RegExp = new RegExp(pattern.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\*/g, \"[^ ]*\").replace(/\\?/g, \"\\\\\\?\")); // eslint-disable-line security/detect-non-literal-regexp\n\n return regex.test(input);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, AccountInfo, Logger, PerformanceCallbackFunction } from \"@azure/msal-common\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { WrapperSKU } from \"../utils/BrowserConstants\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { EndSessionPopupRequest } from \"../request/EndSessionPopupRequest\";\nimport { ITokenCache } from \"../cache/ITokenCache\";\nimport { AuthorizationCodeRequest } from \"../request/AuthorizationCodeRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\n\nexport interface IPublicClientApplication {\n initialize(): Promise;\n acquireTokenPopup(request: PopupRequest): Promise;\n acquireTokenRedirect(request: RedirectRequest): Promise;\n acquireTokenSilent(silentRequest: SilentRequest): Promise;\n acquireTokenByCode(request: AuthorizationCodeRequest): Promise;\n addEventCallback(callback: Function): string | null;\n removeEventCallback(callbackId: string): void;\n addPerformanceCallback(callback: PerformanceCallbackFunction): string;\n removePerformanceCallback(callbackId: string): boolean;\n enableAccountStorageEvents(): void;\n disableAccountStorageEvents(): void;\n getAccountByHomeId(homeAccountId: string): AccountInfo | null;\n getAccountByLocalId(localId: string): AccountInfo | null;\n getAccountByUsername(userName: string): AccountInfo | null;\n getAllAccounts(): AccountInfo[];\n handleRedirectPromise(hash?: string): Promise;\n loginPopup(request?: PopupRequest): Promise;\n loginRedirect(request?: RedirectRequest): Promise;\n logout(logoutRequest?: EndSessionRequest): Promise;\n logoutRedirect(logoutRequest?: EndSessionRequest): Promise;\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise;\n ssoSilent(request: SsoSilentRequest): Promise;\n getTokenCache(): ITokenCache;\n getLogger(): Logger;\n setLogger(logger: Logger): void;\n setActiveAccount(account: AccountInfo | null): void;\n getActiveAccount(): AccountInfo | null;\n initializeWrapperLibrary(sku: WrapperSKU, version: string): void;\n setNavigationClient(navigationClient: INavigationClient): void;\n getConfiguration(): BrowserConfiguration;\n}\n\nexport const stubbedPublicClientApplication: IPublicClientApplication = {\n initialize: () => {\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\n },\n acquireTokenPopup: () => {\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\n },\n acquireTokenRedirect: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n acquireTokenSilent: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n acquireTokenByCode: () => {\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\n },\n getAllAccounts: () => {\n return [];\t\n },\t\n getAccountByHomeId: () => {\n return null;\n },\n getAccountByUsername: () => {\t\n return null;\t\n },\t\n getAccountByLocalId: () => {\n return null;\n },\n handleRedirectPromise: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n loginPopup: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n loginRedirect: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n logout: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n logoutRedirect: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n logoutPopup: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n ssoSilent: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n addEventCallback: () => {\n return null;\n },\n removeEventCallback: () => {\n return;\n },\n addPerformanceCallback: () => {\n return \"\";\n },\n removePerformanceCallback: () => {\n return false;\n },\n enableAccountStorageEvents: () => {\n return;\n },\n disableAccountStorageEvents: () => {\n return;\n },\n getTokenCache: () => {\n throw BrowserConfigurationAuthError.createStubPcaInstanceCalledError();\n },\n getLogger: () => {\n throw BrowserConfigurationAuthError.createStubPcaInstanceCalledError();\n },\n setLogger: () => {\n return;\n },\n setActiveAccount: () => {\n return;\n },\n getActiveAccount: () => {\n return null;\n },\n initializeWrapperLibrary: () => {\n return;\n },\n setNavigationClient: () => {\n return;\n },\n getConfiguration: () => {\n throw BrowserConfigurationAuthError.createStubPcaInstanceCalledError();\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, AuthError, AccountInfo } from \"@azure/msal-common\";\nimport { EventType } from \"./EventType\";\nimport { InteractionStatus, InteractionType } from \"../utils/BrowserConstants\";\nimport { PopupRequest, RedirectRequest, SilentRequest, SsoSilentRequest, EndSessionRequest } from \"..\";\n\nexport type EventMessage = {\n eventType: EventType;\n interactionType: InteractionType | null;\n payload: EventPayload;\n error: EventError;\n timestamp: number;\n};\n\nexport type PopupEvent = {\n popupWindow: Window;\n};\n\nexport type EventPayload = AccountInfo | PopupRequest | RedirectRequest | SilentRequest | SsoSilentRequest | EndSessionRequest | AuthenticationResult | PopupEvent | null;\n\nexport type EventError = AuthError | Error | null;\n\nexport type EventCallbackFunction = (message: EventMessage) => void;\n\nexport class EventMessageUtils {\n\n /**\n * Gets interaction status from event message\n * @param message\n * @param currentStatus\n */\n static getInteractionStatusFromEvent(message: EventMessage, currentStatus?: InteractionStatus): InteractionStatus|null {\n switch (message.eventType) {\n case EventType.LOGIN_START:\n return InteractionStatus.Login;\n case EventType.SSO_SILENT_START:\n return InteractionStatus.SsoSilent;\n case EventType.ACQUIRE_TOKEN_START:\n if (message.interactionType === InteractionType.Redirect || message.interactionType === InteractionType.Popup) {\n return InteractionStatus.AcquireToken;\n }\n break;\n case EventType.HANDLE_REDIRECT_START:\n return InteractionStatus.HandleRedirect;\n case EventType.LOGOUT_START:\n return InteractionStatus.Logout;\n case EventType.SSO_SILENT_SUCCESS:\n case EventType.SSO_SILENT_FAILURE:\n if (currentStatus && currentStatus !== InteractionStatus.SsoSilent) {\n // Prevent this event from clearing any status other than ssoSilent\n break;\n }\n return InteractionStatus.None;\n case EventType.LOGOUT_END:\n if (currentStatus && currentStatus !== InteractionStatus.Logout) {\n // Prevent this event from clearing any status other than logout\n break;\n }\n return InteractionStatus.None;\n case EventType.HANDLE_REDIRECT_END:\n if (currentStatus && currentStatus !== InteractionStatus.HandleRedirect) {\n // Prevent this event from clearing any status other than handleRedirect\n break;\n }\n return InteractionStatus.None;\n case EventType.LOGIN_SUCCESS:\n case EventType.LOGIN_FAILURE:\n case EventType.ACQUIRE_TOKEN_SUCCESS:\n case EventType.ACQUIRE_TOKEN_FAILURE:\n if (message.interactionType === InteractionType.Redirect || message.interactionType === InteractionType.Popup) {\n if (currentStatus && currentStatus !== InteractionStatus.Login && currentStatus !== InteractionStatus.AcquireToken) {\n // Prevent this event from clearing any status other than login or acquireToken\n break;\n }\n return InteractionStatus.None;\n }\n break;\n default:\n break;\n }\n return null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport * as React from \"react\";\nimport { IPublicClientApplication, stubbedPublicClientApplication, Logger, InteractionStatus, AccountInfo } from \"@azure/msal-browser\";\n\nexport interface IMsalContext {\n instance: IPublicClientApplication;\n inProgress: InteractionStatus;\n accounts: AccountInfo[];\n logger: Logger;\n}\n\n/*\n * Stubbed context implementation\n * Only used when there is no provider, which is an unsupported scenario\n */\nconst defaultMsalContext: IMsalContext = {\n instance: stubbedPublicClientApplication,\n inProgress: InteractionStatus.None,\n accounts: [],\n logger: new Logger({})\n};\n\nexport const MsalContext = React.createContext(\n defaultMsalContext\n);\nexport const MsalConsumer = MsalContext.Consumer;\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccountIdentifiers } from \"../types/AccountIdentifiers\";\nimport { AccountInfo } from \"@azure/msal-browser\";\n\ntype FaaCFunction = (args: T) => React.ReactNode;\n\nexport function getChildrenOrFunction(\n children: React.ReactNode | FaaCFunction,\n args: T\n): React.ReactNode {\n if (typeof children === \"function\") {\n return children(args);\n }\n return children;\n}\n\n/*\n * Utility types\n * Reference: https://github.com/piotrwitek/utility-types\n */\ntype SetDifference = A extends B ? never : A;\ntype SetComplement = SetDifference;\nexport type Subtract = Pick>;\n\n/**\n * Helper function to determine whether 2 arrays are equal\n * Used to avoid unnecessary state updates\n * @param arrayA \n * @param arrayB \n */\nexport function accountArraysAreEqual(arrayA: Array, arrayB: Array): boolean {\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n\n const comparisonArray = [...arrayB];\n\n return arrayA.every((elementA) => {\n const elementB = comparisonArray.shift();\n if (!elementA || !elementB) {\n return false;\n }\n\n return (elementA.homeAccountId === elementB.homeAccountId) && \n (elementA.localAccountId === elementB.localAccountId) &&\n (elementA.username === elementB.username);\n });\n}\n\nexport function getAccountByIdentifiers(allAccounts: AccountInfo[], accountIdentifiers: AccountIdentifiers): AccountInfo | null {\n if (allAccounts.length > 0 && (accountIdentifiers.homeAccountId || accountIdentifiers.localAccountId || accountIdentifiers.username)) {\n const matchedAccounts = allAccounts.filter(accountObj => {\n if (accountIdentifiers.username && accountIdentifiers.username.toLowerCase() !== accountObj.username.toLowerCase()) {\n return false;\n }\n if (accountIdentifiers.homeAccountId && accountIdentifiers.homeAccountId.toLowerCase() !== accountObj.homeAccountId.toLowerCase()) {\n return false;\n }\n if (accountIdentifiers.localAccountId && accountIdentifiers.localAccountId.toLowerCase() !== accountObj.localAccountId.toLowerCase()) {\n return false;\n }\n\n return true;\n });\n\n return matchedAccounts[0] || null;\n } else {\n return null;\n }\n}\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-react\";\nexport const version = \"1.5.5\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport React, { useEffect, useReducer, PropsWithChildren, useMemo} from \"react\";\nimport {\n IPublicClientApplication,\n EventMessage,\n EventMessageUtils,\n InteractionStatus,\n Logger,\n WrapperSKU,\n AccountInfo\n} from \"@azure/msal-browser\";\nimport { MsalContext, IMsalContext } from \"./MsalContext\";\nimport { accountArraysAreEqual } from \"./utils/utilities\";\nimport { name as SKU, version } from \"./packageMetadata\";\n\nexport type MsalProviderProps = PropsWithChildren<{\n instance: IPublicClientApplication;\n}>;\n\ntype MsalState = {\n inProgress: InteractionStatus;\n accounts: AccountInfo[];\n};\n\nenum MsalProviderActionType {\n UNBLOCK_INPROGRESS = \"UNBLOCK_INPROGRESS\",\n EVENT = \"EVENT\"\n}\n\ntype MsalProviderReducerAction = {\n type: MsalProviderActionType,\n payload: {\n logger: Logger;\n instance: IPublicClientApplication;\n message?: EventMessage;\n };\n};\n\n/**\n * Returns the next inProgress and accounts state based on event message\n * @param previousState \n * @param action \n */\nconst reducer = (previousState: MsalState, action: MsalProviderReducerAction): MsalState => {\n const { type, payload } = action;\n let newInProgress = previousState.inProgress;\n\n switch (type) {\n case MsalProviderActionType.UNBLOCK_INPROGRESS:\n if (previousState.inProgress === InteractionStatus.Startup){\n newInProgress = InteractionStatus.None;\n payload.logger.info(\"MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'\");\n }\n break;\n case MsalProviderActionType.EVENT:\n const message = payload.message as EventMessage;\n const status = EventMessageUtils.getInteractionStatusFromEvent(message, previousState.inProgress);\n if (status) {\n payload.logger.info(`MsalProvider - ${message.eventType} results in setting inProgress from ${previousState.inProgress} to ${status}`);\n newInProgress = status;\n }\n break;\n default:\n throw new Error(`Unknown action type: ${type}`);\n }\n \n const currentAccounts = payload.instance.getAllAccounts();\n if (newInProgress !== previousState.inProgress && \n !accountArraysAreEqual(currentAccounts, previousState.accounts)) {\n // Both inProgress and accounts changed\n return {\n ...previousState,\n inProgress: newInProgress,\n accounts: currentAccounts\n };\n } else if (newInProgress !== previousState.inProgress) {\n // Only only inProgress changed\n return {\n ...previousState,\n inProgress: newInProgress\n };\n } else if (!accountArraysAreEqual(currentAccounts, previousState.accounts)) {\n // Only accounts changed\n return {\n ...previousState,\n accounts: currentAccounts\n };\n } else {\n // Nothing changed\n return previousState;\n }\n};\n\n/**\n * MSAL context provider component. This must be rendered above any other components that use MSAL.\n */\nexport function MsalProvider({instance, children}: MsalProviderProps): React.ReactElement {\n useEffect(() => {\n instance.initializeWrapperLibrary(WrapperSKU.React, version);\n }, [instance]);\n // Create a logger instance for msal-react with the same options as PublicClientApplication\n const logger = useMemo(() => {\n return instance.getLogger().clone(SKU, version);\n }, [instance]);\n\n const [state, updateState] = useReducer(reducer, undefined, () => {\n // Lazy initialization of the initial state\n return {\n inProgress: InteractionStatus.Startup,\n accounts: instance.getAllAccounts()\n };\n });\n \n useEffect(() => {\n const callbackId = instance.addEventCallback((message: EventMessage) => {\n updateState({\n payload: {\n instance,\n logger,\n message\n }, \n type: MsalProviderActionType.EVENT\n });\n });\n logger.verbose(`MsalProvider - Registered event callback with id: ${callbackId}`);\n\n instance.initialize().then(() => {\n instance.handleRedirectPromise().catch(() => {\n // Errors should be handled by listening to the LOGIN_FAILURE event\n return;\n }).finally(() => {\n /*\n * If handleRedirectPromise returns a cached promise the necessary events may not be fired\n * This is a fallback to prevent inProgress from getting stuck in 'startup'\n */\n updateState({\n payload: {\n instance,\n logger\n },\n type: MsalProviderActionType.UNBLOCK_INPROGRESS \n });\n });\n });\n\n return () => {\n // Remove callback when component unmounts or accounts change\n if (callbackId) {\n logger.verbose(`MsalProvider - Removing event callback ${callbackId}`);\n instance.removeEventCallback(callbackId);\n }\n };\n }, [instance, logger]);\n\n const contextValue: IMsalContext = {\n instance,\n inProgress: state.inProgress,\n accounts: state.accounts,\n logger\n };\n\n return (\n \n {children}\n \n );\n}\n\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { useContext } from \"react\";\nimport { IMsalContext, MsalContext } from \"../MsalContext\";\n\n/**\n * Returns Msal Context values\n */\nexport const useMsal = (): IMsalContext => useContext(MsalContext);\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"@azure/msal-browser\";\n\nexport const ReactAuthErrorMessage = {\n invalidInteractionType: {\n code: \"invalid_interaction_type\",\n desc: \"The provided interaction type is invalid.\"\n },\n unableToFallbackToInteraction: {\n code: \"unable_to_fallback_to_interaction\",\n desc: \"Interaction is required but another interaction is already in progress. Please try again when the current interaction is complete.\"\n }\n};\n\nexport class ReactAuthError extends AuthError {\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n\n Object.setPrototypeOf(this, ReactAuthError.prototype);\n this.name = \"ReactAuthError\";\n }\n\n static createInvalidInteractionTypeError(): ReactAuthError {\n return new ReactAuthError(ReactAuthErrorMessage.invalidInteractionType.code, ReactAuthErrorMessage.invalidInteractionType.desc);\n }\n\n static createUnableToFallbackToInteractionError(): ReactAuthError {\n return new ReactAuthError(ReactAuthErrorMessage.unableToFallbackToInteraction.code, ReactAuthErrorMessage.unableToFallbackToInteraction.desc);\n }\n}\n","export const DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\nexport function setPortalAttribute(element: HTMLElement): void {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}\n","import { IStyleOptions } from './IStyleOptions';\n\n/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL: boolean): void {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n\n/**\n * Gets the current RTL value.\n */\nexport function getRTL(): boolean {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nlet _rtl: boolean;\n_rtl = getRTL();\n\nexport function getStyleOptions(): IStyleOptions {\n return {\n rtl: getRTL(),\n };\n}\n","import { IStyle } from './IStyle';\n\nexport const InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0 as 0,\n\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1 as 1,\n\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2 as 2,\n};\n\nexport type InjectionMode = (typeof InjectionMode)[keyof typeof InjectionMode];\n\n/**\n * CSP settings for the stylesheet\n */\nexport interface ICSPSettings {\n /**\n * Nonce to inject into script tag\n */\n nonce?: string;\n}\n\n/**\n * Stylesheet config.\n *\n * @public\n */\nexport interface IStyleSheetConfig {\n /**\n * Injection mode for how rules are inserted.\n */\n injectionMode?: InjectionMode;\n\n /**\n * Default 'displayName' to use for a className.\n * @defaultvalue 'css'\n */\n defaultPrefix?: string;\n\n /**\n * Defines the default direction of rules for auto-rtlifying things.\n * While typically this is represented as a DIR attribute in the markup,\n * the DIR is not enough to control whether padding goes on the left or\n * right. Use this to set the default direction when rules are registered.\n */\n rtl?: boolean;\n\n /**\n * Default 'namespace' to attach before the className.\n */\n namespace?: string;\n\n /**\n * CSP settings\n */\n cspSettings?: ICSPSettings;\n\n /**\n * Callback executed when a rule is inserted.\n * @deprecated Use `Stylesheet.onInsertRule` instead.\n */\n onInsertRule?: (rule: string) => void;\n\n /**\n * Initial value for classnames cache. Key is serialized css rules associated with a classname.\n */\n classNameCache?: { [key: string]: string };\n}\n\n/**\n * Representation of Stylesheet used for rehydration.\n */\nexport interface ISerializedStylesheet {\n classNameToArgs: Stylesheet['_classNameToArgs'];\n counter: Stylesheet['_counter'];\n keyToClassName: Stylesheet['_keyToClassName'];\n preservedRules: Stylesheet['_preservedRules'];\n rules: Stylesheet['_rules'];\n}\n\nconst STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nconst REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\n\nlet _global: (Window | {}) & {\n [STYLESHEET_SETTING]?: Stylesheet;\n FabricConfig?: {\n mergeStyles?: IStyleSheetConfig;\n serializedStylesheet?: ISerializedStylesheet;\n };\n} = {};\n\n// Grab window.\ntry {\n // Why the cast?\n // if compiled/type checked in same program with `@fluentui/font-icons-mdl2` which extends `Window` on global\n // ( check packages/font-icons-mdl2/src/index.ts ) the definitions don't match! Thus the need of this extra assertion\n _global = (window || {}) as typeof _global;\n} catch {\n /* leave as blank object */\n}\n\nlet _stylesheet: Stylesheet | undefined;\n\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nexport class Stylesheet {\n private _lastStyleElement?: HTMLStyleElement;\n private _styleElement?: HTMLStyleElement;\n private _rules: string[] = [];\n private _preservedRules: string[] = [];\n private _config: IStyleSheetConfig;\n private _counter = 0;\n private _keyToClassName: { [key: string]: string } = {};\n private _onInsertRuleCallbacks: Function[] = [];\n private _onResetCallbacks: Function[] = [];\n private _classNameToArgs: { [key: string]: { args: any; rules: string[] } } = {};\n\n /**\n * Gets the singleton instance.\n */\n public static getInstance(): Stylesheet {\n _stylesheet = _global[STYLESHEET_SETTING] as Stylesheet;\n\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n const fabricConfig = _global?.FabricConfig || {};\n\n const stylesheet = new Stylesheet(fabricConfig.mergeStyles, fabricConfig.serializedStylesheet);\n _stylesheet = stylesheet;\n _global[STYLESHEET_SETTING] = stylesheet;\n }\n\n return _stylesheet;\n }\n\n constructor(config?: IStyleSheetConfig, serializedStylesheet?: ISerializedStylesheet) {\n this._config = {\n // If there is no document we won't have an element to inject into.\n injectionMode: typeof document === 'undefined' ? InjectionMode.none : InjectionMode.insertNode,\n defaultPrefix: 'css',\n namespace: undefined,\n cspSettings: undefined,\n ...config,\n };\n\n this._classNameToArgs = serializedStylesheet?.classNameToArgs ?? this._classNameToArgs;\n this._counter = serializedStylesheet?.counter ?? this._counter;\n this._keyToClassName = this._config.classNameCache ?? serializedStylesheet?.keyToClassName ?? this._keyToClassName;\n this._preservedRules = serializedStylesheet?.preservedRules ?? this._preservedRules;\n this._rules = serializedStylesheet?.rules ?? this._rules;\n }\n\n /**\n * Serializes the Stylesheet instance into a format which allows rehydration on creation.\n * @returns string representation of `ISerializedStylesheet` interface.\n */\n public serialize(): string {\n return JSON.stringify({\n classNameToArgs: this._classNameToArgs,\n counter: this._counter,\n keyToClassName: this._keyToClassName,\n preservedRules: this._preservedRules,\n rules: this._rules,\n });\n }\n\n /**\n * Configures the stylesheet.\n */\n public setConfig(config?: IStyleSheetConfig): void {\n this._config = {\n ...this._config,\n ...config,\n };\n }\n\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n * @returns function which when called un-registers provided callback.\n */\n public onReset(callback: Function): Function {\n this._onResetCallbacks.push(callback);\n\n return () => {\n this._onResetCallbacks = this._onResetCallbacks.filter(cb => cb !== callback);\n };\n }\n\n /**\n * Configures an insert rule callback.\n *\n * @param callback - A callback which will be called when a rule is inserted.\n * @returns function which when called un-registers provided callback.\n */\n public onInsertRule(callback: Function): Function {\n this._onInsertRuleCallbacks.push(callback);\n\n return () => {\n this._onInsertRuleCallbacks = this._onInsertRuleCallbacks.filter(cb => cb !== callback);\n };\n }\n\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n public getClassName(displayName?: string): string {\n const { namespace } = this._config;\n const prefix = displayName || this._config.defaultPrefix;\n\n return `${namespace ? namespace + '-' : ''}${prefix}-${this._counter++}`;\n }\n\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n public cacheClassName(className: string, key: string, args: IStyle[], rules: string[]): void {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args,\n rules,\n };\n }\n\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n public classNameFromKey(key: string): string | undefined {\n return this._keyToClassName[key];\n }\n\n /**\n * Gets all classnames cache with the stylesheet.\n */\n public getClassNameCache(): { [key: string]: string } {\n return this._keyToClassName;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public argsFromClassName(className: string): IStyle[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.args;\n }\n\n /**\n * Gets the rules associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public insertedRulesFromClassName(className: string): string[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.rules;\n }\n\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n public insertRule(rule: string, preserve?: boolean): void {\n const { injectionMode } = this._config;\n const element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n\n if (preserve) {\n this._preservedRules.push(rule);\n }\n\n if (element) {\n switch (injectionMode) {\n case InjectionMode.insertNode:\n const { sheet } = element!;\n\n try {\n (sheet as CSSStyleSheet).insertRule(rule, (sheet as CSSStyleSheet).cssRules.length);\n } catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n } else {\n this._rules.push(rule);\n }\n\n // eslint-disable-next-line deprecation/deprecation\n if (this._config.onInsertRule) {\n // eslint-disable-next-line deprecation/deprecation\n this._config.onInsertRule(rule);\n }\n\n this._onInsertRuleCallbacks.forEach(callback => callback());\n }\n\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n public getRules(includePreservedRules?: boolean): string {\n return (includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('');\n }\n\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n public reset(): void {\n this._rules = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n\n this._onResetCallbacks.forEach(callback => callback());\n }\n\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n public resetKeys(): void {\n this._keyToClassName = {};\n }\n\n private _getStyleElement(): HTMLStyleElement | undefined {\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(() => {\n this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n }\n\n private _createStyleElement(): HTMLStyleElement {\n const head: HTMLHeadElement = document.head;\n const styleElement = document.createElement('style');\n let nodeToInsertBefore: Node | null = null;\n\n styleElement.setAttribute('data-merge-styles', 'true');\n\n const { cspSettings } = this._config;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n nodeToInsertBefore = this._lastStyleElement.nextElementSibling;\n } else {\n const placeholderStyleTag: Element | null = this._findPlaceholderStyleTag();\n\n if (placeholderStyleTag) {\n nodeToInsertBefore = placeholderStyleTag.nextElementSibling;\n } else {\n nodeToInsertBefore = head.childNodes[0];\n }\n }\n\n head!.insertBefore(styleElement, head!.contains(nodeToInsertBefore) ? nodeToInsertBefore : null);\n this._lastStyleElement = styleElement;\n\n return styleElement;\n }\n\n private _findPlaceholderStyleTag(): Element | null {\n const head: HTMLHeadElement = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n }\n}\n","import { IStyleSet, IConcatenatedStyleSet } from './IStyleSet';\nimport { IStyleBase, IStyle } from './IStyle';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { ObjectOnly } from './ObjectOnly';\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet - The first style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet: TStyleSet | false | null | undefined,\n): IConcatenatedStyleSet>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n): IConcatenatedStyleSet & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n): IConcatenatedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n styleSet5: TStyleSet5 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n * @param styleSet6 - The sixth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n styleSet5: TStyleSet5 | false | null | undefined,\n styleSet6: TStyleSet6 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | false | null | undefined)[]): IConcatenatedStyleSet;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | false | null | undefined)[]): IConcatenatedStyleSet {\n if (styleSets && styleSets.length === 1 && styleSets[0] && !(styleSets[0] as IStyleSet).subComponentStyles) {\n return styleSets[0] as IConcatenatedStyleSet;\n }\n\n const mergedSet: IConcatenatedStyleSet = {};\n\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n const workingSubcomponentStyles: { [key: string]: Array> } = {};\n\n for (const currentSet of styleSets) {\n if (currentSet) {\n for (const prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n\n const currentComponentStyles = currentSet.subComponentStyles;\n for (const subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n } else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n\n continue;\n }\n\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n const mergedValue: IStyle = (mergedSet as any)[prop];\n const currentValue = (currentSet as any)[prop];\n\n if (mergedValue === undefined) {\n (mergedSet as any)[prop] = currentValue;\n } else {\n (mergedSet as any)[prop] = [\n // https://github.com/Microsoft/TypeScript/issues/25474\n ...(Array.isArray(mergedValue) ? mergedValue : [mergedValue as IStyleBase]),\n ...(Array.isArray(currentValue) ? currentValue : [currentValue as IStyleBase]),\n ];\n }\n }\n }\n }\n }\n\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n const mergedSubStyles = mergedSet.subComponentStyles;\n\n // now we process the subcomponent styles if there are any\n for (const subCompProp in workingSubcomponentStyles) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n const workingSet = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = (styleProps: any) => {\n return concatStyleSets(\n ...workingSet.map((styleFunctionOrObject: IStyleFunctionOrObject) =>\n typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject,\n ),\n );\n };\n }\n }\n }\n\n return mergedSet;\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { IStyleSet } from './IStyleSet';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { DeepPartial } from './DeepPartial';\n\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps>(\n styleProps: TStyleProps,\n ...allStyles: (IStyleFunctionOrObject | undefined)[]\n): DeepPartial {\n const result: DeepPartial[] = [];\n for (const styles of allStyles) {\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0] as DeepPartial;\n } else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets(...(result as any)) as any;\n }\n\n return {};\n}\n","import { IStyle, IStyleBaseArray } from './IStyle';\nimport { Stylesheet } from './Stylesheet';\n\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts(...args: (IStyle | IStyle[] | false | null | undefined)[]): {\n classes: string[];\n objects: IStyleBaseArray;\n} {\n const classes: string[] = [];\n const objects: {}[] = [];\n const stylesheet = Stylesheet.getInstance();\n\n function _processArgs(argsList: (IStyle | IStyle[])[]): void {\n for (const arg of argsList) {\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n } else {\n const translatedArgs = stylesheet.argsFromClassName(arg);\n\n if (translatedArgs) {\n _processArgs(translatedArgs);\n } else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n } else if (Array.isArray(arg)) {\n _processArgs(arg);\n } else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n\n _processArgs(args);\n\n return {\n classes,\n objects,\n };\n}\n","import { IFontFace } from './IRawStyleBase';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font: IFontFace): void {\n const stylesheet = Stylesheet.getInstance();\n\n const rule = serializeRuleEntries(getStyleOptions(), font as {});\n\n const className = stylesheet.classNameFromKey(rule);\n\n if (className) {\n return;\n }\n\n const name = stylesheet.getClassName();\n stylesheet.insertRule(`@font-face{${rule}}`, true);\n stylesheet.cacheClassName(name, rule, [], ['font-face', rule]);\n}\n","import { IKeyframes } from './IKeyframes';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline: IKeyframes): string {\n const stylesheet = Stylesheet.getInstance();\n const rulesArray: string[] = [];\n\n for (const prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n const rules = rulesArray.join('');\n\n const className = stylesheet.classNameFromKey(rules);\n\n if (className) {\n return className;\n }\n\n const name = stylesheet.getClassName();\n stylesheet.insertRule(`@keyframes ${name}{${rules}}`, true);\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n\n return name;\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { IStyle } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { IConcatenatedStyleSet, IProcessedStyleSet, IStyleSet } from './IStyleSet';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\nimport { ObjectOnly } from './ObjectOnly';\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet - The first style set to be merged and reigstered.\n */\nexport function mergeStyleSets(\n styleSet: TStyleSet | false | null | undefined,\n): IProcessedStyleSet>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n): IProcessedStyleSet & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n): IProcessedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n * @param styleSet4 - The fourth style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet {\n return mergeCssSets(styleSets as any, getStyleOptions());\n}\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet1 | false | null | undefined, TStyleSet2 | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [\n TStyleSet1 | false | null | undefined,\n TStyleSet2 | false | null | undefined,\n TStyleSet3 | false | null | undefined,\n ],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [\n TStyleSet1 | false | null | undefined,\n TStyleSet2 | false | null | undefined,\n TStyleSet3 | false | null | undefined,\n TStyleSet4 | false | null | undefined,\n ],\n options?: IStyleOptions,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSet: [TStyleSet | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: Array,\n options?: IStyleOptions,\n): IProcessedStyleSet {\n const classNameSet: IProcessedStyleSet = { subComponentStyles: {} };\n\n const styleSet = styleSets[0];\n\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} } as any;\n }\n\n const concatenatedStyleSet = concatStyleSets(...styleSets);\n\n const registrations = [];\n\n for (const styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = (concatenatedStyleSet as IConcatenatedStyleSet).subComponentStyles || {};\n continue;\n }\n\n const styles: IStyle = (concatenatedStyleSet as any)[styleSetArea];\n\n const { classes, objects } = extractStyleParts(styles);\n\n if (objects?.length) {\n const registration = styleToRegistration(options || {}, { displayName: styleSetArea }, objects);\n\n if (registration) {\n registrations.push(registration);\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n } else {\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n\n for (const registration of registrations) {\n if (registration) {\n applyRegistration(registration, options?.specificityMultiplier);\n }\n }\n\n return classNameSet as any;\n}\n","import { extractStyleParts } from './extractStyleParts';\nimport { IStyle, IStyleBaseArray } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles(...args: (IStyle | IStyleBaseArray | false | null | undefined)[]): string {\n return mergeCss(args, getStyleOptions());\n}\n\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(\n args: (IStyle | IStyleBaseArray | false | null | undefined) | (IStyle | IStyleBaseArray | false | null | undefined)[],\n options?: IStyleOptions,\n): string {\n const styleArgs = args instanceof Array ? args : [args];\n const { classes, objects } = extractStyleParts(styleArgs);\n\n if (objects.length) {\n classes.push(styleToClassName(options || {}, objects));\n }\n\n return classes.join(' ');\n}\n","export interface IVendorSettings {\n isWebkit?: boolean;\n isMoz?: boolean;\n isMs?: boolean;\n isOpera?: boolean;\n}\n\nlet _vendorSettings: IVendorSettings | undefined;\n\nexport function getVendorSettings(): IVendorSettings {\n if (!_vendorSettings) {\n const doc = typeof document !== 'undefined' ? document : undefined;\n const nav = typeof navigator !== 'undefined' ? navigator : undefined;\n const userAgent = nav?.userAgent?.toLowerCase();\n\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n } else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n\n return _vendorSettings;\n}\n\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings?: IVendorSettings): void {\n _vendorSettings = vendorSettings;\n}\n","const rules: { [key: string]: string } = {};\n\nexport function kebabRules(rulePairs: (string | number)[], index: number): void {\n const rule: string = rulePairs[index] as string;\n\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n","import { getVendorSettings } from '../getVendorSettings';\n\nconst autoPrefixNames: { [key: string]: number } = {\n 'user-select': 1,\n};\n\nexport function prefixRules(rulePairs: (string | number)[], index: number): void {\n const vendorSettings = getVendorSettings();\n\n const name = rulePairs[index];\n\n if (autoPrefixNames[name]) {\n const value = rulePairs[index + 1];\n\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n","const NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\n\nexport function provideUnits(rulePairs: (string | number)[], index: number): void {\n const name = rulePairs[index] as string;\n const value = rulePairs[index + 1];\n\n if (typeof value === 'number') {\n const isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name as string) > -1;\n const isVariableOrPrefixed = name.indexOf('--') > -1;\n const unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n\n rulePairs[index + 1] = `${value}${unit}`;\n }\n}\n","import { IStyleOptions } from '../IStyleOptions';\n\nconst LEFT = 'left';\nconst RIGHT = 'right';\nconst NO_FLIP = '@noflip';\nconst NAME_REPLACEMENTS: { [key: string]: string } = {\n [LEFT]: RIGHT,\n [RIGHT]: LEFT,\n};\nconst VALUE_REPLACEMENTS: { [key: string]: string } = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options: IStyleOptions, rulePairs: (string | number)[], index: number): void {\n if (options.rtl) {\n const name = rulePairs[index] as string;\n\n if (!name) {\n return;\n }\n\n const value = rulePairs[index + 1] as string;\n\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n } else if (name.indexOf(LEFT) >= 0) {\n rulePairs[index] = name.replace(LEFT, RIGHT);\n } else if (name.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name.replace(RIGHT, LEFT);\n } else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n } else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n } else if (NAME_REPLACEMENTS[name]) {\n rulePairs[index] = NAME_REPLACEMENTS[name];\n } else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n } else {\n switch (name) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value: string, partIndex: number): string {\n const parts = value.split(' ');\n const numberVal = parseInt(parts[partIndex], 10);\n\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n\n return parts.join(' ');\n}\n\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value: string): string {\n if (typeof value === 'string') {\n const parts = value.split(' ');\n\n if (parts.length === 4) {\n return `${parts[0]} ${parts[3]} ${parts[2]} ${parts[1]}`;\n }\n }\n\n return value;\n}\n","import { IStyle } from './IStyle';\nimport { IRawStyle } from './IRawStyle';\n\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nimport { IStyleOptions } from './IStyleOptions';\nimport { tokenizeWithParentheses } from './tokenizeWithParentheses';\n\nconst DISPLAY_NAME = 'displayName';\n\ntype IDictionary = { [key: string]: any };\n\ninterface IRuleSet {\n __order: string[];\n [key: string]: IDictionary;\n}\n\nfunction getDisplayName(rules?: { [key: string]: IRawStyle }): string | undefined {\n const rootStyle: IStyle = rules && rules['&'];\n\n return rootStyle ? (rootStyle as IRawStyle).displayName : undefined;\n}\n\nconst globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n\ntype ReplacementInfo = [number, number, string];\n\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals: string): string {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n\n const replacementInfo: ReplacementInfo[] = [];\n\n const findGlobal = /\\:global\\((.+?)\\)/g;\n let match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map((v: string) => `:global(${v.trim()})`)\n .join(', '),\n ]);\n }\n }\n\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce((selector: string, [matchIndex, matchEndIndex, replacement]: ReplacementInfo) => {\n const prefix = selector.slice(0, matchIndex);\n const suffix = selector.slice(matchEndIndex);\n\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\n\nfunction expandSelector(newSelector: string, currentSelector: string): string {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n } else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n } else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n\n return newSelector;\n}\n\nfunction extractSelector(currentSelector: string, rules: IRuleSet = { __order: [] }, selector: string, value: IStyle) {\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n } else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map((s: string) => s.trim())\n .forEach((separatedSelector: string) =>\n extractRules([value], rules, expandSelector(separatedSelector, currentSelector)),\n );\n } else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\n\nfunction extractRules(args: IStyle[], rules: IRuleSet = { __order: [] }, currentSelector: string = '&'): IRuleSet {\n const stylesheet = Stylesheet.getInstance();\n let currentRules: IDictionary | undefined = rules[currentSelector] as IDictionary;\n\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n\n for (const arg of args) {\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n const expandedRules = stylesheet.argsFromClassName(arg);\n\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n } else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n } else {\n for (const prop in arg as any) {\n if ((arg as any).hasOwnProperty(prop)) {\n const propValue = (arg as any)[prop];\n\n if (prop === 'selectors') {\n // every child is a selector.\n const selectors: { [key: string]: IStyle } = (arg as any).selectors;\n\n for (const newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n } else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n } else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n } else {\n (currentRules as any)[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n\n return rules;\n}\n\nfunction expandQuads(currentRules: IDictionary, name: string, value: string): void {\n let parts = typeof value === 'string' ? tokenizeWithParentheses(value) : [value];\n\n if (parts.length === 0) {\n parts.push(value);\n }\n\n if (parts[parts.length - 1] === '!important') {\n // Remove !important from parts, and append it to each part individually\n parts = parts.slice(0, -1).map(p => p + ' !important');\n }\n\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\n\nfunction getKeyForRules(options: IStyleOptions, rules: IRuleSet): string | undefined {\n const serialized: string[] = [options.rtl ? 'rtl' : 'ltr'];\n let hasProps = false;\n\n for (const selector of rules.__order) {\n serialized.push(selector);\n const rulesForSelector = rules[selector];\n\n for (const propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n\n return hasProps ? serialized.join('') : undefined;\n}\n\nfunction repeatString(target: string, count: number): string {\n if (count <= 0) {\n return '';\n }\n\n if (count === 1) {\n return target;\n }\n\n return target + repeatString(target, count - 1);\n}\n\nexport function serializeRuleEntries(options: IStyleOptions, ruleEntries: { [key: string]: string | number }): string {\n if (!ruleEntries) {\n return '';\n }\n\n const allEntries: (string | number)[] = [];\n\n for (const entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n\n // Apply transforms.\n for (let i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n\n // Apply punctuation.\n for (let i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n\n return allEntries.join('');\n}\n\nexport interface IRegistration {\n className: string;\n key: string;\n args: IStyle[];\n rulesToInsert: string[];\n}\n\nexport function styleToRegistration(options: IStyleOptions, ...args: IStyle[]): IRegistration | undefined {\n const rules: IRuleSet = extractRules(args);\n const key = getKeyForRules(options, rules);\n\n if (key) {\n const stylesheet = Stylesheet.getInstance();\n const registration: Partial = {\n className: stylesheet.classNameFromKey(key),\n key,\n args,\n };\n\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n const rulesToInsert: string[] = [];\n\n for (const selector of rules.__order) {\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n\n return registration as IRegistration;\n }\n\n return undefined;\n}\n\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration: IRegistration, specificityMultiplier: number = 1): void {\n const stylesheet = Stylesheet.getInstance();\n const { className, key, args, rulesToInsert } = registration;\n\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (let i = 0; i < rulesToInsert.length; i += 2) {\n const rules = rulesToInsert[i + 1];\n if (rules) {\n let selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(`.${registration.className}`, specificityMultiplier));\n\n // Insert. Note if a media query, we must close the query with a final bracket.\n const processedRule = `${selector}{${rules}}${selector.indexOf('@') === 0 ? '}' : ''}`;\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className!, key!, args!, rulesToInsert);\n }\n}\n\nexport function styleToClassName(options: IStyleOptions, ...args: IStyle[]): string {\n const registration = styleToRegistration(options, ...args);\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n\n return registration.className;\n }\n\n return '';\n}\n","/**\n * Split a string into tokens separated by whitespace, except all text within parentheses\n * is treated as a single token (whitespace is ignored within parentheses).\n *\n * Unlike String.split(' '), multiple consecutive space characters are collapsed and\n * removed from the returned array (including leading and trailing spaces).\n *\n * For example:\n * `tokenizeWithParentheses(\"3px calc(var(--x) / 2) 9px 0 \")`\n * => `[\"3px\", \"calc(var(--x) / 2)\", \"9px\", \"0\"]`\n *\n * @returns The array of tokens. Returns an empty array if the string was empty or contained only whitespace.\n */\nexport function tokenizeWithParentheses(value: string): string[] {\n const parts = [];\n let partStart = 0;\n let parens = 0;\n\n for (let i = 0; i < value.length; i++) {\n switch (value[i]) {\n case '(':\n parens++;\n break;\n case ')':\n if (parens) {\n parens--;\n }\n break;\n case '\\t':\n case ' ':\n if (!parens) {\n // Add the new part if it's not an empty string\n if (i > partStart) {\n parts.push(value.substring(partStart, i));\n }\n partStart = i + 1;\n }\n break;\n }\n }\n\n // Add the last part\n if (partStart < value.length) {\n parts.push(value.substring(partStart));\n }\n\n return parts;\n}\n","import * as React from 'react';\n\n/**\n * A Ref function which can be treated like a ref object in that it has an attached\n * current property, which will be updated as the ref is evaluated.\n */\nexport type RefObjectFunction = React.RefObject & ((value: T) => void);\n\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */\nexport function useMergedRefs(...refs: (React.Ref | undefined)[]): RefObjectFunction {\n const mergedCallback: RefObjectFunction = React.useCallback(\n (value: T) => {\n // Update the \"current\" prop hanging on the function.\n (mergedCallback as unknown as React.MutableRefObject).current = value;\n\n for (const ref of refs) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n // work around the immutability of the React.Ref type\n (ref as unknown as React.MutableRefObject).current = value;\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive\n [...refs],\n ) as unknown as RefObjectFunction;\n\n return mergedCallback;\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".root_dd790ee3{display:inline-block;vertical-align:middle;speak:none;width:1em;height:1em}.svg_dd790ee3{height:100%;fill:currentColor;vertical-align:top;forced-color-adjust:auto}\"}]);\nexport const root = \"root_dd790ee3\";\nexport const svg = \"svg_dd790ee3\";","import * as React from 'react';\nimport type { IIconSubset } from '@fluentui/style-utilities';\nimport type { IconProviderProps } from './IconProvider.types';\n\n/**\n * Context for providing the IconSubset.\n */\nexport const IconContext = React.createContext(undefined);\n\n/**\n * Hook to access the Icon subset. Returns the icons that will override the default.\n * This can be overridden contextually using the `IconProvider`.\n */\nexport const useIconSubset = (): IIconSubset | undefined => React.useContext(IconContext);\n\n/**\n * Component to contextually override one or more of the default SVG icons\n */\nexport const IconProvider: React.FunctionComponent = props => {\n return {props.children};\n};\n","import * as React from 'react';\nimport { css, getNativeProps, htmlElementProperties } from '@fluentui/utilities';\nimport * as classes from './SvgIcon.scss';\nimport { useIconSubset } from '@fluentui/react-icon-provider';\nimport type { ISvgIconProps } from './SvgIcon.types';\nimport type { SvgIconCreateFnParams } from './types';\n\nconst createSvgIcon = ({ svg, displayName }: SvgIconCreateFnParams) => {\n const Component: React.FC & TProps & ISvgIconProps> = props => {\n const { className, style = {} } = props;\n const icons = useIconSubset(); // TODO: handle fontFace and styles\n\n const nativeProps = getNativeProps>(props, htmlElementProperties);\n const containerProps =\n props['aria-label'] || props['aria-labelledby'] || props.title\n ? {\n role: 'img',\n }\n : {\n ['aria-hidden']: true,\n };\n\n return React.createElement(\n 'span',\n {\n ...containerProps,\n ...nativeProps,\n className: css(classes.root, className),\n style,\n },\n icons?.icons?.[displayName] ? icons.icons[displayName] : svg({ classes, props }),\n );\n };\n\n Component.displayName = displayName;\n\n return Component;\n};\n\nexport default createSvgIcon;\n","import * as React from 'react';\n\n/**\n * Props for the WindowProvider component.\n */\nexport type WindowProviderProps = {\n /**\n * Provide the active window.\n */\n window: Window | undefined;\n children?: React.ReactNode;\n};\n\n/**\n * Context for providing the window.\n */\n// eslint-disable-next-line @fluentui/no-context-default-value\nexport const WindowContext = React.createContext({\n window: typeof window === 'object' ? window : undefined,\n});\n\n/**\n * Hook to access the window object. This can be overridden contextually using the `WindowProvider`.\n */\nexport const useWindow = (): Window | undefined => React.useContext(WindowContext).window;\n\n/**\n * Hook to access the document object. This can be overridden contextually using the `WindowProvider`.\n */\nexport const useDocument = (): Document | undefined => React.useContext(WindowContext).window?.document;\n\n/**\n * Component to provide the window object contextually. This is useful when rendering content to an element\n * contained within a child window or iframe element, where event handlers and styling must be projected\n * to an alternative window or document.\n */\nexport const WindowProvider: React.FunctionComponent = props => {\n return {props.children};\n};\n","import * as React from 'react';\nimport type { RegisterPortalFn } from './types';\n\nconst PortalCompatContext = React.createContext(\n undefined,\n) as React.Context;\n\nconst portalCompatContextDefaultValue = () => () => undefined;\n\nexport const PortalCompatContextProvider = PortalCompatContext.Provider;\n\nexport function usePortalCompat() {\n return React.useContext(PortalCompatContext) ?? portalCompatContextDefaultValue;\n}\n","import type { ISettings, ISettingsFunction } from './Customizations';\n\n/**\n * Merge new and old settings, giving priority to new settings.\n * New settings is optional in which case oldSettings is returned as-is.\n * @param oldSettings - Old settings to fall back to.\n * @param newSettings - New settings that will be merged over oldSettings.\n * @returns Merged settings.\n */\nexport function mergeSettings(oldSettings: ISettings = {}, newSettings?: ISettings | ISettingsFunction): ISettings {\n const mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _settingsMergeWith(newSettings);\n\n return mergeSettingsWith(oldSettings);\n}\n\nexport function mergeScopedSettings(\n oldSettings: ISettings = {},\n newSettings?: ISettings | ISettingsFunction,\n): ISettings {\n const mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _scopedSettingsMergeWith(newSettings);\n\n return mergeSettingsWith(oldSettings);\n}\n\nfunction _isSettingsFunction(settings?: ISettings | ISettingsFunction): settings is ISettingsFunction {\n return typeof settings === 'function';\n}\n\nfunction _settingsMergeWith(newSettings?: object): (settings: ISettings) => ISettings {\n return (settings: ISettings) => (newSettings ? { ...settings, ...newSettings } : settings);\n}\n\nfunction _scopedSettingsMergeWith(scopedSettingsFromProps: ISettings = {}): (scopedSettings: ISettings) => ISettings {\n return (oldScopedSettings: ISettings): ISettings => {\n const newScopedSettings: ISettings = { ...oldScopedSettings };\n\n for (let scopeName in scopedSettingsFromProps) {\n if (scopedSettingsFromProps.hasOwnProperty(scopeName)) {\n newScopedSettings[scopeName] = { ...oldScopedSettings[scopeName], ...scopedSettingsFromProps[scopeName] };\n }\n }\n\n return newScopedSettings;\n };\n}\n","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport { mergeCustomizations } from './mergeCustomizations';\nimport type { ICustomizerContext } from './CustomizerContext';\nimport type { ICustomizerProps } from './Customizer.types';\n\n/**\n * The Customizer component allows for default props to be mixed into components which\n * are decorated with the customizable() decorator, or use the styled HOC. This enables\n * injection scenarios like:\n *\n * 1. render svg icons instead of the icon font within all buttons\n * 2. inject a custom theme object into a component\n *\n * Props are provided via the settings prop which should be one of the following:\n * - A json map which contains 1 or more name/value pairs representing injectable props.\n * - A function that receives the current settings and returns the new ones that apply to the scope\n *\n * @public\n *\n * @deprecated This component is deprecated for purpose of applying theme to components\n * as of `@fluentui/react` version 8. Use `ThemeProvider` for applying theme instead.\n */\nexport class Customizer extends React.Component {\n public componentDidMount(): void {\n Customizations.observe(this._onCustomizationChange);\n }\n\n public componentWillUnmount(): void {\n Customizations.unobserve(this._onCustomizationChange);\n }\n\n public render(): React.ReactElement<{}> {\n const { contextTransform } = this.props;\n return (\n \n {(parentContext: ICustomizerContext) => {\n let newContext = mergeCustomizations(this.props, parentContext);\n\n if (contextTransform) {\n newContext = contextTransform(newContext);\n }\n\n return {this.props.children};\n }}\n \n );\n }\n\n private _onCustomizationChange = () => this.forceUpdate();\n}\n","import { mergeSettings, mergeScopedSettings } from './mergeSettings';\nimport type { ICustomizerProps } from './Customizer.types';\nimport type { ICustomizerContext } from './CustomizerContext';\n\n/**\n * Merge props and customizations giving priority to props over context.\n * NOTE: This function will always perform multiple merge operations. Use with caution.\n * @param props - New settings to merge in.\n * @param parentContext - Context containing current settings.\n * @returns Merged customizations.\n */\nexport function mergeCustomizations(props: ICustomizerProps, parentContext: ICustomizerContext): ICustomizerContext {\n const { customizations = { settings: {}, scopedSettings: {} } } = parentContext || {};\n\n return {\n customizations: {\n settings: mergeSettings(customizations.settings, props.settings),\n scopedSettings: mergeScopedSettings(customizations.scopedSettings, props.scopedSettings),\n inCustomizerContext: true,\n },\n };\n}\n","import * as React from 'react';\nimport {\n classNamesFunction,\n divProperties,\n getDocument,\n getNativeProps,\n getRTL,\n memoizeFunction,\n Customizer,\n FocusRectsProvider,\n} from '../../Utilities';\nimport { createTheme } from '../../Styling';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport type { IFabricProps, IFabricStyleProps, IFabricStyles } from './Fabric.types';\nimport type { IProcessedStyleSet } from '@fluentui/merge-styles';\nimport type { ITheme } from '../../Styling';\n\nconst getClassNames = classNamesFunction();\nconst getFabricTheme = memoizeFunction((theme?: ITheme, isRTL?: boolean) => createTheme({ ...theme, rtl: isRTL }));\n\nconst getDir = ({ theme, dir }: IFabricProps) => {\n const contextDir = getRTL(theme) ? 'rtl' : 'ltr';\n const pageDir = getRTL() ? 'rtl' : 'ltr';\n const componentDir = dir ? dir : contextDir;\n return {\n // If Fabric dir !== contextDir\n // Or If contextDir !== pageDir\n // Then we need to set dir of the Fabric root\n rootDir: componentDir !== contextDir || componentDir !== pageDir ? componentDir : dir,\n // If dir !== contextDir || pageDir\n // then set contextual theme around content\n needsTheme: componentDir !== contextDir,\n };\n};\n\nexport const FabricBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const { className, theme, applyTheme, applyThemeToBody, styles } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n applyTheme: applyTheme,\n className,\n });\n\n const rootElement = React.useRef(null);\n useApplyThemeToBody(applyThemeToBody, classNames, rootElement);\n\n return <>{useRenderedContent(props, classNames, rootElement, ref)};\n },\n);\nFabricBase.displayName = 'FabricBase';\n\nfunction useRenderedContent(\n props: IFabricProps,\n { root }: IProcessedStyleSet,\n rootElement: React.RefObject,\n ref: React.Ref,\n) {\n const { as: Root = 'div', dir, theme } = props;\n const divProps = getNativeProps>(props, divProperties, ['dir']);\n\n const { rootDir, needsTheme } = getDir(props);\n\n let renderedContent = (\n \n \n \n );\n\n // Create the contextual theme if component direction does not match parent direction.\n if (needsTheme) {\n // Disabling ThemeProvider here because theme doesn't need to be re-provided by ThemeProvider if dir has changed.\n renderedContent = (\n // eslint-disable-next-line deprecation/deprecation\n {renderedContent}\n );\n }\n\n return renderedContent;\n}\n\nfunction useApplyThemeToBody(\n applyThemeToBody: boolean | undefined,\n { bodyThemed }: IProcessedStyleSet,\n rootElement: React.RefObject,\n) {\n React.useEffect((): void | (() => void) => {\n if (applyThemeToBody) {\n const currentDoc = getDocument(rootElement.current);\n if (currentDoc) {\n currentDoc.body.classList.add(bodyThemed);\n return () => {\n currentDoc.body.classList.remove(bodyThemed);\n };\n }\n }\n }, [bodyThemed, applyThemeToBody, rootElement]);\n\n return rootElement;\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport type { IFabricStyleProps, IFabricStyles } from './Fabric.types';\n\nconst inheritFont = { fontFamily: 'inherit' };\n\nconst GlobalClassNames = {\n root: 'ms-Fabric',\n bodyThemed: 'ms-Fabric-bodyThemed',\n};\n\nexport interface IFabricClassNames {\n root: string;\n bodyThemed: string;\n}\n\nexport const getStyles = (props: IFabricStyleProps): IFabricStyles => {\n const { applyTheme, className, preventBlanketFontInheritance, theme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: theme.palette.neutralPrimary,\n },\n !preventBlanketFontInheritance && {\n '& button': inheritFont,\n '& input': inheritFont,\n '& textarea': inheritFont,\n },\n // apply theme to only if applyTheme is true\n applyTheme && {\n color: theme.semanticColors.bodyText,\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n className,\n ],\n bodyThemed: [\n {\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { FabricBase } from './Fabric.base';\nimport { getStyles } from './Fabric.styles';\nimport type { IFabricProps, IFabricStyleProps, IFabricStyles } from './Fabric.types';\n\n/**\n * @deprecated This component is deprecated as of `@fluentui/react` version 8. Use `ThemeProvider` instead.\n */\nexport const Fabric: React.FunctionComponent = styled(\n FabricBase,\n getStyles,\n undefined,\n {\n scope: 'Fabric',\n },\n);\n","import { ILayerHost } from './LayerHost.types';\n\nconst _layersByHostId: { [hostId: string]: (() => void)[] } = {};\nconst _layerHostsById: { [hostId: string]: ILayerHost[] } = {};\n\nconst defaultHostId = 'fluent-default-layer-host';\nlet _defaultHostSelector: string | undefined = `#${defaultHostId}`;\n\n/**\n * Register a layer for a given host id\n * @param hostId - Id of the layer host\n * @param layer - Layer instance\n */\nexport function registerLayer(hostId: string, callback: () => void) {\n if (!_layersByHostId[hostId]) {\n _layersByHostId[hostId] = [];\n }\n\n _layersByHostId[hostId].push(callback);\n\n const layerHosts = _layerHostsById[hostId];\n\n if (layerHosts) {\n for (const layerHost of layerHosts) {\n layerHost.notifyLayersChanged();\n }\n }\n}\n\n/**\n * Unregister a layer for a given host id\n * @param hostId - Id of the layer host\n * @param layer - Layer instance\n */\nexport function unregisterLayer(hostId: string, callback: () => void) {\n const layers = _layersByHostId[hostId];\n\n if (layers) {\n const idx = layers.indexOf(callback);\n if (idx >= 0) {\n layers.splice(idx, 1);\n\n if (layers.length === 0) {\n delete _layersByHostId[hostId];\n }\n }\n }\n\n const layerHosts = _layerHostsById[hostId];\n\n if (layerHosts) {\n for (const layerHost of layerHosts) {\n layerHost.notifyLayersChanged();\n }\n }\n}\n\n/**\n * Gets the number of layers currently registered with a host id.\n * @param hostId - Id of the layer host.\n * @returns The number of layers currently registered with the host.\n */\nexport function getLayerCount(hostId: string): number {\n const layers = _layerHostsById[hostId];\n\n return layers ? layers.length : 0;\n}\n\n/**\n * Gets the Layer Host instance associated with a hostId, if applicable.\n * @param hostId - Id of the layer host\n * @returns A component ref for the associated layer host.\n */\nexport function getLayerHost(hostId: string): ILayerHost | undefined {\n const layerHosts = _layerHostsById[hostId];\n\n return (layerHosts && layerHosts[0]) || undefined;\n}\n\n/**\n * Registers a Layer Host with an associated hostId.\n * @param hostId - Id of the layer host\n * @param layerHost - layer host instance\n */\nexport function registerLayerHost(hostId: string, layerHost: ILayerHost): void {\n const layerHosts = _layerHostsById[hostId] || (_layerHostsById[hostId] = []);\n\n // Insert this at the start of an array to avoid race conditions between mount and unmount.\n // If a LayerHost is re-mounted, and mount of the new instance may occur before the unmount of the old one.\n // Putting the new instance at the start of this array ensures that calls to `getLayerHost` will immediately\n // get the new one even if the old one is around briefly.\n layerHosts.unshift(layerHost);\n}\n\n/**\n * Unregisters a Layer Host from the associated hostId.\n * @param hostId - Id of the layer host\n * @param layerHost - layer host instance\n */\nexport function unregisterLayerHost(hostId: string, layerHost: ILayerHost): void {\n const layerHosts = _layerHostsById[hostId];\n\n if (layerHosts) {\n const idx = layerHosts.indexOf(layerHost);\n\n if (idx >= 0) {\n layerHosts.splice(idx, 1);\n }\n\n if (layerHosts.length === 0) {\n delete _layerHostsById[hostId];\n }\n }\n}\n\n/**\n * When no default layer host is provided, this function is executed to create the default host.\n */\nexport function createDefaultLayerHost(doc: Document): Node | null {\n const host = doc.createElement('div');\n host.setAttribute('id', defaultHostId);\n (host as HTMLElement).style.cssText = 'position:fixed;z-index:1000000';\n\n doc?.body.appendChild(host);\n\n return host;\n}\n\n/**\n * This function can be optionally called to clean up the default layer host as needed.\n */\nexport function cleanupDefaultLayerHost(doc: Document) {\n const host = doc.querySelector(`#${defaultHostId}`);\n\n if (host) {\n doc.removeChild(host);\n }\n}\n\n/**\n * Used for notifying applicable Layers that a host is available/unavailable and to re-evaluate Layers that\n * care about the specific host.\n */\nexport function notifyHostChanged(id: string) {\n if (_layersByHostId[id]) {\n _layersByHostId[id].forEach(callback => callback());\n }\n}\n\n/**\n * Sets the default target selector to use when determining the host in which\n * Layered content will be injected into. If not provided, an element will be\n * created at the end of the document body.\n *\n * Passing in a falsy value will clear the default target and reset back to\n * using a created element at the end of document body.\n */\nexport function setDefaultTarget(selector?: string) {\n _defaultHostSelector = selector;\n}\n\n/**\n * Get the default target selector when determining a host\n */\nexport function getDefaultTarget(): string | undefined {\n return _defaultHostSelector;\n}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore \"react-portal-compat-context\" uses v9 configs via path aliases\nimport { usePortalCompat } from '@fluentui/react-portal-compat-context';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Fabric } from '../../Fabric';\nimport {\n classNamesFunction,\n css,\n getDocument,\n setPortalAttribute,\n setVirtualParent,\n FocusRectsProvider,\n} from '../../Utilities';\nimport {\n registerLayer,\n getDefaultTarget,\n unregisterLayer,\n getLayerHost,\n createDefaultLayerHost,\n} from './Layer.notification';\nimport { useIsomorphicLayoutEffect, useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nimport type { ILayerProps, ILayerStyleProps, ILayerStyles } from './Layer.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const LayerBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const registerPortalEl = usePortalCompat();\n\n const rootRef = React.useRef(null);\n const mergedRef = useMergedRefs(rootRef, ref);\n const layerRef = React.useRef();\n const fabricElementRef = React.useRef(null);\n\n // Tracks if the layer mount events need to be raised.\n // Required to allow the DOM to render after the layer element is added.\n const [needRaiseLayerMount, setNeedRaiseLayerMount] = React.useState(false);\n\n const {\n children,\n className,\n eventBubblingEnabled,\n fabricProps,\n hostId,\n insertFirst,\n onLayerDidMount = () => undefined,\n // eslint-disable-next-line deprecation/deprecation\n onLayerMounted = () => undefined,\n onLayerWillUnmount,\n styles,\n theme,\n } = props;\n\n const fabricRef = useMergedRefs(fabricElementRef, fabricProps?.ref);\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n isNotHost: !hostId,\n });\n\n // Returns the user provided hostId props element, the default target selector,\n // or undefined if document doesn't exist.\n const getHost = (doc: Document): Node | null => {\n if (hostId) {\n const layerHost = getLayerHost(hostId);\n\n if (layerHost) {\n return layerHost.rootRef.current ?? null;\n }\n\n return doc.getElementById(hostId) ?? null;\n } else {\n const defaultHostSelector = getDefaultTarget();\n\n // Find the host.\n let host: Node | null = defaultHostSelector ? (doc.querySelector(defaultHostSelector) as Node) : null;\n\n // If no host is available, create a container for injecting layers in.\n // Having a container scopes layout computation.\n if (!host) {\n host = createDefaultLayerHost(doc);\n }\n\n return host;\n }\n };\n\n // Removes the current layer element's parentNode and runs onLayerWillUnmount prop if provided.\n const removeLayerElement = (): void => {\n onLayerWillUnmount?.();\n\n const elem = layerRef.current;\n\n // Clear ref before removing from the DOM\n layerRef.current = undefined;\n\n if (elem && elem.parentNode) {\n elem.parentNode.removeChild(elem);\n }\n };\n\n // If a doc or host exists, it will remove and update layer parentNodes.\n const createLayerElement = () => {\n const doc = getDocument(rootRef.current);\n\n if (!doc) {\n return;\n }\n\n const host = getHost(doc);\n\n if (!host) {\n return;\n }\n\n // Remove and re-create any previous existing layer elements.\n removeLayerElement();\n\n const el = (host.ownerDocument ?? doc).createElement('div');\n\n el.className = classNames.root!;\n setPortalAttribute(el);\n setVirtualParent(el, rootRef.current!);\n\n insertFirst ? host.insertBefore(el, host.firstChild) : host.appendChild(el);\n layerRef.current = el;\n setNeedRaiseLayerMount(true);\n };\n\n useIsomorphicLayoutEffect(() => {\n createLayerElement();\n // Check if the user provided a hostId prop and register the layer with the ID.\n if (hostId) {\n registerLayer(hostId, createLayerElement);\n }\n\n const unregisterPortalEl = layerRef.current ? registerPortalEl(layerRef.current) : undefined;\n\n return () => {\n if (unregisterPortalEl) {\n unregisterPortalEl();\n }\n\n removeLayerElement();\n\n if (hostId) {\n unregisterLayer(hostId, createLayerElement);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should run if the hostId updates.\n }, [hostId]);\n\n React.useEffect(() => {\n if (layerRef.current && needRaiseLayerMount) {\n onLayerMounted?.();\n onLayerDidMount?.();\n setNeedRaiseLayerMount(false);\n }\n }, [needRaiseLayerMount, onLayerMounted, onLayerDidMount]);\n\n useDebugWarnings(props);\n\n return (\n \n {layerRef.current &&\n ReactDOM.createPortal(\n \n {/* eslint-disable deprecation/deprecation */}\n \n {children}\n \n {/* eslint-enable deprecation/deprecation */}\n ,\n layerRef.current,\n )}\n \n );\n },\n);\nLayerBase.displayName = 'LayerBase';\n\nlet filteredEventProps: { [key: string]: (ev: React.SyntheticEvent) => void };\n\nconst onFilterEvent = (ev: React.SyntheticEvent): void => {\n // We should just be able to check ev.bubble here and only stop events that are bubbling up. However, even though\n // mouseenter and mouseleave do NOT bubble up, they are showing up as bubbling. Therefore we stop events based on\n // event name rather than ev.bubble.\n if (\n ev.eventPhase === Event.BUBBLING_PHASE &&\n ev.type !== 'mouseenter' &&\n ev.type !== 'mouseleave' &&\n ev.type !== 'touchstart' &&\n ev.type !== 'touchend'\n ) {\n ev.stopPropagation();\n }\n};\n\nfunction getFilteredEvents() {\n if (!filteredEventProps) {\n filteredEventProps = {} as any;\n [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseUp',\n 'onTouchMove',\n 'onTouchStart',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onFocus',\n 'onBlur',\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onSubmit',\n ].forEach(name => (filteredEventProps[name] = onFilterEvent));\n }\n return filteredEventProps;\n}\n\nfunction useDebugWarnings(props: ILayerProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Layer',\n props,\n deprecations: { onLayerMounted: 'onLayerDidMount' },\n });\n }\n}\n","import { IVirtualElement } from './IVirtualElement';\n/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child: HTMLElement, parent: HTMLElement | null): void {\n const virtualChild = child;\n const virtualParent = parent;\n\n if (!virtualChild._virtual) {\n virtualChild._virtual = {\n children: [],\n };\n }\n\n const oldParent = virtualChild._virtual.parent;\n\n if (oldParent && oldParent !== parent) {\n // Remove the child from its old parent.\n const index = oldParent._virtual.children.indexOf(virtualChild);\n\n if (index > -1) {\n oldParent._virtual.children.splice(index, 1);\n }\n }\n\n virtualChild._virtual.parent = virtualParent || undefined;\n\n if (virtualParent) {\n if (!virtualParent._virtual) {\n virtualParent._virtual = {\n children: [],\n };\n }\n\n virtualParent._virtual.children.push(virtualChild);\n }\n}\n","import { ZIndexes, getGlobalClassNames } from '../../Styling';\nimport type { ILayerStyleProps, ILayerStyles } from './Layer.types';\n\nconst GlobalClassNames = {\n root: 'ms-Layer',\n rootNoHost: 'ms-Layer--fixed',\n content: 'ms-Layer-content',\n};\n\nexport const getStyles = (props: ILayerStyleProps): ILayerStyles => {\n const { className, isNotHost, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n isNotHost && [\n classNames.rootNoHost,\n {\n position: 'fixed',\n zIndex: ZIndexes.Layer,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n visibility: 'hidden',\n },\n ],\n className,\n ],\n content: [\n classNames.content,\n {\n visibility: 'visible',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { LayerBase } from './Layer.base';\nimport { getStyles } from './Layer.styles';\nimport type { ILayerProps, ILayerStyleProps, ILayerStyles } from './Layer.types';\n\nexport const Layer: React.FunctionComponent = styled(\n LayerBase,\n getStyles,\n undefined,\n {\n scope: 'Layer',\n fields: ['hostId', 'theme', 'styles'],\n },\n);\n","import * as React from 'react';\nimport { SpinnerType, SpinnerSize } from './Spinner.types';\nimport { classNamesFunction, DelayedRender, getNativeProps, divProperties } from '../../Utilities';\nimport type { ISpinnerProps, ISpinnerStyleProps, ISpinnerStyles } from './Spinner.types';\n\nconst getClassNames = classNamesFunction();\n\nexport class SpinnerBase extends React.Component {\n public static defaultProps: ISpinnerProps = {\n size: SpinnerSize.medium,\n ariaLive: 'polite',\n labelPosition: 'bottom',\n };\n\n public render() {\n // eslint-disable-next-line deprecation/deprecation\n const { type, size, ariaLabel, ariaLive, styles, label, theme, className, labelPosition } = this.props;\n const statusMessage = ariaLabel;\n const nativeProps = getNativeProps>(this.props, divProperties, ['size']);\n\n // SpinnerType is deprecated. If someone is still using this property, rather than putting the SpinnerType into the\n // ISpinnerStyleProps, we'll map SpinnerType to its equivalent SpinnerSize and pass that in. Once SpinnerType\n // finally goes away we should delete this.\n let styleSize = size;\n if (styleSize === undefined && type !== undefined) {\n // eslint-disable-next-line deprecation/deprecation\n styleSize = type === SpinnerType.large ? SpinnerSize.large : SpinnerSize.medium;\n }\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n size: styleSize,\n className,\n labelPosition,\n });\n\n return (\n
\n
\n {label &&
{label}
}\n {statusMessage && (\n
\n \n
{statusMessage}
\n
\n
\n )}\n
\n );\n }\n}\n","import { SpinnerSize } from './Spinner.types';\nimport {\n hiddenContentStyle,\n keyframes,\n HighContrastSelector,\n getGlobalClassNames,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport type { ISpinnerStyleProps, ISpinnerStyles } from './Spinner.types';\n\nconst GlobalClassNames = {\n root: 'ms-Spinner',\n circle: 'ms-Spinner-circle',\n label: 'ms-Spinner-label',\n};\n\nconst spinAnimation = memoizeFunction(() =>\n keyframes({\n '0%': {\n transform: 'rotate(0deg)',\n },\n '100%': {\n transform: 'rotate(360deg)',\n },\n }),\n);\n\nexport const getStyles = (props: ISpinnerStyleProps): ISpinnerStyles => {\n const { theme, size, className, labelPosition } = props;\n\n const { palette } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n labelPosition === 'top' && {\n flexDirection: 'column-reverse',\n },\n labelPosition === 'right' && {\n flexDirection: 'row',\n },\n labelPosition === 'left' && {\n flexDirection: 'row-reverse',\n },\n className,\n ],\n circle: [\n classNames.circle,\n {\n boxSizing: 'border-box',\n borderRadius: '50%',\n border: '1.5px solid ' + palette.themeLight,\n borderTopColor: palette.themePrimary,\n animationName: spinAnimation(),\n animationDuration: '1.3s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(.53,.21,.29,.67)',\n selectors: {\n [HighContrastSelector]: {\n borderTopColor: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n size === SpinnerSize.xSmall && [\n 'ms-Spinner--xSmall',\n {\n width: 12,\n height: 12,\n },\n ],\n size === SpinnerSize.small && [\n 'ms-Spinner--small',\n {\n width: 16,\n height: 16,\n },\n ],\n size === SpinnerSize.medium && [\n 'ms-Spinner--medium',\n {\n width: 20,\n height: 20,\n },\n ],\n size === SpinnerSize.large && [\n 'ms-Spinner--large',\n {\n width: 28,\n height: 28,\n },\n ],\n ],\n label: [\n classNames.label,\n theme.fonts.small,\n {\n color: palette.themePrimary,\n margin: '8px 0 0',\n textAlign: 'center',\n },\n labelPosition === 'top' && {\n margin: '0 0 8px',\n },\n labelPosition === 'right' && {\n margin: '0 0 0 8px',\n },\n labelPosition === 'left' && {\n margin: '0 8px 0 0',\n },\n ],\n screenReaderText: hiddenContentStyle,\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { SpinnerBase } from './Spinner.base';\nimport { getStyles } from './Spinner.styles';\nimport type { ISpinnerProps, ISpinnerStyles, ISpinnerStyleProps } from './Spinner.types';\n\nexport const Spinner: React.FunctionComponent = styled<\n ISpinnerProps,\n ISpinnerStyleProps,\n ISpinnerStyles\n>(SpinnerBase, getStyles, undefined, { scope: 'Spinner' });\n","import * as React from 'react';\nimport type { ITheme, IStyle } from '../../Styling';\nimport type { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Spinner}\n */\nexport interface ISpinner {}\n\n/**\n * Spinner component props.\n * {@docCategory Spinner}\n */\nexport interface ISpinnerProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the ISpinner interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * @deprecated Use `size` instead. Will be removed at \\>= 2.0.0.\n */\n // eslint-disable-next-line deprecation/deprecation\n type?: SpinnerType;\n\n /**\n * The size of Spinner to render.\n * @defaultvalue SpinnerType.medium\n */\n size?: SpinnerSize;\n\n /**\n * The label to show next to the Spinner. Label updates will be announced to the screen readers.\n * Use ariaLive to control politeness level.\n */\n label?: string;\n\n /**\n * Additional CSS class(es) to apply to the Spinner.\n */\n className?: string;\n\n /**\n * Politeness setting for label update announcement.\n * @defaultvalue polite\n */\n ariaLive?: 'assertive' | 'polite' | 'off';\n\n /**\n * Alternative status label for screen reader\n */\n ariaLabel?: string;\n\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * The position of the label in regards of the spinner animation.\n * @defaultvalue SpinnerLabelPosition.bottom\n */\n labelPosition?: SpinnerLabelPosition;\n}\n\n/**\n * Possible variations of the spinner circle size.\n * {@docCategory Spinner}\n */\nexport enum SpinnerSize {\n /**\n * 12px Spinner diameter\n */\n xSmall = 0,\n\n /**\n * 16px Spinner diameter\n */\n small = 1,\n\n /**\n * 20px Spinner diameter\n */\n medium = 2,\n\n /**\n * 28px Spinner diameter\n */\n large = 3,\n}\n\n/**\n * Possible locations of the label in regards to the spinner\n * {@docCategory Spinner}\n */\nexport type SpinnerLabelPosition = 'top' | 'right' | 'bottom' | 'left';\n\n/**\n * @deprecated Use `SpinnerSize` instead. Will be removed at \\>= 2.0.0.\n * {@docCategory Spinner}\n */\nexport enum SpinnerType {\n /**\n * @deprecated Use `SpinnerSize.medium` instead. Will be removed at \\>= 2.0.0.\n */\n normal = 0,\n\n /**\n * @deprecated Use `SpinnerSize.large` instead. Will be removed at \\>= 2.0.0.\n */\n large = 1,\n}\n\n/**\n * The props needed to construct styles.\n * This represents the simplified set of immutable things which control the class names.\n * {@docCategory Spinner}\n */\nexport interface ISpinnerStyleProps {\n /** Theme provided by High-Order Component. */\n theme: ITheme;\n\n /** Size of the spinner animation. */\n size?: SpinnerSize;\n\n /** CSS class name for the component attached to the root stylable area. */\n className?: string;\n\n /** Position of the label in regards to the spinner animation. */\n labelPosition?: SpinnerLabelPosition;\n}\n\n/**\n * Represents the stylable areas of the control.\n * {@docCategory Spinner}\n */\nexport interface ISpinnerStyles {\n /** Styles for the root element. Refers to the wrapper containing both the circle and the label. */\n root?: IStyle;\n\n /** Styles for the spinner circle animation. */\n circle?: IStyle;\n\n /** Styles for the label accompanying the circle. */\n label?: IStyle;\n\n /** Styles for the hidden helper element to aid with screen readers. */\n screenReaderText?: IStyle;\n}\n","import { __assign } from 'tslib';\nexport const assign = __assign;\n","import * as React from 'react';\nimport { mergeCss } from '@fluentui/merge-styles';\nimport { IStyle, ITheme } from '@fluentui/style-utilities';\nimport { getRTL, memoizeFunction } from '@fluentui/utilities';\nimport { assign } from './utilities';\nimport { IFactoryOptions } from './IComponent';\nimport {\n ISlottableReactType,\n ISlot,\n ISlots,\n ISlotDefinition,\n ISlotFactory,\n ISlotProp,\n ISlottableProps,\n ISlotOptions,\n IDefaultSlotProps,\n IProcessedSlotProps,\n ValidProps,\n ValidShorthand,\n} from './ISlots';\n\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now\n// and widen as needed.\nexport function withSlots

(\n type: ISlot

| React.FunctionComponent

| string,\n props?: (React.Attributes & P) | null,\n ...children: React.ReactNode[]\n): ReturnType> {\n const slotType = type as ISlot

;\n if (slotType.isSlot) {\n // Since we are bypassing createElement, use React.Children.toArray to make sure children are\n // properly assigned keys.\n // TODO: should this be mutating? does React mutate children subprop with createElement?\n // TODO: will toArray clobber existing keys?\n // TODO: React generates warnings because it doesn't detect hidden member _store that is set in createElement.\n // Even children passed to createElement without keys don't generate this warning.\n // Is there a better way to prevent slots from appearing in hierarchy? toArray doesn't address root issue.\n children = React.Children.toArray(children);\n\n // TODO: There is something weird going on here with children embedded in props vs. rest args.\n // Comment out these lines to see. Make sure this function is doing the right things.\n if (children.length === 0) {\n return slotType(props);\n }\n\n return slotType({ ...(props as any), children });\n } else {\n // TODO: Are there some cases where children should NOT be spread? Also, spreading reraises perf question.\n // Children had to be spread to avoid breaking KeytipData in Toggle.view:\n // react-dom.development.js:18931 Uncaught TypeError: children is not a function\n // Without spread, function child is a child array of one element\n // TODO: is there a reason this can't be:\n // return React.createElement.apply(this, arguments);\n return React.createElement(type, props, ...children);\n }\n}\n\n/**\n * This function creates factories that render ouput depending on the user ISlotProp props passed in.\n * @param DefaultComponent - Base component to render when not overridden by user props.\n * @param options - Factory options, including defaultProp value for shorthand prop mapping.\n * @returns ISlotFactory function used for rendering slots.\n */\nexport function createFactory(\n DefaultComponent: React.ComponentType,\n options: IFactoryOptions = {},\n): ISlotFactory {\n const { defaultProp = 'children' } = options;\n\n const result: ISlotFactory = (\n componentProps,\n userProps,\n userSlotOptions,\n defaultStyles,\n theme,\n ) => {\n // If they passed in raw JSX, just return that.\n if (React.isValidElement(userProps)) {\n return userProps;\n }\n\n const flattenedUserProps: TProps | undefined = _translateShorthand(defaultProp as string, userProps);\n const finalProps = _constructFinalProps(defaultStyles, theme, componentProps, flattenedUserProps);\n\n if (userSlotOptions) {\n if (userSlotOptions.component) {\n // TODO: Remove cast if possible. This cast is needed because TS errors on the intrinsic portion of ReactType.\n // return ;\n const UserComponent = userSlotOptions.component as React.ComponentType;\n return ;\n }\n\n if (userSlotOptions.render) {\n return userSlotOptions.render(finalProps, DefaultComponent);\n }\n }\n\n return ;\n };\n\n return result;\n}\n\n/**\n * Default factory for components without explicit factories.\n */\nconst defaultFactory = memoizeFunction(type => createFactory(type));\n\n/**\n * This function generates slots that can be used in JSX given a definition of slots and their corresponding types.\n * @param userProps - Props as pass to component.\n * @param slots - Slot definition object defining the default slot component for each slot.\n * @returns A set of created slots that components can render in JSX.\n */\nexport function getSlots, TComponentSlots>(\n userProps: TComponentProps,\n slots: ISlotDefinition>,\n): ISlots> {\n const result: ISlots> = {} as ISlots>;\n\n // userProps already has default props mixed in by createComponent. Recast here to gain typing for this function.\n const mixedProps = userProps as TComponentProps & IDefaultSlotProps;\n\n for (const name in slots) {\n if (slots.hasOwnProperty(name)) {\n // This closure method requires the use of withSlots to prevent unnecessary rerenders. This is because React\n // detects each closure as a different component (since it is a new instance) from the previous one and then\n // forces a rerender of the entire slot subtree. For now, the only way to avoid this is to use withSlots, which\n // bypasses the call to React.createElement.\n const slot: ISlots>[keyof TComponentSlots] = (componentProps, ...args: any[]) => {\n if (args.length > 0) {\n // If React.createElement is being incorrectly used with slots, there will be additional arguments.\n // We can detect these additional arguments and error on their presence.\n throw new Error('Any module using getSlots must use withSlots. Please see withSlots javadoc for more info.');\n }\n // TODO: having TS infer types here seems to cause infinite loop.\n // use explicit types or casting to preserve typing if possible.\n // TODO: this should be a lookup on TProps property instead of being TProps directly, which is probably\n // causing the infinite loop\n return _renderSlot(\n slots[name],\n // TODO: this cast to any is hiding a relationship issue between the first two args\n componentProps as any,\n mixedProps[name],\n mixedProps.slots && mixedProps.slots[name],\n // _defaultStyles should always be present, but a check for existence is added to make view tests\n // easier to use.\n mixedProps._defaultStyles && mixedProps._defaultStyles[name],\n (mixedProps as any).theme,\n );\n };\n slot.isSlot = true;\n result[name] = slot;\n }\n }\n\n return result;\n}\n\n/**\n * Helper function that translates shorthand as needed.\n * @param defaultProp\n * @param slotProps\n */\nfunction _translateShorthand(\n defaultProp: string,\n slotProps: ISlotProp,\n): TProps | undefined {\n let transformedProps: TProps | undefined;\n\n if (typeof slotProps === 'string' || typeof slotProps === 'number' || typeof slotProps === 'boolean') {\n transformedProps = {\n [defaultProp]: slotProps as any,\n } as TProps;\n } else {\n transformedProps = slotProps as TProps;\n }\n\n return transformedProps;\n}\n\n/**\n * Helper function that constructs final styles and props given a series of props ordered by increasing priority.\n */\nfunction _constructFinalProps(\n defaultStyles: IStyle,\n theme?: ITheme,\n ...allProps: (TProps | undefined)[]\n): TProps {\n const finalProps: TProps = {} as any;\n const classNames: (string | undefined)[] = [];\n\n for (const props of allProps) {\n classNames.push(props && props.className);\n assign(finalProps, props);\n }\n\n finalProps.className = mergeCss([defaultStyles, classNames], { rtl: getRTL(theme) });\n\n return finalProps;\n}\n\n/**\n * Render a slot given component and user props. Uses component factory if available, otherwise falls back\n * to default factory.\n * @param ComponentType Factory component type.\n * @param componentProps The properties passed into slot from within the component.\n * @param userProps The user properties passed in from outside of the component.\n */\nfunction _renderSlot<\n TSlotComponent extends ISlottableReactType,\n TSlotProps extends ValidProps,\n TSlotShorthand extends ValidShorthand,\n>(\n ComponentType: TSlotComponent,\n componentProps: TSlotProps,\n userProps: ISlotProp,\n slotOptions: ISlotOptions | undefined,\n defaultStyles: IStyle,\n theme?: ITheme,\n): ReturnType {\n if (ComponentType.create !== undefined) {\n return ComponentType.create(componentProps, userProps, slotOptions, defaultStyles);\n } else {\n // TODO: need to resolve typing / generic issues passing through memoizeFunction. for now, cast to 'unknown'\n return (defaultFactory(ComponentType) as unknown as ISlotFactory)(\n componentProps,\n userProps,\n slotOptions,\n defaultStyles,\n theme,\n );\n }\n}\n","import * as React from 'react';\nimport { concatStyleSets, IStyleSet, ITheme } from '@fluentui/style-utilities';\nimport { Customizations, CustomizerContext, ICustomizerContext } from '@fluentui/utilities';\nimport { createFactory } from './slots';\nimport { assign } from './utilities';\n\nimport {\n IComponentOptions,\n ICustomizationProps,\n IStyleableComponentProps,\n IStylesFunctionOrObject,\n IToken,\n ITokenFunction,\n IViewComponent,\n} from './IComponent';\nimport { IDefaultSlotProps, ISlotCreator, ValidProps } from './ISlots';\n\n/**\n * Assembles a higher order component based on the following: styles, theme, view, and state.\n * Imposes a separation of concern and centralizes styling processing to increase ease of use and robustness\n * in how components use and apply styling and theming.\n *\n * Automatically merges and applies themes and styles with theme / styleprops having the highest priority.\n * State component, if provided, is passed in props for processing. Props from state / user are automatically processed\n * and styled before finally being passed to view.\n *\n * State components should contain all stateful behavior and should not generate any JSX, but rather simply call\n * the view prop.\n *\n * Views should simply be stateless pure functions that receive all props needed for rendering their output.\n *\n * State component is optional. If state is not provided, created component is essentially a functional\n * stateless component.\n *\n * @param options - component Component options. See IComponentOptions for more detail.\n */\nexport function createComponent<\n TComponentProps extends ValidProps,\n TTokens,\n TStyleSet extends IStyleSet,\n TViewProps extends TComponentProps = TComponentProps,\n TStatics = {},\n>(\n view: IViewComponent,\n options: IComponentOptions = {},\n): React.FunctionComponent & TStatics {\n const { factoryOptions = {} } = options;\n const { defaultProp } = factoryOptions;\n\n const ResultComponent: React.FunctionComponent = (\n componentProps: TComponentProps & IStyleableComponentProps,\n ) => {\n const settings: ICustomizationProps = _getCustomizations(\n options.displayName,\n React.useContext(CustomizerContext),\n options.fields,\n );\n\n const stateReducer = options.state;\n\n if (stateReducer) {\n // Don't assume state will return all props, so spread useState result over component props.\n componentProps = {\n ...componentProps,\n ...stateReducer(componentProps),\n };\n }\n\n const theme = componentProps.theme || settings.theme;\n\n const tokens = _resolveTokens(componentProps, theme, options.tokens, settings.tokens, componentProps.tokens);\n const styles = _resolveStyles(\n componentProps,\n theme,\n tokens,\n options.styles,\n settings.styles,\n componentProps.styles,\n );\n\n const viewProps = {\n ...componentProps,\n styles,\n tokens,\n _defaultStyles: styles,\n theme,\n } as unknown as TViewProps & IDefaultSlotProps;\n\n return view(viewProps);\n };\n\n ResultComponent.displayName = options.displayName || view.name;\n\n // If a shorthand prop is defined, create a factory for the component.\n // TODO: This shouldn't be a concern of createComponent.. factoryOptions should just be forwarded.\n // Need to weigh creating default factories on component creation vs. memoizing them on use in slots.tsx.\n if (defaultProp) {\n (ResultComponent as ISlotCreator).create = createFactory(ResultComponent, { defaultProp });\n }\n\n assign(ResultComponent, options.statics);\n\n // Later versions of TypeSript should allow us to merge objects in a type safe way and avoid this cast.\n return ResultComponent as React.FunctionComponent & TStatics;\n}\n\n/**\n * Resolve all styles functions with both props and tokens and flatten results along with all styles objects.\n */\nfunction _resolveStyles>(\n props: TProps,\n theme: ITheme,\n tokens: TTokens,\n ...allStyles: (IStylesFunctionOrObject | undefined)[]\n): ReturnType {\n return concatStyleSets(\n ...allStyles.map((styles: IStylesFunctionOrObject | undefined) =>\n typeof styles === 'function' ? styles(props, theme, tokens) : styles,\n ),\n );\n}\n\n/**\n * Resolve all tokens functions with props flatten results along with all tokens objects.\n */\nfunction _resolveTokens(\n props: TViewProps,\n theme: ITheme,\n ...allTokens: (IToken | false | null | undefined)[]\n): TTokens {\n const tokens = {};\n\n for (let currentTokens of allTokens) {\n if (currentTokens) {\n // TODO: why is this cast needed? TS seems to think there is a (TToken | Function) union from somewhere.\n currentTokens =\n typeof currentTokens === 'function'\n ? (currentTokens as ITokenFunction)(props, theme)\n : currentTokens;\n\n if (Array.isArray(currentTokens)) {\n currentTokens = _resolveTokens(props, theme, ...currentTokens);\n }\n\n assign(tokens, currentTokens);\n }\n }\n\n return tokens as TTokens;\n}\n\n/**\n * Helper function for calling Customizations.getSettings falling back to default fields.\n *\n * @param displayName Displayable name for component.\n * @param context React context passed to component containing contextual settings.\n * @param fields Optional list of properties to grab from global store and context.\n */\nfunction _getCustomizations>(\n displayName: string | undefined,\n context: ICustomizerContext,\n fields?: string[],\n): ICustomizationProps {\n // TODO: do we want field props? should fields be part of IComponent and used here?\n // TODO: should we centrally define DefaultFields? (not exported from styling)\n // TODO: tie this array to ICustomizationProps, such that each array element is keyof ICustomizationProps\n const DefaultFields = ['theme', 'styles', 'tokens'];\n return Customizations.getSettings(fields || DefaultFields, displayName, context.customizations);\n}\n","import { getGlobalClassNames } from '../../../Styling';\nimport type { IStackItemComponent, IStackItemStyles, IStackItemStylesReturnType } from './StackItem.types';\n\nexport const GlobalClassNames = {\n root: 'ms-StackItem',\n};\n\nconst alignMap: { [key: string]: string } = {\n start: 'flex-start',\n end: 'flex-end',\n};\n\nexport const StackItemStyles: IStackItemComponent['styles'] = (props, theme, tokens): IStackItemStylesReturnType => {\n const { grow, shrink, disableShrink, align, verticalFill, order, className, basis = 'auto' } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n {\n flexBasis: basis,\n margin: tokens.margin,\n padding: tokens.padding,\n height: verticalFill ? '100%' : 'auto',\n width: 'auto',\n },\n grow && {\n flexGrow: grow === true ? 1 : grow,\n },\n (disableShrink || (!grow && !shrink)) && {\n flexShrink: 0,\n },\n shrink &&\n !disableShrink && {\n flexShrink: 1,\n },\n align && {\n alignSelf: alignMap[align] || align,\n },\n order && {\n order,\n },\n className,\n ],\n // TODO: this cast may be hiding some potential issues with styling and name\n // lookups and should be removed\n } as IStackItemStyles;\n};\n","import type { ITheme } from '../../Styling';\nimport type { IStackProps } from './Stack.types';\n\n// Helper function that converts a themed spacing key (if given) to the corresponding themed spacing value.\nconst _getThemedSpacing = (space: string, theme: ITheme): string => {\n if (theme.spacing.hasOwnProperty(space)) {\n return theme.spacing[space as keyof typeof theme.spacing];\n }\n return space;\n};\n\n// Helper function that takes a gap as a string and converts it into a { value, unit } representation.\nconst _getValueUnitGap = (gap: string): { value: number; unit: string } => {\n const numericalPart = parseFloat(gap);\n const numericalValue = isNaN(numericalPart) ? 0 : numericalPart;\n const numericalString = isNaN(numericalPart) ? '' : numericalPart.toString();\n\n const unitPart = gap.substring(numericalString.toString().length);\n\n return {\n value: numericalValue,\n unit: unitPart || 'px',\n };\n};\n\n/**\n * Takes in a gap size in either a CSS-style format (e.g. 10 or \"10px\")\n * or a key of a themed spacing value (e.g. \"s1\").\n * Returns the separate numerical value of the padding (e.g. 10)\n * and the CSS unit (e.g. \"px\").\n */\nexport const parseGap = (\n gap: IStackProps['gap'],\n theme: ITheme,\n): { rowGap: { value: number; unit: string }; columnGap: { value: number; unit: string } } => {\n if (gap === undefined || gap === '') {\n return {\n rowGap: {\n value: 0,\n unit: 'px',\n },\n columnGap: {\n value: 0,\n unit: 'px',\n },\n };\n }\n\n if (typeof gap === 'number') {\n return {\n rowGap: {\n value: gap,\n unit: 'px',\n },\n columnGap: {\n value: gap,\n unit: 'px',\n },\n };\n }\n\n const splitGap = gap.split(' ');\n\n // If the array has more than two values, then return 0px.\n if (splitGap.length > 2) {\n return {\n rowGap: {\n value: 0,\n unit: 'px',\n },\n columnGap: {\n value: 0,\n unit: 'px',\n },\n };\n }\n\n // If the array has two values, then parse each one.\n if (splitGap.length === 2) {\n return {\n rowGap: _getValueUnitGap(_getThemedSpacing(splitGap[0], theme)),\n columnGap: _getValueUnitGap(_getThemedSpacing(splitGap[1], theme)),\n };\n }\n\n // Else, parse the numerical value and pass it as both the vertical and horizontal gap.\n const calculatedGap = _getValueUnitGap(_getThemedSpacing(gap, theme));\n\n return {\n rowGap: calculatedGap,\n columnGap: calculatedGap,\n };\n};\n\n/**\n * Takes in a padding in a CSS-style format (e.g. 10, \"10px\", \"10px 10px\", etc.)\n * where the separate padding values can also be the key of a themed spacing value\n * (e.g. \"s1 m\", \"10px l1 20px l2\", etc.).\n * Returns a CSS-style padding.\n */\nexport const parsePadding = (padding: number | string | undefined, theme: ITheme): number | string | undefined => {\n if (padding === undefined || typeof padding === 'number' || padding === '') {\n return padding;\n }\n\n const paddingValues = padding.split(' ');\n if (paddingValues.length < 2) {\n return _getThemedSpacing(padding, theme);\n }\n\n return paddingValues.reduce((padding1: string, padding2: string) => {\n return _getThemedSpacing(padding1, theme) + ' ' + _getThemedSpacing(padding2, theme);\n });\n};\n","import { getGlobalClassNames } from '../../Styling';\nimport { GlobalClassNames as StackItemGlobalClassNames } from './StackItem/StackItem.styles';\nimport { parseGap, parsePadding } from './StackUtils';\nimport type { IStackComponent, IStackStyles, IStackStylesReturnType } from './Stack.types';\n\nconst nameMap: { [key: string]: string } = {\n start: 'flex-start',\n end: 'flex-end',\n};\n\nexport const GlobalClassNames = {\n root: 'ms-Stack',\n inner: 'ms-Stack-inner',\n child: 'ms-Stack-child',\n};\n\nexport const styles: IStackComponent['styles'] = (props, theme, tokens): IStackStylesReturnType => {\n const {\n className,\n disableShrink,\n enableScopedSelectors,\n grow,\n horizontal,\n horizontalAlign,\n reversed,\n verticalAlign,\n verticalFill,\n wrap,\n } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n /* eslint-disable deprecation/deprecation */\n const childrenGap = tokens && tokens.childrenGap ? tokens.childrenGap : props.gap;\n const maxHeight = tokens && tokens.maxHeight ? tokens.maxHeight : props.maxHeight;\n const maxWidth = tokens && tokens.maxWidth ? tokens.maxWidth : props.maxWidth;\n const padding = tokens && tokens.padding ? tokens.padding : props.padding;\n /* eslint-enable deprecation/deprecation */\n\n const { rowGap, columnGap } = parseGap(childrenGap, theme);\n\n const horizontalMargin = `${-0.5 * columnGap.value}${columnGap.unit}`;\n const verticalMargin = `${-0.5 * rowGap.value}${rowGap.unit}`;\n\n // styles to be applied to all direct children regardless of wrap or direction\n const childStyles = {\n textOverflow: 'ellipsis',\n };\n\n const childSelector = '> ' + (enableScopedSelectors ? '.' + GlobalClassNames.child : '*');\n\n const disableShrinkStyles = {\n // flexShrink styles are applied by the StackItem\n [`${childSelector}:not(.${StackItemGlobalClassNames.root})`]: {\n flexShrink: 0,\n },\n };\n\n if (wrap) {\n return {\n root: [\n classNames.root,\n {\n flexWrap: 'wrap',\n maxWidth,\n maxHeight,\n width: 'auto',\n overflow: 'visible',\n height: '100%',\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n className,\n {\n // not allowed to be overridden by className\n // since this is necessary in order to prevent collapsing margins\n display: 'flex',\n },\n horizontal && {\n height: verticalFill ? '100%' : 'auto',\n },\n ],\n\n inner: [\n classNames.inner,\n {\n display: 'flex',\n flexWrap: 'wrap',\n marginLeft: horizontalMargin,\n marginRight: horizontalMargin,\n marginTop: verticalMargin,\n marginBottom: verticalMargin,\n overflow: 'visible',\n boxSizing: 'border-box',\n padding: parsePadding(padding, theme),\n // avoid unnecessary calc() calls if horizontal gap is 0\n width: columnGap.value === 0 ? '100%' : `calc(100% + ${columnGap.value}${columnGap.unit})`,\n maxWidth: '100vw',\n\n [childSelector]: {\n margin: `${0.5 * rowGap.value}${rowGap.unit} ${0.5 * columnGap.value}${columnGap.unit}`,\n\n ...childStyles,\n },\n },\n disableShrink && disableShrinkStyles,\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n horizontal && {\n flexDirection: reversed ? 'row-reverse' : 'row',\n\n // avoid unnecessary calc() calls if vertical gap is 0\n height: rowGap.value === 0 ? '100%' : `calc(100% + ${rowGap.value}${rowGap.unit})`,\n\n [childSelector]: {\n maxWidth: columnGap.value === 0 ? '100%' : `calc(100% - ${columnGap.value}${columnGap.unit})`,\n },\n },\n !horizontal && {\n flexDirection: reversed ? 'column-reverse' : 'column',\n height: `calc(100% + ${rowGap.value}${rowGap.unit})`,\n\n [childSelector]: {\n maxHeight: rowGap.value === 0 ? '100%' : `calc(100% - ${rowGap.value}${rowGap.unit})`,\n },\n },\n ],\n } as IStackStyles;\n }\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: horizontal ? (reversed ? 'row-reverse' : 'row') : reversed ? 'column-reverse' : 'column',\n flexWrap: 'nowrap',\n width: 'auto',\n height: verticalFill ? '100%' : 'auto',\n maxWidth,\n maxHeight,\n padding: parsePadding(padding, theme),\n boxSizing: 'border-box',\n\n [childSelector]: childStyles,\n },\n disableShrink && disableShrinkStyles,\n grow && {\n flexGrow: grow === true ? 1 : grow,\n },\n\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n horizontal &&\n columnGap.value > 0 && {\n // apply gap margin to every direct child except the first direct child if the direction is not reversed,\n // and the last direct one if it is\n [reversed ? `${childSelector}:not(:last-child)` : `${childSelector}:not(:first-child)`]: {\n marginLeft: `${columnGap.value}${columnGap.unit}`,\n },\n },\n !horizontal &&\n rowGap.value > 0 && {\n // apply gap margin to every direct child except the first direct child if the direction is not reversed,\n // and the last direct one if it is\n [reversed ? `${childSelector}:not(:last-child)` : `${childSelector}:not(:first-child)`]: {\n marginTop: `${rowGap.value}${rowGap.unit}`,\n },\n },\n className,\n ],\n // TODO: this cast may be hiding some potential issues with styling and name\n // lookups and should be removed\n } as IStackStyles;\n};\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties } from '../../../Utilities';\nimport { StackItemStyles as styles } from './StackItem.styles';\nimport type { IStackItemComponent, IStackItemProps, IStackItemSlots } from './StackItem.types';\n\nconst StackItemView: IStackItemComponent['view'] = props => {\n const { children } = props;\n const nativeProps = getNativeProps>(props, htmlElementProperties);\n // eslint-disable-next-line eqeqeq\n if (children == null) {\n return null;\n }\n\n const Slots = getSlots(props, {\n root: 'div',\n });\n\n return {children};\n};\n\nexport const StackItem: React.FunctionComponent = createComponent(StackItemView, {\n displayName: 'StackItem',\n styles,\n});\n\nexport default StackItem;\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { css, getNativeProps, htmlElementProperties, warnDeprecations } from '../../Utilities';\nimport { styles, GlobalClassNames as StackGlobalClassNames } from './Stack.styles';\nimport { StackItem } from './StackItem/StackItem';\nimport type { IStackComponent, IStackProps, IStackSlots } from './Stack.types';\nimport type { IStackItemProps } from './StackItem/StackItem.types';\n\nconst StackView: IStackComponent['view'] = props => {\n const { as: RootType = 'div', disableShrink = false, enableScopedSelectors = false, wrap, ...rest } = props;\n\n warnDeprecations('Stack', props, {\n gap: 'tokens.childrenGap',\n maxHeight: 'tokens.maxHeight',\n maxWidth: 'tokens.maxWidth',\n padding: 'tokens.padding',\n });\n\n const stackChildren = _processStackChildren(props.children, { disableShrink, enableScopedSelectors });\n\n const nativeProps = getNativeProps>(rest, htmlElementProperties);\n\n const Slots = getSlots(props, {\n root: RootType,\n inner: 'div',\n });\n\n if (wrap) {\n return (\n \n {stackChildren}\n \n );\n }\n\n return {stackChildren};\n};\n\nfunction _processStackChildren(\n children: React.ReactNode,\n { disableShrink, enableScopedSelectors }: { disableShrink: boolean; enableScopedSelectors: boolean },\n): (React.ReactChild | React.ReactFragment | React.ReactPortal)[] {\n let childrenArray = React.Children.toArray(children);\n\n childrenArray = React.Children.map(childrenArray, child => {\n if (!child || !React.isValidElement(child)) {\n return child;\n }\n\n if (child.type === React.Fragment) {\n return child.props.children\n ? _processStackChildren(child.props.children, { disableShrink, enableScopedSelectors })\n : null;\n }\n\n const childAsReactElement = child as React.ReactElement;\n\n let defaultItemProps: IStackItemProps = {};\n if (_isStackItem(child)) {\n defaultItemProps = { shrink: !disableShrink };\n }\n const childClassName = childAsReactElement.props.className;\n\n return React.cloneElement(childAsReactElement, {\n ...defaultItemProps,\n ...childAsReactElement.props,\n ...(childClassName && { className: childClassName }),\n ...(enableScopedSelectors && { className: css(StackGlobalClassNames.child, childClassName) }),\n });\n });\n\n return childrenArray;\n}\n\nfunction _isStackItem(item: React.ReactNode): item is typeof StackItem {\n // In theory, we should be able to just check item.type === StackItem.\n // However, under certain unclear circumstances (see https://github.com/microsoft/fluentui/issues/10785),\n // the object identity is different despite the function implementation being the same.\n return (\n !!item &&\n typeof item === 'object' &&\n !!(item as React.ReactElement).type &&\n // StackItem is generated by createComponent, so we need to check its displayName instead of name\n ((item as React.ReactElement).type as React.ComponentType).displayName === StackItem.displayName\n );\n}\n\nconst StackStatics = {\n Item: StackItem,\n};\n\nexport const Stack: React.FunctionComponent & {\n Item: React.FunctionComponent;\n} = createComponent(StackView, {\n displayName: 'Stack',\n styles,\n statics: StackStatics,\n});\n\nexport default Stack;\n","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\n// this cache is local to the module closure inside this bundle\nconst packagesCache: { [name: string]: string } = {};\n\n// Cache access to window to avoid IE11 memory leak.\nlet _win: Window | undefined = undefined;\n\ntry {\n _win = window;\n} catch (e) {\n /* no-op */\n}\n\nexport function setVersion(packageName: string, packageVersion: string): void {\n if (typeof _win !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const packages = ((_win as any).__packages__ = (_win as any).__packages__ || {});\n\n // We allow either the global packages or local packages caches to invalidate so testing can\n // just clear the global to set this state\n if (!packages[packageName] || !packagesCache[packageName]) {\n packagesCache[packageName] = packageVersion;\n const versions = (packages[packageName] = packages[packageName] || []);\n versions.push(packageVersion);\n }\n }\n}\n","import { setVersion } from './setVersion';\nexport { setVersion };\n\nsetVersion('@fluentui/set-version', '6.0.0');\n","import { keyframes } from '@fluentui/merge-styles';\nimport type { IAnimationStyles, IAnimationVariables } from '../types/IAnimationStyles';\nimport type { IRawStyle } from '@fluentui/merge-styles';\n\n/* Register the keyframes */\n\nconst EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nconst EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nconst DURATION_1 = '0.167s';\nconst DURATION_2 = '0.267s';\nconst DURATION_3 = '0.367s';\nconst DURATION_4 = '0.467s';\n\nconst FADE_IN: string = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n});\n\nconst FADE_OUT: string = keyframes({\n from: { opacity: 1 },\n to: { opacity: 0, visibility: 'hidden' },\n});\n\nconst SLIDE_RIGHT_IN10: string = _createSlideInX(-10);\nconst SLIDE_RIGHT_IN20: string = _createSlideInX(-20);\nconst SLIDE_RIGHT_IN40: string = _createSlideInX(-40);\nconst SLIDE_RIGHT_IN400: string = _createSlideInX(-400);\nconst SLIDE_LEFT_IN10: string = _createSlideInX(10);\nconst SLIDE_LEFT_IN20: string = _createSlideInX(20);\nconst SLIDE_LEFT_IN40: string = _createSlideInX(40);\nconst SLIDE_LEFT_IN400: string = _createSlideInX(400);\nconst SLIDE_UP_IN10: string = _createSlideInY(10);\nconst SLIDE_UP_IN20: string = _createSlideInY(20);\nconst SLIDE_DOWN_IN10: string = _createSlideInY(-10);\nconst SLIDE_DOWN_IN20: string = _createSlideInY(-20);\n\nconst SLIDE_RIGHT_OUT10: string = _createSlideOutX(10);\nconst SLIDE_RIGHT_OUT20: string = _createSlideOutX(20);\nconst SLIDE_RIGHT_OUT40: string = _createSlideOutX(40);\nconst SLIDE_RIGHT_OUT400: string = _createSlideOutX(400);\nconst SLIDE_LEFT_OUT10: string = _createSlideOutX(-10);\nconst SLIDE_LEFT_OUT20: string = _createSlideOutX(-20);\nconst SLIDE_LEFT_OUT40: string = _createSlideOutX(-40);\nconst SLIDE_LEFT_OUT400: string = _createSlideOutX(-400);\nconst SLIDE_UP_OUT10: string = _createSlideOutY(-10);\nconst SLIDE_UP_OUT20: string = _createSlideOutY(-20);\nconst SLIDE_DOWN_OUT10: string = _createSlideOutY(10);\nconst SLIDE_DOWN_OUT20: string = _createSlideOutY(20);\n\nconst SCALE_UP100: string = keyframes({\n from: { transform: 'scale3d(.98,.98,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\n\nconst SCALE_DOWN98: string = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(.98,.98,1)' },\n});\n\nconst SCALE_DOWN100: string = keyframes({\n from: { transform: 'scale3d(1.03,1.03,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\n\nconst SCALE_UP103: string = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(1.03,1.03,1)' },\n});\n\nconst ROTATE90: string = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(90deg)' },\n});\n\nconst ROTATE_N90: string = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(-90deg)' },\n});\n\n/**\n * Exporting raw duraction values and easing functions to be used in custom animations\n */\nexport const AnimationVariables: IAnimationVariables = {\n easeFunction1: EASING_FUNCTION_1,\n easeFunction2: EASING_FUNCTION_2,\n durationValue1: DURATION_1,\n durationValue2: DURATION_2,\n durationValue3: DURATION_3,\n durationValue4: DURATION_4,\n};\n\n/**\n * All Fabric standard animations, exposed as json objects referencing predefined\n * keyframes. These objects can be mixed in with other class definitions.\n */\nexport const AnimationStyles: IAnimationStyles = {\n slideRightIn10: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn20: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn40: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN40}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn400: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN400}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn10: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn20: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn40: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN40}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn400: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN400}`, DURATION_3, EASING_FUNCTION_1),\n slideUpIn10: _createAnimation(`${FADE_IN},${SLIDE_UP_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideUpIn20: _createAnimation(`${FADE_IN},${SLIDE_UP_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideDownIn10: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideDownIn20: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN20}`, DURATION_3, EASING_FUNCTION_1),\n\n slideRightOut10: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut20: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut40: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut400: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut10: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut20: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut40: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut400: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\n slideUpOut10: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideUpOut20: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideDownOut10: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideDownOut20: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n\n scaleUpIn100: _createAnimation(`${FADE_IN},${SCALE_UP100}`, DURATION_3, EASING_FUNCTION_1),\n scaleDownIn100: _createAnimation(`${FADE_IN},${SCALE_DOWN100}`, DURATION_3, EASING_FUNCTION_1),\n scaleUpOut103: _createAnimation(`${FADE_OUT},${SCALE_UP103}`, DURATION_1, EASING_FUNCTION_2),\n scaleDownOut98: _createAnimation(`${FADE_OUT},${SCALE_DOWN98}`, DURATION_1, EASING_FUNCTION_2),\n\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\n\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\n\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2),\n\n // expandCollapse 100/200/400, delay 100/200\n};\n\nfunction _createAnimation(\n animationName: string,\n animationDuration: string,\n animationTimingFunction: string,\n): IRawStyle {\n return {\n animationName,\n animationDuration,\n animationTimingFunction,\n animationFillMode: 'both',\n };\n}\n\nfunction _createSlideInX(fromX: number): string {\n return keyframes({\n from: { transform: `translate3d(${fromX}px,0,0)`, pointerEvents: 'none' },\n to: { transform: `translate3d(0,0,0)`, pointerEvents: 'auto' },\n });\n}\n\nfunction _createSlideInY(fromY: number): string {\n return keyframes({\n from: { transform: `translate3d(0,${fromY}px,0)`, pointerEvents: 'none' },\n to: { transform: `translate3d(0,0,0)`, pointerEvents: 'auto' },\n });\n}\n\nfunction _createSlideOutX(toX: number): string {\n return keyframes({\n from: { transform: `translate3d(0,0,0)` },\n to: { transform: `translate3d(${toX}px,0,0)` },\n });\n}\n\nfunction _createSlideOutY(toY: number): string {\n return keyframes({\n from: { transform: `translate3d(0,0,0)` },\n to: { transform: `translate3d(0,${toY}px,0)` },\n });\n}\n","import { buildClassMap } from '../utilities/index';\nimport { AnimationStyles } from '../styles/index';\nimport type { IAnimationStyles } from '../interfaces/index';\n\n/**\n * {@docCategory AnimationClassNames}\n */\nexport const AnimationClassNames: { [key in keyof IAnimationStyles]?: string } = buildClassMap(AnimationStyles);\n","import { mergeStyles } from '../MergeStyles';\n\n/**\n * Builds a class names object from a given map.\n *\n * @param styles - Map of unprocessed styles.\n * @returns Map of property name to class name.\n */\nexport function buildClassMap(styles: T): { [key in keyof T]?: string } {\n let classes: { [key in keyof T]?: string } = {};\n\n for (let styleName in styles) {\n if (styles.hasOwnProperty(styleName)) {\n let className: string;\n\n Object.defineProperty(classes, styleName, {\n get: (): string => {\n if (className === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n className = mergeStyles(styles[styleName] as any).toString();\n }\n return className;\n },\n enumerable: true,\n configurable: true,\n });\n }\n }\n\n return classes;\n}\n","import type { IRawStyle } from '../MergeStyles';\n\nexport const HighContrastSelector = '@media screen and (-ms-high-contrast: active), screen and (forced-colors: active)';\nexport const HighContrastSelectorWhite =\n // eslint-disable-next-line @fluentui/max-len\n '@media screen and (-ms-high-contrast: black-on-white), screen and (forced-colors: active) and (prefers-color-scheme: light)';\nexport const HighContrastSelectorBlack =\n // eslint-disable-next-line @fluentui/max-len\n '@media screen and (-ms-high-contrast: white-on-black), screen and (forced-colors: active) and (prefers-color-scheme: dark)';\n/**\n * @deprecated Use `HighContrastSelector`\n */\nexport const EdgeChromiumHighContrastSelector =\n '@media screen and (-ms-high-contrast: active), screen and (forced-colors: active)';\n\nexport const ScreenWidthMinSmall = 320;\nexport const ScreenWidthMinMedium = 480;\nexport const ScreenWidthMinLarge = 640;\nexport const ScreenWidthMinXLarge = 1024;\nexport const ScreenWidthMinXXLarge = 1366;\nexport const ScreenWidthMinXXXLarge = 1920;\nexport const ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport const ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport const ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport const ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport const ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\n\nexport const ScreenWidthMinUhfMobile = 768;\n\nexport function getScreenSelector(min: number | undefined, max: number | undefined): string {\n const minSelector = typeof min === 'number' ? ` and (min-width: ${min}px)` : '';\n const maxSelector = typeof max === 'number' ? ` and (max-width: ${max}px)` : '';\n return `@media only screen${minSelector}${maxSelector}`;\n}\n\n/**\n * The style which turns off high contrast adjustment in browsers.\n */\nexport function getHighContrastNoAdjustStyle(): IRawStyle {\n return {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n };\n}\n\n/**\n * The style which turns off high contrast adjustment in (only) Edge Chromium browser.\n * @deprecated Use `getHighContrastNoAdjustStyle`\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function getEdgeChromiumNoHighContrastAdjustSelector(): { [EdgeChromiumHighContrastSelector]: IRawStyle } {\n return {\n // eslint-disable-next-line deprecation/deprecation\n [EdgeChromiumHighContrastSelector]: {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n },\n };\n}\n","export namespace ZIndexes {\n export const Nav: number = 1;\n /**\n * @deprecated Do not use\n */\n export const ScrollablePane: number = 1;\n export const FocusStyle: number = 1;\n export const Coachmark: number = 1000;\n export const Layer: number = 1000000;\n export const KeytipLayer: number = 1000001;\n}\n","import { HighContrastSelector } from './CommonStyles';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nimport { ZIndexes } from './zIndexes';\nimport type { IRawStyle } from '@fluentui/merge-styles';\nimport type { IGetFocusStylesOptions, ITheme } from '../interfaces/index';\n\n/**\n * Generates a focus style which can be used to define an :after focus border.\n *\n * @param theme - The theme object to use.\n * @param options - Options to customize the focus border.\n * @returns The style object.\n */\nexport function getFocusStyle(theme: ITheme, options?: IGetFocusStylesOptions): IRawStyle;\n/**\n * Generates a focus style which can be used to define an :after focus border.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border.\n * @param position - The positioning applied to the container. Must\n * be 'relative' or 'absolute' so that the focus border can live around it.\n * @param highContrastStyle - Style for high contrast mode.\n * @param borderColor - Color of the border.\n * @param outlineColor - Color of the outline.\n * @param isFocusedOnly - If the styles should apply on focus or not.\n * @param borderRadius - If the style should include a rounded border.\n * @returns The style object.\n * @deprecated Use the object parameter version instead.\n */\nexport function getFocusStyle(\n theme: ITheme,\n inset?: number,\n position?: 'relative' | 'absolute',\n highContrastStyle?: IRawStyle | undefined,\n borderColor?: string,\n outlineColor?: string,\n isFocusedOnly?: boolean,\n borderRadius?: string | number | undefined,\n): IRawStyle;\nexport function getFocusStyle(\n theme: ITheme,\n insetOrOptions?: number | IGetFocusStylesOptions,\n position?: 'relative' | 'absolute',\n highContrastStyle?: IRawStyle,\n borderColor?: string,\n outlineColor?: string,\n isFocusedOnly?: boolean,\n borderRadius?: string | number | undefined,\n): IRawStyle {\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\n return _getFocusStyleInternal(theme, {\n inset: insetOrOptions,\n position,\n highContrastStyle,\n borderColor,\n outlineColor,\n isFocusedOnly,\n borderRadius,\n });\n } else {\n return _getFocusStyleInternal(theme, insetOrOptions);\n }\n}\n\nfunction _getFocusStyleInternal(theme: ITheme, options: IGetFocusStylesOptions = {}): IRawStyle {\n const {\n borderRadius,\n inset = 0,\n width = 1,\n position = 'relative',\n highContrastStyle,\n borderColor = theme.palette.white,\n outlineColor = theme.palette.neutralSecondary,\n isFocusedOnly = true,\n pointerEvents,\n } = options;\n\n return {\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\n outline: 'transparent',\n // Requirement because pseudo-element is absolutely positioned.\n position,\n\n selectors: {\n // Clear the focus border in Firefox.\n // Reference: http://stackoverflow.com/a/199319/1436671\n '::-moz-focus-inner': {\n border: '0',\n },\n\n // When the element that uses this mixin is in a :focus state, add a pseudo-element to\n // create a border.\n [`.${IsFocusVisibleClassName} &${isFocusedOnly ? ':focus' : ''}:after`]: {\n content: '\"\"',\n position: 'absolute',\n pointerEvents,\n left: inset + 1,\n top: inset + 1,\n bottom: inset + 1,\n right: inset + 1,\n border: `${width}px solid ${borderColor}`,\n outline: `${width}px solid ${outlineColor}`,\n zIndex: ZIndexes.FocusStyle,\n borderRadius: borderRadius,\n selectors: {\n [HighContrastSelector]: highContrastStyle,\n },\n },\n },\n };\n}\n\n/**\n * Generates style to clear browser specific focus styles.\n */\nexport function focusClear(): IRawStyle {\n return {\n selectors: {\n '&::-moz-focus-inner': {\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\n border: 0,\n },\n '&': {\n // Clear browser specific focus styles and use transparent as placeholder for focus style\n outline: 'transparent',\n },\n },\n };\n}\n\n/**\n * Generates a style which can be used to set a border on focus.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border (default 0)\n * @param width - The border width in pixels (default 1)\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\n * @returns The style object.\n */\nexport function getFocusOutlineStyle(theme: ITheme, inset: number = 0, width: number = 1, color?: string): IRawStyle {\n return {\n selectors: {\n [`:global(${IsFocusVisibleClassName}) &:focus`]: {\n outline: `${width} solid ${color || theme.palette.neutralSecondary}`,\n outlineOffset: `${-inset}px`,\n },\n },\n };\n}\n\n/**\n * Generates text input border styles on focus.\n *\n * @param borderColor - Color of the border.\n * @param borderRadius - Radius of the border.\n * @param borderType - Type of the border.\n * @param borderPosition - Position of the border relative to the input element (default to -1\n * as it's the most common border width of the input element)\n * @returns The style object.\n */\nexport const getInputFocusStyle = (\n borderColor: string,\n borderRadius: string | number,\n borderType: 'border' | 'borderBottom' = 'border',\n borderPosition: number = -1,\n): IRawStyle => {\n const isBorderBottom = borderType === 'borderBottom';\n\n return {\n borderColor,\n selectors: {\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: isBorderBottom ? 0 : borderPosition,\n top: borderPosition,\n bottom: borderPosition,\n right: isBorderBottom ? 0 : borderPosition,\n [borderType]: `2px solid ${borderColor}`,\n borderRadius,\n width: borderType === 'borderBottom' ? '100%' : undefined,\n selectors: {\n [HighContrastSelector]: {\n [borderType === 'border' ? 'borderColor' : 'borderBottomColor']: 'Highlight',\n },\n },\n },\n },\n };\n};\n","import type { IRawStyle } from '@fluentui/merge-styles';\n\nexport const hiddenContentStyle: IRawStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n};\n","import { Stylesheet } from '@fluentui/merge-styles';\nimport { memoizeFunction } from '@fluentui/utilities';\nimport type { ITheme } from '../interfaces/index';\n\nexport type GlobalClassNames = Record;\n\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\nconst _getGlobalClassNames = memoizeFunction(\n (classNames: GlobalClassNames, disableGlobalClassNames?: boolean): GlobalClassNames => {\n const styleSheet = Stylesheet.getInstance();\n\n if (disableGlobalClassNames) {\n // disable global classnames\n return (Object.keys(classNames) as (keyof T)[]).reduce((acc, className) => {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {} as GlobalClassNames);\n }\n\n // use global classnames\n return classNames;\n },\n);\n\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\nexport function getGlobalClassNames(\n classNames: GlobalClassNames,\n theme: ITheme,\n disableGlobalClassNames?: boolean,\n): GlobalClassNames {\n return _getGlobalClassNames(\n classNames,\n disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames,\n );\n}\n","import { Customizations, getWindow } from '@fluentui/utilities';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { createTheme } from '@fluentui/theme';\nimport type { ITheme, IPartialTheme, IFontStyles } from '../interfaces/index';\nimport type { IRawStyle } from '@fluentui/merge-styles';\n\nexport { createTheme } from '@fluentui/theme';\n\nlet _theme: ITheme = createTheme({});\nlet _onThemeChangeCallbacks: Array<(theme: ITheme) => void> = [];\n\nexport const ThemeSettingName = 'theme';\n\nexport function initializeThemeInCustomizations(): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win: any = getWindow();\n\n if (win?.FabricConfig?.legacyTheme) {\n // does everything the `else` clause does and more, such as invoke legacy theming\n loadTheme(win.FabricConfig.legacyTheme);\n } else if (!Customizations.getSettings([ThemeSettingName]).theme) {\n if (win?.FabricConfig?.theme) {\n _theme = createTheme(win.FabricConfig.theme);\n }\n\n // Set the default theme.\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n }\n}\n\ninitializeThemeInCustomizations();\n\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function getTheme(depComments: boolean = false): ITheme {\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n return _theme;\n}\n\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\nexport function registerOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\nexport function removeOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n const i = _onThemeChangeCallbacks.indexOf(callback);\n if (i === -1) {\n return;\n }\n\n _onThemeChangeCallbacks.splice(i, 1);\n}\n\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function loadTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\n _theme = createTheme(theme, depComments);\n\n // Invoke the legacy method of theming the page as well.\n legacyLoadTheme({ ..._theme.palette, ..._theme.semanticColors, ..._theme.effects, ..._loadFonts(_theme) });\n\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n\n _onThemeChangeCallbacks.forEach((callback: (theme: ITheme) => void) => {\n try {\n callback(_theme);\n } catch (e) {\n // don't let a bad callback break everything else\n }\n });\n\n return _theme;\n}\n\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\nfunction _loadFonts(theme: ITheme): { [name: string]: string } {\n const lines: { [key: string]: string } = {};\n\n for (const fontName of Object.keys(theme.fonts)) {\n const font: IRawStyle = theme.fonts[fontName as keyof IFontStyles];\n\n for (const propName of Object.keys(font)) {\n const name: string = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n let value = font[propName as keyof IRawStyle] as string;\n\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n lines[name] = value;\n }\n }\n return lines;\n}\n","import type { IRawStyle } from '@fluentui/merge-styles';\n\n// This file mimics styles and mixins from _General.Mixins.scss\nexport const normalize: IRawStyle = {\n boxShadow: 'none',\n margin: 0,\n padding: 0,\n boxSizing: 'border-box',\n};\n\nexport const noWrap: IRawStyle = {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n};\n","import type { IStyle } from '@fluentui/merge-styles';\n\n/**\n * Generates placeholder style for each of the browsers supported by `@fluentui/react`.\n * @param styles - The style to use.\n * @returns The placeholder style object for each browser depending on the placeholder directive it uses.\n */\nexport function getPlaceholderStyles(styles: IStyle): IStyle {\n return {\n selectors: {\n '::placeholder': styles, // Chrome, Safari, Opera, Firefox\n ':-ms-input-placeholder': styles, // IE 10+\n '::-ms-input-placeholder': styles, // Edge\n },\n };\n}\n","import { GlobalSettings, warn } from '@fluentui/utilities';\nimport { fontFace, mergeStyles, Stylesheet } from '@fluentui/merge-styles';\nimport type { IRawStyle, IFontFace } from '@fluentui/merge-styles';\n\nexport interface IIconSubset {\n fontFace?: IFontFace;\n icons: {\n [key: string]: string | JSX.Element;\n };\n\n style?: IRawStyle;\n /**\n * Indicates to the icon renderer that it is safe to merge any props on the original `Icon` element\n * onto the child content element registered for the icon which are valid for HTML images.\n */\n mergeImageProps?: boolean;\n}\n\nexport interface IIconSubsetRecord extends IIconSubset {\n isRegistered?: boolean;\n className?: string;\n}\n\nexport interface IIconRecord {\n code: string | undefined;\n subset: IIconSubsetRecord;\n}\n\nexport interface IIconOptions {\n /**\n * By default, registering the same set of icons will generate a console warning per duplicate icon\n * registered, because this scenario can create unexpected consequences.\n *\n * Some scenarios include:\n *\n * Icon set was previously registered using a different base url.\n * Icon set was previously registered but a different version was provided.\n * Icons in a previous registered set overlap with a new set.\n *\n * To simply ignore previously registered icons, you can specify to disable warnings. This means\n * that if an icon which was previous registered is registered again, it will be silently ignored.\n * However, consider whether the problems listed above will cause issues.\n **/\n disableWarnings: boolean;\n\n /**\n * @deprecated Use `disableWarnings` instead.\n */\n warnOnMissingIcons?: boolean;\n}\n\nexport interface IIconRecords {\n __options: IIconOptions;\n __remapped: { [key: string]: string };\n [key: string]: IIconRecord | {};\n}\n\nconst ICON_SETTING_NAME = 'icons';\n\nconst _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\n __options: {\n disableWarnings: false,\n warnOnMissingIcons: true,\n },\n __remapped: {},\n});\n\n// Reset icon registration on stylesheet resets.\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => {\n for (const name in _iconSettings) {\n if (_iconSettings.hasOwnProperty(name) && !!(_iconSettings[name] as IIconRecord).subset) {\n (_iconSettings[name] as IIconRecord).subset.className = undefined;\n }\n }\n });\n}\n\n/**\n * Normalizes an icon name for consistent mapping.\n * Current implementation is to convert the icon name to lower case.\n *\n * @param name - Icon name to normalize.\n * @returns {string} Normalized icon name to use for indexing and mapping.\n */\nconst normalizeIconName = (name: string): string => name.toLowerCase();\n\n/**\n * Registers a given subset of icons.\n *\n * @param iconSubset - the icon subset definition.\n */\nexport function registerIcons(iconSubset: IIconSubset, options?: Partial): void {\n let subset = {\n ...iconSubset,\n isRegistered: false,\n className: undefined,\n };\n let { icons } = iconSubset;\n\n // Grab options, optionally mix user provided ones on top.\n options = options ? { ..._iconSettings.__options, ...options } : _iconSettings.__options;\n\n for (const iconName in icons) {\n if (icons.hasOwnProperty(iconName)) {\n const code = icons[iconName];\n const normalizedIconName = normalizeIconName(iconName);\n\n if (_iconSettings[normalizedIconName]) {\n _warnDuplicateIcon(iconName);\n } else {\n _iconSettings[normalizedIconName] = {\n code,\n subset,\n } as IIconRecord;\n }\n }\n }\n}\n\n/**\n * Unregisters icons by name.\n *\n * @param iconNames - List of icons to unregister.\n */\nexport function unregisterIcons(iconNames: string[]): void {\n const options = _iconSettings.__options;\n\n for (const iconName of iconNames) {\n const normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n delete _iconSettings[normalizedIconName];\n } else {\n // Warn that we are trying to delete an icon that doesn't exist\n if (!options.disableWarnings) {\n warn(`The icon \"${iconName}\" tried to unregister but was not registered.`);\n }\n }\n\n // Delete any aliases for this iconName\n if (_iconSettings.__remapped[normalizedIconName]) {\n delete _iconSettings.__remapped[normalizedIconName];\n }\n\n // Delete any items that were an alias for this iconName\n Object.keys(_iconSettings.__remapped).forEach((key: string) => {\n if (_iconSettings.__remapped[key] === normalizedIconName) {\n delete _iconSettings.__remapped[key];\n }\n });\n }\n}\n\n/**\n * Remaps one icon name to another.\n */\nexport function registerIconAlias(iconName: string, mappedToName: string): void {\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\n}\n\n/**\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\n * it will get registered immediately.\n *\n * @public\n * @param name - Name of icon.\n */\nexport function getIcon(name?: string): IIconRecord | undefined {\n let icon: IIconRecord | undefined = undefined;\n const options = _iconSettings.__options;\n\n name = name ? normalizeIconName(name) : '';\n name = _iconSettings.__remapped[name] || name;\n\n if (name) {\n icon = _iconSettings[name!] as IIconRecord;\n\n if (icon) {\n let { subset } = icon;\n if (subset && subset.fontFace) {\n if (!subset.isRegistered) {\n fontFace(subset.fontFace);\n subset.isRegistered = true;\n }\n\n if (!subset.className) {\n subset.className = mergeStyles(subset.style, {\n fontFamily: subset.fontFace.fontFamily,\n fontWeight: subset.fontFace.fontWeight || 'normal',\n fontStyle: subset.fontFace.fontStyle || 'normal',\n });\n }\n }\n } else {\n // eslint-disable-next-line deprecation/deprecation\n if (!options.disableWarnings && options.warnOnMissingIcons) {\n warn(\n `The icon \"${name}\" was used but not registered. See https://github.com/microsoft/fluentui/wiki/Using-icons for more information.`,\n );\n }\n }\n }\n\n return icon;\n}\n\n/**\n * Sets the icon options.\n *\n * @public\n */\nexport function setIconOptions(options: Partial): void {\n _iconSettings.__options = {\n ..._iconSettings.__options,\n ...options,\n };\n}\n\nlet _missingIcons: string[] = [];\nlet _missingIconsTimer: ReturnType | undefined = undefined;\n\nfunction _warnDuplicateIcon(iconName: string): void {\n const options = _iconSettings.__options;\n const warningDelay = 2000;\n const maxIconsInMessage = 10;\n\n if (!options.disableWarnings) {\n _missingIcons.push(iconName);\n if (_missingIconsTimer === undefined) {\n _missingIconsTimer = setTimeout(() => {\n warn(\n `Some icons were re-registered. Applications should only call registerIcons for any given ` +\n `icon once. Redefining what an icon is may have unintended consequences. Duplicates ` +\n `include: \\n` +\n _missingIcons.slice(0, maxIconsInMessage).join(', ') +\n (_missingIcons.length > maxIconsInMessage ? ` (+ ${_missingIcons.length - maxIconsInMessage} more)` : ''),\n );\n _missingIconsTimer = undefined;\n _missingIcons = [];\n }, warningDelay);\n }\n }\n}\n","export const FLUENT_CDN_BASE_URL = 'https://res.cdn.office.net/files/fabric-cdn-prod_20230307.001';\n","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/style-utilities', '8.9.6');","export * from './classNames/index';\nexport * from './styles/index';\nexport * from './utilities/index';\nexport * from './interfaces/index';\nexport * from './MergeStyles';\nexport * from './cdn';\n\nimport './version';\n\n// Ensure theme is initialized when this package is referenced.\nimport { initializeThemeInCustomizations } from './styles/theme';\ninitializeThemeInCustomizations();\n","import type { IPalette } from '../types/index';\n\n// When adding or removing a color, make sure you keep this consistent with IColorClassNames\n// by adding the color variants.\nexport const DefaultPalette: IPalette = {\n themeDarker: '#004578',\n themeDark: '#005a9e',\n themeDarkAlt: '#106ebe',\n themePrimary: '#0078d4',\n themeSecondary: '#2b88d8',\n themeTertiary: '#71afe5',\n themeLight: '#c7e0f4',\n themeLighter: '#deecf9',\n themeLighterAlt: '#eff6fc',\n black: '#000000',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n accent: '#0078d4',\n white: '#ffffff',\n whiteTranslucent40: 'rgba(255,255,255,.4)',\n yellowDark: '#d29200',\n yellow: '#ffb900',\n yellowLight: '#fff100',\n orange: '#d83b01',\n orangeLight: '#ea4300',\n orangeLighter: '#ff8c00',\n redDark: '#a4262c',\n red: '#e81123',\n magentaDark: '#5c005c',\n magenta: '#b4009e',\n magentaLight: '#e3008c',\n purpleDark: '#32145a',\n purple: '#5c2d91',\n purpleLight: '#b4a0ff',\n blueDark: '#002050',\n blueMid: '#00188f',\n blue: '#0078d4',\n blueLight: '#00bcf2',\n tealDark: '#004b50',\n teal: '#008272',\n tealLight: '#00b294',\n greenDark: '#004b1c',\n green: '#107c10',\n greenLight: '#bad80a',\n};\n","export namespace Depths {\n export const depth0 = '0 0 0 0 transparent';\n export const depth4 = '0 1.6px 3.6px 0 rgba(0, 0, 0, 0.132), 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.108)';\n export const depth8 = '0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108)';\n export const depth16 = '0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108)';\n export const depth64 = '0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18)';\n}\n","import { Depths } from './FluentDepths';\nimport type { IEffects } from '../types/index';\n\nexport const DefaultEffects: IEffects = {\n elevation4: Depths.depth4,\n elevation8: Depths.depth8,\n elevation16: Depths.depth16,\n elevation64: Depths.depth64,\n\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n};\n","import { FontSizes, FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\nimport type { IFontWeight, IRawStyle } from '@fluentui/merge-styles';\nimport type { IFontStyles } from '../types/IFontStyles';\n\n// Fallback fonts, if specified system or web fonts are unavailable.\nconst FontFamilyFallbacks = `'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif`;\n\n// By default, we favor system fonts for the default.\n// All localized fonts use a web font and never use the system font.\nconst defaultFontFamily = `'Segoe UI', '${LocalizedFontNames.WestEuropean}'`;\n\n// Mapping of language prefix to to font family.\nconst LanguageToFontMap = {\n ar: LocalizedFontFamilies.Arabic,\n bg: LocalizedFontFamilies.Cyrillic,\n cs: LocalizedFontFamilies.EastEuropean,\n el: LocalizedFontFamilies.Greek,\n et: LocalizedFontFamilies.EastEuropean,\n he: LocalizedFontFamilies.Hebrew,\n hi: LocalizedFontFamilies.Hindi,\n hr: LocalizedFontFamilies.EastEuropean,\n hu: LocalizedFontFamilies.EastEuropean,\n ja: LocalizedFontFamilies.Japanese,\n kk: LocalizedFontFamilies.EastEuropean,\n ko: LocalizedFontFamilies.Korean,\n lt: LocalizedFontFamilies.EastEuropean,\n lv: LocalizedFontFamilies.EastEuropean,\n pl: LocalizedFontFamilies.EastEuropean,\n ru: LocalizedFontFamilies.Cyrillic,\n sk: LocalizedFontFamilies.EastEuropean,\n 'sr-latn': LocalizedFontFamilies.EastEuropean,\n th: LocalizedFontFamilies.Thai,\n tr: LocalizedFontFamilies.EastEuropean,\n uk: LocalizedFontFamilies.Cyrillic,\n vi: LocalizedFontFamilies.Vietnamese,\n 'zh-hans': LocalizedFontFamilies.ChineseSimplified,\n 'zh-hant': LocalizedFontFamilies.ChineseTraditional,\n hy: LocalizedFontFamilies.Armenian,\n ka: LocalizedFontFamilies.Georgian,\n};\n\nfunction _fontFamilyWithFallbacks(fontFamily: string): string {\n return `${fontFamily}, ${FontFamilyFallbacks}`;\n}\n\n/**\n * If there is a localized font for this language, return that.\n * Returns undefined if there is no localized font for that language.\n */\nfunction _getLocalizedFontFamily(language: string | null): string {\n for (const lang in LanguageToFontMap) {\n if (LanguageToFontMap.hasOwnProperty(lang) && language && lang.indexOf(language) === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (LanguageToFontMap as any)[lang];\n }\n }\n\n return defaultFontFamily;\n}\n\nfunction _createFont(size: string, weight: IFontWeight, fontFamily: string): IRawStyle {\n return {\n fontFamily: fontFamily,\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontSize: size,\n fontWeight: weight,\n };\n}\n\nexport function createFontStyles(localeCode: string | null): IFontStyles {\n const localizedFont = _getLocalizedFontFamily(localeCode);\n const fontFamilyWithFallback = _fontFamilyWithFallbacks(localizedFont);\n\n const fontStyles = {\n tiny: _createFont(FontSizes.mini, FontWeights.regular, fontFamilyWithFallback),\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular, fontFamilyWithFallback),\n small: _createFont(FontSizes.small, FontWeights.regular, fontFamilyWithFallback),\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular, fontFamilyWithFallback),\n medium: _createFont(FontSizes.medium, FontWeights.regular, fontFamilyWithFallback),\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular, fontFamilyWithFallback),\n large: _createFont(FontSizes.large, FontWeights.regular, fontFamilyWithFallback),\n xLarge: _createFont(FontSizes.xLarge, FontWeights.semibold, fontFamilyWithFallback),\n xLargePlus: _createFont(FontSizes.xLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.semibold, fontFamilyWithFallback),\n xxLargePlus: _createFont(FontSizes.xxLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n superLarge: _createFont(FontSizes.superLarge, FontWeights.semibold, fontFamilyWithFallback),\n mega: _createFont(FontSizes.mega, FontWeights.semibold, fontFamilyWithFallback),\n };\n\n return fontStyles;\n}\n","import { getDocument } from './dom/getDocument';\nimport * as localStorage from './localStorage';\nimport * as sessionStorage from './sessionStorage';\n\n// Default to undefined so that we initialize on first read.\nlet _language: string | null;\n\nconst STORAGE_KEY = 'language';\n\n/**\n * Gets the language set for the page.\n * @param persistenceType - Where to persist the value. Default is `sessionStorage` if available.\n */\nexport function getLanguage(\n persistenceType: 'localStorage' | 'sessionStorage' | 'none' = 'sessionStorage',\n): string | null {\n if (_language === undefined) {\n let doc = getDocument();\n const savedLanguage =\n persistenceType === 'localStorage'\n ? localStorage.getItem(STORAGE_KEY)\n : persistenceType === 'sessionStorage'\n ? sessionStorage.getItem(STORAGE_KEY)\n : undefined;\n\n if (savedLanguage) {\n _language = savedLanguage;\n }\n\n if (_language === undefined && doc) {\n _language = doc.documentElement.getAttribute('lang');\n }\n\n if (_language === undefined) {\n _language = 'en';\n }\n }\n\n return _language;\n}\n\n/**\n * Sets the language for the page (by adjusting the lang attribute of the html element).\n * @param language - Language to set.\n * @param persistenceType - Where to persist the value. Default is `sessionStorage` if available.\n */\nexport function setLanguage(language: string, persistenceType?: 'localStorage' | 'sessionStorage' | 'none'): void;\n/**\n * Sets the language for the page (by adjusting the lang attribute of the html element).\n * @deprecated Use string parameter version.\n * @param language - Language to set.\n * @param avoidPersisting - If true, don't store the value.\n */\nexport function setLanguage(language: string, avoidPersisting?: boolean): void;\nexport function setLanguage(\n language: string,\n persistenceParam?: 'localStorage' | 'sessionStorage' | 'none' | boolean,\n): void {\n let doc = getDocument();\n\n if (doc) {\n doc.documentElement.setAttribute('lang', language);\n }\n\n const persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'sessionStorage' : persistenceParam;\n if (persistenceType === 'localStorage') {\n localStorage.setItem(STORAGE_KEY, language);\n } else if (persistenceType === 'sessionStorage') {\n sessionStorage.setItem(STORAGE_KEY, language);\n }\n\n _language = language;\n}\n","import { fontFace } from '@fluentui/merge-styles';\nimport { FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\nimport { createFontStyles } from './createFontStyles';\nimport { getLanguage, getWindow } from '@fluentui/utilities';\nimport type { IFontWeight } from '@fluentui/merge-styles';\nimport type { IFontStyles } from '../types/IFontStyles';\nimport type { IFabricConfig } from '../types/IFabricConfig';\n\n// Default urls.\nconst DefaultBaseUrl = 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20221209.001/assets';\n\n// Standard font styling.\nexport const DefaultFontStyles: IFontStyles = createFontStyles(getLanguage());\n\nfunction _registerFontFace(fontFamily: string, url: string, fontWeight?: IFontWeight, localFontName?: string): void {\n fontFamily = `'${fontFamily}'`;\n\n const localFontSrc = localFontName !== undefined ? `local('${localFontName}'),` : '';\n\n fontFace({\n fontFamily,\n src: localFontSrc + `url('${url}.woff2') format('woff2'),` + `url('${url}.woff') format('woff')`,\n fontWeight,\n fontStyle: 'normal',\n fontDisplay: 'swap',\n });\n}\n\nfunction _registerFontFaceSet(\n baseUrl: string,\n fontFamily: string,\n cdnFolder: string,\n cdnFontName: string = 'segoeui',\n localFontName?: string,\n): void {\n const urlBase = `${baseUrl}/${cdnFolder}/${cdnFontName}`;\n\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light, localFontName && localFontName + ' Light');\n _registerFontFace(\n fontFamily,\n urlBase + '-semilight',\n FontWeights.semilight,\n localFontName && localFontName + ' SemiLight',\n );\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular, localFontName);\n _registerFontFace(\n fontFamily,\n urlBase + '-semibold',\n FontWeights.semibold,\n localFontName && localFontName + ' SemiBold',\n );\n _registerFontFace(fontFamily, urlBase + '-bold', FontWeights.bold, localFontName && localFontName + ' Bold');\n}\n\nexport function registerDefaultFontFaces(baseUrl: string): void {\n if (baseUrl) {\n const fontUrl = `${baseUrl}/fonts`;\n\n // Produce @font-face definitions for all supported web fonts.\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Arabic, 'segoeui-arabic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Cyrillic, 'segoeui-cyrillic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.EastEuropean, 'segoeui-easteuropean');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Greek, 'segoeui-greek');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Hebrew, 'segoeui-hebrew');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Vietnamese, 'segoeui-vietnamese');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI');\n _registerFontFaceSet(fontUrl, LocalizedFontFamilies.Selawik, 'selawik', 'selawik');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Armenian, 'segoeui-armenian');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Georgian, 'segoeui-georgian');\n\n // Leelawadee UI (Thai) does not have a 'light' weight, so we override\n // the font-face generated above to use the 'semilight' weight instead.\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-semilight`, FontWeights.light);\n\n // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\n // the font-face generated above to use the 'bold' weight instead.\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-bold`, FontWeights.semibold);\n }\n}\n\n/**\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\n */\nfunction _getFontBaseUrl(): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fabricConfig: IFabricConfig | undefined = (getWindow() as any)?.FabricConfig;\n\n return fabricConfig?.fontBaseUrl ?? DefaultBaseUrl;\n}\n\n/**\n * Register the font faces.\n */\nregisterDefaultFontFaces(_getFontBaseUrl());\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Fetches an item from local storage without throwing an exception\n * @param key The key of the item to fetch from local storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n const win = getWindow();\n result = win ? win.localStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into local storage without throwing an exception\n * @param key The key of the item to add to local storage\n * @param data The data to put into local storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n const win = getWindow();\n\n win && win.localStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","import type { ISpacing } from '../types/index';\n\nexport const DefaultSpacing: ISpacing = {\n s2: '4px',\n s1: '8px',\n m: '16px',\n l1: '20px',\n l2: '32px',\n};\n","import { DefaultPalette } from './colors/index';\nimport { DefaultEffects } from './effects/index';\nimport { DefaultFontStyles } from './fonts/index';\nimport { mergeThemes } from './mergeThemes';\nimport { DefaultSpacing } from './spacing/index';\nimport { makeSemanticColors } from './utilities/makeSemanticColors';\nimport type { PartialTheme, Theme } from './types/index';\n\n/**\n * Creates a custom theme definition.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function createTheme(theme: PartialTheme = {}, depComments: boolean = false): Theme {\n const isInverted = !!theme.isInverted;\n const baseTheme: Theme = {\n palette: DefaultPalette,\n effects: DefaultEffects,\n fonts: DefaultFontStyles,\n spacing: DefaultSpacing,\n isInverted,\n disableGlobalClassNames: false,\n semanticColors: makeSemanticColors(DefaultPalette, DefaultEffects, undefined, isInverted, depComments),\n rtl: undefined,\n };\n\n return mergeThemes(baseTheme, theme);\n}\n","import type { IFontWeight } from '@fluentui/merge-styles';\n\n// Font face names to be registered.\nexport namespace LocalizedFontNames {\n export const Arabic = 'Segoe UI Web (Arabic)';\n export const Cyrillic = 'Segoe UI Web (Cyrillic)';\n export const EastEuropean = 'Segoe UI Web (East European)';\n export const Greek = 'Segoe UI Web (Greek)';\n export const Hebrew = 'Segoe UI Web (Hebrew)';\n export const Thai = 'Leelawadee UI Web';\n export const Vietnamese = 'Segoe UI Web (Vietnamese)';\n export const WestEuropean = 'Segoe UI Web (West European)';\n export const Selawik = 'Selawik Web';\n export const Armenian = 'Segoe UI Web (Armenian)';\n export const Georgian = 'Segoe UI Web (Georgian)';\n}\n\n// Font families with fallbacks, for the general regions.\nexport namespace LocalizedFontFamilies {\n export const Arabic = `'${LocalizedFontNames.Arabic}'`;\n export const ChineseSimplified = `'Microsoft Yahei UI', Verdana, Simsun`;\n export const ChineseTraditional = `'Microsoft Jhenghei UI', Pmingliu`;\n export const Cyrillic = `'${LocalizedFontNames.Cyrillic}'`;\n export const EastEuropean = `'${LocalizedFontNames.EastEuropean}'`;\n export const Greek = `'${LocalizedFontNames.Greek}'`;\n export const Hebrew = `'${LocalizedFontNames.Hebrew}'`;\n export const Hindi = `'Nirmala UI'`;\n export const Japanese = `'Yu Gothic UI', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka`;\n export const Korean = `'Malgun Gothic', Gulim`;\n export const Selawik = `'${LocalizedFontNames.Selawik}'`;\n export const Thai = `'Leelawadee UI Web', 'Kmer UI'`;\n export const Vietnamese = `'${LocalizedFontNames.Vietnamese}'`;\n export const WestEuropean = `'${LocalizedFontNames.WestEuropean}'`;\n export const Armenian = `'${LocalizedFontNames.Armenian}'`;\n export const Georgian = `'${LocalizedFontNames.Georgian}'`;\n}\n\n// Standard font sizes.\nexport namespace FontSizes {\n export const size10 = '10px';\n export const size12 = '12px';\n export const size14 = '14px';\n export const size16 = '16px';\n export const size18 = '18px';\n export const size20 = '20px';\n export const size24 = '24px';\n export const size28 = '28px';\n export const size32 = '32px';\n export const size42 = '42px';\n export const size68 = '68px';\n\n export const mini: string = '10px';\n export const xSmall: string = '10px';\n export const small: string = '12px';\n export const smallPlus: string = '12px';\n export const medium: string = '14px';\n export const mediumPlus: string = '16px';\n export const icon: string = '16px';\n export const large: string = '18px';\n export const xLarge: string = '20px';\n export const xLargePlus: string = '24px';\n export const xxLarge: string = '28px';\n export const xxLargePlus: string = '32px';\n export const superLarge: string = '42px';\n export const mega: string = '68px';\n}\n\n// Standard font weights.\nexport namespace FontWeights {\n export const light: IFontWeight = 100;\n export const semilight: IFontWeight = 300;\n export const regular: IFontWeight = 400;\n export const semibold: IFontWeight = 600;\n export const bold: IFontWeight = 700;\n}\n\n// Standard Icon Sizes.\nexport namespace IconFontSizes {\n export const xSmall: string = '10px';\n export const small: string = '12px';\n export const medium: string = '16px';\n export const large: string = '20px';\n}\n","/**\n * Simple deep merge function. Takes all arguments and returns a deep copy of the objects merged\n * together in the order provided. If an object creates a circular reference, it will assign the\n * original reference.\n */\nexport function merge(target: Partial, ...args: (Partial | null | undefined | false)[]): T {\n for (const arg of args) {\n _merge(target || {}, arg as Partial);\n }\n\n return target as T;\n}\n\n/**\n * The _merge helper iterates through all props on source and assigns them to target.\n * When the value is an object, we will create a deep clone of the object. However if\n * there is a circular reference, the value will not be deep cloned and will persist\n * the reference.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _merge(target: T, source: T, circularReferences: any[] = []): T {\n circularReferences.push(source);\n\n for (let name in source) {\n if (source.hasOwnProperty(name)) {\n if (name !== '__proto__' && name !== 'constructor' && name !== 'prototype') {\n const value: T[Extract] = source[name];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n const isCircularReference = circularReferences.indexOf(value) > -1;\n target[name] = (\n isCircularReference ? value : _merge(target[name] || {}, value, circularReferences)\n ) as T[Extract];\n } else {\n target[name] = value;\n }\n }\n }\n }\n\n circularReferences.pop();\n\n return target;\n}\n","import { merge } from '@fluentui/utilities';\nimport { getSemanticColors } from './utilities/makeSemanticColors';\nimport type { IFontStyles, PartialTheme, Theme } from './types/index';\n\n/**\n * Merge a partial/full theme into a full theme and returns a merged full theme.\n */\nexport function mergeThemes(theme: Theme, partialTheme: PartialTheme = {}): Theme {\n const mergedTheme = merge({}, theme, partialTheme, {\n semanticColors: getSemanticColors(\n partialTheme.palette,\n partialTheme.effects,\n partialTheme.semanticColors,\n partialTheme.isInverted === undefined ? theme.isInverted : partialTheme.isInverted,\n ),\n }) as Theme;\n\n if (partialTheme.palette?.themePrimary && !partialTheme.palette?.accent) {\n mergedTheme.palette.accent = partialTheme.palette.themePrimary;\n }\n\n if (partialTheme.defaultFontStyle) {\n for (const fontStyle of Object.keys(mergedTheme.fonts) as (keyof IFontStyles)[]) {\n mergedTheme.fonts[fontStyle] = merge(\n mergedTheme.fonts[fontStyle],\n partialTheme.defaultFontStyle,\n partialTheme?.fonts?.[fontStyle],\n );\n }\n }\n\n return mergedTheme;\n}\n","import type { IEffects, IPalette, ISemanticColors } from '../types/index';\n\n/** Generates all the semantic slot colors based on the theme so far\n * We'll use these as fallbacks for semantic slots that the passed in theme did not define.\n * The caller must still mix in the customized semantic slots at the end.\n */\nexport function makeSemanticColors(\n p: IPalette,\n e: IEffects,\n s: Partial | undefined,\n isInverted: boolean,\n depComments: boolean = false,\n): ISemanticColors {\n const semanticColors: Partial = {\n primaryButtonBorder: 'transparent',\n\n errorText: !isInverted ? '#a4262c' : '#F1707B',\n\n messageText: !isInverted ? '#323130' : '#F3F2F1',\n messageLink: !isInverted ? '#005A9E' : '#6CB8F6',\n messageLinkHovered: !isInverted ? '#004578' : '#82C7FF',\n\n infoIcon: !isInverted ? '#605e5c' : '#C8C6C4',\n errorIcon: !isInverted ? '#A80000' : '#F1707B',\n blockingIcon: !isInverted ? '#FDE7E9' : '#442726',\n warningIcon: !isInverted ? '#797775' : '#C8C6C4',\n severeWarningIcon: !isInverted ? '#D83B01' : '#FCE100',\n successIcon: !isInverted ? '#107C10' : '#92C353',\n\n infoBackground: !isInverted ? '#f3f2f1' : '#323130',\n errorBackground: !isInverted ? '#FDE7E9' : '#442726',\n blockingBackground: !isInverted ? '#FDE7E9' : '#442726',\n warningBackground: !isInverted ? '#FFF4CE' : '#433519',\n severeWarningBackground: !isInverted ? '#FED9CC' : '#4F2A0F',\n successBackground: !isInverted ? '#DFF6DD' : '#393D1B',\n\n // deprecated\n warningHighlight: !isInverted ? '#ffb900' : '#fff100',\n successText: !isInverted ? '#107C10' : '#92c353',\n\n ...s,\n };\n\n const fullSemanticColors = getSemanticColors(p, e, semanticColors, isInverted);\n return _fixDeprecatedSlots(fullSemanticColors, depComments);\n}\n\n/**\n * Map partial platte and effects to partial semantic colors.\n */\nexport function getSemanticColors>(\n p: Partial | undefined,\n e: Partial | undefined,\n s: Partial | undefined,\n isInverted: boolean,\n depComments: boolean = false,\n): TResult {\n let result: Partial = {};\n\n // map palette\n const {\n white,\n black,\n themePrimary,\n themeDark,\n themeDarker,\n themeDarkAlt,\n themeLighter,\n neutralLight,\n neutralLighter,\n neutralDark,\n neutralQuaternary,\n neutralQuaternaryAlt,\n neutralPrimary,\n neutralSecondary,\n neutralSecondaryAlt,\n neutralTertiary,\n neutralTertiaryAlt,\n neutralLighterAlt,\n accent,\n } = p || {};\n\n if (white) {\n result.bodyBackground = white;\n result.bodyFrameBackground = white;\n result.accentButtonText = white;\n result.buttonBackground = white;\n result.primaryButtonText = white;\n result.primaryButtonTextHovered = white;\n result.primaryButtonTextPressed = white;\n result.inputBackground = white;\n result.inputForegroundChecked = white;\n result.listBackground = white;\n result.menuBackground = white;\n result.cardStandoutBackground = white;\n }\n if (black) {\n result.bodyTextChecked = black;\n result.buttonTextCheckedHovered = black;\n }\n if (themePrimary) {\n result.link = themePrimary;\n result.primaryButtonBackground = themePrimary;\n result.inputBackgroundChecked = themePrimary;\n result.inputIcon = themePrimary;\n result.inputFocusBorderAlt = themePrimary;\n result.menuIcon = themePrimary;\n result.menuHeader = themePrimary;\n result.accentButtonBackground = themePrimary;\n }\n if (themeDark) {\n result.primaryButtonBackgroundPressed = themeDark;\n result.inputBackgroundCheckedHovered = themeDark;\n result.inputIconHovered = themeDark;\n }\n if (themeDarker) {\n result.linkHovered = themeDarker;\n }\n if (themeDarkAlt) {\n result.primaryButtonBackgroundHovered = themeDarkAlt;\n }\n if (themeLighter) {\n result.inputPlaceholderBackgroundChecked = themeLighter;\n }\n if (neutralLight) {\n result.bodyBackgroundChecked = neutralLight;\n result.bodyFrameDivider = neutralLight;\n result.bodyDivider = neutralLight;\n result.variantBorder = neutralLight;\n result.buttonBackgroundCheckedHovered = neutralLight;\n result.buttonBackgroundPressed = neutralLight;\n result.listItemBackgroundChecked = neutralLight;\n result.listHeaderBackgroundPressed = neutralLight;\n result.menuItemBackgroundPressed = neutralLight;\n // eslint-disable-next-line deprecation/deprecation\n result.menuItemBackgroundChecked = neutralLight;\n }\n if (neutralLighter) {\n result.bodyBackgroundHovered = neutralLighter;\n result.buttonBackgroundHovered = neutralLighter;\n result.buttonBackgroundDisabled = neutralLighter;\n result.buttonBorderDisabled = neutralLighter;\n result.primaryButtonBackgroundDisabled = neutralLighter;\n result.disabledBackground = neutralLighter;\n result.listItemBackgroundHovered = neutralLighter;\n result.listHeaderBackgroundHovered = neutralLighter;\n result.menuItemBackgroundHovered = neutralLighter;\n }\n if (neutralQuaternary) {\n result.primaryButtonTextDisabled = neutralQuaternary;\n result.disabledSubtext = neutralQuaternary;\n }\n if (neutralQuaternaryAlt) {\n result.listItemBackgroundCheckedHovered = neutralQuaternaryAlt;\n }\n if (neutralTertiary) {\n result.disabledBodyText = neutralTertiary;\n result.variantBorderHovered = s?.variantBorderHovered || neutralTertiary;\n result.buttonTextDisabled = neutralTertiary;\n result.inputIconDisabled = neutralTertiary;\n result.disabledText = neutralTertiary;\n }\n if (neutralPrimary) {\n result.bodyText = neutralPrimary;\n result.actionLink = neutralPrimary;\n result.buttonText = neutralPrimary;\n result.inputBorderHovered = neutralPrimary;\n result.inputText = neutralPrimary;\n result.listText = neutralPrimary;\n result.menuItemText = neutralPrimary;\n }\n if (neutralLighterAlt) {\n result.bodyStandoutBackground = neutralLighterAlt;\n result.defaultStateBackground = neutralLighterAlt;\n }\n if (neutralDark) {\n result.actionLinkHovered = neutralDark;\n result.buttonTextHovered = neutralDark;\n result.buttonTextChecked = neutralDark;\n result.buttonTextPressed = neutralDark;\n result.inputTextHovered = neutralDark;\n result.menuItemTextHovered = neutralDark;\n }\n if (neutralSecondary) {\n result.bodySubtext = neutralSecondary;\n result.focusBorder = neutralSecondary;\n result.inputBorder = neutralSecondary;\n result.smallInputBorder = neutralSecondary;\n result.inputPlaceholderText = neutralSecondary;\n }\n if (neutralSecondaryAlt) {\n result.buttonBorder = neutralSecondaryAlt;\n }\n if (neutralTertiaryAlt) {\n result.disabledBodySubtext = neutralTertiaryAlt;\n result.disabledBorder = neutralTertiaryAlt;\n result.buttonBackgroundChecked = neutralTertiaryAlt;\n result.menuDivider = neutralTertiaryAlt;\n }\n if (accent) {\n result.accentButtonBackground = accent;\n }\n\n // map effects\n if (e?.elevation4) {\n result.cardShadow = e.elevation4;\n }\n if (!isInverted && e?.elevation8) {\n result.cardShadowHovered = e.elevation8;\n } else if (result.variantBorderHovered) {\n result.cardShadowHovered = '0 0 1px ' + result.variantBorderHovered;\n }\n\n result = {\n ...result,\n // mix in customized semantic slots\n ...s,\n };\n\n return result as TResult;\n}\n\nfunction _fixDeprecatedSlots(s: ISemanticColors, depComments: boolean): ISemanticColors {\n // Add @deprecated tag as comment if enabled\n let dep = '';\n if (depComments === true) {\n dep = ' /* @deprecated */';\n }\n\n /* eslint-disable deprecation/deprecation */\n s.listTextColor = s.listText + dep;\n s.menuItemBackgroundChecked += dep;\n s.warningHighlight += dep;\n s.warningText = s.messageText + dep;\n s.successText += dep;\n /* eslint-enable deprecation/deprecation */\n return s;\n}\n","import * as React from 'react';\nimport { getWindow } from './dom/getWindow';\nimport { IReactProps } from './React.types';\n\n/**\n * DelayedRender component props.\n *\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface IDelayedRenderProps extends IReactProps<{}> {\n /**\n * Number of milliseconds to delay rendering children.\n */\n delay?: number;\n}\n\n/**\n * DelayedRender component state.\n *\n * @internal\n */\nexport interface IDelayedRenderState {\n /**\n * Whether the component is rendered or not.\n */\n isRendered: boolean;\n}\n\n/**\n * Utility component for delaying the render of a child component after a given delay. This component\n * requires a single child component; don't pass in many components. Wrap multiple components in a DIV\n * if necessary.\n *\n * @public\n * {@docCategory DelayedRender}\n */\nexport class DelayedRender extends React.Component {\n public static defaultProps = {\n delay: 0,\n };\n\n private _timeoutId: number | undefined;\n\n constructor(props: IDelayedRenderProps) {\n super(props);\n this.state = {\n isRendered: getWindow() === undefined,\n };\n }\n\n public componentDidMount(): void {\n let { delay } = this.props;\n this._timeoutId = window.setTimeout(() => {\n this.setState({\n isRendered: true,\n });\n }, delay);\n }\n\n public componentWillUnmount(): void {\n if (this._timeoutId) {\n clearTimeout(this._timeoutId);\n }\n }\n\n public render(): React.ReactElement<{}> | null {\n return this.state.isRendered ? (React.Children.only(this.props.children) as React.ReactElement<{}>) : null;\n }\n}\n","import * as React from 'react';\nimport { FocusRectsContext } from './useFocusRects';\n\nexport type FocusRectsProviderProps = {\n /**\n * Ref to the root element that this is providing focus rects for.\n */\n providerRef: React.RefObject;\n\n /**\n * Indicates that this is the root of a layer, and should not inherit the providerRef from a parent context.\n */\n layerRoot?: boolean;\n};\n\nexport const FocusRectsProvider: React.FC = props => {\n const { providerRef, layerRoot } = props;\n const [registeredProviders] = React.useState[]>([]);\n const parentContext = React.useContext(FocusRectsContext);\n\n // Inherit the parent context if it exists, unless this is a layer root.\n // This allows the topmost provider element in the DOM tree to handle the focus events.\n // Since layers are in a separate HTML tree from their parent, they shouldn't use the parent's providerRef.\n const inheritParentContext = parentContext !== undefined && !layerRoot;\n\n const context = React.useMemo(\n () =>\n inheritParentContext\n ? undefined\n : {\n providerRef,\n registeredProviders,\n registerProvider: (ref: React.RefObject) => {\n // Register this child provider with the current context, and any parent contexts\n registeredProviders.push(ref);\n parentContext?.registerProvider(ref);\n },\n unregisterProvider: (ref: React.RefObject) => {\n parentContext?.unregisterProvider(ref);\n const i = registeredProviders.indexOf(ref);\n if (i >= 0) {\n registeredProviders.splice(i, 1);\n }\n },\n },\n [providerRef, registeredProviders, parentContext, inheritParentContext],\n );\n\n React.useEffect(() => {\n if (context) {\n context.registerProvider(context.providerRef);\n return () => context.unregisterProvider(context.providerRef);\n }\n }, [context]);\n\n // Create a new context provider if this is not inheriting from the parent.\n if (context) {\n return {props.children};\n } else {\n return <>{props.children};\n }\n};\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Storing global state in local module variables has issues when more than one copy\n * if the module gets loaded on the page (due to a bundling error or simply by consuming\n * a prebundled script.)\n *\n * This file contains helpers to deal with the getting and setting local state, and allows\n * callers to get called back when it mutates.\n */\n\nconst GLOBAL_SETTINGS_PROP_NAME = '__globalSettings__';\nconst CALLBACK_STATE_PROP_NAME = '__callbacks__';\n\nlet _counter = 0;\n\n/**\n * Change description used for change callbacks in GlobalSettings.\n *\n * @public\n * {@docCategory IChangeDescription}\n */\nexport interface IChangeDescription {\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n oldValue: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n}\n\n/**\n * Change event callback.\n *\n * @public\n * {@docCategory IChangeEventCallback}\n */\nexport interface IChangeEventCallback {\n __id__?: string;\n (changeDescription?: IChangeDescription): void;\n}\n\n/**\n * Global settings helper, which stores settings in the global (window) namespace.\n * If window is not provided, it will store settings in module scope. Provides a\n * way to observe changes as well when their values change.\n *\n * @public\n * {@docCategory GlobalSettings}\n */\nexport class GlobalSettings {\n public static getValue(key: string, defaultValue?: T | (() => T)): T {\n const globalSettings = _getGlobalSettings();\n\n if (globalSettings[key] === undefined) {\n globalSettings[key] = typeof defaultValue === 'function' ? (defaultValue as Function)() : defaultValue;\n }\n\n return globalSettings[key];\n }\n\n public static setValue(key: string, value: T): T {\n const globalSettings = _getGlobalSettings();\n const callbacks = globalSettings[CALLBACK_STATE_PROP_NAME];\n let oldValue = globalSettings[key];\n\n if (value !== oldValue) {\n globalSettings[key] = value;\n\n let changeDescription = {\n oldValue,\n value,\n key,\n };\n\n for (let id in callbacks) {\n if (callbacks.hasOwnProperty(id)) {\n callbacks[id](changeDescription);\n }\n }\n }\n\n return value;\n }\n\n public static addChangeListener(cb: IChangeEventCallback): void {\n // Note: we use generated ids on the callbacks to create a map of the callbacks, which optimizes removal.\n // (It's faster to delete a key than it is to look up the index of an object and splice an array.)\n let id = cb.__id__;\n const callbacks = _getCallbacks();\n\n if (!id) {\n id = cb.__id__ = String(_counter++);\n }\n\n callbacks[id] = cb;\n }\n\n public static removeChangeListener(cb: IChangeEventCallback): void {\n const callbacks = _getCallbacks();\n delete callbacks[cb.__id__ as string];\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _getGlobalSettings(): { [key: string]: any } {\n const win = getWindow();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalObj: { [key: string]: any } = win || {};\n\n if (!globalObj[GLOBAL_SETTINGS_PROP_NAME]) {\n globalObj[GLOBAL_SETTINGS_PROP_NAME] = {\n [CALLBACK_STATE_PROP_NAME]: {},\n };\n }\n\n return globalObj[GLOBAL_SETTINGS_PROP_NAME];\n}\n\nfunction _getCallbacks(): { [key: string]: () => void } {\n const globalSettings = _getGlobalSettings();\n return globalSettings[CALLBACK_STATE_PROP_NAME];\n}\n","/**\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\n *\n * @public\n * {@docCategory KeyCodes}\n */\nexport const KeyCodes = {\n backspace: 8 as 8,\n tab: 9 as 9,\n enter: 13 as 13,\n shift: 16 as 16,\n ctrl: 17 as 17,\n alt: 18 as 18,\n pauseBreak: 19 as 19,\n capslock: 20 as 20,\n escape: 27 as 27,\n space: 32 as 32,\n pageUp: 33 as 33,\n pageDown: 34 as 34,\n end: 35 as 35,\n home: 36 as 36,\n left: 37 as 37,\n up: 38 as 38,\n right: 39 as 39,\n down: 40 as 40,\n insert: 45 as 45,\n del: 46 as 46,\n zero: 48 as 48,\n one: 49 as 49,\n two: 50 as 50,\n three: 51 as 51,\n four: 52 as 52,\n five: 53 as 53,\n six: 54 as 54,\n seven: 55 as 55,\n eight: 56 as 56,\n nine: 57 as 57,\n colon: 58 as 58,\n a: 65 as 65,\n b: 66 as 66,\n c: 67 as 67,\n d: 68 as 68,\n e: 69 as 69,\n f: 70 as 70,\n g: 71 as 71,\n h: 72 as 72,\n i: 73 as 73,\n j: 74 as 74,\n k: 75 as 75,\n l: 76 as 76,\n m: 77 as 77,\n n: 78 as 78,\n o: 79 as 79,\n p: 80 as 80,\n q: 81 as 81,\n r: 82 as 82,\n s: 83 as 83,\n t: 84 as 84,\n u: 85 as 85,\n v: 86 as 86,\n w: 87 as 87,\n x: 88 as 88,\n y: 89 as 89,\n z: 90 as 90,\n leftWindow: 91 as 91,\n rightWindow: 92 as 92,\n select: 93 as 93,\n /* eslint-disable @typescript-eslint/naming-convention */\n zero_numpad: 96 as 96,\n one_numpad: 97 as 97,\n two_numpad: 98 as 98,\n three_numpad: 99 as 99,\n four_numpad: 100 as 100,\n five_numpad: 101 as 101,\n six_numpad: 102 as 102,\n seven_numpad: 103 as 103,\n eight_numpad: 104 as 104,\n nine_numpad: 105 as 105,\n /* eslint-enable @typescript-eslint/naming-convention */\n multiply: 106 as 106,\n add: 107 as 107,\n subtract: 109 as 109,\n decimalPoint: 110 as 110,\n divide: 111 as 111,\n f1: 112 as 112,\n f2: 113 as 113,\n f3: 114 as 114,\n f4: 115 as 115,\n f5: 116 as 116,\n f6: 117 as 117,\n f7: 118 as 118,\n f8: 119 as 119,\n f9: 120 as 120,\n f10: 121 as 121,\n f11: 122 as 122,\n f12: 123 as 123,\n numlock: 144 as 144,\n scrollLock: 145 as 145,\n semicolon: 186 as 186,\n equalSign: 187 as 187,\n comma: 188 as 188,\n dash: 189 as 189,\n period: 190 as 190,\n forwardSlash: 191 as 191,\n graveAccent: 192 as 192,\n openBracket: 219 as 219,\n backSlash: 220 as 220,\n closeBracket: 221 as 221,\n singleQuote: 222 as 222,\n};\nexport type KeyCodes = number;\n","import { mergeCssSets, Stylesheet } from '@fluentui/merge-styles';\nimport { getRTL } from './rtl';\nimport { getWindow } from './dom';\nimport type { IStyleSet, IProcessedStyleSet, IStyleFunctionOrObject } from '@fluentui/merge-styles';\nimport type { StyleFunction } from './styled';\n\nconst MAX_CACHE_COUNT = 50;\nconst DEFAULT_SPECIFICITY_MULTIPLIER = 5;\n\nlet _memoizedClassNames = 0;\n\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => _memoizedClassNames++);\n}\n\n// Note that because of the caching nature within the classNames memoization,\n// I've disabled this rule to simply be able to work with any types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// This represents a prop we attach to each Map to indicate the cached return value\n// associated with the graph node.\nconst retVal = '__retval__';\n\ninterface IRecursiveMemoNode extends Map {\n [retVal]?: string;\n}\n\ntype AppWindow = (Window & { FabricConfig?: { enableClassNameCacheFullWarning?: boolean } }) | undefined;\n\nexport interface IClassNamesFunctionOptions {\n /**\n * Disables class caching for scenarios where styleProp parts mutate frequently.\n */\n disableCaching?: boolean;\n\n /**\n * Size of the cache. It overwrites default cache size when defined.\n */\n cacheSize?: number;\n\n /**\n * Set to true if component base styles are implemented in scss instead of css-in-js.\n */\n useStaticStyles?: boolean;\n}\n\n/**\n * Creates a getClassNames function which calls getStyles given the props, and injects them\n * into mergeStyleSets.\n *\n * Note that the props you pass in on every render should be in the same order and\n * immutable (numbers, strings, and booleans). This will allow the results to be memoized. Violating\n * these will cause extra recalcs to occur.\n */\nexport function classNamesFunction>(\n options: IClassNamesFunctionOptions = {},\n): (\n getStyles: IStyleFunctionOrObject | undefined,\n styleProps?: TStyleProps,\n) => IProcessedStyleSet {\n // We build a trie where each node is a Map. The map entry key represents an argument\n // value, and the entry value is another node (Map). Each node has a `__retval__`\n // property which is used to hold the cached response.\n\n // To derive the response, we can simply ensure the arguments are added or already\n // exist in the trie. At the last node, if there is a `__retval__` we return that. Otherwise\n // we call the `getStyles` api to evaluate, cache on the property, and return that.\n let map: IRecursiveMemoNode = new Map();\n let styleCalcCount = 0;\n let getClassNamesCount = 0;\n let currentMemoizedClassNames = _memoizedClassNames;\n\n const getClassNames = (\n styleFunctionOrObject: IStyleFunctionOrObject | undefined,\n styleProps: TStyleProps = {} as TStyleProps,\n ): IProcessedStyleSet => {\n // If useStaticStyles is true, styleFunctionOrObject returns slot to classname mappings.\n // If there is also no style overrides, we can skip merge styles completely and\n // simply return the result from the style funcion.\n if (\n options.useStaticStyles &&\n typeof styleFunctionOrObject === 'function' &&\n (styleFunctionOrObject as StyleFunction).__noStyleOverride__\n ) {\n return styleFunctionOrObject(styleProps) as IProcessedStyleSet;\n }\n\n getClassNamesCount++;\n let current: Map = map;\n const { theme } = styleProps as any;\n const rtl = theme && theme.rtl !== undefined ? theme.rtl : getRTL();\n\n const disableCaching = options.disableCaching;\n\n // On reset of our stylesheet, reset memoized cache.\n if (currentMemoizedClassNames !== _memoizedClassNames) {\n currentMemoizedClassNames = _memoizedClassNames;\n map = new Map();\n styleCalcCount = 0;\n }\n\n if (!options.disableCaching) {\n current = _traverseMap(map, styleFunctionOrObject as any);\n current = _traverseMap(current, styleProps);\n }\n\n if (disableCaching || !(current as any)[retVal]) {\n if (styleFunctionOrObject === undefined) {\n (current as any)[retVal] = {} as IProcessedStyleSet;\n } else {\n (current as any)[retVal] = mergeCssSets(\n [\n (typeof styleFunctionOrObject === 'function'\n ? styleFunctionOrObject(styleProps)\n : styleFunctionOrObject) as IStyleSet,\n ],\n { rtl: !!rtl, specificityMultiplier: options.useStaticStyles ? DEFAULT_SPECIFICITY_MULTIPLIER : undefined },\n );\n }\n\n if (!disableCaching) {\n styleCalcCount++;\n }\n }\n\n if (styleCalcCount > (options.cacheSize || MAX_CACHE_COUNT)) {\n const win = getWindow() as AppWindow;\n if (win?.FabricConfig?.enableClassNameCacheFullWarning) {\n // eslint-disable-next-line no-console\n console.warn(\n `Styles are being recalculated too frequently. Cache miss rate is ${styleCalcCount}/${getClassNamesCount}.`,\n );\n // eslint-disable-next-line no-console\n console.trace();\n }\n\n map.clear();\n styleCalcCount = 0;\n\n // Mutate the options passed in, that's all we can do.\n options.disableCaching = true;\n }\n\n // Note: the retVal is an attached property on the Map; not a key in the Map. We use this attached property to\n // cache the return value for this branch of the graph.\n return (current as any)[retVal];\n };\n\n return getClassNames;\n}\n\nfunction _traverseEdge(current: Map, value: any): Map {\n value = _normalizeValue(value);\n\n if (!current.has(value)) {\n current.set(value, new Map());\n }\n\n return current.get(value);\n}\n\nfunction _traverseMap(current: Map, inputs: any[] | Object): Map {\n if (typeof inputs === 'function') {\n const cachedInputsFromStyled = (inputs as StyleFunction).__cachedInputs__;\n if (cachedInputsFromStyled) {\n // The styled helper will generate the styles function and will attach the cached\n // inputs (consisting of the default styles, customzied styles, and user provided styles.)\n // These should be used as cache keys for deriving the memoized value.\n for (const input of (inputs as any).__cachedInputs__) {\n current = _traverseEdge(current, input);\n }\n } else {\n current = _traverseEdge(current, inputs);\n }\n } else if (typeof inputs === 'object') {\n for (const propName in inputs) {\n if (inputs.hasOwnProperty(propName)) {\n current = _traverseEdge(current, (inputs as any)[propName]);\n }\n }\n }\n\n return current;\n}\n\nfunction _normalizeValue(value: any): string {\n switch (value) {\n case undefined:\n return '__undefined__';\n case null:\n return '__null__';\n default:\n return value;\n }\n}\n","/**\n * Dictionary of booleans.\n *\n * @internal\n */\nexport interface IDictionary {\n [className: string]: boolean;\n}\n\n/**\n * Serializable object.\n *\n * @internal\n */\nexport interface ISerializableObject {\n toString?: () => string;\n}\n\n/**\n * css input type.\n *\n * @internal\n */\nexport type ICssInput = string | ISerializableObject | IDictionary | null | undefined | boolean;\n\n/**\n * Concatination helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function css(...args: ICssInput[]): string {\n let classes = [];\n\n for (let arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n classes.push(arg);\n } else if (arg.hasOwnProperty('toString') && typeof arg.toString === 'function') {\n classes.push(arg.toString());\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (let key in arg as any) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((arg as any)[key]) {\n classes.push(key);\n }\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n","import { GlobalSettings } from '../GlobalSettings';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ISettings = { [key: string]: any };\nexport type ISettingsFunction = (settings: ISettings) => ISettings;\n\n/**\n * @deprecated Use ISettings.\n */\nexport type Settings = ISettings;\n\n/**\n * @deprecated Use ISettingsFunction.\n */\nexport type SettingsFunction = ISettingsFunction;\n\nexport interface ICustomizations {\n settings: ISettings;\n scopedSettings: { [key: string]: ISettings };\n inCustomizerContext?: boolean;\n}\n\nconst CustomizationsGlobalKey = 'customizations';\nconst NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\n\nlet _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false,\n});\n\nlet _events: (() => void)[] = [];\n\nexport class Customizations {\n private static _suppressUpdates: boolean;\n\n public static reset(): void {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n }\n\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n public static applySettings(settings: ISettings): void {\n _allSettings.settings = { ..._allSettings.settings, ...settings };\n Customizations._raiseChange();\n }\n\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n public static applyScopedSettings(scopeName: string, settings: ISettings): void {\n _allSettings.scopedSettings[scopeName] = { ..._allSettings.scopedSettings[scopeName], ...settings };\n Customizations._raiseChange();\n }\n\n public static getSettings(\n properties: string[],\n scopeName?: string,\n localSettings: ICustomizations = NO_CUSTOMIZATIONS,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any {\n const settings: ISettings = {};\n const localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\n const globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\n\n for (let property of properties) {\n settings[property] =\n localScopedSettings[property] ||\n localSettings.settings[property] ||\n globalScopedSettings[property] ||\n _allSettings.settings[property];\n }\n\n return settings;\n }\n\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n public static applyBatchedUpdates(code: () => void, suppressUpdate?: boolean): void {\n Customizations._suppressUpdates = true;\n try {\n code();\n } catch {\n /* do nothing */\n }\n Customizations._suppressUpdates = false;\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n }\n\n public static observe(onChange: () => void): void {\n _events.push(onChange);\n }\n\n public static unobserve(onChange: () => void): void {\n _events = _events.filter((cb: () => void) => cb !== onChange);\n }\n\n private static _raiseChange(): void {\n if (!Customizations._suppressUpdates) {\n _events.forEach((cb: () => void) => cb());\n }\n }\n}\n","import * as React from 'react';\nimport type { ICustomizations } from './Customizations';\n\nexport interface ICustomizerContext {\n customizations: ICustomizations;\n}\n\nexport const CustomizerContext = React.createContext({\n customizations: {\n inCustomizerContext: false,\n settings: {},\n scopedSettings: {},\n },\n});\n","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport type { ISettings } from './Customizations';\n\n/**\n * Hook to get Customizations settings from Customizations singleton or CustomizerContext.\n * It will trigger component state update on settings change observed.\n */\nexport function useCustomizationSettings(properties: string[], scopeName?: string): ISettings {\n const forceUpdate = useForceUpdate();\n const { customizations } = React.useContext(CustomizerContext);\n const { inCustomizerContext } = customizations;\n React.useEffect(() => {\n if (!inCustomizerContext) {\n Customizations.observe(forceUpdate);\n }\n return () => {\n if (!inCustomizerContext) {\n Customizations.unobserve(forceUpdate);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude forceUpdate\n }, [inCustomizerContext]);\n\n return Customizations.getSettings(properties, scopeName, customizations);\n}\n\nfunction useForceUpdate() {\n const [, setValue] = React.useState(0);\n return () => setValue(value => ++value);\n}\n","/**\n * Verifies if an application can use DOM.\n */\nexport function canUseDOM(): boolean {\n return (\n typeof window !== 'undefined' &&\n !!(\n window.document &&\n // eslint-disable-next-line deprecation/deprecation\n window.document.createElement\n )\n );\n}\n","import { canUseDOM } from './canUseDOM';\n\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth.\n *\n * @public\n */\nexport function getDocument(rootElement?: HTMLElement | null): Document | undefined {\n if (!canUseDOM() || typeof document === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument ? el.ownerDocument : document;\n }\n}\n","import { canUseDOM } from './canUseDOM';\n\nlet _window: Window | undefined = undefined;\n\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\n\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\nexport function getWindow(rootElement?: Element | null): Window | undefined {\n if (!canUseDOM() || typeof _window === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}\n","import { getWindow } from './dom/getWindow';\nimport { Stylesheet } from '@fluentui/merge-styles';\n\n// Initialize global window id.\nconst CURRENT_ID_PROPERTY = '__currentId__';\nconst DEFAULT_ID_STRING = 'id__';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet _global: any = getWindow() || {};\n\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\n _global[CURRENT_ID_PROPERTY] = 0;\n}\n\nlet _initializedStylesheetResets = false;\n\n/**\n * Generates a unique id in the global scope (this spans across duplicate copies of the same library.)\n *\n * @public\n */\nexport function getId(prefix?: string): string {\n if (!_initializedStylesheetResets) {\n // Configure ids to reset on stylesheet resets.\n const stylesheet = Stylesheet.getInstance();\n\n if (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(resetIds);\n }\n _initializedStylesheetResets = true;\n }\n\n let index = _global[CURRENT_ID_PROPERTY]++;\n\n return (prefix === undefined ? DEFAULT_ID_STRING : prefix) + index;\n}\n\n/**\n * Resets id counter to an (optional) number.\n *\n * @public\n */\nexport function resetIds(counter: number = 0): void {\n _global[CURRENT_ID_PROPERTY] = counter;\n}\n","import {\n labelProperties,\n audioProperties,\n videoProperties,\n olProperties,\n liProperties,\n anchorProperties,\n buttonProperties,\n inputProperties,\n textAreaProperties,\n selectProperties,\n optionProperties,\n tableProperties,\n trProperties,\n thProperties,\n tdProperties,\n colGroupProperties,\n colProperties,\n formProperties,\n iframeProperties,\n imgProperties,\n htmlElementProperties,\n getNativeProps,\n} from './properties';\nimport * as React from 'react';\n\nconst nativeElementMap: Record> = {\n label: labelProperties,\n audio: audioProperties,\n video: videoProperties,\n ol: olProperties,\n li: liProperties,\n a: anchorProperties,\n button: buttonProperties,\n input: inputProperties,\n textarea: textAreaProperties,\n select: selectProperties,\n option: optionProperties,\n table: tableProperties,\n tr: trProperties,\n th: thProperties,\n td: tdProperties,\n colGroup: colGroupProperties,\n col: colProperties,\n form: formProperties,\n iframe: iframeProperties,\n img: imgProperties,\n};\n\n/**\n * Given an element tagname and user props, filters the props to only allowed props for the given\n * element type.\n * @param tagName - Tag name (e.g. \"div\")\n * @param props - Props object\n * @param excludedPropNames - List of props to disallow\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeElementProps>(\n tagName: string,\n props: {},\n excludedPropNames?: string[],\n): TAttributes {\n const allowedPropNames = (tagName && nativeElementMap[tagName]) || htmlElementProperties;\n\n return getNativeProps(props, allowedPropNames, excludedPropNames);\n}\n","/**\n * Function to apply default values to a component props object. This function is intended for function components,\n * to maintain parity with the `defaultProps` feature of class components. It accounts for properties that are\n * specified, but undefined.\n * @param defaultProps- An object with default values for various properties\n * @param propsWithoutDefaults- The props object passed into the component\n */\nexport function getPropsWithDefaults(\n defaultProps: Partial,\n propsWithoutDefaults: TProps,\n): TProps {\n const props = { ...propsWithoutDefaults };\n for (const key of Object.keys(defaultProps) as (keyof TProps)[]) {\n if (props[key] === undefined) {\n props[key] = defaultProps[key]!;\n }\n }\n\n return props;\n}\n","import { Stylesheet } from '@fluentui/merge-styles';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ndeclare class WeakMap {\n public get(key: any): any;\n public set(key: any, value: any): void;\n public has(key: any): boolean;\n}\n\nlet _initializedStylesheetResets = false;\nlet _resetCounter = 0;\nconst _emptyObject = { empty: true };\nconst _dictionary: any = {};\nlet _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\n\ninterface IMemoizeNode {\n map: WeakMap | null;\n value?: any;\n}\n\n/**\n * Test utility for providing a custom weakmap.\n *\n * @internal\n * */\nexport function setMemoizeWeakMap(weakMap: any): void {\n _weakMap = weakMap;\n}\n\n/**\n * Reset memoizations.\n */\nexport function resetMemoizations(): void {\n _resetCounter++;\n}\n\n/**\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\n * will be inaccessible within a memoized method, given that a cached method's `this`\n * would not be instance-specific.\n *\n * @public\n */\nexport function memoize(\n _target: any,\n _key: string,\n descriptor: TypedPropertyDescriptor,\n): {\n configurable: boolean;\n get(): T;\n} {\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\n // rather than passing them in as input values which can be memoized.\n let fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\n\n return {\n configurable: true,\n get(): T {\n return fn;\n },\n };\n}\n\n/**\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\n * undefined for a value and relying on a default function will execute it the first time, but will not\n * re-evaluate subsequent times which may have been unexpected.\n *\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\n *\n * @public\n * @param cb - The function to memoize.\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\n * @param ignoreNullOrUndefinedResult - Flag to decide whether to cache callback result if it is undefined/null.\n * If the flag is set to true, the callback result is recomputed every time till the callback result is\n * not undefined/null for the first time, and then the non-undefined/null version gets cached.\n * @returns A memoized version of the function.\n */\nexport function memoizeFunction RetType, RetType>(\n cb: T,\n maxCacheSize: number = 100,\n ignoreNullOrUndefinedResult: boolean = false,\n): T {\n // Avoid breaking scenarios which don't have weak map.\n if (!_weakMap) {\n return cb;\n }\n\n if (!_initializedStylesheetResets) {\n const stylesheet = Stylesheet.getInstance();\n\n if (stylesheet && (stylesheet as { onReset?: unknown }).onReset) {\n Stylesheet.getInstance().onReset(resetMemoizations);\n }\n _initializedStylesheetResets = true;\n }\n\n let rootNode: any;\n let cacheSize = 0;\n let localResetCounter = _resetCounter;\n\n return function memoizedFunction(...args: any[]): RetType {\n let currentNode: any = rootNode;\n\n if (\n rootNode === undefined ||\n localResetCounter !== _resetCounter ||\n (maxCacheSize > 0 && cacheSize > maxCacheSize)\n ) {\n rootNode = _createNode();\n cacheSize = 0;\n localResetCounter = _resetCounter;\n }\n\n currentNode = rootNode;\n\n // Traverse the tree until we find the match.\n for (let i = 0; i < args.length; i++) {\n let arg = _normalizeArg(args[i]);\n\n if (!currentNode.map.has(arg)) {\n currentNode.map.set(arg, _createNode());\n }\n\n currentNode = currentNode.map.get(arg);\n }\n\n if (!currentNode.hasOwnProperty('value')) {\n currentNode.value = cb(...args);\n cacheSize++;\n }\n\n if (ignoreNullOrUndefinedResult && (currentNode.value === null || currentNode.value === undefined)) {\n currentNode.value = cb(...args);\n }\n\n return currentNode.value;\n } as any;\n}\n\n/**\n * Creates a memoizer for a single-value function, backed by a WeakMap.\n * With a WeakMap, the memoized values are only kept as long as the source objects,\n * ensuring that there is no memory leak.\n *\n * This function assumes that the input values passed to the wrapped function will be\n * `function` or `object` types. To memoize functions which accept other inputs, use\n * `memoizeFunction`, which memoizes against arbitrary inputs using a lookup cache.\n *\n * @public\n */\nexport function createMemoizer any>(getValue: F): F {\n if (!_weakMap) {\n // Without a `WeakMap` implementation, memoization is not possible.\n return getValue;\n }\n\n const cache = new _weakMap();\n\n function memoizedGetValue(input: any): any {\n if (!input || (typeof input !== 'function' && typeof input !== 'object')) {\n // A WeakMap can only be used to test against reference values, i.e. 'function' and 'object'.\n // All other inputs cannot be memoized against in this manner.\n return getValue(input);\n }\n\n if (cache.has(input)) {\n return cache.get(input)!;\n }\n\n const value = getValue(input);\n\n cache.set(input, value);\n\n return value;\n }\n\n return memoizedGetValue as F;\n}\n\nfunction _normalizeArg(val: null | undefined): { empty: boolean } | any;\nfunction _normalizeArg(val: object): any;\nfunction _normalizeArg(val: any): any {\n if (!val) {\n return _emptyObject;\n } else if (typeof val === 'object' || typeof val === 'function') {\n return val;\n } else if (!_dictionary[val]) {\n _dictionary[val] = { val };\n }\n\n return _dictionary[val];\n}\n\nfunction _createNode(): IMemoizeNode {\n return {\n map: _weakMap ? new _weakMap() : null,\n };\n}\n","/**\n * Compares a to b and b to a.\n *\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function shallowCompare(a: TA, b: TB): boolean {\n if (!a || !b) {\n // only return true if both a and b are falsy\n return !a && !b;\n }\n\n for (let propName in a) {\n if ((a as Object).hasOwnProperty(propName)) {\n if (!(b as Object).hasOwnProperty(propName) || (b as { [key: string]: unknown })[propName] !== a[propName]) {\n return false;\n }\n }\n }\n for (let propName in b) {\n if ((b as Object).hasOwnProperty(propName)) {\n if (!(a as Object).hasOwnProperty(propName)) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * Makes a resulting merge of a bunch of objects. Pass in the target object followed by 1 or more\n * objects as arguments and they will be merged sequentially into the target. Note that this will\n * shallow merge; it will not create new cloned values for target members.\n *\n * @public\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assign(this: any, target: any, ...args: any[]): any {\n return filteredAssign.apply(this, [null, target].concat(args));\n}\n\n/**\n * Makes a resulting merge of a bunch of objects, but allows a filter function to be passed in to filter\n * the resulting merges. This allows for scenarios where you want to merge \"everything except that one thing\"\n * or \"properties that start with data-\". Note that this will shallow merge; it will not create new cloned\n * values for target members.\n *\n * @public\n * @param isAllowed - Callback to determine if the given propName is allowed in the result.\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function filteredAssign(isAllowed: (propName: string) => boolean, target: any, ...args: any[]): any {\n target = target || {};\n\n for (let sourceObject of args) {\n if (sourceObject) {\n for (let propName in sourceObject) {\n if (sourceObject.hasOwnProperty(propName) && (!isAllowed || isAllowed(propName))) {\n target[propName] = sourceObject[propName];\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Takes an enum and iterates over each value of the enum (as a string), running the callback on each,\n * returning a mapped array.\n * @param theEnum - Enum to iterate over\n * @param callback - The first parameter the name of the entry, and the second parameter is the value\n * of that entry, which is the value you'd normally use when using the enum (usually a number).\n */\nexport function mapEnumByName(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n theEnum: any,\n callback: (name?: string, value?: string | number) => T | undefined,\n): (T | undefined)[] | undefined {\n // map to satisfy compiler since it doesn't realize we strip out undefineds in the .filter() call\n return Object.keys(theEnum)\n .map((p: string | number) => {\n // map on each property name as a string\n if (String(Number(p)) !== p) {\n // if the property is not just a number (because enums in TypeScript will map both ways)\n return callback(p as string, theEnum[p]);\n }\n return undefined;\n })\n .filter((v: T | undefined) => !!v); // only return elements with values\n}\n\n/**\n * Get all values in an object dictionary\n *\n * @param obj - The dictionary to get values for\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function values(obj: any): T[] {\n return Object.keys(obj).reduce((arr: T[], key: string): T[] => {\n arr.push(obj[key]);\n return arr;\n }, []);\n}\n\n/**\n * Tiny helper to do the minimal amount of work in duplicating an object but omitting some\n * props. This ends up faster than using object ...rest or reduce to filter.\n *\n * This behaves very much like filteredAssign, but does not merge many objects together,\n * uses an exclusion object map, and avoids spreads all for optimal performance.\n *\n * See perf test for background:\n * https://jsperf.com/omit-vs-rest-vs-reduce/1\n *\n * @param obj - The object to clone\n * @param exclusions - The array of keys to exclude\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function omit>(obj: TObj, exclusions: (keyof TObj)[]): TObj {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n\n for (const key in obj) {\n if (exclusions.indexOf(key) === -1 && obj.hasOwnProperty(key)) {\n result[key] = obj[key];\n }\n }\n\n return result as TObj;\n}\n","const toObjectMap = (...items: (string[] | Record)[]) => {\n const result: Record = {};\n\n for (const item of items) {\n const keys = Array.isArray(item) ? item : Object.keys(item);\n\n for (const key of keys) {\n result[key] = 1;\n }\n }\n\n return result;\n};\n\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementEvents = toObjectMap([\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementProperties = toObjectMap([\n 'accessKey', // global\n 'children', // global\n 'className', // global\n 'contentEditable', // global\n 'dir', // global\n 'draggable', // global\n 'hidden', // global\n 'htmlFor', // global\n 'id', // global\n 'lang', // global\n 'ref', // global\n 'role', // global\n 'style', // global\n 'tabIndex', // global\n 'title', // global\n 'translate', // global\n 'spellCheck', // global\n 'name', // global\n]);\n\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport const htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport const labelProperties = toObjectMap(htmlElementProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n]);\n\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport const audioProperties = toObjectMap(htmlElementProperties, [\n 'height', // canvas, embed, iframe, img, input, object, video\n 'loop', // audio, video\n 'muted', // audio, video\n 'preload', // audio, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport const videoProperties = toObjectMap(audioProperties, [\n 'poster', // video\n]);\n\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport const olProperties = toObjectMap(htmlElementProperties, [\n 'start', // ol\n]);\n\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport const liProperties = toObjectMap(htmlElementProperties, [\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport const anchorProperties = toObjectMap(htmlElementProperties, [\n 'download', // a, area\n 'href', // a, area, base, link\n 'hrefLang', // a, area, link\n 'media', // a, area, link, source, style\n 'rel', // a, area, link\n 'target', // a, area, base, form\n 'type', // a, button, input, link, menu, object, script, source, style\n]);\n\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport const buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus', // button, input, select, textarea\n 'disabled', // button, fieldset, input, optgroup, option, select, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'formAction', // input, button\n 'formEncType', // input, button\n 'formMethod', // input, button\n 'formNoValidate', // input, button\n 'formTarget', // input, button\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param,\n]);\n\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport const inputProperties = toObjectMap(buttonProperties, [\n 'accept', // input\n 'alt', // area, img, input\n 'autoCapitalize', // input, textarea\n 'autoComplete', // form, input\n 'checked', // input\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'height', // canvas, embed, iframe, img, input, object, video\n 'inputMode', // input\n 'list', // input\n 'max', // input, meter\n 'maxLength', // input, textarea\n 'min', // input, meter\n 'minLength', // input, textarea\n 'multiple', // input, select\n 'pattern', // input\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'step', // input\n 'size', // input\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport const textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize', // input, textarea\n 'cols', // textarea\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'maxLength', // input, textarea\n 'minLength', // input, textarea\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'rows', // textarea\n 'wrap', // textarea\n]);\n\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport const selectProperties = toObjectMap(buttonProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'multiple', // input, select\n 'required', // input, select, textarea\n]);\n\nexport const optionProperties = toObjectMap(htmlElementProperties, [\n 'selected', // option\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport const tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding', // table\n 'cellSpacing', // table\n]);\n\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport const trProperties = htmlElementProperties;\n\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport const thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport const tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan', // td\n 'headers', // td\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\nexport const colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\nexport const colProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport const formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset', // form\n 'action', // form\n 'encType', // form\n 'encType', // form\n 'method', // form\n 'noValidate', // form\n 'target', // form\n]);\n\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport const iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow', // iframe\n 'allowFullScreen', // iframe\n 'allowPaymentRequest', // iframe\n 'allowTransparency', // iframe\n 'csp', // iframe\n 'height', // canvas, embed, iframe, img, input, object, video\n 'importance', // iframe\n 'referrerPolicy', // iframe\n 'sandbox', // iframe\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcDoc', // iframe\n 'width', // canvas, embed, iframe, img, input, object, video,\n]);\n\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport const imgProperties = toObjectMap(htmlElementProperties, [\n 'alt', // area, img, input\n 'crossOrigin', // img\n 'height', // canvas, embed, iframe, img, input, object, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcSet', // img, source\n 'useMap', // img, object,\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport const imageProperties = imgProperties;\n\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport const divProperties = htmlElementProperties;\n\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames - The array or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: Record,\n allowedPropNames: string[] | Record,\n excludedPropNames?: string[],\n): T {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n\n const isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n const keys = Object.keys(props);\n\n for (const key of keys) {\n const isNativeProp =\n (!isArray && (allowedPropNames as Record)[key]) ||\n (isArray && (allowedPropNames as string[]).indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n\n if (isNativeProp && (!excludedPropNames || excludedPropNames?.indexOf(key) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props![key] as any;\n }\n }\n\n return result as T;\n}\n","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@fluentui/merge-styles';\n\nconst RTL_LOCAL_STORAGE_KEY = 'isRTL';\n\n// Default to undefined so that we initialize on first read.\nlet _isRTL: boolean | undefined;\n\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\nexport function getRTL(theme: { rtl?: boolean } = {}): boolean {\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n let savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n\n let doc = getDocument();\n if (_isRTL === undefined && doc) {\n _isRTL = ((doc.body && doc.body.getAttribute('dir')) || doc.documentElement.getAttribute('dir')) === 'rtl';\n mergeStylesSetRTL(_isRTL);\n }\n }\n\n return !!_isRTL;\n}\n\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\nexport function setRTL(isRTL: boolean, persistSetting: boolean = false): void {\n let doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\n }\n\n if (persistSetting) {\n setItem(RTL_LOCAL_STORAGE_KEY, isRTL ? '1' : '0');\n }\n\n _isRTL = isRTL;\n mergeStylesSetRTL(_isRTL);\n}\n\n/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\nexport function getRTLSafeKeyCode(key: number, theme: { rtl?: boolean } = {}): number {\n if (getRTL(theme)) {\n if (key === KeyCodes.left) {\n key = KeyCodes.right;\n } else if (key === KeyCodes.right) {\n key = KeyCodes.left;\n }\n }\n\n return key;\n}\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n const win = getWindow();\n result = win ? win.sessionStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n getWindow()?.sessionStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","import * as React from 'react';\nimport { getWindow } from './dom/getWindow';\nexport const IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\nexport const IsFocusHiddenClassName = 'ms-Fabric--isFocusHidden';\n\nfunction updateClassList(el: HTMLElement | null | undefined, enabled: boolean) {\n if (el) {\n el.classList.add(enabled ? IsFocusVisibleClassName : IsFocusHiddenClassName);\n el.classList.remove(enabled ? IsFocusHiddenClassName : IsFocusVisibleClassName);\n }\n}\n\n/**\n * Sets the visibility of focus styling.\n *\n * By default, focus styles (the box surrounding a focused Button, for example) only show up when navigational\n * keypresses occur (through Tab, arrows, PgUp/PgDn, Home and End), and are hidden when mouse interactions occur.\n * This API provides an imperative way to turn them on/off.\n *\n * A use case might be when you have a keypress like ctrl-f6 navigate to a particular region on the page,\n * and want focus to show up.\n *\n * @param enabled - Whether to turn focus visibility on or off.\n * @param target - Optional target from which to get window in case no `providerElem` has been specified.\n * @param registeredProviders - Array of provider refs that are associated with a FocusRectsProvider. If no array\n * is passed in, the classnames are attached to the document body that contains `target`.\n */\nexport function setFocusVisibility(\n enabled: boolean,\n target?: Element,\n registeredProviders?: React.RefObject[],\n): void {\n if (registeredProviders) {\n registeredProviders.forEach(ref => updateClassList(ref.current, enabled));\n } else {\n updateClassList(getWindow(target)?.document.body, enabled);\n }\n}\n","import * as React from 'react';\nimport { concatStyleSetsWithProps } from '@fluentui/merge-styles';\nimport { useCustomizationSettings } from './customizations/useCustomizationSettings';\nimport type { IStyleSet, IStyleFunctionOrObject } from '@fluentui/merge-styles';\n\nexport interface IPropsWithStyles> {\n styles?: IStyleFunctionOrObject;\n}\n\nexport interface ICustomizableProps {\n /**\n * Name of scope, which can be targeted using the Customizer.\n */\n scope: string;\n\n /**\n * List of fields which can be customized.\n * @defaultvalue [ 'theme', 'styles' ]\n */\n fields?: string[];\n}\n\nconst DefaultFields = ['theme', 'styles'];\n\nexport type StyleFunction = IStyleFunctionOrObject & {\n /** Cache for all style functions. */\n __cachedInputs__: (IStyleFunctionOrObject | undefined)[];\n\n /** True if no styles prop or styles from Customizer is passed to wrapped component. */\n __noStyleOverride__: boolean;\n};\n\n/**\n * The styled HOC wrapper allows you to create a functional wrapper around a given component which will resolve\n * getStyles functional props, and mix customized props passed in using concatStyleSets.\n *\n * @example\n * ```tsx\n * export const Toggle = styled(\n * ToggleBase,\n * props => ({ root: { background: 'red' }})\n * );\n * ```\n * @param Component - The unstyled base component to render, which receives styles.\n * @param baseStyles - The styles which should be curried with the component.\n * @param getProps - A helper which provides default props.\n * @param customizable - An object which defines which props can be customized using the Customizer.\n * @param pure - A boolean indicating if the component should avoid re-rendering when props haven't changed.\n * Note that pure should not be used on components which allow children, or take in complex objects or\n * arrays as props which could mutate on every render.\n */\nexport function styled<\n TComponentProps extends IPropsWithStyles,\n TStyleProps,\n TStyleSet extends IStyleSet,\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n): React.FunctionComponent;\nexport function styled<\n TComponentProps extends IPropsWithStyles & React.RefAttributes,\n TStyleProps,\n TStyleSet extends IStyleSet,\n TRef = unknown,\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n): React.ForwardRefExoticComponent & React.RefAttributes>;\nexport function styled<\n TComponentProps extends IPropsWithStyles & React.RefAttributes,\n TStyleProps,\n TStyleSet extends IStyleSet,\n TRef = unknown,\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n) {\n customizable = customizable || { scope: '', fields: undefined };\n\n const { scope, fields = DefaultFields } = customizable;\n\n const Wrapped = React.forwardRef((props: TComponentProps, forwardedRef: React.Ref) => {\n const styles = React.useRef>();\n\n const settings = useCustomizationSettings(fields, scope);\n const { styles: customizedStyles, dir, ...rest } = settings;\n const additionalProps = getProps ? getProps(props) : undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const cache = (styles.current && (styles.current as any).__cachedInputs__) || [];\n const propStyles = props.styles;\n if (!styles.current || customizedStyles !== cache[1] || propStyles !== cache[2]) {\n // Using styled components as the Component arg will result in nested styling arrays.\n // The function can be cached and in order to prevent the props from being retained within it's closure\n // we pass in just the styles and not the entire props\n const concatenatedStyles: IStyleFunctionOrObject = (styleProps: TStyleProps) =>\n concatStyleSetsWithProps(styleProps, baseStyles, customizedStyles, propStyles);\n\n // The __cachedInputs__ array is attached to the function and consumed by the\n // classNamesFunction as a list of keys to include for memoizing classnames.\n (concatenatedStyles as StyleFunction).__cachedInputs__ = [\n baseStyles,\n customizedStyles,\n propStyles,\n ];\n\n (concatenatedStyles as StyleFunction).__noStyleOverride__ =\n !customizedStyles && !propStyles;\n\n styles.current = concatenatedStyles as StyleFunction;\n }\n\n return ;\n });\n // Function.prototype.name is an ES6 feature, so the cast to any is required until we're\n // able to drop IE 11 support and compile with ES6 libs\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Wrapped.displayName = `Styled${Component.displayName || (Component as any).name}`;\n\n // This preserves backwards compatibility.\n const pureComponent = pure ? React.memo(Wrapped) : Wrapped;\n // Check if the wrapper has a displayName after it has been memoized. Then assign it to the pure component.\n if (Wrapped.displayName) {\n pureComponent.displayName = Wrapped.displayName;\n }\n\n return pureComponent;\n}\n","import { KeyCodes } from './KeyCodes';\n\nconst DirectionalKeyCodes: { [key: number]: number } = {\n [KeyCodes.up]: 1,\n [KeyCodes.down]: 1,\n [KeyCodes.left]: 1,\n [KeyCodes.right]: 1,\n [KeyCodes.home]: 1,\n [KeyCodes.end]: 1,\n [KeyCodes.tab]: 1,\n [KeyCodes.pageUp]: 1,\n [KeyCodes.pageDown]: 1,\n};\n\n/**\n * Returns true if the keycode is a directional keyboard key.\n */\nexport function isDirectionalKeyCode(which: number): boolean {\n return !!DirectionalKeyCodes[which];\n}\n\n/**\n * Adds a keycode to the list of keys that, when pressed, should cause the focus outlines to be visible.\n * This can be used to add global shortcut keys that directionally move from section to section within\n * an app or between focus trap zones.\n */\nexport function addDirectionalKeyCode(which: number): void {\n DirectionalKeyCodes[which] = 1;\n}\n\n/**\n * Removes a keycode to the list of keys that, when pressed, should cause the focus outlines to be visible.\n * This can be used to remove global shortcut keys that directionally move from section to section within\n * an app or between focus trap zones.\n */\nexport function removeDirectionalKeyCode(which: number): void {\n delete DirectionalKeyCodes[which];\n}\n","import * as React from 'react';\nimport { getWindow } from './dom/getWindow';\nimport { isDirectionalKeyCode } from './keyboard';\nimport { setFocusVisibility } from './setFocusVisibility';\n\n/**\n * Counter for mounted component that uses focus rectangles.\n * We want to cleanup the listeners before the last component that uses focus rectangles unmounts.\n */\nexport type ListenerCallbacks = {\n onMouseDown: (ev: MouseEvent) => void;\n onPointerDown: (ev: PointerEvent) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n onKeyUp: (ev: KeyboardEvent) => void;\n};\nlet mountCounters = new WeakMap();\nlet callbackMap = new WeakMap();\n\nfunction setMountCounters(key: Window | HTMLElement, delta: number): number {\n let newValue;\n const currValue = mountCounters.get(key);\n if (currValue) {\n newValue = currValue + delta;\n } else {\n newValue = 1;\n }\n\n mountCounters.set(key, newValue);\n return newValue;\n}\n\nfunction setCallbackMap(context: IFocusRectsContext): ListenerCallbacks {\n let callbacks = callbackMap.get(context);\n if (callbacks) {\n return callbacks;\n }\n\n const onMouseDown = (ev: MouseEvent) => _onMouseDown(ev, context.registeredProviders);\n const onPointerDown = (ev: PointerEvent) => _onPointerDown(ev, context.registeredProviders);\n const onKeyDown = (ev: KeyboardEvent) => _onKeyDown(ev, context.registeredProviders);\n const onKeyUp = (ev: KeyboardEvent) => _onKeyUp(ev, context.registeredProviders);\n callbacks = { onMouseDown, onPointerDown, onKeyDown, onKeyUp };\n\n callbackMap.set(context, callbacks);\n return callbacks;\n}\n\ntype AppWindow = (Window & { FabricConfig?: { disableFocusRects?: boolean } }) | undefined;\n\nexport type IFocusRectsContext = {\n /**\n * Ref to the root element of the provider\n */\n readonly providerRef: React.RefObject;\n\n /**\n * Array of this and all child provider elements under this one in the React tree.\n *\n * Tracking all child providers will allow a focus event in the parent to also set focus styling in its descendants.\n * This is needed for Combobox, for example, because the focus events happen on the parent context, but the visual\n * focus indicator is in the combobox callout. The callout needs to be notified on focus events from the parent.\n */\n readonly registeredProviders: React.RefObject[];\n\n /**\n * Used by child FocusRectsProviders to register their element with the parent provider.\n */\n readonly registerProvider: (ref: React.RefObject) => void;\n\n /**\n * Used by child FocusRectsProviders to unregister their element from the parent provider.\n */\n readonly unregisterProvider: (ref: React.RefObject) => void;\n};\n\nexport const FocusRectsContext = React.createContext(undefined);\n\n/**\n * Initializes the logic which:\n *\n * 1. Subscribes keydown, keyup, mousedown and pointerdown events. (It will only do it once for the current element of\n * the FocusRectsContext providerRef or once per window if no such element is provided via context, so it's safe to\n * call this method multiple times.)\n * 2. When the user presses triggers a keydown or keyup event via directional keyboard keys, adds the\n * 'ms-Fabric--isFocusVisible' classname to the current element of the FocusRectsContext providerRef or the document\n * body if no such element is provided via context, and removes the 'ms-Fabric-isFocusHidden' classname.\n * 3. When the user triggers a mousedown or pointerdown event, adds the 'ms-Fabric-isFocusHidden' classname to the\n * current element of the FocusRectsContext providerRef or the document body if no such element is provided via\n * context, and removes the 'ms-Fabric--isFocusVisible' classname.\n *\n * This logic allows components on the page to conditionally render focus treatments based on\n * the existence of global classnames, which simplifies logic overall.\n *\n * @param rootRef - A Ref object. Focus rectangle can be applied on itself and all its children.\n */\nexport function useFocusRects(rootRef?: React.RefObject): void {\n const context = React.useContext(FocusRectsContext);\n\n React.useEffect(() => {\n const win = getWindow(rootRef?.current) as AppWindow;\n\n if (!win || win.FabricConfig?.disableFocusRects === true) {\n return undefined;\n }\n\n let el: Window | HTMLElement = win;\n let onMouseDown: (ev: MouseEvent) => void;\n let onPointerDown: (ev: PointerEvent) => void;\n let onKeyDown: (ev: KeyboardEvent) => void;\n let onKeyUp: (ev: KeyboardEvent) => void;\n if (context?.providerRef?.current) {\n el = context.providerRef.current;\n const callbacks = setCallbackMap(context);\n onMouseDown = callbacks.onMouseDown;\n onPointerDown = callbacks.onPointerDown;\n onKeyDown = callbacks.onKeyDown;\n onKeyUp = callbacks.onKeyUp;\n } else {\n onMouseDown = _onMouseDown;\n onPointerDown = _onPointerDown;\n onKeyDown = _onKeyDown;\n onKeyUp = _onKeyUp;\n }\n\n let count = setMountCounters(el, 1);\n if (count <= 1) {\n el.addEventListener('mousedown', onMouseDown, true);\n el.addEventListener('pointerdown', onPointerDown, true);\n el.addEventListener('keydown', onKeyDown, true);\n el.addEventListener('keyup', onKeyUp, true);\n }\n\n return () => {\n if (!win || win.FabricConfig?.disableFocusRects === true) {\n return;\n }\n count = setMountCounters(el, -1);\n if (count === 0) {\n el.removeEventListener('mousedown', onMouseDown, true);\n el.removeEventListener('pointerdown', onPointerDown, true);\n el.removeEventListener('keydown', onKeyDown, true);\n el.removeEventListener('keyup', onKeyUp, true);\n }\n };\n }, [context, rootRef]);\n}\n\n/**\n * Function Component wrapper which enables calling `useFocusRects` hook.\n * Renders nothing.\n */\nexport const FocusRects: React.FunctionComponent<{ rootRef?: React.RefObject }> = props => {\n useFocusRects(props.rootRef);\n return null;\n};\n\nfunction _onMouseDown(ev: MouseEvent, registeredProviders?: React.RefObject[]): void {\n setFocusVisibility(false, ev.target as Element, registeredProviders);\n}\n\nfunction _onPointerDown(ev: PointerEvent, registeredProviders?: React.RefObject[]): void {\n if (ev.pointerType !== 'mouse') {\n setFocusVisibility(false, ev.target as Element, registeredProviders);\n }\n}\n\n// You need both a keydown and a keyup listener that sets focus visibility to true to handle two distinct scenarios when\n// attaching the listeners and classnames to the provider instead of the document body.\n// If you only have a keydown listener, then the focus rectangles will not show when moving from outside of the provider\n// to inside it. That is why a keyup listener is needed, since it will always trigger after the focus event is fired.\n// If you only have a keyup listener, then the focus rectangles will not show moving between different tabbable elements\n// if the tab key is pressed without being released. That's is why we need a keydown listener, since it will trigger for\n// every element that is being tabbed into.\n// This works because `classList.add` is smart and will not duplicate a classname that already exists on the classList\n// when focus visibility is turned on.\nfunction _onKeyDown(ev: KeyboardEvent, registeredProviders?: React.RefObject[]): void {\n // eslint-disable-next-line deprecation/deprecation\n if (isDirectionalKeyCode(ev.which)) {\n setFocusVisibility(true, ev.target as Element, registeredProviders);\n }\n}\n\nfunction _onKeyUp(ev: KeyboardEvent, registeredProviders?: React.RefObject[]): void {\n // eslint-disable-next-line deprecation/deprecation\n if (isDirectionalKeyCode(ev.which)) {\n setFocusVisibility(true, ev.target as Element, registeredProviders);\n }\n}\n","import * as React from 'react';\nimport { canUseDOM } from './dom/canUseDOM';\n\n/**\n * React currently throws a warning when using `useLayoutEffect` on the server. To get around it,\n * this hook calls `useEffect` on the server (no-op) and `useLayoutEffect` in the browser.\n *\n * Prefer `useEffect` unless you have a specific need to do something after mount and before paint,\n * such as to avoid a render flash for certain operations.\n *\n * Server-side rendering is detected based on `canUseDOM` from `@fluentui/utilities`.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n */\n// eslint-disable-next-line no-restricted-properties\nexport const useIsomorphicLayoutEffect: typeof React.useEffect = canUseDOM() ? React.useLayoutEffect : React.useEffect;\n","/* eslint-disable no-console */\n\nlet _warningCallback: ((message: string) => void) | undefined = undefined;\n\nexport type ISettingsMap = { [P in keyof T]?: string };\n\n/**\n * Sends a warning to console, if the api is present.\n *\n * @public\n * @param message - Warning message.\n */\nexport function warn(message: string): void {\n if (_warningCallback && process.env.NODE_ENV !== 'production') {\n _warningCallback(message);\n } else if (console && console.warn) {\n console.warn(message);\n }\n}\n\n/**\n * Configures the warning callback. Passing in undefined will reset it to use the default\n * console.warn function.\n *\n * @public\n * @param warningCallback - Callback to override the generated warnings.\n */\nexport function setWarningCallback(warningCallback?: (message: string) => void): void {\n _warningCallback = warningCallback;\n}\n","import { warn } from './warn';\nimport type { ISettingsMap } from './warn';\n\n/**\n * Warns when a deprecated props are being used.\n *\n * @public\n * @param componentName - The name of the component being used.\n * @param props - The props passed into the component.\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\n * either null or a replacement prop name.\n */\nexport function warnDeprecations

(componentName: string, props: P, deprecationMap: ISettingsMap

): void {\n if (process.env.NODE_ENV !== 'production') {\n for (const propName in deprecationMap) {\n if (props && propName in props) {\n let deprecationMessage = `${componentName} property '${propName}' was used but has been deprecated.`;\n const replacementPropName = deprecationMap[propName];\n if (replacementPropName) {\n deprecationMessage += ` Use '${replacementPropName}' instead.`;\n }\n warn(deprecationMessage);\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\n/**\n * An IThemingInstruction can specify a rawString to be preserved or a theme slot and a default value\n * to use if that slot is not specified by the theme.\n */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\n\n// Declaring a global here in case that the execution environment is Node.js (without importing the\n// entire node.js d.ts for now)\ndeclare let global: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n\nexport interface IThemingInstruction {\n theme?: string;\n defaultValue?: string;\n rawString?: string;\n}\n\nexport type ThemableArray = IThemingInstruction[];\n\nexport interface ITheme {\n [key: string]: string;\n}\n\ninterface IStyleSheet {\n cssText: string;\n}\n\ninterface IExtendedHtmlStyleElement extends HTMLStyleElement {\n styleSheet: IStyleSheet;\n}\n\n/**\n * Performance Measurement of loading styles\n */\ninterface IMeasurement {\n /**\n * Count of style element injected, which is the slow operation in IE\n */\n count: number;\n /**\n * Total duration of all loadStyles exections\n */\n duration: number;\n}\n\ninterface IRunState {\n mode: Mode;\n buffer: ThemableArray[];\n flushTimer: number;\n}\n\ninterface IThemeState {\n theme: ITheme | undefined;\n lastStyleElement: IExtendedHtmlStyleElement;\n registeredStyles: IStyleRecord[]; // records of already registered non-themable styles\n registeredThemableStyles: IStyleRecord[]; // records of already registered themable styles\n loadStyles: ((processedStyles: string, rawStyles?: string | ThemableArray) => void) | undefined;\n perf: IMeasurement;\n runState: IRunState;\n}\n\ninterface IStyleRecord {\n styleElement: Element;\n themableStyle: ThemableArray;\n}\n\ninterface ICustomEvent extends Event {\n args?: T;\n}\n\n/**\n * object returned from resolveThemableArray function\n */\ninterface IThemableArrayResolveResult {\n /** this string is the processed styles in string */\n styleString: string;\n\n /** this boolean indicates if this style array is themable */\n themable: boolean;\n}\n\n/**\n * In sync mode, styles are registered as style elements synchronously with loadStyles() call.\n * In async mode, styles are buffered and registered as batch in async timer for performance purpose.\n */\nexport const enum Mode {\n sync,\n async\n}\n\n/**\n * Themable styles and non-themable styles are tracked separately\n * Specify ClearStyleOptions when calling clearStyles API to specify which group of registered styles should be cleared.\n */\nexport const enum ClearStyleOptions {\n /** only themable styles will be cleared */\n onlyThemable = 1,\n /** only non-themable styles will be cleared */\n onlyNonThemable = 2,\n /** both themable and non-themable styles will be cleared */\n all = 3\n}\n\n// Store the theming state in __themeState__ global scope for reuse in the case of duplicate\n// load-themed-styles hosted on the page.\nconst _root: any = typeof window === 'undefined' ? global : window; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n// Nonce string to inject into script tag if one provided. This is used in CSP (Content Security Policy).\nconst _styleNonce: string = _root && _root.CSPSettings && _root.CSPSettings.nonce;\n\nconst _themeState: IThemeState = initializeThemeState();\n\n/**\n * Matches theming tokens. For example, \"[theme: themeSlotName, default: #FFF]\" (including the quotes).\n */\nconst _themeTokenRegex: RegExp =\n /[\\'\\\"]\\[theme:\\s*(\\w+)\\s*(?:\\,\\s*default:\\s*([\\\\\"\\']?[\\.\\,\\(\\)\\#\\-\\s\\w]*[\\.\\,\\(\\)\\#\\-\\w][\\\"\\']?))?\\s*\\][\\'\\\"]/g;\n\nconst now: () => number = () =>\n typeof performance !== 'undefined' && !!performance.now ? performance.now() : Date.now();\n\nfunction measure(func: () => void): void {\n const start: number = now();\n func();\n const end: number = now();\n _themeState.perf.duration += end - start;\n}\n\n/**\n * initialize global state object\n */\nfunction initializeThemeState(): IThemeState {\n let state: IThemeState = _root.__themeState__ || {\n theme: undefined,\n lastStyleElement: undefined,\n registeredStyles: []\n };\n\n if (!state.runState) {\n state = {\n ...state,\n perf: {\n count: 0,\n duration: 0\n },\n runState: {\n flushTimer: 0,\n mode: Mode.sync,\n buffer: []\n }\n };\n }\n if (!state.registeredThemableStyles) {\n state = {\n ...state,\n registeredThemableStyles: []\n };\n }\n _root.__themeState__ = state;\n return state;\n}\n\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load\n * event is fired.\n * @param {string | ThemableArray} styles Themable style text to register.\n * @param {boolean} loadAsync When true, always load styles in async mode, irrespective of current sync mode.\n */\nexport function loadStyles(styles: string | ThemableArray, loadAsync: boolean = false): void {\n measure(() => {\n const styleParts: ThemableArray = Array.isArray(styles) ? styles : splitStyles(styles);\n const { mode, buffer, flushTimer } = _themeState.runState;\n if (loadAsync || mode === Mode.async) {\n buffer.push(styleParts);\n if (!flushTimer) {\n _themeState.runState.flushTimer = asyncLoadStyles();\n }\n } else {\n applyThemableStyles(styleParts);\n }\n });\n}\n\n/**\n * Allows for customizable loadStyles logic. e.g. for server side rendering application\n * @param {(processedStyles: string, rawStyles?: string | ThemableArray) => void}\n * a loadStyles callback that gets called when styles are loaded or reloaded\n */\nexport function configureLoadStyles(\n loadStylesFn: ((processedStyles: string, rawStyles?: string | ThemableArray) => void) | undefined\n): void {\n _themeState.loadStyles = loadStylesFn;\n}\n\n/**\n * Configure run mode of load-themable-styles\n * @param mode load-themable-styles run mode, async or sync\n */\nexport function configureRunMode(mode: Mode): void {\n _themeState.runState.mode = mode;\n}\n\n/**\n * external code can call flush to synchronously force processing of currently buffered styles\n */\nexport function flush(): void {\n measure(() => {\n const styleArrays: ThemableArray[] = _themeState.runState.buffer.slice();\n _themeState.runState.buffer = [];\n const mergedStyleArray: ThemableArray = ([] as ThemableArray).concat.apply([], styleArrays);\n if (mergedStyleArray.length > 0) {\n applyThemableStyles(mergedStyleArray);\n }\n });\n}\n\n/**\n * register async loadStyles\n */\nfunction asyncLoadStyles(): number {\n return setTimeout(() => {\n _themeState.runState.flushTimer = 0;\n flush();\n }, 0);\n}\n\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load event\n * is fired.\n * @param {string} styleText Style to register.\n * @param {IStyleRecord} styleRecord Existing style record to re-apply.\n */\nfunction applyThemableStyles(stylesArray: ThemableArray, styleRecord?: IStyleRecord): void {\n if (_themeState.loadStyles) {\n _themeState.loadStyles(resolveThemableArray(stylesArray).styleString, stylesArray);\n } else {\n registerStyles(stylesArray);\n }\n}\n\n/**\n * Registers a set theme tokens to find and replace. If styles were already registered, they will be\n * replaced.\n * @param {theme} theme JSON object of theme tokens to values.\n */\nexport function loadTheme(theme: ITheme | undefined): void {\n _themeState.theme = theme;\n\n // reload styles.\n reloadStyles();\n}\n\n/**\n * Clear already registered style elements and style records in theme_State object\n * @param option - specify which group of registered styles should be cleared.\n * Default to be both themable and non-themable styles will be cleared\n */\nexport function clearStyles(option: ClearStyleOptions = ClearStyleOptions.all): void {\n if (option === ClearStyleOptions.all || option === ClearStyleOptions.onlyNonThemable) {\n clearStylesInternal(_themeState.registeredStyles);\n _themeState.registeredStyles = [];\n }\n if (option === ClearStyleOptions.all || option === ClearStyleOptions.onlyThemable) {\n clearStylesInternal(_themeState.registeredThemableStyles);\n _themeState.registeredThemableStyles = [];\n }\n}\n\nfunction clearStylesInternal(records: IStyleRecord[]): void {\n records.forEach((styleRecord: IStyleRecord) => {\n const styleElement: HTMLStyleElement = styleRecord && (styleRecord.styleElement as HTMLStyleElement);\n if (styleElement && styleElement.parentElement) {\n styleElement.parentElement.removeChild(styleElement);\n }\n });\n}\n\n/**\n * Reloads styles.\n */\nfunction reloadStyles(): void {\n if (_themeState.theme) {\n const themableStyles: ThemableArray[] = [];\n for (const styleRecord of _themeState.registeredThemableStyles) {\n themableStyles.push(styleRecord.themableStyle);\n }\n if (themableStyles.length > 0) {\n clearStyles(ClearStyleOptions.onlyThemable);\n applyThemableStyles(([] as ThemableArray).concat.apply([], themableStyles));\n }\n }\n}\n\n/**\n * Find theme tokens and replaces them with provided theme values.\n * @param {string} styles Tokenized styles to fix.\n */\nexport function detokenize(styles: string | undefined): string | undefined {\n if (styles) {\n styles = resolveThemableArray(splitStyles(styles)).styleString;\n }\n\n return styles;\n}\n\n/**\n * Resolves ThemingInstruction objects in an array and joins the result into a string.\n * @param {ThemableArray} splitStyleArray ThemableArray to resolve and join.\n */\nfunction resolveThemableArray(splitStyleArray: ThemableArray): IThemableArrayResolveResult {\n const { theme }: IThemeState = _themeState;\n let themable: boolean = false;\n // Resolve the array of theming instructions to an array of strings.\n // Then join the array to produce the final CSS string.\n const resolvedArray: (string | undefined)[] = (splitStyleArray || []).map(\n (currentValue: IThemingInstruction) => {\n const themeSlot: string | undefined = currentValue.theme;\n if (themeSlot) {\n themable = true;\n // A theming annotation. Resolve it.\n const themedValue: string | undefined = theme ? theme[themeSlot] : undefined;\n const defaultValue: string = currentValue.defaultValue || 'inherit';\n\n // Warn to console if we hit an unthemed value even when themes are provided, but only if \"DEBUG\" is true.\n // Allow the themedValue to be undefined to explicitly request the default value.\n if (\n theme &&\n !themedValue &&\n console &&\n !(themeSlot in theme) &&\n typeof DEBUG !== 'undefined' &&\n DEBUG\n ) {\n console.warn(`Theming value not provided for \"${themeSlot}\". Falling back to \"${defaultValue}\".`);\n }\n\n return themedValue || defaultValue;\n } else {\n // A non-themable string. Preserve it.\n return currentValue.rawString;\n }\n }\n );\n\n return {\n styleString: resolvedArray.join(''),\n themable: themable\n };\n}\n\n/**\n * Split tokenized CSS into an array of strings and theme specification objects\n * @param {string} styles Tokenized styles to split.\n */\nexport function splitStyles(styles: string): ThemableArray {\n const result: ThemableArray = [];\n if (styles) {\n let pos: number = 0; // Current position in styles.\n let tokenMatch: RegExpExecArray | null;\n while ((tokenMatch = _themeTokenRegex.exec(styles))) {\n const matchIndex: number = tokenMatch.index;\n if (matchIndex > pos) {\n result.push({\n rawString: styles.substring(pos, matchIndex)\n });\n }\n\n result.push({\n theme: tokenMatch[1],\n defaultValue: tokenMatch[2] // May be undefined\n });\n\n // index of the first character after the current match\n pos = _themeTokenRegex.lastIndex;\n }\n\n // Push the rest of the string after the last match.\n result.push({\n rawString: styles.substring(pos)\n });\n }\n\n return result;\n}\n\n/**\n * Registers a set of style text. If it is registered too early, we will register it when the\n * window.load event is fired.\n * @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.\n * @param {IStyleRecord} styleRecord May specify a style Element to update.\n */\nfunction registerStyles(styleArray: ThemableArray): void {\n if (typeof document === 'undefined') {\n return;\n }\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n const styleElement: HTMLStyleElement = document.createElement('style');\n const { styleString, themable } = resolveThemableArray(styleArray);\n\n styleElement.setAttribute('data-load-themed-styles', 'true');\n if (_styleNonce) {\n styleElement.setAttribute('nonce', _styleNonce);\n }\n styleElement.appendChild(document.createTextNode(styleString));\n _themeState.perf.count++;\n head.appendChild(styleElement);\n\n const ev: ICustomEvent<{ newStyle: HTMLStyleElement }> = document.createEvent('HTMLEvents');\n ev.initEvent('styleinsert', true /* bubbleEvent */, false /* cancelable */);\n ev.args = {\n newStyle: styleElement\n };\n document.dispatchEvent(ev);\n\n const record: IStyleRecord = {\n styleElement: styleElement,\n themableStyle: styleArray\n };\n\n if (themable) {\n _themeState.registeredThemableStyles.push(record);\n } else {\n _themeState.registeredStyles.push(record);\n }\n}\n","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { warning, invariant, parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on

,\n * useSubmit(), , etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\";\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport interface Submission {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n}\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: any;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n formData?: Submission[\"formData\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n detectErrorBoundary: DetectErrorBoundaryFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n hasErrorBoundary: detectErrorBoundary(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n id,\n hasErrorBoundary: detectErrorBoundary(route),\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n detectErrorBoundary,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explodes _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n const starParam = params[star];\n\n // Apply the splat\n return starParam;\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n\n if (optional === \"?\") {\n return param == null ? \"\" : param;\n }\n\n if (param == null) {\n invariant(false, `Missing \":${key}\" param`);\n }\n\n return param;\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n error?: Error;\n internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n DataResult,\n DeferredData,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n DetectErrorBoundaryFunction,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n ShouldRevalidateFunction,\n RouteManifest,\n ImmutableRouteKey,\n ActionFunction,\n LoaderFunction,\n V7_MutationFormMethod,\n V7_FormMethod,\n HTMLFormMethod,\n MutationFormMethod,\n} from \"./utils\";\nimport {\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterNavigateOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n future?: FutureConfig;\n hydrationData?: HydrationState;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\n/**\n * Options for a navigate() call for a Link navigation\n */\ntype LinkNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n};\n\n/**\n * Options for a navigate() call for a Form navigation\n */\ntype SubmissionNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n formData: FormData;\n};\n\n/**\n * Options to pass to navigate() for either a Link or Form navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions =\n | Omit\n | Omit;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: FormMethod | V7_FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Loading: {\n state: \"loading\";\n formMethod: FormMethod | V7_FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\nconst isServer = !isBrowser;\n\nconst defaultDetectErrorBoundary = (route: AgnosticRouteObject) =>\n Boolean(route.hasErrorBoundary);\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let detectErrorBoundary =\n init.detectErrorBoundary || defaultDetectErrorBoundary;\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n detectErrorBoundary,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(\n dataRoutes,\n init.history.location,\n init.basename\n );\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidate()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations from their actions\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(router.state.blockers) });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n for (let [key] of blockerFunctions) {\n deleteBlocker(key);\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers: new Map(state.blockers),\n });\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n to,\n future,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(state.blockers) });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, init.basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a mutation submission\n // For example, on /page#hash and submit a which will\n // default to a navigation to /page\n if (\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n ...opts.submission,\n };\n loadingNavigation = navigation;\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts?: { replace?: boolean }\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n ...submission,\n };\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation;\n if (!loadingNavigation) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n };\n loadingNavigation = navigation;\n }\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission || fetcherSubmission\n ? submission || fetcherSubmission\n : loadingNavigation.formMethod &&\n loadingNavigation.formAction &&\n loadingNavigation.formData &&\n loadingNavigation.formEncType\n ? {\n formMethod: loadingNavigation.formMethod,\n formAction: loadingNavigation.formAction,\n formData: loadingNavigation.formData,\n formEncType: loadingNavigation.formEncType,\n }\n : undefined;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n init.basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: fetcher && fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n pendingNavigationLoadId = ++incrementingLoadId;\n revalidatingFetchers.forEach((rf) =>\n fetchControllers.set(rf.key, pendingNavigationController!)\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n await startRedirectNavigation(state, redirect, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n\n return {\n loaderData,\n errors,\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = matchRoutes(routesToUse, href, init.basename);\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: href })\n );\n return;\n }\n\n let { path, submission } = normalizeNavigateOptions(\n href,\n future,\n opts,\n true\n );\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n fetchRedirectIds.add(key);\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n ...submission,\n data: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n submission,\n isFetchActionRedirect: true,\n });\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, init.basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: actionResult.data,\n ...submission,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n init.basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: existingFetcher && existingFetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(staleKey, revalidatingFetcher);\n fetchControllers.set(staleKey, abortController);\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n return startRedirectNavigation(state, redirect);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: actionResult.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads ? { fetchers: new Map(state.fetchers) } : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n await startRedirectNavigation(state, result);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n replace,\n isFetchActionRedirect,\n }: {\n submission?: Submission;\n replace?: boolean;\n isFetchActionRedirect?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(\n state.location,\n redirect.location,\n // TODO: This can be removed once we get rid of useTransition in Remix v2\n {\n _isRedirect: true,\n ...(isFetchActionRedirect ? { _isFetchActionRedirect: true } : {}),\n }\n );\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n // Check if this an absolute external redirect that goes to a new origin\n if (\n ABSOLUTE_URL_REGEX.test(redirect.location) &&\n isBrowser &&\n typeof window?.location !== \"undefined\"\n ) {\n let url = init.history.createURL(redirect.location);\n let isDifferentBasename =\n stripBasename(url.pathname, init.basename || \"/\") == null;\n\n if (window.location.origin !== url.origin || isDifferentBasename) {\n if (replace) {\n window.location.replace(redirect.location);\n } else {\n window.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType, formData } = state.navigation;\n if (!submission && formMethod && formAction && formData && formEncType) {\n submission = {\n formMethod,\n formAction,\n formEncType,\n formData,\n };\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n submission &&\n isMutationMethod(submission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...submission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else if (isFetchActionRedirect) {\n // For a fetch action redirect, we kick off a new loading navigation\n // without the fetcher submission, but we send it along for shouldRevalidate\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n },\n fetcherSubmission: submission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // Otherwise, we kick off a new loading navigation, preserving the\n // submission info for the duration of this navigation\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: submission ? submission.formMethod : undefined,\n formAction: submission ? submission.formAction : undefined,\n formEncType: submission ? submission.formEncType : undefined,\n formData: submission ? submission.formData : undefined,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n detectErrorBoundary,\n router.basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, request.signal),\n f.match,\n f.matches,\n manifest,\n detectErrorBoundary,\n router.basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n request.signal,\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n request.signal,\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n if (fetchControllers.has(key)) abortFetcher(key);\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): void {\n let doneKeys = [];\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n }\n }\n markFetchersDone(doneKeys);\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n state.blockers.set(key, newBlocker);\n updateState({ blockers: new Map(state.blockers) });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || ((location) => location.key);\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n inFlightDataRoutes = newRoutes;\n }\n\n router = {\n get basename() {\n return init.basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let detectErrorBoundary =\n opts?.detectErrorBoundary || defaultDetectErrorBoundary;\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n detectErrorBoundary,\n undefined,\n manifest\n );\n let basename = (opts ? opts.basename : null) || \"/\";\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n detectErrorBoundary,\n basename,\n true,\n isRouteRequest,\n requestContext\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n detectErrorBoundary,\n basename,\n true,\n isRouteRequest,\n requestContext\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return opts != null && \"formData\" in opts;\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n to: To,\n future: FutureConfig,\n opts?: RouterNavigateOptions,\n isFetcher = false\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n let path = typeof to === \"string\" ? to : createPath(to);\n\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n // Create a Submission on non-GET navigations\n let submission: Submission | undefined;\n if (opts.formData) {\n let formMethod = opts.formMethod || \"get\";\n submission = {\n formMethod: future.v7_normalizeFormMethod\n ? (formMethod.toUpperCase() as V7_FormMethod)\n : (formMethod.toLowerCase() as FormMethod),\n formAction: stripHashFromPath(path),\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData: opts.formData,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n let searchParams = convertFormDataToSearchParams(opts.formData);\n // Since fetcher GET submissions only run a single loader (as opposed to\n // navigation GET submissions which run all loaders), we need to preserve\n // any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n let defaultShouldRevalidate =\n // Forced revalidation due to submission, useRevalidate, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.toString() === nextUrl.toString() ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search;\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n defaultShouldRevalidate ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData\n if (!fetcherMatches) {\n revalidatingFetchers.push({ key, ...f, matches: null, match: null });\n return;\n }\n\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n if (cancelledFetcherLoads.includes(key)) {\n revalidatingFetchers.push({\n key,\n matches: fetcherMatches,\n match: fetcherMatch,\n ...f,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // hit a static href, so they _always_ check shouldRevalidate and the\n // default is strictly if a revalidation is explicitly required (action\n // submissions, useRevalidator, X-Remix-Revalidate).\n let shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate,\n });\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n matches: fetcherMatches,\n match: fetcherMatch,\n ...f,\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: Parameters[0]\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n detectErrorBoundary: DetectErrorBoundaryFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to detectErrorBoundary\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `detectErrorBoundary` function to set the `hasErrorBoundary` route\n // property since the logic will differ between frameworks.\n hasErrorBoundary: detectErrorBoundary({ ...routeToUpdate }),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n detectErrorBoundary: DetectErrorBoundaryFunction,\n basename = \"/\",\n isStaticRequest: boolean = false,\n isRouteRequest: boolean = false,\n requestContext?: unknown\n): Promise {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({ request, params: match.params, context: requestContext }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let values = await Promise.all([\n runHandler(handler),\n loadLazyRouteModule(match.route, detectErrorBoundary, manifest),\n ]);\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, detectErrorBoundary, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n throw getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else {\n invariant(\n handler,\n `Could not find the ${type} to run on the \"${match.route.id}\" route`\n );\n\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let activeMatches = matches.slice(0, matches.indexOf(match) + 1);\n let routePathnames = getPathContributingMatches(activeMatches).map(\n (match) => match.pathnameBase\n );\n let resolvedLocation = resolveTo(\n location,\n routePathnames,\n new URL(request.url).pathname\n );\n invariant(\n createPath(resolvedLocation),\n `Unable to resolve redirect location: ${location}`\n );\n\n // Prepend the basename to the redirect location if we have one\n if (basename) {\n let path = resolvedLocation.pathname;\n resolvedLocation.pathname =\n path === \"/\" ? basename : joinPaths([basename, path]);\n }\n\n location = createPath(resolvedLocation);\n } else if (!isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType, formData } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n init.body =\n formEncType === \"application/x-www-form-urlencoded\"\n ? convertFormDataToSearchParams(formData)\n : formData;\n }\n\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, value instanceof File ? value.name : value);\n }\n\n return searchParams;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponse(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results: DataResult[]): RedirectResult | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return result;\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n return (\n a.pathname === b.pathname && a.search === b.search && a.hash !== b.hash\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signal: AbortSignal,\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n//#endregion\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n event: LimitedMouseEvent,\n target?: string\n) {\n return (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n\nexport function getSearchParamsForLocation(\n locationSearch: string,\n defaultSearchParams: URLSearchParams | null\n) {\n let searchParams = createSearchParams(locationSearch);\n\n if (defaultSearchParams) {\n for (let key of defaultSearchParams.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n }\n\n return searchParams;\n}\n\nexport interface SubmitOptions {\n /**\n * The HTTP method used to submit the form. Overrides ``.\n * Defaults to \"GET\".\n */\n method?: HTMLFormMethod;\n\n /**\n * The action URL path used to submit the form. Overrides ``.\n * Defaults to the path of the current route.\n *\n * Note: It is assumed the path is already resolved. If you need to resolve a\n * relative path, use `useFormAction`.\n */\n action?: string;\n\n /**\n * The action URL used to submit the form. Overrides ``.\n * Defaults to \"application/x-www-form-urlencoded\".\n */\n encType?: FormEncType;\n\n /**\n * Set `true` to replace the current entry in the browser's history stack\n * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n * to `false`.\n */\n replace?: boolean;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * In browser-based environments, prevent resetting scroll after this\n * navigation when using the component\n */\n preventScrollReset?: boolean;\n}\n\nexport function getFormSubmissionInfo(\n target:\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | { [name: string]: string }\n | null,\n defaultAction: string,\n options: SubmitOptions\n): {\n url: URL;\n method: string;\n encType: string;\n formData: FormData;\n} {\n let method: string;\n let action: string;\n let encType: string;\n let formData: FormData;\n\n if (isFormElement(target)) {\n let submissionTrigger: HTMLButtonElement | HTMLInputElement = (\n options as any\n ).submissionTrigger;\n\n method = options.method || target.getAttribute(\"method\") || defaultMethod;\n action = options.action || target.getAttribute(\"action\") || defaultAction;\n encType =\n options.encType || target.getAttribute(\"enctype\") || defaultEncType;\n\n formData = new FormData(target);\n\n if (submissionTrigger && submissionTrigger.name) {\n formData.append(submissionTrigger.name, submissionTrigger.value);\n }\n } else if (\n isButtonElement(target) ||\n (isInputElement(target) &&\n (target.type === \"submit\" || target.type === \"image\"))\n ) {\n let form = target.form;\n\n if (form == null) {\n throw new Error(\n `Cannot submit a