{"version":3,"file":"static/js/8990.95765c3b.chunk.js","mappings":"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","sources":["components/LanguageSelector/LanguageSelector.tsx","pages/Welcome/Welcome.tsx","../node_modules/@fluentui/react/lib/components/src/components/MessageBar/MessageBar.types.ts","../node_modules/@fluentui/react/lib/components/src/components/MessageBar/MessageBar.base.tsx","../node_modules/@fluentui/react/lib/components/src/components/MessageBar/MessageBar.styles.ts","../node_modules/@fluentui/react/lib/components/src/components/MessageBar/MessageBar.tsx","../node_modules/@fluentui/react/lib/components/src/components/Separator/Separator.base.tsx","../node_modules/@fluentui/react/lib/components/src/components/Separator/Separator.tsx","../node_modules/@fluentui/react/lib/components/src/components/Separator/Separator.styles.ts"],"sourcesContent":["import React from 'react';\r\n//import { ComboBox, IComboBox, IComboBoxOption } from '@fluentui/react';\r\n//import { useIntl } from 'react-intl';\r\n\r\nimport { useLocale } from '../LocalizationProvider/LocalizationProvider';\r\n\r\ninterface ILanguageSelectorProps {\r\n  forceReload?: boolean;\r\n}\r\n\r\nexport const LanguageSelector: React.FunctionComponent<ILanguageSelectorProps> = ({ forceReload = false }) => {\r\n  const { locale } = useLocale();\r\n  // const { formatMessage } = useIntl();\r\n  sessionStorage.setItem('locale', locale);\r\n\r\n  // const setLocalizationLanguage = React.useCallback(\r\n  //   (event: React.FormEvent<IComboBox>, option: IComboBoxOption | undefined): void => {\r\n  //     if (option && option.key) {\r\n  //       const locale = option.key.toString();\r\n  //       setLocale(locale, forceReload);\r\n  //       sessionStorage.setItem('locale', locale);\r\n  //     }\r\n  //   },\r\n  //   [setLocale, forceReload]\r\n  // );\r\n\r\n  return (\r\n    <React.Fragment>\r\n      {/* <ComboBox\r\n        hidden={true}\r\n        placeholder={formatMessage({\r\n          defaultMessage: 'Select an option'\r\n        })}\r\n        id=\"LocalizationSelect\"\r\n        allowFreeform\r\n        autoComplete=\"on\"\r\n        label={formatMessage({\r\n          defaultMessage: 'Select a language',\r\n          description: 'language field'\r\n        })}\r\n        onChange={setLocalizationLanguage}\r\n        className=\"dropdownWidth\"\r\n        required={true}\r\n        selectedKey={locale}\r\n        useComboBoxAsMenuWidth={true}\r\n        options={[\r\n          { key: 'en-US', text: 'English' },\r\n          { key: 'ja-JP', text: 'Japanese(日本人)' },\r\n          { key: 'ko-KR', text: 'Korean(韓国語)' },\r\n          { key: 'zh-CN', text: 'Chinese(中国人)' }\r\n        ]}\r\n        calloutProps={{ directionalHint: 5, directionalHintFixed: true, calloutMaxHeight: 350 }}\r\n      ></ComboBox> */}\r\n    </React.Fragment>\r\n  );\r\n};\r\n","import { Link, Image, PrimaryButton, Separator, MessageBar, MessageBarType, FontIcon } from '@fluentui/react';\r\nimport React, { ReactElement, useCallback, useEffect } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { SeverityLevel } from '@microsoft/applicationinsights-web';\r\nimport { FormattedMessage, useIntl } from 'react-intl';\r\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Helper, QueryStringParam } from '../../utilities';\r\nimport { useTitle } from '../../hooks';\r\nimport msLogo from '../../assets/images/microsoft-logo-dark.png';\r\nimport { ICustomErrorMessage } from '../../models';\r\nimport { ai } from '../../components/ApplicationInsightsProvider/ApplicationInsightsService';\r\nimport { LanguageSelector } from '../../components/LanguageSelector/LanguageSelector';\r\nimport { GetProfileActions } from '../../store/stores/user';\r\nimport './Welcome.scss';\r\nimport { useAuthenticatedUser } from '../../hooks/useAuthenticatedUser';\r\nimport { useLocale } from '../../components/LocalizationProvider/LocalizationProvider';\r\nimport { GetFeatureFlagAction } from '../../store/stores/featureFlag';\r\nimport { IApplicationState } from '../../store';\r\nimport { useEndpointActions } from '../../store/endpoint';\r\nimport FeatureFlagValues from '../../utilities/featureFlagValues';\r\nimport WelcomeCollage from '../../assets/images/welcomeCollageImage.png';\r\n\r\n/**\r\n * Welcome Page\r\n */\r\nexport const Welcome: React.FunctionComponent = () => {\r\n  const pageTitle: string = process.env.REACT_APP_SITE_NAME + ': Welcome';\r\n  const history = useHistory();\r\n  const intl = useIntl();\r\n  useTitle(pageTitle);\r\n  const [getFeatureFlag] = useEndpointActions([GetFeatureFlagAction]);\r\n\r\n  //const isWelcomePageNofification = `Welcome_${localStorage.getItem('locale')}`;\r\n\r\n  const isMaintenanceMode = FeatureFlagValues().isMaintenanceMode;\r\n  const hasfeatureflag = isMaintenanceMode.length > 0;\r\n  const isSigninDisable = FeatureFlagValues().isSigninDisable;\r\n  const isMaintenance = isMaintenanceMode?.map(m => m?.isEnabledFlag)[0];\r\n  const isMaintenanceMessage = isMaintenanceMode?.map(m => m?.alertMessage)[0];\r\n  const hideSessionTimeout = FeatureFlagValues()?.hideSessionTimeout;\r\n  const isSessionExpired = localStorage.getItem('isSessionExpired')?.toLowerCase() === 'yes';\r\n  const isNewWindowOrTab = window.history.length <= 2;\r\n\r\n  // The a hint to tell AAD which company branding to display on login\r\n  const deliveryId = new URLSearchParams(window.location.search.toLowerCase()).get(QueryStringParam.DeliveryId);\r\n  const dispatch = useDispatch();\r\n  const IsAad = sessionStorage.getItem(QueryStringParam.IsAad);\r\n  const account = useAuthenticatedUser();\r\n  const isAuthenticated = sessionStorage.getItem(QueryStringParam.IsAuthenticated) || account?.authenticationState;\r\n  const { locale } = useLocale();\r\n  const [profile] = useSelector((state: IApplicationState) => [state.UserStore.profile], shallowEqual);\r\n  const supportLinkLogging = () => {\r\n    Helper.supportLinkVisitLog('Welcome', profile.workEmail, profile.id);\r\n  };\r\n\r\n  // Fetch the profile when the page loads and the user is authenticated\r\n  const redirectToRegister = useCallback(() => {\r\n    dispatch(GetProfileActions.Clear());\r\n    if (sessionStorage.getItem(QueryStringParam.DeliveryId)) {\r\n      if (ai.appInsights) {\r\n        ai.appInsights.trackTrace({\r\n          message: 'Welcome: Deliveryonly request',\r\n          severityLevel: SeverityLevel.Information,\r\n          properties: {\r\n            deliveryId\r\n          }\r\n        });\r\n      }\r\n      history.replace(`/Deliveryonly/?delid=${sessionStorage.getItem(QueryStringParam.DeliveryId)}`, {});\r\n    }\r\n    if (ai.appInsights) {\r\n      ai.appInsights.trackTrace({\r\n        message: 'Welcome:EmailValidation request',\r\n        severityLevel: SeverityLevel.Information,\r\n        properties: {}\r\n      });\r\n    }\r\n    history.replace('/emailvalidation/');\r\n  }, [dispatch, history, deliveryId]);\r\n\r\n  useEffect(() => {\r\n    getFeatureFlag();\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, []);\r\n\r\n  const showWelcomePage = () => {\r\n    const isSessionExpired = localStorage.getItem('isSessionExpired');\r\n    if (isSessionExpired && isSessionExpired.toLowerCase() === 'yes') {\r\n      localStorage.setItem('isSessionExpired', 'no');\r\n    }\r\n\r\n    sessionStorage.clear();\r\n    history.push('/');\r\n  };\r\n\r\n  useEffect(() => {\r\n    const querystringParam = window.location.search.toString().toLocaleLowerCase(); // ex. \"?delid=201232\"\r\n    const isESITermsAccepted = sessionStorage.getItem(QueryStringParam.IsESITermsAccepted) === 'yes';\r\n    if (isAuthenticated && IsAad) {\r\n      if (querystringParam && querystringParam.includes('delid')) {\r\n        validateUrl(querystringParam);\r\n        history.push(`/Deliveryonly/?delid=${sessionStorage.getItem(QueryStringParam.DeliveryId)}`);\r\n      } else {\r\n        if (isESITermsAccepted) {\r\n          history.push('/landing');\r\n        } else {\r\n          history.push('/Aadlogin', {});\r\n        }\r\n      }\r\n      return;\r\n    }\r\n    validateUrl(querystringParam);\r\n    return;\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, [deliveryId]);\r\n\r\n  const validateUrl = (querystringParam: any) => {\r\n    if (!querystringParam.includes('sid')) {\r\n      if (querystringParam && querystringParam.includes('delid')) {\r\n        const urlValidation = /^\\?delid=((?:\\d{3,10},)*(?:\\d{3,10}))$/.test(querystringParam);\r\n        if (urlValidation && deliveryId) {\r\n          sessionStorage.setItem(QueryStringParam.DeliveryId, deliveryId);\r\n        } else {\r\n          const friendlyError: ICustomErrorMessage = {\r\n            description: intl.formatMessage({\r\n              defaultMessage:\r\n                'It looks like you’ve attempted to access a resource that doesn’t exist. Please review your URL and the delivery ID used in the URL, then try again.'\r\n            }),\r\n            signOutPrompt: false,\r\n            method: 'UseEffect-InvalidurlFormat for Delivery Only',\r\n            page: 'Welcome'\r\n          };\r\n          if (ai.appInsights) {\r\n            ai.appInsights.trackException({\r\n              exception: new Error('ESIUI'),\r\n              severityLevel: SeverityLevel.Error,\r\n              properties: { friendlyError, querystringParam, urlValidation, deliveryId }\r\n            });\r\n          }\r\n          history.push('/about/', {\r\n            error: friendlyError\r\n          });\r\n          return;\r\n        }\r\n      }\r\n    }\r\n  };\r\n\r\n  return (\r\n    <React.Fragment>\r\n      {(!isSessionExpired || isNewWindowOrTab) && (\r\n        <div className=\"welcome\" role=\"main\">\r\n          {hasfeatureflag && (\r\n            <div>\r\n              <MessageBar\r\n                messageBarType={MessageBarType.warning}\r\n                isMultiline={true}\r\n                className={isMaintenance && isMaintenanceMessage !== null ? 'welcomePageMessageBar' : 'signInHiden'}\r\n              >\r\n                {isMaintenanceMessage}\r\n              </MessageBar>\r\n            </div>\r\n          )}\r\n\r\n          <div className=\"welcomeContainer\">\r\n            <div className=\"welcomeContent\">\r\n              <div className=\"headerContent\">\r\n                <Image src={msLogo} alt=\"Microsoft logo\" className=\"logoHeader\" />\r\n                <span className=\"titleMessage\">\r\n                  <FormattedMessage defaultMessage=\"Enterprise Skills Initiative\" />\r\n                </span>\r\n              </div>\r\n              <h1 className=\"welcomeContentHeader\">\r\n                <Image src={WelcomeCollage} alt=\"Welcome collage\" width=\"100%\" className=\"welcomeImage\" />\r\n                <div className=\"welcomeText\">\r\n                  <FormattedMessage defaultMessage=\"Welcome\" />\r\n                </div>\r\n              </h1>\r\n\r\n              <Separator className=\"separator\" />\r\n\r\n              <div role=\"region\" className=\"ms-fontSize-15 ms-fontWeight-400 welcomeIntro\">\r\n                <p>\r\n                  <FormattedMessage defaultMessage=\"Welcome to the \" />\r\n                  &nbsp;{process.env.REACT_APP_SITE_NAME}.&nbsp;\r\n                  <FormattedMessage\r\n                    defaultMessage=\"Microsoft and your organization are working together to help you learn the\r\n                    skills you need to be successful with Azure and other Microsoft technologies \"\r\n                  />\r\n                  .\r\n                </p>\r\n                <p>\r\n                  <FormattedMessage\r\n                    defaultMessage=\"Sharpen your technical skills and knowledge of Microsoft solutions by enrolling in interactive courses and training designed\r\n                    for your role, and advance your career by getting certified\"\r\n                  />\r\n                  .\r\n                </p>\r\n                <p>\r\n                  <FormattedMessage defaultMessage=\"Sign in by entering your work email address and following the steps to create your learner profile\" />\r\n                  .\r\n                </p>\r\n                <p className={isSigninDisable ? 'signInHiden' : ''}>\r\n                  <FormattedMessage defaultMessage=\" Need help signing in? Please contact:\" />\r\n                  &nbsp;\r\n                  <Link\r\n                    target=\"_blank\"\r\n                    className={isSigninDisable ? 'signInHiden' : 'linkText'}\r\n                    href={process.env.REACT_APP_SUPPORT_EMAIL_LINK + locale}\r\n                    onClick={supportLinkLogging}\r\n                  >\r\n                    ESI Support\r\n                  </Link>\r\n                </p>\r\n              </div>\r\n              <div className={isSigninDisable ? 'signInHiden' : 'welcomeContentButton'}>\r\n                <PrimaryButton\r\n                  role=\"button\"\r\n                  allowDisabledFocus={false}\r\n                  text={intl.formatMessage({\r\n                    defaultMessage: 'Sign in now'\r\n                  })}\r\n                  onClick={redirectToRegister}\r\n                  className=\"signin-button ms-fontWeight-semibold ms-fontSize-17\"\r\n                />\r\n              </div>\r\n              <LanguageSelector forceReload={true} />\r\n            </div>\r\n          </div>\r\n        </div>\r\n      )}\r\n      {!hideSessionTimeout && isSessionExpired && !isNewWindowOrTab && (\r\n        <div className=\"SessionExpiredPage\" role=\"main\">\r\n          <div className=\"sessionExpiredContainer\">\r\n            <div className=\"content\">\r\n              <FontIcon className=\"Warning\" iconName=\"Warning\" />\r\n              <h3 className=\"title\">\r\n                <span className=\"contentBack ms-fontSize-28 ms-fontWeight-semibold\">\r\n                  <FormattedMessage defaultMessage=\"Your session is end\" />\r\n                </span>\r\n              </h3>\r\n\r\n              <div className=\"contentDescription\">\r\n                <FormattedMessage\r\n                  defaultMessage=\"Due to inactivity on the browser for more than 30 sec, you have been signed out. Please <Link>click here</Link> to login to LxP again\"\r\n                  values={{\r\n                    Link: (chunks: ReactElement) => (\r\n                      <Link target=\"_blank\" className=\"linkText\" onClick={showWelcomePage} to=\"/\">\r\n                        {chunks}\r\n                      </Link>\r\n                    )\r\n                  }}\r\n                />\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      )}\r\n    </React.Fragment>\r\n  );\r\n};\r\n\r\nexport default Welcome;\r\n","import * as React from 'react';\nimport { BaseButton, Button, IButtonProps } from '../../Button';\nimport type { ITheme, IStyle } from '../../Styling';\nimport type { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport type { IIconProps } from '../../Icon';\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBar {}\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBarProps extends React.HTMLAttributes<HTMLElement>, React.RefAttributes<HTMLDivElement> {\n  /**\n   * Optional callback to access the IMessageBar interface. Use this instead of ref for accessing\n   * the public methods and properties of the component.\n   */\n  componentRef?: IRefObject<IMessageBar>;\n\n  /**\n   * The type of MessageBar to render.\n   * @defaultvalue MessageBarType.info\n   */\n  messageBarType?: MessageBarType;\n\n  /**\n   * The actions you want to show on the other side.\n   */\n  actions?: JSX.Element;\n\n  /**\n   * A description of the message bar for the benefit of screen readers.\n   * @deprecated Use native prop `aria-label` instead.\n   */\n  ariaLabel?: string;\n\n  /**\n   * Whether the message bar has a dismiss button and its callback.\n   * If null, we don't show a dismiss button.\n   * @defaultvalue null\n   */\n  // eslint-disable-next-line deprecation/deprecation\n  onDismiss?: (ev?: React.MouseEvent<HTMLElement | BaseButton | Button>) => any;\n\n  /**\n   * Determines if the message bar is multi lined.\n   * If false, and the text overflows over buttons or to another line, it is clipped.\n   * @defaultvalue true\n   */\n  isMultiline?: boolean;\n\n  /**\n   * Aria label on dismiss button if onDismiss is defined.\n   */\n  dismissButtonAriaLabel?: string;\n\n  /**\n   * Determines if the message bar text is truncated.\n   * If true, a button will render to toggle between a single line view and multiline view.\n   * This prop is for single line message bars with no buttons only in a limited space scenario.\n   * @defaultvalue false\n   */\n  truncated?: boolean;\n\n  /**\n   * Aria label on overflow button if truncated is defined.\n   * @deprecated Use `expandButtonProps` instead.\n   */\n  overflowButtonAriaLabel?: string;\n\n  /**\n   * Additional CSS class(es) to apply to the MessageBar.\n   */\n  className?: 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<IMessageBarStyleProps, IMessageBarStyles>;\n\n  /**\n   * Custom icon prop to replace the dismiss icon.\n   * If unset, default will be the Fabric Clear icon.\n   */\n  dismissIconProps?: IIconProps;\n\n  /**\n   * Custom icon prop to replace the message bar icon.\n   * If unset, default will be the icon set by messageBarType.\n   */\n  messageBarIconProps?: IIconProps;\n\n  /**\n   *  Button props that can be applied to the expand button of the MessageBar.\n   */\n  expandButtonProps?: IButtonProps;\n\n  /**\n   * Custom role to apply to the MessageBar.\n   * @defaultvalue `alert` if `messageBarType` is `error`, `blocked`, or `severeWarning`;\n   * or `status` otherwise\n   */\n  role?: 'alert' | 'status' | 'none';\n\n  /**\n   * By default, MessageBar delay-renders its content within an internal live region to help ensure\n   * it's announced by screen readers. You can disable that behavior by setting this prop to `false`.\n   *\n   * If you set this prop to `false`, to ensure proper announcement you should either:\n   * - If appropriate, ensure that the `role` prop is set to `alert` (this will be done by default\n   *   if `messageBarType` is `error`, `blocked`, or `severeWarning`), OR\n   * - Set the `role` prop to `none` (to avoid nested `status` regions), wrap the whole MessageBar\n   *   in a `<div role=\"status\">` which is always rendered, and ensure that the MessageBar is\n   *   rendered either conditionally or with a delay.\n   * @default true\n   */\n  delayedRender?: boolean;\n}\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBarStyleProps {\n  /**\n   * Theme (provided through customization).\n   */\n  theme: ITheme;\n\n  /**\n   * Additional CSS class(es).\n   */\n  className?: string;\n\n  /**\n   * Type of the MessageBar.\n   */\n  messageBarType?: MessageBarType;\n\n  /**\n   * Whether the MessageBar contains a dismiss button.\n   */\n  onDismiss?: boolean;\n\n  /**\n   * Whether the text is truncated.\n   */\n  truncated?: boolean;\n\n  /**\n   * Whether the MessageBar is rendered in multi line (as opposed to single line) mode.\n   */\n  isMultiline?: boolean;\n\n  /**\n   * Whether the single line MessageBar is being expanded.\n   */\n  expandSingleLine?: boolean;\n\n  /**\n   * Whether the MessageBar contains any action elements.\n   */\n  actions?: boolean;\n}\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBarStyles {\n  /**\n   * Style set for the root element.\n   */\n  root?: IStyle;\n\n  /**\n   * Style set for the element containing the icon, text, and optional dismiss button.\n   */\n  content?: IStyle;\n\n  /**\n   * Style set for the element containing the icon.\n   */\n  iconContainer?: IStyle;\n\n  /**\n   * Style set for the icon.\n   */\n  icon?: IStyle;\n\n  /**\n   * Style set for the element containing the text.\n   */\n  text?: IStyle;\n\n  /**\n   * Style set for the text.\n   */\n  innerText?: IStyle;\n\n  /**\n   * Style set for the optional dismiss button.\n   */\n  dismissal?: IStyle;\n\n  /**\n   * Style set for the icon used to expand and collapse the MessageBar.\n   */\n  expand?: IStyle;\n\n  /**\n   * Style set for the element containing the dismiss button.\n   */\n  dismissSingleLine?: IStyle;\n\n  /**\n   * Style set for the element containing the expand icon.\n   */\n  expandSingleLine?: IStyle;\n\n  /**\n   * Style set for the optional element containing the action elements.\n   */\n  actions?: IStyle;\n}\n\n/**\n * {@docCategory MessageBar}\n */\nexport enum MessageBarType {\n  /** Info styled MessageBar */\n  info = 0,\n  /** Error styled MessageBar */\n  error = 1,\n  /** Blocked styled MessageBar */\n  blocked = 2,\n  /** SevereWarning styled MessageBar */\n  severeWarning = 3,\n  /** Success styled MessageBar */\n  success = 4,\n  /** Warning styled MessageBar */\n  warning = 5,\n}\n","import * as React from 'react';\nimport { DelayedRender, classNamesFunction, getNativeProps, htmlElementProperties, css } from '../../Utilities';\nimport { IconButton } from '../../Button';\nimport { Icon } from '../../Icon';\nimport { MessageBarType } from './MessageBar.types';\nimport { useId, useBoolean } from '@fluentui/react-hooks';\nimport type { IMessageBarProps, IMessageBarStyleProps, IMessageBarStyles } from './MessageBar.types';\n\nconst ICON_MAP = {\n  [MessageBarType.info]: 'Info',\n  [MessageBarType.warning]: 'Info',\n  [MessageBarType.error]: 'ErrorBadge',\n  [MessageBarType.blocked]: 'Blocked2',\n  [MessageBarType.severeWarning]: 'Warning',\n  [MessageBarType.success]: 'Completed',\n};\n\nconst COMPONENT_NAME = 'MessageBar';\n\nconst getClassNames = classNamesFunction<IMessageBarStyleProps, IMessageBarStyles>();\n\nconst getAnnouncementPriority = (messageBarType: MessageBarType): 'assertive' | 'polite' => {\n  switch (messageBarType) {\n    case MessageBarType.blocked:\n    case MessageBarType.error:\n    case MessageBarType.severeWarning:\n      return 'assertive';\n  }\n  return 'polite';\n};\n\nconst getRole = (messageBarType: MessageBarType): 'alert' | 'status' => {\n  switch (messageBarType) {\n    case MessageBarType.blocked:\n    case MessageBarType.error:\n    case MessageBarType.severeWarning:\n      return 'alert';\n  }\n  return 'status';\n};\n\nexport const MessageBarBase: React.FunctionComponent<IMessageBarProps> = React.forwardRef<\n  HTMLDivElement,\n  IMessageBarProps\n>((props, ref) => {\n  const [expandSingleLine, { toggle: toggleExpandSingleLine }] = useBoolean(false);\n  const labelId = useId('MessageBar');\n\n  const {\n    actions,\n    className,\n    children,\n    // eslint-disable-next-line deprecation/deprecation\n    overflowButtonAriaLabel,\n    dismissIconProps,\n    styles,\n    theme,\n    messageBarType = MessageBarType.info,\n    onDismiss = undefined,\n    isMultiline = true,\n    truncated,\n    dismissButtonAriaLabel,\n    messageBarIconProps,\n    role,\n    delayedRender = true,\n    expandButtonProps,\n  } = props;\n\n  const nativeProps = getNativeProps<React.HTMLAttributes<HTMLSpanElement>>(props, htmlElementProperties, [\n    'className',\n    'role',\n  ]);\n\n  const classNames: { [key in keyof IMessageBarStyles]: string } = getClassNames(styles, {\n    theme: theme!,\n    messageBarType: messageBarType || MessageBarType.info,\n    onDismiss: onDismiss !== undefined,\n    actions: actions !== undefined,\n    truncated: truncated,\n    isMultiline: isMultiline,\n    expandSingleLine: expandSingleLine,\n    className,\n  });\n\n  const expandIconProps = { iconName: expandSingleLine ? 'DoubleChevronUp' : 'DoubleChevronDown' };\n  const regionProps = actions || onDismiss ? { 'aria-describedby': labelId, role: 'region' } : {};\n  const actionsDiv = actions ? <div className={classNames.actions}>{actions}</div> : null;\n\n  const dismissButton = onDismiss ? (\n    <IconButton\n      disabled={false}\n      className={classNames.dismissal}\n      onClick={onDismiss}\n      iconProps={dismissIconProps ? dismissIconProps : { iconName: 'Clear' }}\n      title={dismissButtonAriaLabel}\n      ariaLabel={dismissButtonAriaLabel}\n    />\n  ) : null;\n\n  return (\n    <div ref={ref} className={classNames.root} {...regionProps}>\n      <div className={classNames.content}>\n        <div className={classNames.iconContainer} aria-hidden>\n          {messageBarIconProps ? (\n            <Icon {...messageBarIconProps} className={css(classNames.icon, messageBarIconProps.className)} />\n          ) : (\n            <Icon iconName={ICON_MAP[messageBarType!]} className={classNames.icon} />\n          )}\n        </div>\n        <div\n          className={classNames.text}\n          id={labelId}\n          role={role || getRole(messageBarType)}\n          aria-live={getAnnouncementPriority(messageBarType)}\n        >\n          <span className={classNames.innerText} {...nativeProps}>\n            {delayedRender ? (\n              <DelayedRender>\n                <span>{children}</span>\n              </DelayedRender>\n            ) : (\n              // this span is probably not necessary, but preserving it for now in case anyone\n              // has styling that expects it to be present\n              <span>{children}</span>\n            )}\n          </span>\n        </div>\n        {\n          /* singleline expand/collapse button */ !isMultiline && !actionsDiv && truncated && (\n            <div className={classNames.expandSingleLine}>\n              <IconButton\n                disabled={false}\n                className={classNames.expand}\n                onClick={toggleExpandSingleLine}\n                iconProps={expandIconProps}\n                ariaLabel={overflowButtonAriaLabel}\n                aria-expanded={expandSingleLine}\n                {...expandButtonProps}\n              />\n            </div>\n          )\n        }\n        {/* singleline actions */ !isMultiline && actionsDiv}\n        {\n          /* singleline dismiss */ !isMultiline && dismissButton && (\n            <div className={classNames.dismissSingleLine}>{dismissButton}</div>\n          )\n        }\n        {/* multiline dismiss */ isMultiline && dismissButton}\n      </div>\n      {/* multiline actions */ isMultiline && actionsDiv}\n    </div>\n  );\n});\nMessageBarBase.displayName = COMPONENT_NAME;\n","import {\n  HighContrastSelector,\n  ScreenWidthMaxSmall,\n  getScreenSelector,\n  getGlobalClassNames,\n  getFocusStyle,\n  IconFontSizes,\n  getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { MessageBarType } from './MessageBar.types';\nimport type { IStyle, ISemanticColors } from '../../Styling';\nimport type { IMessageBarStyleProps, IMessageBarStyles } from './MessageBar.types';\n\nconst GlobalClassNames = {\n  root: 'ms-MessageBar',\n  error: 'ms-MessageBar--error',\n  blocked: 'ms-MessageBar--blocked',\n  severeWarning: 'ms-MessageBar--severeWarning',\n  success: 'ms-MessageBar--success',\n  warning: 'ms-MessageBar--warning',\n  multiline: 'ms-MessageBar-multiline',\n  singleline: 'ms-MessageBar-singleline',\n  dismissalSingleLine: 'ms-MessageBar-dismissalSingleLine',\n  expandingSingleLine: 'ms-MessageBar-expandingSingleLine',\n  content: 'ms-MessageBar-content',\n  iconContainer: 'ms-MessageBar-icon',\n  text: 'ms-MessageBar-text',\n  innerText: 'ms-MessageBar-innerText',\n  dismissSingleLine: 'ms-MessageBar-dismissSingleLine',\n  expandSingleLine: 'ms-MessageBar-expandSingleLine',\n  dismissal: 'ms-MessageBar-dismissal',\n  expand: 'ms-MessageBar-expand',\n  actions: 'ms-MessageBar-actions',\n  actionsSingleline: 'ms-MessageBar-actionsSingleLine',\n};\n\nconst backgroundColor: { [key: string]: keyof ISemanticColors } = {\n  [MessageBarType.error]: 'errorBackground',\n  [MessageBarType.blocked]: 'errorBackground',\n  [MessageBarType.success]: 'successBackground',\n  [MessageBarType.warning]: 'warningBackground',\n  [MessageBarType.severeWarning]: 'severeWarningBackground',\n  [MessageBarType.info]: 'infoBackground',\n};\n\nconst highContrastBackgroundColor: { [key: string]: string } = {\n  [MessageBarType.error]: 'rgba(255, 0, 0, 0.3)',\n  [MessageBarType.blocked]: 'rgba(255, 0, 0, 0.3)',\n  [MessageBarType.success]: 'rgba(48, 241, 73, 0.3)',\n  [MessageBarType.warning]: 'rgba(255, 254, 57, 0.3)',\n  [MessageBarType.severeWarning]: 'rgba(255, 0, 0, 0.3)',\n  [MessageBarType.info]: 'Window',\n};\n\nconst iconColor: { [key: string]: keyof ISemanticColors } = {\n  [MessageBarType.error]: 'errorIcon',\n  [MessageBarType.blocked]: 'errorIcon',\n  [MessageBarType.success]: 'successIcon',\n  [MessageBarType.warning]: 'warningIcon',\n  [MessageBarType.severeWarning]: 'severeWarningIcon',\n  [MessageBarType.info]: 'infoIcon',\n};\n\nexport const getStyles = (props: IMessageBarStyleProps): IMessageBarStyles => {\n  const {\n    theme,\n    className,\n    onDismiss,\n    truncated,\n    isMultiline,\n    expandSingleLine,\n    messageBarType = MessageBarType.info,\n  } = props;\n  const { semanticColors, fonts } = theme;\n\n  const SmallScreenSelector = getScreenSelector(0, ScreenWidthMaxSmall);\n\n  const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n  const dismissalAndExpandIconStyle: IStyle = {\n    fontSize: IconFontSizes.xSmall,\n    height: 10,\n    lineHeight: '10px',\n    color: semanticColors.messageText,\n    selectors: {\n      [HighContrastSelector]: {\n        ...getHighContrastNoAdjustStyle(),\n        color: 'WindowText',\n      },\n    },\n  };\n\n  const dismissalAndExpandStyle: IStyle = [\n    getFocusStyle(theme, {\n      inset: 1,\n      highContrastStyle: {\n        outlineOffset: '-6px',\n        outline: '1px solid Highlight',\n      },\n      borderColor: 'transparent',\n    }),\n    {\n      flexShrink: 0,\n      width: 32,\n      height: 32,\n      padding: '8px 12px',\n      selectors: {\n        '& .ms-Button-icon': dismissalAndExpandIconStyle,\n        ':hover': {\n          backgroundColor: 'transparent',\n        },\n        ':active': {\n          backgroundColor: 'transparent',\n        },\n      },\n    },\n  ];\n\n  return {\n    root: [\n      classNames.root,\n      fonts.medium,\n      messageBarType === MessageBarType.error && classNames.error,\n      messageBarType === MessageBarType.blocked && classNames.blocked,\n      messageBarType === MessageBarType.severeWarning && classNames.severeWarning,\n      messageBarType === MessageBarType.success && classNames.success,\n      messageBarType === MessageBarType.warning && classNames.warning,\n      isMultiline ? classNames.multiline : classNames.singleline,\n      !isMultiline && onDismiss && classNames.dismissalSingleLine,\n      !isMultiline && truncated && classNames.expandingSingleLine,\n      {\n        background: semanticColors[backgroundColor[messageBarType]],\n        color: semanticColors.messageText,\n        minHeight: 32,\n        width: '100%',\n        display: 'flex',\n        wordBreak: 'break-word',\n        selectors: {\n          '.ms-Link': {\n            color: semanticColors.messageLink,\n            selectors: {\n              ':hover': {\n                color: semanticColors.messageLinkHovered,\n              },\n            },\n          },\n          [HighContrastSelector]: {\n            ...getHighContrastNoAdjustStyle(),\n            background: highContrastBackgroundColor[messageBarType],\n            border: '1px solid WindowText',\n            color: 'WindowText',\n          },\n        },\n      },\n      isMultiline && {\n        flexDirection: 'column',\n      },\n      className,\n    ],\n    content: [\n      classNames.content,\n      {\n        display: 'flex',\n        width: '100%',\n        lineHeight: 'normal',\n      },\n    ],\n    iconContainer: [\n      classNames.iconContainer,\n      {\n        fontSize: IconFontSizes.medium,\n        minWidth: 16,\n        minHeight: 16,\n        display: 'flex',\n        flexShrink: 0,\n        margin: '8px 0 8px 12px',\n      },\n    ],\n    icon: {\n      color: semanticColors[iconColor[messageBarType]],\n      selectors: {\n        [HighContrastSelector]: {\n          ...getHighContrastNoAdjustStyle(),\n          color: 'WindowText',\n        },\n      },\n    },\n    text: [\n      classNames.text,\n      {\n        minWidth: 0,\n        display: 'flex',\n        flexGrow: 1,\n        margin: 8,\n        ...fonts.small,\n        selectors: {\n          [HighContrastSelector]: {\n            ...getHighContrastNoAdjustStyle(),\n          },\n        },\n      },\n      !onDismiss && {\n        marginRight: 12,\n      },\n    ],\n    innerText: [\n      classNames.innerText,\n      {\n        lineHeight: 16,\n        selectors: {\n          '& span a:last-child': {\n            paddingLeft: 4,\n          },\n        },\n      },\n      truncated && {\n        overflow: 'visible',\n        whiteSpace: 'pre-wrap',\n      },\n      !isMultiline && {\n        // In high contrast this causes the top and bottom of links' focus outline to be clipped\n        // (not sure of a good way around that while still maintaining text clipping)\n        overflow: 'hidden',\n        textOverflow: 'ellipsis',\n        whiteSpace: 'nowrap',\n      },\n      !isMultiline &&\n        !truncated && {\n          selectors: {\n            [SmallScreenSelector]: {\n              overflow: 'visible',\n              whiteSpace: 'pre-wrap',\n            },\n          },\n        },\n      expandSingleLine && {\n        overflow: 'visible',\n        whiteSpace: 'pre-wrap',\n      },\n    ],\n    dismissSingleLine: classNames.dismissSingleLine,\n    expandSingleLine: classNames.expandSingleLine,\n    dismissal: [classNames.dismissal, dismissalAndExpandStyle],\n    expand: [classNames.expand, dismissalAndExpandStyle],\n    actions: [\n      isMultiline ? classNames.actions : classNames.actionsSingleline,\n      {\n        display: 'flex',\n        flexGrow: 0,\n        flexShrink: 0,\n        flexBasis: 'auto',\n        flexDirection: 'row-reverse',\n        alignItems: 'center',\n        margin: '0 12px 0 8px',\n        selectors: {\n          '& button:nth-child(n+2)': {\n            marginLeft: 8,\n          },\n        },\n      },\n      isMultiline && {\n        marginBottom: 8,\n      },\n      onDismiss &&\n        !isMultiline && {\n          marginRight: 0,\n        },\n    ],\n  };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { MessageBarBase } from './MessageBar.base';\nimport { getStyles } from './MessageBar.styles';\nimport type { IMessageBarProps, IMessageBarStyleProps, IMessageBarStyles } from './MessageBar.types';\n\nexport const MessageBar: React.FunctionComponent<IMessageBarProps> = styled<\n  IMessageBarProps,\n  IMessageBarStyleProps,\n  IMessageBarStyles\n>(MessageBarBase, getStyles, undefined, {\n  scope: 'MessageBar',\n});\n","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nimport type { ISeparatorProps, ISeparatorStyles, ISeparatorStyleProps } from './Separator.types';\n\nconst getClassNames = classNamesFunction<ISeparatorStyleProps, ISeparatorStyles>();\n\nexport const SeparatorBase: React.FunctionComponent<ISeparatorProps> = React.forwardRef<\n  HTMLDivElement,\n  ISeparatorProps\n>((props, ref) => {\n  const { styles, theme, className, vertical, alignContent, children } = props;\n\n  const classNames = getClassNames(styles!, {\n    theme: theme!,\n    className,\n    alignContent: alignContent,\n    vertical: vertical,\n  });\n\n  return (\n    <div className={classNames.root} ref={ref}>\n      <div className={classNames.content} role=\"separator\" aria-orientation={vertical ? 'vertical' : 'horizontal'}>\n        {children}\n      </div>\n    </div>\n  );\n});\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { getStyles } from './Separator.styles';\nimport { SeparatorBase } from './Separator.base';\nimport type { ISeparatorProps, ISeparatorStyleProps, ISeparatorStyles } from './Separator.types';\n\nexport const Separator: React.FunctionComponent<ISeparatorProps> = styled<\n  ISeparatorProps,\n  ISeparatorStyleProps,\n  ISeparatorStyles\n>(SeparatorBase, getStyles, undefined, {\n  scope: 'Separator',\n});\nSeparator.displayName = 'Separator';\n","import { HighContrastSelector } from '../../Styling';\nimport type { ISeparatorStyleProps, ISeparatorStyles } from './Separator.types';\n\nexport const getStyles = (props: ISeparatorStyleProps): ISeparatorStyles => {\n  const { theme, alignContent, vertical, className } = props;\n\n  const alignStart = alignContent === 'start';\n  const alignCenter = alignContent === 'center';\n  const alignEnd = alignContent === 'end';\n\n  return {\n    root: [\n      theme.fonts.medium,\n      {\n        position: 'relative',\n      },\n      alignContent && {\n        textAlign: alignContent,\n      },\n      !alignContent && {\n        textAlign: 'center',\n      },\n      vertical &&\n        (alignCenter || !alignContent) && {\n          verticalAlign: 'middle',\n        },\n      vertical &&\n        alignStart && {\n          verticalAlign: 'top',\n        },\n      vertical &&\n        alignEnd && {\n          verticalAlign: 'bottom',\n        },\n      vertical && {\n        padding: '0 4px',\n        height: 'inherit',\n        display: 'table-cell',\n        zIndex: 1,\n        selectors: {\n          ':after': {\n            backgroundColor: theme.palette.neutralLighter,\n            width: '1px',\n            content: '\"\"',\n            position: 'absolute',\n            top: '0',\n            bottom: '0',\n            left: '50%',\n            right: '0',\n            zIndex: -1,\n            [HighContrastSelector]: {\n              backgroundColor: 'WindowText',\n            },\n          },\n        },\n      },\n      !vertical && {\n        padding: '4px 0',\n        selectors: {\n          ':before': {\n            backgroundColor: theme.palette.neutralLighter,\n            height: '1px',\n            content: '\"\"',\n            display: 'block',\n            position: 'absolute',\n            top: '50%',\n            bottom: '0',\n            left: '0',\n            right: '0',\n            [HighContrastSelector]: {\n              backgroundColor: 'WindowText',\n            },\n          },\n        },\n      },\n      className,\n    ],\n    content: [\n      {\n        position: 'relative',\n        display: 'inline-block',\n        padding: '0 12px',\n        color: theme.semanticColors.bodyText,\n        background: theme.semanticColors.bodyBackground,\n      },\n      vertical && {\n        padding: '12px 0',\n      },\n    ],\n  };\n};\n"],"names":["LanguageSelector","_ref","forceReload","locale","useLocale","sessionStorage","setItem","React","Welcome","_FeatureFlagValues","_localStorage$getItem","history","useHistory","intl","useIntl","useTitle","process","getFeatureFlag","useEndpointActions","GetFeatureFlagAction","isMaintenanceMode","FeatureFlagValues","hasfeatureflag","length","isSigninDisable","isMaintenance","map","m","isEnabledFlag","isMaintenanceMessage","alertMessage","hideSessionTimeout","isSessionExpired","localStorage","getItem","toLowerCase","isNewWindowOrTab","window","deliveryId","URLSearchParams","location","search","get","QueryStringParam","DeliveryId","dispatch","useDispatch","IsAad","account","useAuthenticatedUser","isAuthenticated","IsAuthenticated","authenticationState","profile","useSelector","state","UserStore","shallowEqual","redirectToRegister","useCallback","GetProfileActions","Clear","ai","appInsights","trackTrace","message","severityLevel","SeverityLevel","Information","properties","replace","useEffect","showWelcomePage","clear","push","querystringParam","toString","toLocaleLowerCase","isESITermsAccepted","IsESITermsAccepted","includes","validateUrl","urlValidation","test","friendlyError","description","formatMessage","signOutPrompt","method","page","trackException","exception","Error","error","className","role","MessageBar","messageBarType","MessageBarType","warning","isMultiline","Image","src","alt","FormattedMessage","id","defaultMessage","WelcomeCollage","width","Separator","Link","target","href","onClick","supportLinkLogging","Helper","supportLinkVisitLog","workEmail","PrimaryButton","allowDisabledFocus","text","FontIcon","iconName","values","chunks","to","ICON_MAP","_a","info","blocked","severeWarning","success","getClassNames","classNamesFunction","getAnnouncementPriority","getRole","MessageBarBase","props","ref","useBoolean","expandSingleLine","toggleExpandSingleLine","toggle","labelId","useId","actions","children","overflowButtonAriaLabel","dismissIconProps","styles","theme","_b","_c","onDismiss","undefined","_d","truncated","dismissButtonAriaLabel","messageBarIconProps","_e","delayedRender","expandButtonProps","nativeProps","getNativeProps","htmlElementProperties","classNames","expandIconProps","regionProps","actionsDiv","dismissButton","IconButton","disabled","dismissal","iconProps","title","ariaLabel","__assign","root","content","iconContainer","Icon","css","icon","innerText","DelayedRender","expand","dismissSingleLine","displayName","GlobalClassNames","multiline","singleline","dismissalSingleLine","expandingSingleLine","actionsSingleline","backgroundColor","highContrastBackgroundColor","iconColor","styled","_f","semanticColors","fonts","SmallScreenSelector","getScreenSelector","ScreenWidthMaxSmall","getGlobalClassNames","dismissalAndExpandIconStyle","fontSize","IconFontSizes","xSmall","height","lineHeight","color","messageText","selectors","HighContrastSelector","getHighContrastNoAdjustStyle","dismissalAndExpandStyle","getFocusStyle","inset","highContrastStyle","outlineOffset","outline","borderColor","flexShrink","padding","medium","background","minHeight","display","wordBreak","messageLink","messageLinkHovered","border","flexDirection","minWidth","margin","flexGrow","small","marginRight","paddingLeft","overflow","whiteSpace","textOverflow","flexBasis","alignItems","marginLeft","marginBottom","scope","SeparatorBase","vertical","alignContent","alignStart","alignCenter","alignEnd","position","textAlign","verticalAlign","zIndex","palette","neutralLighter","top","bottom","left","right","bodyText","bodyBackground"],"sourceRoot":""}