{"version":3,"file":"login.bundle.js","mappings":"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","sources":["webpack://picasso/./src/api/user.js","webpack://picasso/./src/serializers/user.js","webpack://picasso/./src/store/org_settings.js","webpack://picasso/./src/store/user.js","webpack://picasso/./src/projects/login/javascripts/helpers.js","webpack://picasso/./src/projects/login/javascripts/store/invitation.js","webpack://picasso/./src/projects/login/javascripts/store/login.js","webpack://picasso/./src/projects/login/javascripts/store/onboarding.js","webpack://picasso/./src/store/org.js","webpack://picasso/./src/store/branding.js","webpack://picasso/./src/projects/login/javascripts/api/index.js","webpack://picasso/./src/projects/login/javascripts/hooks/index.js","webpack://picasso/./src/projects/login/javascripts/components/cookie-modal.jsx","webpack://picasso/./src/projects/login/javascripts/components/footer.jsx","webpack://picasso/./src/projects/login/javascripts/components/logo.jsx","webpack://picasso/./src/projects/login/javascripts/components/terms-prompt.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/error_message.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/email_input.jsx","webpack://picasso/./src/store/org_saml_idp.js","webpack://picasso/./src/serializers/org.js","webpack://picasso/./src/store/user_orgs.js","webpack://picasso/./src/serializers/user_orgs.js","webpack://picasso/./src/api/org.js","webpack://picasso/./src/projects/login/javascripts/components/sso/org_logo.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/org_wrapper.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/paragraph.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/submit_button.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/success_message.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/title.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/send_email_page.jsx","webpack://picasso/./src/projects/login/javascripts/routes/forgot_org.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/alternate_link.jsx","webpack://picasso/./src/utils/config.js","webpack://picasso/./src/projects/login/javascripts/components/sso/login_form.jsx","webpack://picasso/./src/utils/validator.js","webpack://picasso/./src/projects/login/javascripts/components/sso/password_input.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/email_login_form.jsx","webpack://picasso/./src/icons/org.jsx","webpack://picasso/./src/projects/login/javascripts/routes/org_login.jsx","webpack://picasso/./src/projects/login/javascripts/routes/login_page.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/org_input.jsx","webpack://picasso/./src/projects/login/javascripts/routes/org_input.jsx","webpack://picasso/./src/projects/login/javascripts/components/sso/org_select.jsx","webpack://picasso/./src/projects/login/javascripts/routes/org_picker.jsx","webpack://picasso/./src/projects/login/javascripts/routes/password_reset.jsx","webpack://picasso/./src/projects/login/javascripts/routes/request_password_reset.jsx","webpack://picasso/./src/projects/login/javascripts/layouts/login.jsx","webpack://picasso/./src/projects/login/javascripts/components/onboarding-breadcrumbs.jsx","webpack://picasso/./src/projects/login/javascripts/components/onboarding-mobile-warning.jsx","webpack://picasso/./src/projects/login/javascripts/components/avatar-upload-step.jsx","webpack://picasso/./src/projects/login/javascripts/components/onboarding-steps.jsx","webpack://picasso/./src/projects/login/javascripts/components/set-password.jsx","webpack://picasso/./src/projects/login/javascripts/layouts/onboarding.jsx","webpack://picasso/./src/projects/login/javascripts/store/index.jsx","webpack://picasso/./src/projects/login/javascripts/local-storage.js","webpack://picasso/./src/projects/login/css/custom.css?cfeb","webpack://picasso/./src/projects/login/javascripts/app.jsx","webpack://picasso/./src/projects/login/css/custom.css","webpack://picasso/webpack/bootstrap","webpack://picasso/webpack/runtime/chunk loaded","webpack://picasso/webpack/runtime/compat get default export","webpack://picasso/webpack/runtime/create fake namespace object","webpack://picasso/webpack/runtime/define property getters","webpack://picasso/webpack/runtime/global","webpack://picasso/webpack/runtime/harmony module decorator","webpack://picasso/webpack/runtime/hasOwnProperty shorthand","webpack://picasso/webpack/runtime/make namespace object","webpack://picasso/webpack/runtime/set anonymous default export name","webpack://picasso/webpack/runtime/wrap commonjs module","webpack://picasso/webpack/runtime/jsonp chunk loading","webpack://picasso/webpack/runtime/nonce","webpack://picasso/webpack/startup"],"sourcesContent":["import { createAPICall } from \"src/api\";\nimport { UserSerializer } from \"src/serializers\";\n\nconst url = \"/api/v1/users\";\n\nconst UserAPI = {\n  fetchUser: ({ userId = \"self\", show_inactive = false }) =>\n    createAPICall({\n      url: `${url}/${userId}`,\n      serializer: UserSerializer,\n      queryParams: { show_inactive },\n    }),\n  createUser: (payload) =>\n    createAPICall({\n      payload,\n      url,\n      method: \"POST\",\n      serializer: UserSerializer,\n    }),\n  updateUser: ({ userId, data, show_inactive = false }) =>\n    createAPICall({\n      url: `${url}/${userId}`,\n      body: JSON.stringify(data),\n      method: \"PATCH\",\n      serializer: UserSerializer,\n      queryParams: { show_inactive },\n    }),\n  searchUsers: ({ searchTerm }) =>\n    createAPICall({\n      url,\n      queryParams: searchTerm.includes(\"@\")\n        ? { filter_emails: searchTerm }\n        : { filter_name: searchTerm },\n    }),\n  setPassword: ({ userId, old_password, new_password }) =>\n    createAPICall({\n      url: `${url}/${userId}/set_password`,\n      body: JSON.stringify({ old_password, password: new_password }),\n      method: \"PATCH\",\n    }),\n};\n\nexport { UserAPI };\n","import { createSerializer } from \"src/serializers/serializer\";\nimport { UserStore } from \"src/store\";\n\nconst UserSerializer = createSerializer({ store: UserStore });\n\nexport { UserSerializer };\n","import { createReduxStore } from \"src/store/redux_store\";\n\nconst OrgSettingsStore = createReduxStore({ name: \"orgSettings\" });\n\nexport { OrgSettingsStore };\n","import { createReduxStore } from \"./redux_store\";\n\nconst UserStore = createReduxStore({ name: \"user\" });\n\nexport { UserStore };\n","import Cookies from \"js-cookie\";\n\nexport function redirectUser() {\n  const baseUrl = `${location.protocol}//${location.host}`;\n  const { next } = window.context || {};\n\n  if (next) {\n    location.replace(`${baseUrl}/${next}`);\n  } else {\n    location.replace(`${baseUrl}/app`);\n  }\n}\n\nexport function setCookies(obj = {}) {\n  const cookieOptions = {\n    path: \"/\",\n    expires: 90,\n  };\n\n  Object.entries(obj).forEach(([key, value]) => {\n    Cookies.set(key, value, cookieOptions);\n  });\n}\n\nexport function getOrgOrGeneralUrl(orgIdentifier, path) {\n  return orgIdentifier ? `/org/${orgIdentifier}/${path || \"\"}` : `/${path || \"\"}`;\n}\n","import { createReduxStore } from \"src/store/redux_store\";\n\nconst InvitationStore = createReduxStore({\n  name: \"invitation\",\n  initialState: {\n    data: {\n      hasRedeemedInvitation: null,\n      hasValidInvitation: null,\n    },\n    loading: false,\n    error: null,\n  },\n  reducers: {\n    setIsValid: (state, { payload }) => {\n      state.data.hasValidInvitation = payload;\n      state.loading = false;\n    },\n    setIsRedeemed: (state, { payload }) => {\n      state.data.hasRedeemedInvitation = payload;\n      state.loading = false;\n    },\n  },\n});\n\nexport { InvitationStore };\n","import { createReduxStore } from \"src/store/redux_store\";\n\nconst initialState = {\n  data: {\n    email: \"\",\n    firstName: \"\",\n    org: null,\n    userId: null,\n    cookieBannerIsShowing: false,\n    tokenUUID: null,\n    // set messaging for password step\n    contextualMessage: null,\n    successMessage: null,\n  },\n  loading: false,\n  error: null,\n};\n\nconst LoginStore = createReduxStore({\n  name: \"login\",\n  initialState,\n  reducers: {\n    clearError: (state) => ({ ...state, error: null }),\n  },\n});\n\nexport { LoginStore };\n","import { createReduxStore } from \"src/store/redux_store\";\n\nconst OnboardingStore = createReduxStore({\n  name: \"onboarding\",\n  reducers: {\n    clearError: (state) => {\n      state.error = null;\n    },\n  },\n});\n\nexport { OnboardingStore };\n","import { createEntityAdapter } from \"@reduxjs/toolkit\";\n\nimport { createReduxStore } from \"./redux_store\";\n\nconst adapter = createEntityAdapter({\n  sortComparer: (a, b) => a.name.localeCompare(b.name),\n});\n\nconst OrgStore = createReduxStore({ name: \"org\", adapter });\n\nexport { OrgStore };\n","import { createReduxStore } from \"./redux_store\";\n\nconst BrandingStore = createReduxStore({ name: \"branding\" });\n\nexport { BrandingStore };\n","import { InvitationStore } from \"../store/invitation\";\nimport { LoginStore } from \"../store/login\";\nimport { OnboardingStore } from \"../store/onboarding\";\nimport { OrgSettingsAPI } from \"src/api\";\nimport { apiFetch } from \"src/api/fetch\";\nimport { BrandingStore, OrgSettingsStore, OrgStore, UserStore } from \"src/store\";\n\nexport function login(data = {}) {\n  return async (dispatch) => {\n    let json;\n    dispatch(LoginStore.actions.setLoading());\n    const options = {\n      method: \"POST\",\n      body: JSON.stringify(data),\n    };\n\n    const response = await apiFetch(\"/api/v1/sessions\", options);\n\n    try {\n      json = await response.json();\n    } catch (e) {\n      return dispatch(\n        LoginStore.actions.setError(\"Sorry, something went wrong. Please try again.\"),\n      );\n    }\n\n    if (response.ok) {\n      dispatch(OrgStore.actions.upsertOne(json.org));\n      dispatch(BrandingStore.actions.upsertOne(json.branding));\n      dispatch(OrgSettingsStore.actions.upsertOne(json.org_settings));\n      dispatch(fetchUser());\n      return true;\n    }\n\n    if (response.status === 429) {\n      return dispatch(\n        LoginStore.actions.setError(\"Too many sign in attempts. Please try again later.\"),\n      );\n    }\n\n    if (response.status === 422) {\n      return dispatch(\n        LoginStore.actions.setError(\"Access to this organization is not allowed at this time.\"),\n      );\n    }\n\n    if (json.error) {\n      return dispatch(\n        LoginStore.actions.setError(\n          \"This email and password combination is incorrect. Please check both and try again.\",\n        ),\n      );\n    }\n    if (json.orgs) {\n      dispatch(OrgStore.actions.upsertMany(json.orgs));\n      return dispatch(\n        LoginStore.actions.update({\n          email: json.email,\n          tokenUUID: json.token_uuid,\n        }),\n      );\n    }\n\n    dispatch(LoginStore.actions.setError(\"Sorry, something went wrong. Please try again.\"));\n  };\n}\n\nexport function fetchUser() {\n  return async (dispatch) => {\n    const response = await apiFetch(\"/api/v1/users/self\");\n\n    if (response.ok) {\n      const user = await response.json();\n      dispatch(UserStore.actions.upsertOne(user));\n      dispatch(\n        LoginStore.actions.update({\n          firstName: user.first_name,\n          userId: user.id,\n          email: user.email,\n        }),\n      );\n      dispatch(OrgSettingsAPI.fetchOrgSettings());\n      return true;\n    }\n\n    dispatch(LoginStore.actions.setError(\"Failed to fetch user data\"));\n  };\n}\n\nexport function updateUser(user) {\n  return async () => {\n    const response = await apiFetch(\"/api/v1/users/self\", {\n      body: JSON.stringify(user),\n      method: \"PUT\",\n    });\n\n    if (response.ok) {\n      const updatedUser = await response.json();\n      return { data: updatedUser };\n    }\n\n    return { error: \"Failed to update user.\" };\n  };\n}\n\nexport function fetchOnboarding() {\n  return async (dispatch) => {\n    dispatch(OnboardingStore.actions.setLoading(true));\n    const response = await apiFetch(\"/api/v1/onboarding\");\n\n    if (response.ok) {\n      const onboarding = await response.json();\n      dispatch(OnboardingStore.actions.set(onboarding));\n      return true;\n    }\n\n    dispatch(OnboardingStore.actions.setError(new Error(\"Failed to fetch onboarding\")));\n  };\n}\n\nexport function updateOnboarding(data) {\n  return async (dispatch) => {\n    const response = await apiFetch(\"/api/v1/onboarding\", {\n      method: \"POST\",\n      body: JSON.stringify(data),\n    });\n\n    if (response.ok) {\n      const onboarding = await response.json();\n      return { data: onboarding };\n    }\n\n    dispatch(OnboardingStore.actions.setError(new Error(\"Failed to fetch onboarding\")));\n  };\n}\n\nexport function validateInvitation(invitationId, orgId) {\n  return async (dispatch) => {\n    dispatch(InvitationStore.actions.setLoading());\n    const response = await apiFetch(\n      `/api/v1/invitations/verify?invitation_uuid=${invitationId}&org_id=${orgId}`,\n    );\n\n    if (response.ok) {\n      dispatch(InvitationStore.actions.setIsValid(true));\n      return true;\n    }\n\n    const text = JSON.parse(await response.text());\n    const errorMessage = text.error || \"Invalid invitation.\";\n\n    if (errorMessage === \"Invitation has already been redeemed.\") {\n      window.location.href = `${window.location.protocol}//${window.location.host}/?redeemed=1`;\n      return false;\n    }\n\n    dispatch(InvitationStore.actions.setIsValid(false));\n    dispatch(LoginStore.actions.setError(errorMessage));\n    return false;\n  };\n}\n\nexport async function validateAuthToken() {\n  const response = await apiFetch(\"/api/v1/sessions\");\n  if (!response.ok) {\n    throw new Error(\"Invalid auth token\");\n  }\n}\n\nexport async function acceptTermsOfService() {\n  const options = {\n    method: \"POST\",\n  };\n  const response = await apiFetch(\"/api/v1/users/accept_terms_of_service\", options);\n  if (response.ok) {\n    return true;\n  }\n\n  throw new Error(\"Failed to accept Terms of Service.\");\n}\n\nexport function redeemInvitation(invitationId, orgId, password) {\n  return async (dispatch) => {\n    dispatch(InvitationStore.actions.setLoading());\n    dispatch(LoginStore.actions.setLoading());\n    const options = {\n      method: \"POST\",\n      body: JSON.stringify({\n        invitation_uuid: invitationId,\n        org_id: orgId,\n        password,\n      }),\n    };\n    const response = await apiFetch(\"/api/v1/set_password\", options);\n\n    try {\n      await response.json();\n    } catch (e) {\n      dispatch(InvitationStore.actions.unsetLoading());\n      return dispatch(\n        LoginStore.actions.setError(\"Sorry, something went wrong. Please try again.\"),\n      );\n    }\n\n    if (response.ok) {\n      dispatch(InvitationStore.actions.setIsRedeemed(true));\n      dispatch(fetchUser());\n    }\n  };\n}\n\nexport function requestPasswordChange(data) {\n  return async (dispatch) => {\n    const response = await apiFetch(\"/api/v1/pwd/request_password_change\", {\n      method: \"POST\",\n      body: JSON.stringify(data),\n    });\n    let json;\n    try {\n      json = await response.json();\n    } catch (e) {\n      console.error(e);\n      dispatch(LoginStore.actions.setError(\"Sorry, something went wrong. Please try again.\"));\n      return;\n    }\n\n    if (response.ok) {\n      const { message } = json;\n      dispatch(LoginStore.actions.update({ contextualMessage: message }));\n      return;\n    }\n    throw new Error(\"Failed to reset password.\");\n  };\n}\n\nexport async function resetPassword(data) {\n  const response = await apiFetch(\"/api/v1/pwd/reset_password\", {\n    method: \"POST\",\n    body: JSON.stringify(data),\n  });\n\n  if (response.ok) {\n    const json = await response.json();\n    return json;\n  }\n  throw new Error(\"Failed to reset password.\");\n}\n\nexport function forgotOrg(data) {\n  return async (dispatch) => {\n    dispatch(LoginStore.actions.setLoading());\n    const response = await apiFetch(\"/api/v1/forgot-org\", {\n      method: \"POST\",\n      body: JSON.stringify(data),\n    });\n    let json;\n    try {\n      json = await response.json();\n    } catch (e) {\n      console.error(e);\n      dispatch(LoginStore.actions.setError(\"Sorry, something went wrong. Please try again.\"));\n      return;\n    }\n\n    if (response.ok) {\n      const changes = {};\n      if (json.user_id) changes.userId = json.user_id;\n      if (json.first_name) changes.firstName = json.first_name;\n      if (json.email) changes.email = json.email;\n      if (json.message) changes.contextualMessage = json.message;\n      dispatch(LoginStore.actions.update(changes));\n      return;\n    }\n    throw new Error(\"Failed to send link.\");\n  };\n}\n\nexport async function fetchActiveCookies() {\n  const response = await apiFetch(\"/get_cookies\");\n\n  if (response.ok) {\n    // no content\n    if (response.status === 204) return [];\n    const json = await response.json();\n    return json;\n  }\n  throw new Error(\"Failed fetch active cookies\");\n}\n","import Cookies from \"js-cookie\";\nimport { useEffect, useState } from \"react\";\n\nimport { validateAuthToken } from \"../api\";\n\nconst cachedScripts = [];\nfunction useScript(src, options = {}) {\n  const { integrity, crossOrigin } = options;\n  const [state, setState] = useState({\n    loaded: false,\n    error: false,\n  });\n\n  useEffect(() => {\n    if (cachedScripts.includes(src)) {\n      setState({\n        loaded: true,\n        error: false,\n      });\n    } else {\n      cachedScripts.push(src);\n\n      const script = document.createElement(\"script\");\n      script.src = src;\n      script.async = true;\n      if (integrity) {\n        script.integrity = integrity;\n      }\n      if (crossOrigin) {\n        script.crossOrigin = crossOrigin;\n      }\n\n      const onScriptLoad = () => {\n        setState({\n          loaded: true,\n          error: false,\n        });\n      };\n\n      const onScriptError = () => {\n        const index = cachedScripts.indexOf(src);\n        if (index >= 0) cachedScripts.splice(index, 1);\n        script.remove();\n\n        setState({\n          loaded: true,\n          error: true,\n        });\n      };\n\n      script.addEventListener(\"load\", onScriptLoad);\n      script.addEventListener(\"error\", onScriptError);\n\n      document.body.appendChild(script);\n\n      return () => {\n        script.removeEventListener(\"load\", onScriptLoad);\n        script.removeEventListener(\"error\", onScriptError);\n      };\n    }\n  }, [src, integrity, crossOrigin]);\n\n  return [state.loaded, state.error];\n}\n\nfunction useWindowSize() {\n  const isClient = typeof window === \"object\";\n\n  function getSize() {\n    return {\n      width: isClient ? window.innerWidth : undefined,\n      height: isClient ? window.innerHeight : undefined,\n    };\n  }\n\n  const [windowSize, setWindowSize] = useState(getSize);\n\n  useEffect(() => {\n    if (!isClient) {\n      return false;\n    }\n\n    function handleResize() {\n      setWindowSize(getSize());\n    }\n\n    window.addEventListener(\"resize\", handleResize);\n    return () => window.removeEventListener(\"resize\", handleResize);\n\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [isClient]); // Empty array ensures that effect is only run on mount and unmount\n\n  return windowSize;\n}\n\nfunction useIsMobile() {\n  const { width } = useWindowSize();\n  return width < 480;\n}\n\nfunction useAuthStatus() {\n  const [isAuthenticated, setIsAuthenticated] = useState(false);\n  const [isValidatingAuth, setIsValidatingAuth] = useState(true);\n\n  useEffect(() => {\n    if (!isValidatingAuth) return;\n\n    const validate = async () => {\n      try {\n        await validateAuthToken();\n        setIsAuthenticated(true);\n      } catch {\n        Cookies.remove(\"token\");\n      }\n      setIsValidatingAuth(false);\n    };\n    validate();\n  }, [isValidatingAuth]);\n\n  return [isAuthenticated, isValidatingAuth];\n}\n\nexport { useScript, useWindowSize, useIsMobile, useAuthStatus };\n","import { Modal } from \"@minervaproject/fds\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\n\nimport { fetchActiveCookies } from \"../api\";\nimport { useScript } from \"../hooks\";\nimport { LoginStore } from \"../store/login\";\n\nfunction CookieModal() {\n  const [showModal, setShowModal] = useState(false);\n  const dispatch = useDispatch();\n\n  const [activeCookies, setActiveCookies] = useState([]);\n\n  const [cookieScriptLoaded, cookieScriptError] = useScript(\n    \"https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js\",\n    {\n      integrity: \"sha384-PDjg2ZdS3khPzd53i18+7tzB32JVQfFMrTXYo21RqPgUmEVAPwIhxOUF/8sP79CS\",\n      crossOrigin: \"anonymous\",\n    },\n  );\n\n  useEffect(() => {\n    async function fetchCookies() {\n      const cookies = await fetchActiveCookies();\n      setActiveCookies(cookies);\n    }\n    fetchCookies();\n  }, []);\n\n  useEffect(() => {\n    if (cookieScriptLoaded && !cookieScriptError) {\n      window.cookieconsent?.initialise({\n        palette: {\n          popup: {\n            background: \"#f4f4f4\",\n            text: \"#222222\",\n          },\n          button: {\n            background: \"transparent\",\n            text: \"#0A78BF\",\n            border: \"#0A78BF\",\n          },\n        },\n        content: {\n          message: \"Minerva uses cookies necessary for features on the platform.\",\n          dismiss: \"OK\",\n          link: \"Cookie policy\",\n          href: \"#\",\n        },\n        onPopupOpen() {\n          dispatch(LoginStore.actions.update({ cookieBannerIsShowing: true }));\n          document.querySelector(\".cc-link\").addEventListener(\"click\", (e) => {\n            e.preventDefault();\n            setShowModal(true);\n            document.querySelector(\".cc-dismiss\").click();\n          });\n\n          // dismiss banner\n          document.querySelector(\".cc-dismiss\").addEventListener(\"click\", (e) => {\n            e.preventDefault();\n            dispatch(LoginStore.actions.update({ cookieBannerIsShowing: false }));\n          });\n        },\n      });\n    }\n  }, [cookieScriptLoaded, cookieScriptError, dispatch]);\n\n  if (!showModal) return null;\n\n  return (\n    <Modal\n      onClose={(showModalValue) => setShowModal(showModalValue)}\n      title=\"Cookie Declaration\"\n      width=\"80vw\"\n    >\n      <main className=\"modal__content\">\n        <p>\n          Cookies are small text files that can be used by websites to make a user&apos;s experience\n          more efficient.\n        </p>\n        <p>\n          The law states that we can store cookies on your device if they are strictly necessary for\n          the operation of this site. This site uses cookies that provide necessary functionality,\n          features, and third-party services such as Google OAuth. Some cookies are placed by third\n          party services that appear on our pages. Cookies make a website usable by enabling basic\n          functions like page navigation and access to secure areas of the website. The website\n          cannot function properly without these cookies.\n        </p>\n        <div className=\"cookie-table table-wrapper\">\n          <table>\n            <tbody>\n              <tr>\n                <th>Name</th>\n                <th>Provider</th>\n                <th>Purpose</th>\n                <th>Expiry</th>\n                <th>Type</th>\n              </tr>\n              {activeCookies.map((cookie) => {\n                return (\n                  <tr key={cookie.Name}>\n                    <td>{cookie.Name}</td>\n                    <td>{cookie.Provider}</td>\n                    <td>{cookie.PurposeDescription}</td>\n                    <td>{cookie.ExpireDescription}</td>\n                    <td>{cookie.TrackerTypeName}</td>\n                  </tr>\n                );\n              })}\n            </tbody>\n          </table>\n        </div>\n      </main>\n      <footer className=\"modal__footer\">\n        <button\n          onClick={() => setShowModal(false)}\n          className=\"modal__btn button-primary\"\n          aria-label=\"OK\"\n          type=\"submit\"\n        >\n          OK\n        </button>\n      </footer>\n    </Modal>\n  );\n}\n\nexport { CookieModal };\n","import React from \"react\";\n\nfunction Footer() {\n  const now = new Date();\n  const currentYear = now.getFullYear();\n\n  const privacyPolicyUrl = `${window.context?.forumUrl}/privacy`;\n  const termsUrl = `${window.context?.forumUrl}/terms`;\n\n  return (\n    <footer\n      className=\"absolute center\"\n      style={{\n        width: \"100%\",\n        bottom: \"0px\",\n        zIndex: -1,\n      }}\n    >\n      <p className=\"body-s text-black-tint-70 p4\">\n        &copy; Copyright {currentYear} Minerva Project, Inc. All rights reserved.{\" \"}\n        <a\n          href={privacyPolicyUrl}\n          target=\"_blank\"\n          rel=\"noreferrer\"\n          className=\"text-black-tint-70 underline\"\n        >\n          Privacy Policy\n        </a>\n        <span> | </span>\n        <a\n          href={termsUrl}\n          target=\"_blank\"\n          rel=\"noreferrer\"\n          className=\"text-black-tint-70 underline\"\n        >\n          Terms\n        </a>\n      </p>\n    </footer>\n  );\n}\n\nexport { Footer };\n","import { MinervaLogoIcon } from \"@minervaproject/fds\";\nimport React, { useState } from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport { LoginStore } from \"../store/login\";\nimport { BrandingStore } from \"src/store\";\n\nconst styles = {\n  container: {\n    alignItems: \"start\",\n    display: \"inline-flex\",\n    height: \"146px\",\n    width: \"220px\",\n  },\n  asset: {\n    maxHeight: \"100%\",\n    maxWidth: \"100%\",\n  },\n};\n\nfunction Logo({ className = \"\" }) {\n  const [hasError, setHasError] = useState(false);\n  const loginDetails = useSelector(LoginStore.selectors.select());\n  const branding = useSelector(BrandingStore.selectors.selectAll());\n  if (!hasError && loginDetails.org) {\n    const orgBranding =\n      branding.find((b) => b.org_id === (loginDetails.org && loginDetails.org.value)) || {};\n    if (orgBranding.logo_url) {\n      return (\n        <div style={styles.container} className={className}>\n          <img\n            style={styles.asset}\n            alt={`${loginDetails.org.label} Logo`}\n            src={orgBranding.logo_url}\n            onError={() => setHasError(true)}\n          />\n        </div>\n      );\n    }\n  }\n\n  return (\n    <div className={className}>\n      <MinervaLogoIcon />\n    </div>\n  );\n}\n\nexport { Logo };\n","import { ErrorMessage } from \"@minervaproject/fds\";\nimport React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { acceptTermsOfService } from \"../api\";\nimport { redirectUser } from \"../helpers\";\nimport { useAuthStatus } from \"../hooks\";\n\nimport { Logo } from \"./logo\";\n\nconst styles = {\n  termsContainer: {\n    width: \"667px\",\n    height: \"250px\",\n    border: \"1px solid #E5E5E5\",\n    boxSizing: \"border-box\",\n    overflow: \"auto\",\n    fontWeight: \"100\",\n  },\n};\n\nfunction TermsPrompt({ handleTermsAcceptance }) {\n  const history = useHistory();\n  const [errorMessage, setErrorMessage] = useState(null);\n  const [isAuthenticated, isValidatingAuth] = useAuthStatus();\n\n  if (!isAuthenticated && !isValidatingAuth) {\n    history.push(\"/\");\n  }\n\n  if (isValidatingAuth) return null;\n\n  async function handleTermsAgreement(e) {\n    e.preventDefault();\n    e.stopPropagation();\n    try {\n      await acceptTermsOfService();\n      if (typeof handleTermsAcceptance === \"function\") {\n        handleTermsAcceptance();\n      } else {\n        redirectUser();\n      }\n    } catch (exc) {\n      setErrorMessage(\"Sorry, something went wrong. Please try again.\");\n    }\n  }\n\n  return (\n    <div style={{ height: \"100vh\" }} className=\"flex column full-width\">\n      <Logo className=\"absolute m10\" />\n      <div className=\"self-center mx-auto\">\n        <div className=\"flex flex-column items-center\">\n          <div>\n            <h2 id=\"terms-of-service-title\" className=\"text-black-tint-20 h2 mb4\">\n              Please Agree to the Terms of Service\n            </h2>\n            <div className=\"p5 body-s\" style={styles.termsContainer}>\n              <p className=\"bold m0\">Terms of Service</p>\n              <p className=\"mt0\">Last Updated: April 7, 2021</p>\n\n              <p>\n                Please read these Terms of Service (the “<strong>Terms</strong>”) and our{\" \"}\n                <a href=\"/privacy\">Privacy Policy</a> (“<strong>Privacy Policy</strong>”) carefully\n                because they govern your use of the website located at forum.minervaproject.com (the\n                “<strong>Site</strong>”) and educational services accessible via the Site and\n                corresponding desktop application, Minerva Forum, (“<strong>App</strong>”) offered\n                by Minerva Project (“\n                <strong>Client</strong>”). To make these Terms easier to read, the Site, our\n                services and App are collectively called the “<strong>Services</strong>.”\n              </p>\n\n              <p>\n                <strong>\n                  IMPORTANT NOTICE REGARDING ARBITRATION: WHEN YOU AGREE TO THESE TERMS YOU ARE\n                  AGREEING (WITH LIMITED EXCEPTION) TO RESOLVE ANY DISPUTE BETWEEN YOU AND CLIENT\n                  THROUGH BINDING, INDIVIDUAL ARBITRATION RATHER THAN IN COURT. PLEASE REVIEW\n                  CAREFULLY SECTION 16 “DISPUTE RESOLUTION” BELOW FOR DETAILS REGARDING ARBITRATION.\n                </strong>\n              </p>\n\n              <p>\n                <strong>1. Agreement to Terms.</strong> By using our Services, you agree to be bound\n                by these Terms. If you don’t agree to be bound by these Terms, do not use the\n                Services. If your company or institution ordered Services through a separate\n                agreement (“Customer Agreement”), the Customer Agreement may contain additional\n                terms and conditions and information regarding the Services you are using. Unless\n                otherwise expressly set forth in any such additional terms and conditions applicable\n                to the specific Services, those additional terms are hereby incorporated into this\n                Agreement in relation to your use of the Services.\n              </p>\n\n              <p>\n                <strong>2. Privacy Policy.</strong> Please review our Privacy Policy, which also\n                governs your use of the Services, for information on how we collect, use and share\n                your information.\n              </p>\n\n              <p>\n                <strong>3. Changes to these Terms or the Services.</strong> We may update the Terms\n                from time to time at our sole discretion. If we do, we’ll let you know by posting\n                the updated Terms on the Site, to the App and/or may also send other communications.\n                It’s important that you review the Terms whenever we update them or you use the\n                Services. If you continue to use the Services after we have posted updated Terms it\n                means that you accept and agree to the changes. If you don’t agree to be bound by\n                the changes, you may not use the Services anymore. The only exception is for changes\n                to the “Dispute Resolution” section, for which you have followed the process in\n                Section 16(g). Because our Services are evolving over time we may change or\n                discontinue all or any part of the Services, at any time and without notice, at our\n                sole discretion.\n              </p>\n\n              <p>\n                <strong>4. Who May Use the Services?</strong>\n              </p>\n              <p>\n                You may use the Services only if you are at least 13 years of age (or such other\n                minimum age at which you can provide consent to data processing under the laws of\n                your territory), and not otherwise barred from using the Services under applicable\n                law.\n              </p>\n\n              <p>\n                <strong>5. Feedback.</strong> We appreciate feedback, comments, ideas, proposals and\n                suggestions for improvements to the Services (“<strong>Feedback</strong>”). If you\n                choose to submit Feedback, you agree that we are free to use it without any\n                restriction or compensation to you.\n              </p>\n\n              <p>\n                <strong>6. Your Content.</strong>\n              </p>\n              <ol type=\"a\">\n                <li>\n                  <em>Posting Content.</em> Our Services may allow you to store or share content\n                  such as text (in posts or communications with others), files, documents, graphics,\n                  images, music, software, audio and video. Anything (other than Feedback) that you\n                  post or otherwise make available through the Services is referred to as “User\n                  Content”. Client does not claim any ownership rights in any User Content and\n                  nothing in these Terms will be deemed to restrict any rights that you may have to\n                  your User Content.\n                </li>\n                <li>\n                  <em>Permissions to Your User Content.</em> By making any User Content available\n                  through the Services you hereby grant to Client a non-exclusive, transferable,\n                  worldwide, royalty-free license, with the right to sublicense, to use, copy,\n                  modify, create derivative works based upon, distribute, publicly display, and\n                  publicly perform your User Content in connection with operating and providing the\n                  Services.\n                </li>\n                <li>\n                  <em>Your Responsibility for User Content.</em> You are solely responsible for all\n                  your User Content. You represent and warrant that you have (and will have) all\n                  rights that are necessary to grant us the license rights in your User Content\n                  under these Terms. You represent and warrant that neither your User Content, nor\n                  your use and provision of your User Content to be made available through the\n                  Services, nor any use of your User Content by Client on or through the Services\n                  will infringe, misappropriate or violate a third party’s intellectual property\n                  rights, or rights of publicity or privacy, or result in the violation of any\n                  applicable law or regulation.\n                </li>\n                <li>\n                  <em>Removal of User Content.</em> You can remove your User Content by specifically\n                  deleting it. You should know that in certain instances, some of your User Content\n                  (such as posts or comments you make) may not be completely removed and copies of\n                  your User Content may continue to exist on the Services. To the maximum extent\n                  permitted by law, we are not responsible or liable for the removal or deletion of\n                  (or the failure to remove or delete) any of your User Content.\n                </li>\n                <li>\n                  <em>Client’s Intellectual Property.</em> We may make available through the\n                  Services content that is subject to intellectual property rights. We retain all\n                  rights to that content.\n                </li>\n              </ol>\n\n              <p>\n                <strong>7. Rights and Terms for Apps.</strong>\n              </p>\n              <ol type=\"a\">\n                <li>\n                  App License. If you comply with these Terms, Client grants to you a limited\n                  non-exclusive, non-transferable license, with no right to sublicense, to download\n                  and install the App on your personal computers, mobile handsets, tablets, wearable\n                  devices, and/or other devices and to run the App solely for your own personal\n                  non-commercial purposes. Except as expressly permitted in these Terms, you may\n                  not: (i) copy, modify or create derivative works based on the App; (ii)\n                  distribute, transfer, sublicense, lease, lend or rent the App to any third party;\n                  (iii) reverse engineer, decompile or disassemble the App (unless applicable law\n                  permits, despite this limitation); or (iv) make the functionality of the App\n                  available to multiple users through any means.\n                </li>\n              </ol>\n\n              <p>\n                <strong>8. General Prohibitions and Client’s Enforcement Rights.</strong> You agree\n                not to do any of the following:\n              </p>\n              <ol type=\"a\">\n                <li>\n                  Post, upload, publish, submit or transmit any User Content that: (i) infringes,\n                  misappropriates or violates a third party’s patent, copyright, trademark, trade\n                  secret, moral rights or other intellectual property rights, or rights of publicity\n                  or privacy; (ii) violates, or encourages any conduct that would violate, any\n                  applicable law or regulation or would give rise to civil liability; (iii) is\n                  fraudulent, false, misleading or deceptive; (iv) is defamatory, obscene,\n                  pornographic, vulgar or offensive; (v) promotes discrimination, bigotry, racism,\n                  hatred, harassment or harm against any individual or group; (vi) is violent or\n                  threatening or promotes violence or actions that are threatening to any person or\n                  entity; or (vii) promotes illegal or harmful activities or substances;\n                </li>\n                <li>\n                  Use, display, mirror or frame the Services or any individual element within the\n                  Services, Client’s name, any Client trademark, logo or other proprietary\n                  information, or the layout and design of any page or form contained on a page,\n                  without Client’s express written consent;\n                </li>\n                <li>\n                  Access, tamper with, or use non-public areas of the Services, Client’s computer\n                  systems, or the technical delivery systems of Client’s providers;\n                </li>\n                <li>\n                  Attempt to probe, scan or test the vulnerability of any Client system or network\n                  or breach any security or authentication measures;\n                </li>\n                <li>\n                  Avoid, bypass, remove, deactivate, impair, descramble or otherwise circumvent any\n                  technological measure implemented by Client or any of Client’s providers or any\n                  other third party (including another user) to protect the Services;\n                </li>\n                <li>\n                  Attempt to access or search the Services or download content from the Services\n                  using any engine, software, tool, agent, device or mechanism (including spiders,\n                  robots, crawlers, data mining tools or the like) other than the software and/or\n                  search agents provided by Client or other generally available third-party web\n                  browsers;\n                </li>\n                <li>\n                  Send any unsolicited or unauthorized advertising, promotional materials, email,\n                  junk mail, spam, chain letters or other form of solicitation;\n                </li>\n                <li>\n                  Use any meta tags or other hidden text or metadata utilizing a Client trademark,\n                  logo URL or product name without Client’s express written consent;\n                </li>\n                <li>\n                  Use the Services, or any portion thereof, for any commercial purpose or for the\n                  benefit of any third party or in any manner not permitted by these Terms;\n                </li>\n                <li>\n                  Forge any TCP/IP packet header or any part of the header information in any email\n                  or newsgroup posting, or in any way use the Services to send altered, deceptive or\n                  false source-identifying information;\n                </li>\n                <li>\n                  Attempt to decipher, decompile, disassemble or reverse engineer any of the\n                  software used to provide the Services;\n                </li>\n                <li>\n                  Interfere with, or attempt to interfere with, the access of any user, host or\n                  network, including, without limitation, sending a virus, overloading, flooding,\n                  spamming, or mail-bombing the Services;\n                </li>\n                <li>\n                  Collect or store any personally identifiable information from the Services from\n                  other users of the Services without their express permission;\n                </li>\n                <li>Impersonate or misrepresent your affiliation with any person or entity;</li>\n                <li>Violate any applicable law or regulation; or</li>\n                <li>Encourage or enable any other individual to do any of the foregoing.</li>\n              </ol>\n              <p>\n                Client is not obligated to monitor access to or use of the Services or to review or\n                edit any content. However, we have the right to do so for the purpose of operating\n                the Services, to ensure compliance with these Terms and to comply with applicable\n                law or other legal requirements. We reserve the right, but are not obligated, to\n                remove or disable access to any content, including User Content, at any time and\n                without notice, including, but not limited to, if we, at our sole discretion,\n                consider it objectionable or in violation of these Terms. We have the right to\n                investigate violations of these Terms or conduct that affects the Services. We may\n                also consult and cooperate with law enforcement authorities to prosecute users who\n                violate the law.\n              </p>\n\n              <p>\n                <strong>9. DMCA/Copyright Policy.</strong> Client respects copyright law and expects\n                its users to do the same. It is Client’s policy to terminate in appropriate\n                circumstances account holders who repeatedly infringe or are believed to be\n                repeatedly infringing the rights of copyright holders.\n              </p>\n\n              <p>\n                <strong>10. Links to Third Party Websites or Resources.</strong> The Services\n                (including the App) may allow you to access third-party websites or other resources.\n                We provide access only as a convenience and are not responsible for the content,\n                products or services on or available from those resources or links displayed on such\n                websites. You acknowledge sole responsibility for and assume all risk arising from,\n                your use of any third-party resources.\n              </p>\n\n              <p>\n                <strong>11. Termination.</strong> We may suspend or terminate your access to and use\n                of the Services, including suspending access to or terminating your account, at our\n                sole discretion, at any time and without notice to you. You may cancel your account\n                at any time by sending us an email at{\" \"}\n                <a href=\"mailto:helpdesk@minervaproject.com\">helpdesk@minervaproject.com</a>. Upon\n                any termination, discontinuation or cancellation of the Services or your account,\n                the following Sections will survive: 6(a), 6(b), 6(c) (only for payments due and\n                owing to Client prior to the termination), 7(b), 7(c), 7(e), 12, 13, 14, 15, 16, 17\n                and 18.\n              </p>\n\n              <p>\n                <strong>12. Warranty Disclaimers. </strong>THE SERVICES ARE PROVIDED “AS IS,”\n                WITHOUT WARRANTY OF ANY KIND. WITHOUT LIMITING THE FOREGOING, WE EXPLICITLY DISCLAIM\n                ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET\n                ENJOYMENT AND NON-INFRINGEMENT, AND ANY WARRANTIES ARISING OUT OF COURSE OF DEALING\n                OR USAGE OF TRADE. We make no warranty that the Services will meet your requirements\n                or be available on an uninterrupted, secure, or error-free basis. We make no\n                warranty regarding the quality, accuracy, timeliness, truthfulness, completeness or\n                reliability of any information or content on the Services.\n              </p>\n\n              <p>\n                <strong>13. Indemnity.</strong> You will indemnify and hold Client and its officers,\n                directors, employees and agents, harmless from and against any claims, disputes,\n                demands, liabilities, damages, losses, and costs and expenses, including, without\n                limitation, reasonable legal and accounting fees arising out of or in any way\n                connected with (a) your access to or use of the Services, (b) your User Content, or\n                (c) your violation of these Terms.\n              </p>\n\n              <p>\n                <strong>14. Limitation of Liability.</strong>\n              </p>\n              <ol type=\"a\">\n                <li>\n                  TO THE MAXIMUM EXTENT PERMITTED BY LAW, NEITHER CLIENT NOR ITS SERVICE PROVIDERS\n                  INVOLVED IN CREATING, PRODUCING, OR DELIVERING THE SERVICES WILL BE LIABLE FOR ANY\n                  INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOST\n                  PROFITS, LOST REVENUES, LOST SAVINGS, LOST BUSINESS OPPORTUNITY, LOSS OF DATA OR\n                  GOODWILL, SERVICE INTERRUPTION, COMPUTER DAMAGE OR SYSTEM FAILURE OR THE COST OF\n                  SUBSTITUTE SERVICES OF ANY KIND ARISING OUT OF OR IN CONNECTION WITH THESE TERMS\n                  OR FROM THE USE OF OR INABILITY TO USE THE SERVICES, WHETHER BASED ON WARRANTY,\n                  CONTRACT, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER LEGAL\n                  THEORY, AND WHETHER OR NOT CLIENT OR ITS SERVICE PROVIDERS HAS BEEN INFORMED OF\n                  THE POSSIBILITY OF SUCH DAMAGE, EVEN IF A LIMITED REMEDY SET FORTH HEREIN IS FOUND\n                  TO HAVE FAILED OF ITS ESSENTIAL PURPOSE.\n                </li>\n                <li>\n                  TO THE MAXIMUM EXTENT PERMITTED BY THE LAW OF THE APPLICABLE JURISDICTION, IN NO\n                  EVENT WILL CLIENT’S TOTAL LIABILITY ARISING OUT OF OR IN CONNECTION WITH THESE\n                  TERMS OR FROM THE USE OF OR INABILITY TO USE THE SERVICES EXCEED THE AMOUNTS YOU\n                  HAVE PAID OR ARE PAYABLE BY YOU TO CLIENT FOR USE OF THE SERVICES OR ONE HUNDRED\n                  DOLLARS ($100), IF YOU HAVE NOT HAD ANY PAYMENT OBLIGATIONS TO CLIENT, AS\n                  APPLICABLE.\n                </li>\n                <li>\n                  THE EXCLUSIONS AND LIMITATIONS OF DAMAGES SET FORTH ABOVE ARE FUNDAMENTAL ELEMENTS\n                  OF THE BASIS OF THE BARGAIN BETWEEN CLIENT AND YOU.\n                </li>\n              </ol>\n\n              <p>\n                <strong>15. Governing Law and Forum Choice.</strong> These Terms and any action\n                related thereto will be governed by the Federal Arbitration Act, federal arbitration\n                law, and the laws of the State of California, without regard to its conflict of laws\n                provisions. Except as otherwise expressly set forth in Section 16 “Dispute\n                Resolution,” the exclusive jurisdiction for all Disputes (defined below) that you\n                and Client are not required to arbitrate will be the state and federal courts\n                located in the [County of Client’s headquarters], and you and Client each waive any\n                objection to jurisdiction and venue in such courts.\n              </p>\n\n              <p>\n                <strong>16. Dispute Resolution.</strong>\n              </p>\n              <ol type=\"a\">\n                <li>\n                  <em>Mandatory Arbitration of Disputes.</em> We each agree that any dispute, claim\n                  or controversy arising out of or relating to these Terms or the breach,\n                  termination, enforcement, interpretation or validity thereof or the use of the\n                  Services (collectively, “<strong>Disputes</strong>”) will be resolved{\" \"}\n                  <strong>\n                    solely by binding, individual arbitration and not in a class, representative or\n                    consolidated action or proceeding\n                  </strong>\n                  . You and Client agree that the U.S. Federal Arbitration Act governs the\n                  interpretation and enforcement of these Terms, and that you and Client are each\n                  waiving the right to a trial by jury or to participate in a class action. This\n                  arbitration provision shall survive termination of these Terms.\n                </li>\n                <li>\n                  <em>Exceptions.</em> As limited exceptions to Section 16(a) above: (i) we both may\n                  seek to resolve a Dispute in small claims court if it qualifies; and (ii) we each\n                  retain the right to seek injunctive or other equitable relief from a court to\n                  prevent (or enjoin) the infringement or misappropriation of our intellectual\n                  property rights.\n                </li>\n                <li>\n                  <em>Conducting Arbitration and Arbitration Rules.</em> The arbitration will be\n                  conducted by the American Arbitration Association (“<strong>AAA</strong>”) under\n                  its Consumer Arbitration Rules (the “<strong>AAA Rules</strong>”) then in effect,\n                  except as modified by these Terms. The AAA Rules are available at{\" \"}\n                  <a href=\"https://www.adr.org/\">www.adr.org</a> or by calling 1-800-778-7879. A\n                  party who wishes to start arbitration must submit a written Demand for Arbitration\n                  to AAA and give notice to the other party as specified in the AAA Rules. The AAA\n                  provides a form Demand for Arbitration at{\" \"}\n                  <a href=\"https://www.adr.org/\">www.adr.org</a>. Any arbitration hearings will take\n                  place in the county (or parish) where you live, unless we both agree to a\n                  different location. The parties agree that the arbitrator shall have exclusive\n                  authority to decide all issues relating to the interpretation, applicability,\n                  enforceability and scope of this arbitration agreement.\n                </li>\n                <li>\n                  <em>Arbitration Costs.</em> Payment of all filing, administration and arbitrator\n                  fees will be governed by the AAA Rules, and we won’t seek to recover the\n                  administration and arbitrator fees we are responsible for paying, unless the\n                  arbitrator finds your Dispute frivolous. If we prevail in arbitration we’ll pay\n                  all of our attorneys’ fees and costs and won’t seek to recover them from you. If\n                  you prevail in arbitration you will be entitled to an award of attorneys’ fees and\n                  expenses to the extent provided under applicable law.\n                </li>\n                <li>\n                  <em>Injunctive and Declaratory Relief.</em> Except as provided in Section 16(b)\n                  above, the arbitrator shall determine all issues of liability on the merits of any\n                  claim asserted by either party and may award declaratory or injunctive relief only\n                  in favor of the individual party seeking relief and only to the extent necessary\n                  to provide relief warranted by that party&apos;s individual claim. To the extent\n                  that you or we prevail on a claim and seek public injunctive relief (that is,\n                  injunctive relief that has the primary purpose and effect of prohibiting unlawful\n                  acts that threaten future injury to the public), the entitlement to and extent of\n                  such relief must be litigated in a civil court of competent jurisdiction and not\n                  in arbitration. The parties agree that litigation of any issues of public\n                  injunctive relief shall be stayed pending the outcome of the merits of any\n                  individual claims in arbitration.\n                </li>\n                <li>\n                  <em>Class Action Waiver.</em>\n                  <strong>\n                    {\" \"}\n                    YOU AND CLIENT AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR\n                    OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY\n                    PURPORTED CLASS OR REPRESENTATIVE PROCEEDING.\n                  </strong>{\" \"}\n                  Further, if the parties’ dispute is resolved through arbitration, the arbitrator\n                  may not consolidate another person&apos;s claims with your claims, and may not\n                  otherwise preside over any form of a representative or class proceeding. If this\n                  specific provision is found to be unenforceable, then the entirety of this Dispute\n                  Resolution section shall be null and void.\n                </li>\n                <li>\n                  <em>Effect of Changes on Arbitration.</em> Notwithstanding the provisions of\n                  Section 3 “Changes to Terms or Services” above, if Client changes any of the terms\n                  of this Section 16 “Dispute Resolution” after the date you most recently accepted\n                  these Terms, you may reject any such change by sending us written notice\n                  (including by email to [email]) within 30 days of the date such change became\n                  effective, as indicated in the “Last Updated” date above or in the date of\n                  Client’s email to you notifying you of such change. By rejecting any change, you\n                  are agreeing that you will arbitrate any Dispute between you and Client in\n                  accordance with the terms of this Section 16 “Dispute Resolution” as of the date\n                  you most recently accepted these Terms.\n                </li>\n                <li>\n                  <em>Severability.</em> With the exception of any of the provisions in Section\n                  16(f) of these Terms (&quot;<strong>Class Action Waiver</strong>&quot;), if an\n                  arbitrator or court of competent jurisdiction decides that any part of these Terms\n                  is invalid or unenforceable, the other parts of these Terms will still apply.\n                </li>\n              </ol>\n\n              <p>\n                <strong>17. General Terms.</strong>\n              </p>\n              <ol type=\"a\">\n                <li>\n                  <em>Reservation of Rights.</em> Client and its licensors exclusively own all\n                  right, title and interest in and to the Services, including all associated\n                  intellectual property rights. You acknowledge that the Services are protected by\n                  copyright, trademark, and other laws of the United States and foreign countries.\n                  You agree not to remove, alter or obscure any copyright, trademark, service mark\n                  or other proprietary rights notices incorporated in or accompanying the Services.\n                </li>\n                <li>\n                  <em>Entire Agreement.</em> These Terms constitute the entire and exclusive\n                  understanding and agreement between Client and you regarding the Services, and\n                  these Terms supersede and replace all prior oral or written understandings or\n                  agreements between Client and you regarding the Services. If any provision of\n                  these Terms is held invalid or unenforceable by an arbitrator or a court of\n                  competent jurisdiction, that provision will be enforced to the maximum extent\n                  permissible and the other provisions of these Terms will remain in full force and\n                  effect. You may not assign or transfer these Terms, by operation of law or\n                  otherwise, without Client’s prior written consent. Any attempt by you to assign or\n                  transfer these Terms, without such consent, will be null. Client may freely assign\n                  or transfer these Terms without restriction. Subject to the foregoing, these Terms\n                  will bind and inure to the benefit of the parties, their successors and permitted\n                  assigns.\n                </li>\n                <li>\n                  <em>Notices.</em> Any notices or other communications provided by Client under\n                  these Terms will be given: (i) via email; or (ii) by posting to the Services. For\n                  notices made by email, the date of receipt will be deemed the date on which such\n                  notice is transmitted.\n                </li>\n                <li>\n                  <em>Waiver of Rights.</em> Client’s failure to enforce any right or provision of\n                  these Terms will not be considered a waiver of such right or provision. The waiver\n                  of any such right or provision will be effective only if in writing and signed by\n                  a duly authorized representative of Client. Except as expressly set forth in these\n                  Terms, the exercise by either party of any of its remedies under these Terms will\n                  be without prejudice to its other remedies under these Terms or otherwise.\n                </li>\n              </ol>\n\n              <p>\n                <strong>18. Contact Information.</strong> If you have any questions about these\n                Terms or the Services, please contact Client at{\" \"}\n                <a href={`mailto:${window.context?.infoEmail}`}>{window.context?.infoEmail}</a>\n              </p>\n\n              <address className=\"flex flex-column\">\n                <span>(415) 649-7658</span>\n                <span>1145 Market Street</span>\n                <span>San Francisco, CA 94103</span>\n              </address>\n            </div>\n            <div style={{ width: \"667px\" }}>\n              <p className=\"body-s text-black-tint-40 mb5\">\n                By clicking the “I Agree” button below, you confirm you have reviewed and agree to\n                the Terms of Service.\n              </p>\n              {errorMessage ? <ErrorMessage msg={errorMessage} /> : null}\n              <button type=\"submit\" onClick={handleTermsAgreement} className=\"button-primary\">\n                I Agree\n              </button>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport { TermsPrompt };\n","import { XNoIcon } from \"@minervaproject/fds\";\nimport React from \"react\";\n\n// TODO: replace all usages with FDS ErrorMessage\nfunction ErrorMessage({ msg, msgStyles = { width: \"400px\" } }) {\n  if (!msg) return null;\n\n  return (\n    <p className=\"flex body-s mt1 items-center\" style={{ color: \"var(--red)\" }}>\n      <span style={msgStyles}>\n        <XNoIcon style={{ marginRight: \"4px\", height: 12, width: 12 }} />{\" \"}\n        <span id=\"js-error\">{msg}</span>\n      </span>\n    </p>\n  );\n}\n\nexport { ErrorMessage };\n","import { validate as emailValidate } from \"email-validator\";\nimport React from \"react\";\n\nimport { ErrorMessage } from \"./error_message\";\n\nfunction EmailInput({ form }) {\n  function isValidEmail(email) {\n    if (emailValidate(email)) return true;\n    return \"Email not valid\";\n  }\n  return (\n    <>\n      {/*\n      NOTE: the existence of the dummy field below is related to\n      why we need to use names like realemail an realpassword\n      in the fields we actually care about.\n      See https://app.asana.com/0/1199508238968936/1199161091094173, and\n      don't change this unless you know what you're doing.\n      */}\n      <input style={{ display: \"none\" }} type=\"text\" name=\"email-fake\" />\n      <label className=\"mb5\">\n        <p className=\"text-black-tint-40 bold body-s mb1 mt0\">Email Address</p>\n        {/*\n        NOTE: there are good reasons why the name of this input is realemail.\n        See https://app.asana.com/0/1199508238968936/1199161091094173, and\n        don't change this unless you know what you're doing.\n        */}\n        <input\n          name=\"realemail\"\n          id=\"js-email\"\n          style={{\n            outlineColor: form.errors.realemail?.message ? \"var(--red)\" : \"var(--blue)\",\n          }}\n          className=\"fds-input body-s\"\n          placeholder=\"mary@company.com\"\n          autoComplete=\"chrome-off\"\n          ref={form.register({\n            required: \"Email address is required\",\n            validate: {\n              isValidEmail,\n            },\n          })}\n        />\n        {form.errors.realemail ? <ErrorMessage msg={form.errors.realemail.message} /> : null}\n      </label>\n    </>\n  );\n}\n\nexport { EmailInput };\n","import { createReduxStore } from \"src/store/redux_store\";\n\nconst OrgSamlIdpStore = createReduxStore({ name: \"orgSamlIdp\" });\n\nexport { OrgSamlIdpStore };\n","import { BrandingStore, OrgSamlIdpStore, OrgSettingsStore, OrgStore } from \"src/store\";\n\nimport { createSerializer } from \"./serializer\";\n\nconst OrgSerializer = createSerializer({\n  store: OrgStore,\n  storeMap: {\n    branding: BrandingStore,\n    orgsettings: OrgSettingsStore,\n    org_saml_idp: OrgSamlIdpStore,\n  },\n});\n\nexport { OrgSerializer };\n","import { createReduxStore } from \"./redux_store\";\n\n// All the organizations the person associated with the user is in.\n// On the backend, a person can have many users, users only have one org.\nconst UserOrgsStore = createReduxStore({ name: \"userOrgs\" });\n\nexport { UserOrgsStore };\n","import { UserOrgsStore } from \"src/store\";\n\nimport { createSerializer } from \"./serializer\";\n\nconst UserOrgsSerializer = createSerializer({ store: UserOrgsStore });\n\nexport { UserOrgsSerializer };\n","import { createAPICall } from \"src/api\";\nimport { OrgSerializer, UserOrgsSerializer } from \"src/serializers\";\nimport { omitUndefined } from \"src/utils\";\n\nconst url = \"/api/v1/orgs/sso-orgs\";\nconst orgsListUrl = \"/api/v1/orgs/orgs\";\nconst orgsMonitoringListUrl = \"/api/v1/monitoring/orgs\";\nconst orgSwitchUrl = (orgId) => `/api/v1/orgs/orgs/${orgId}/switch`;\nconst serializer = OrgSerializer;\n\nconst OrgAPI = {\n  fetchOrgs: ({ orgIdentifier }) =>\n    createAPICall({\n      url,\n      queryParams: omitUndefined({ short_name: orgIdentifier }),\n      serializer,\n    }),\n  fetchOrgsForMonitoring: (domain = null) =>\n    createAPICall({\n      url: domain ? `${domain}${orgsMonitoringListUrl}` : orgsMonitoringListUrl,\n      queryParams: { token: window.Settings.activeClassToken },\n      serializer,\n    }),\n  fetchOrgsForUser: () =>\n    createAPICall({\n      url: orgsListUrl,\n      serializer: UserOrgsSerializer,\n    }),\n  switchUserOrg: (orgId) =>\n    createAPICall({\n      url: orgSwitchUrl(orgId),\n      method: \"POST\",\n      serializer: UserOrgsSerializer,\n    }),\n};\n\nexport { OrgAPI };\n","import { MinervaLogoIcon } from \"@minervaproject/fds\";\nimport React, { useState } from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport { BrandingStore } from \"src/store\";\n\nconst styles = {\n  container: {\n    alignItems: \"start\",\n    display: \"inline-flex\",\n    height: \"146px\",\n    width: \"220px\",\n  },\n  asset: {\n    maxHeight: \"100%\",\n    maxWidth: \"100%\",\n  },\n};\n\nfunction OrgLogo({ minervaLogo, orgId }) {\n  const [hasError, setHasError] = useState(false);\n  const branding = useSelector(BrandingStore.selectors.find({ orgId }));\n  const className = \"absolute m10\";\n\n  if (minervaLogo) {\n    return (\n      <div className={className}>\n        <MinervaLogoIcon />\n      </div>\n    );\n  }\n\n  if (hasError || !branding?.logo_url) return null;\n\n  return (\n    <div style={styles.container} className={className}>\n      <img\n        style={styles.asset}\n        alt={branding.email_logo_filename}\n        src={branding.email_logo_url}\n        onError={() => setHasError(true)}\n      />\n    </div>\n  );\n}\n\nexport { OrgLogo };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { useIsMobile } from \"../../hooks\";\nimport { LoginStore } from \"../../store/login\";\nimport { OrgAPI } from \"src/api\";\nimport { OrgStore } from \"src/store\";\n\nimport { OrgLogo } from \"./org_logo\";\n\nfunction OrgWrapper({ children }) {\n  const isSingleOrgEnv = !!window.context?.isSingleOrgEnv;\n  const { orgIdentifier } = useParams();\n  const isOrgSpecificPage = !!orgIdentifier;\n  const history = useHistory();\n  const dispatch = useDispatch();\n\n  const orgs = useSelector(OrgStore.selectors.selectAll());\n  const org = isSingleOrgEnv ? orgs[0] : orgs.find((o) => o.short_name === orgIdentifier);\n\n  // Fetch org data if we don't already have it\n  useEffect(() => {\n    // Multi-org environment and non-org specific page (no need to fetch the org)\n    if (!isSingleOrgEnv && !isOrgSpecificPage) return;\n\n    // Org has been fetched already\n    if (org) return;\n\n    async function fetchOrgData() {\n      const orgData = await dispatch(OrgAPI.fetchOrgs({ orgIdentifier }));\n      if (!orgData.data.length) {\n        // Unknown org, redirect to org input page\n        history.push(`/sso`);\n      }\n    }\n    fetchOrgData();\n  }, [isSingleOrgEnv, isOrgSpecificPage, org, orgIdentifier, dispatch, history]);\n\n  const isMobile = useIsMobile();\n  const cookieBannerIsShowing = useSelector(LoginStore.selectors.select(\"cookieBannerIsShowing\"));\n\n  return (\n    <div\n      style={{ height: `calc(100vh - ${cookieBannerIsShowing ? \"72px\" : \"0px\"})` }}\n      className=\"flex column\"\n    >\n      <OrgLogo minervaLogo={!isOrgSpecificPage} orgId={org?.id} />\n      <div id=\"js-login-form\" className={`self-center ${isMobile ? \"mx5 full-width\" : \"mx-auto\"}`}>\n        <div\n          className=\"flex flex-column items-center\"\n          style={{ width: isMobile ? \"inherit\" : \"400px\" }}\n        >\n          {children}\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport { OrgWrapper };\n","import React from \"react\";\n\nfunction Paragraph({ text }) {\n  if (!text) return null;\n  return <p className=\"body pr2 m0 mb5\">{text}</p>;\n}\n\nexport { Paragraph };\n","import { Button, LoadingDarkIcon, LoadingLightIcon } from \"@minervaproject/fds\";\nimport React from \"react\";\n\nfunction SubmitButton({ loading, text, kind, icon, mt = 5, mb = 0 }) {\n  const LoadingIcon = kind === \"secondary\" ? LoadingDarkIcon : LoadingLightIcon;\n  return (\n    <Button\n      type=\"submit\"\n      mt={mt}\n      mb={mb}\n      fullWidth\n      height=\"42px\"\n      overflowY=\"hidden\"\n      kind={kind}\n      icon={icon}\n      className=\"submit\"\n    >\n      <span className=\"mx-auto\">{loading ? <LoadingIcon /> : text}</span>\n    </Button>\n  );\n}\n\nexport { SubmitButton };\n","import { CheckYesIcon, palette } from \"@minervaproject/fds\";\nimport React from \"react\";\n\nfunction SuccessMessage({ msg, msgStyles = { width: \"400px\" } }) {\n  if (!msg) return null;\n\n  return (\n    <p className=\"flex body-s mt1 items-center\" style={{ color: palette.green }}>\n      <span style={msgStyles}>\n        <CheckYesIcon\n          color={palette.green}\n          height=\"12px\"\n          width=\"12px\"\n          style={{ marginRight: \"8px\", marginBottom: \"-1px\" }}\n        />\n        <span id=\"js-success\">{msg}</span>\n      </span>\n    </p>\n  );\n}\n\nexport { SuccessMessage };\n","import React from \"react\";\n\nfunction Title({ text }) {\n  return (\n    <h2 style={{ width: \"100%\", fontSize: \"24px\" }} className=\"text-black-tint-20 h2 mb10\">\n      {text}\n    </h2>\n  );\n}\n\nexport { Title };\n","import { Form } from \"@minervaproject/fds\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport { LoginStore } from \"../../store/login\";\n\nimport { EmailInput } from \"./email_input\";\nimport { ErrorMessage } from \"./error_message\";\nimport { OrgWrapper } from \"./org_wrapper\";\nimport { Paragraph } from \"./paragraph\";\nimport { SubmitButton } from \"./submit_button\";\nimport { SuccessMessage } from \"./success_message\";\nimport { Title } from \"./title\";\n\nfunction SendEmailPage({\n  autoComplete = \"chrome-off\",\n  onSubmitAfter,\n  onSubmitBefore,\n  submitTextAfter,\n  submitTextBefore,\n  textAfter,\n  textBefore,\n  titleAfter,\n  titleBefore,\n}) {\n  const { data, loading, error } = useSelector(LoginStore.sliceSelectors.select());\n  const { contextualMessage, email, successMessage } = data;\n\n  const isAfterSendingEmail = !!contextualMessage;\n  const showEmailInput = !isAfterSendingEmail;\n  const onSubmit = isAfterSendingEmail ? onSubmitAfter : onSubmitBefore;\n  const submitText = isAfterSendingEmail ? submitTextAfter : submitTextBefore;\n  const text = isAfterSendingEmail ? textAfter || contextualMessage : textBefore;\n  const title = isAfterSendingEmail ? titleAfter : titleBefore;\n  const defaultValues = { realemail: email };\n\n  return (\n    <OrgWrapper>\n      <div className=\"mb6\">\n        <Title text={title} />\n        <Paragraph text={text} />\n        <Form onSubmit={onSubmit} autoComplete={autoComplete} defaultValues={defaultValues}>\n          {showEmailInput ? <EmailInput /> : null}\n          <SubmitButton loading={loading} text={submitText} />\n          {successMessage ? <SuccessMessage msg={successMessage} /> : null}\n          {error ? <ErrorMessage msg={error} /> : null}\n        </Form>\n      </div>\n    </OrgWrapper>\n  );\n}\n\nexport { SendEmailPage };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { forgotOrg } from \"../api\";\nimport { SendEmailPage } from \"../components/sso/send_email_page\";\nimport { LoginStore } from \"../store/login\";\n\nfunction ForgotOrg() {\n  const dispatch = useDispatch();\n  const { email } = useSelector(LoginStore.selectors.select());\n\n  useEffect(() => {\n    dispatch(LoginStore.actions.update({ successMessage: null }));\n  }, [dispatch]);\n\n  const onSubmit =\n    () =>\n    ({ realemail }) => {\n      dispatch(forgotOrg({ email: realemail }));\n    };\n\n  const onResubmit = () => () => {\n    dispatch(forgotOrg({ email }));\n    dispatch(\n      LoginStore.actions.update({\n        successMessage: \"The link has been resent. Please check your email.\",\n      }),\n    );\n  };\n\n  return (\n    <SendEmailPage\n      onSubmitAfter={onResubmit}\n      onSubmitBefore={onSubmit}\n      submitTextAfter=\"Resend Link\"\n      submitTextBefore=\"Email My Link\"\n      textBefore=\"Not to worry. Enter your email below and we’ll send you a link to sign in.\"\n      titleAfter=\"Please check your email.\"\n      titleBefore=\"Don’t know your Organization?\"\n    />\n  );\n}\n\nexport { ForgotOrg };\n","import React from \"react\";\n\nfunction AlternateLink({ form, text, onClick, id }) {\n  function handleClick(event) {\n    event.preventDefault();\n    onClick(form)(event);\n  }\n\n  return (\n    <div style={{ width: \"100%\" }}>\n      <span className=\"flex justify-end\" id={id}>\n        <a\n          className=\"block body-s mt2 mb5 text-black-tint-70 underline\"\n          onClick={handleClick}\n          style={{ cursor: \"pointer\" }}\n        >\n          {text}\n        </a>\n      </span>\n    </div>\n  );\n}\n\nexport { AlternateLink };\n","export function staticUrl(path) {\n  // Set by including javascript_assets.html in the django html template loading this app.\n  if (window.config && typeof window.config.staticUrl === \"function\") {\n    return window.config.staticUrl(path);\n  }\n\n  // For the tests, we don't set the `getStaticUrl`\n  return path;\n}\n\nexport function getQueryParam(key = \"\") {\n  const param = new URLSearchParams(window.location.search).get(key);\n  if (param === \"false\" || param === null) {\n    return false;\n  }\n  if (param === \"true\" || param === \"\") {\n    return true;\n  }\n  return param;\n}\n\nexport function setQueryParam(key, value) {\n  const params = new URLSearchParams(location.search);\n\n  if (params.get(key) === value) {\n    return;\n  }\n\n  if (value === null) {\n    params.delete(key);\n  } else {\n    params.set(key, value);\n  }\n\n  const query = String(params).length > 0 ? `?${params}` : \"\";\n  window.history.replaceState({}, \"\", `${location.pathname}${query}`);\n}\n","import { Form } from \"@minervaproject/fds\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { redirectUser } from \"../../helpers\";\nimport { LoginStore } from \"../../store/login\";\nimport { OrgSettingsStore, OrgStore, UserStore } from \"src/store\";\nimport { omitUndefined } from \"src/utils\";\n\nfunction LoginForm({ children, defaultValues, onSubmit }) {\n  const { orgIdentifier } = useParams();\n  const history = useHistory();\n\n  const { userId, tokenUUID } = useSelector(LoginStore.selectors.select());\n  const user = useSelector(UserStore.selectors.selectById(userId));\n  const org = useSelector(\n    OrgStore.selectors.find(omitUndefined({ short_name: orgIdentifier, id: user?.org_id })),\n  );\n  const orgSettings = useSelector(OrgSettingsStore.selectors.find({ org_id: org?.id }));\n\n  // Redirect user after successful login\n  useEffect(() => {\n    // User is only fetched after a successful login.\n    // Org also needs to be defined to find out what the org settings are:\n    // - on org-specific pages, it should be defined before successful login (orgIdentifier is defined);\n    // - on non org-specific pages, it will be defined upon successful login (part of the login API response).\n    if (!user || !org) return;\n\n    // We need to wait for the orgSettings to be loaded.\n    // However, some orgs do not have orgSettings, in which case it is fine to proceed.\n    if (org?.orgsettings_id && !orgSettings) return;\n\n    if (orgSettings?.enable_tos_check) {\n      const dateOfLastTermsAccepted = user.terms_of_service_accepted_on;\n      const dateOfLastTermsUpdated = orgSettings.tos_updated_on;\n      if (\n        !dateOfLastTermsAccepted ||\n        new Date(dateOfLastTermsAccepted) < new Date(dateOfLastTermsUpdated)\n      ) {\n        history.push(\"/accept-terms\");\n        return;\n      }\n    }\n    redirectUser();\n  }, [user, org, orgIdentifier, orgSettings, history]);\n\n  // Redirect user after failed login (multiple orgs)\n  useEffect(() => {\n    if (tokenUUID && !orgIdentifier) {\n      history.push(\"/select-org\");\n    }\n  }, [tokenUUID, orgIdentifier, history]);\n\n  return (\n    <Form onSubmit={onSubmit} defaultValues={defaultValues}>\n      {children}\n    </Form>\n  );\n}\n\nexport { LoginForm };\n","function passwordValidator({ email }) {\n  function minLength(value) {\n    return value.length >= 8 || \"Password must be at least 8 characters.\";\n  }\n\n  function hasCaps(value) {\n    return /[A-Z]/.test(value) || \"Password must contain at least one uppercase letter.\";\n  }\n\n  function hasNumber(value) {\n    return /[0-9]/.test(value) || \"Password must contain at least one number.\";\n  }\n\n  function hasSpecialCharacter(value) {\n    return (\n      /[!@#$%^&*]/.test(value) ||\n      \"Password must contain at least one special character such as '*' or '#'.\"\n    );\n  }\n\n  function doesNotContainEmail(value) {\n    return !email || !value.includes(email) || \"Password must not contain your email address.\";\n  }\n\n  return {\n    minLength,\n    hasCaps,\n    hasNumber,\n    hasSpecialCharacter,\n    doesNotContainEmail,\n  };\n}\n\nfunction gradeConversionValidator() {\n  return {\n    isJSON: (value) => {\n      try {\n        return Boolean(JSON.stringify(JSON.parse(value)));\n      } catch {\n        return \"Input must be valid JSON.\";\n      }\n    },\n  };\n}\n\nconst makeupDaysIntervalValidator = (makeUpWorkEnabled) => (value) => {\n  if (value === \"\") {\n    if (makeUpWorkEnabled) return \"This field is required if makeup work is enabled\";\n    return true;\n  }\n  if (Number(value) < 1 || Number(value) > 100) return \"This field should be between 1 and 100.\";\n  if (Number(value) !== parseInt(value, 10)) return \"This field should be an integer.\";\n};\n\nexport { passwordValidator, gradeConversionValidator, makeupDaysIntervalValidator };\n","import React from \"react\";\n\nimport { passwordValidator } from \"src/utils\";\n\nimport { ErrorMessage } from \"./error_message\";\n\nfunction PasswordInput({ form, newPassword, confirmPassword }) {\n  // eslint-disable-next-line one-var\n  let name, id, title, required, validate;\n  if (confirmPassword) {\n    name = \"password_repeat\";\n    id = \"js-password-repeat\";\n    title = \"Confirm Password\";\n    required = \"Please confirm your new password.\";\n    validate = (value) =>\n      value === form.watch(\"realpassword\") ? true : \"The passwords do not match.\";\n  } else if (newPassword) {\n    name = \"realpassword\";\n    id = \"js-new-password\";\n    title = \"New Password\";\n    required = \"Please provide a valid password.\";\n    validate = passwordValidator({\n      email: window.context?.email,\n    });\n  } else {\n    // NOTE: there are good reasons why the name of this input is realpassword.\n    // See https://app.asana.com/0/1199508238968936/1199161091094173, and\n    // don't change this unless you know what you're doing.\n    name = \"realpassword\";\n    id = \"js-password\";\n    title = \"Password\";\n    required = \"Password is required\";\n  }\n  const error = form.errors[name];\n\n  return (\n    <>\n      {/*\n      NOTE: the existence of the dummy field below is related to\n      why we need to use names like realemail and realpassword\n      in the fields we actually care about.\n      See https://app.asana.com/0/1199508238968936/1199161091094173, and\n      don't change this unless you know what you're doing.\n      */}\n      <input style={{ display: \"none\" }} type=\"password\" name=\"password-fake\" />\n      <label className=\"mb5\">\n        <p className=\"text-black-tint-40 bold body-s mb1\">{title}</p>\n        <input\n          style={{\n            outlineColor: error ? \"var(--red)\" : \"var(--blue)\",\n          }}\n          id={id}\n          name={name}\n          type=\"password\"\n          autoComplete=\"chrome-off\"\n          className=\"fds-input body-s\"\n          ref={form.register({ required, validate })}\n        />\n\n        {error ? <ErrorMessage msg={error.message} /> : null}\n      </label>\n    </>\n  );\n}\n\nexport { PasswordInput };\n","import { validate as emailValidate } from \"email-validator\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { login } from \"../../api\";\nimport { getOrgOrGeneralUrl } from \"../../helpers\";\nimport { LoginStore } from \"../../store/login\";\nimport { OrgStore } from \"src/store\";\nimport { getQueryParam } from \"src/utils\";\n\nimport { AlternateLink } from \"./alternate_link\";\nimport { EmailInput } from \"./email_input\";\nimport { ErrorMessage } from \"./error_message\";\nimport { LoginForm } from \"./login_form\";\nimport { PasswordInput } from \"./password_input\";\nimport { SubmitButton } from \"./submit_button\";\n\nfunction EmailLoginForm() {\n  const { orgIdentifier } = useParams();\n  const history = useHistory();\n  const dispatch = useDispatch();\n\n  const { data, loading, error } = useSelector(LoginStore.sliceSelectors.select());\n  const emailQueryParam = getQueryParam(\"email\");\n  const defaultValues = { realemail: emailQueryParam || data.email };\n  const org = useSelector(OrgStore.selectors.find({ short_name: orgIdentifier }));\n\n  useEffect(() => {\n    if (emailQueryParam) {\n      dispatch(LoginStore.actions.update({ email: emailQueryParam }));\n    }\n  }, [dispatch, emailQueryParam]);\n\n  const onEmailFormSubmit =\n    () =>\n    ({ realemail, realpassword }) => {\n      dispatch(LoginStore.actions.update({ email: realemail }));\n      dispatch(login({ email: realemail, password: realpassword, \"org-id\": org?.id }));\n    };\n\n  const onForgotPasswordClick =\n    ({ getValues }) =>\n    () => {\n      const email = getValues(\"realemail\");\n      if (email && emailValidate(email)) {\n        dispatch(LoginStore.actions.update({ email }));\n      }\n      dispatch(LoginStore.actions.clearError());\n      dispatch(LoginStore.actions.update({ contextualMessage: null }));\n      history.push(getOrgOrGeneralUrl(orgIdentifier, \"request-password-reset\"));\n    };\n\n  return (\n    <LoginForm onSubmit={onEmailFormSubmit} defaultValues={defaultValues}>\n      <EmailInput />\n      <PasswordInput />\n      <AlternateLink\n        text=\"Forgot Password\"\n        onClick={onForgotPasswordClick}\n        id=\"js-forgot-password\"\n      />\n      <SubmitButton loading={loading} text=\"Sign In\" />\n      {error ? <ErrorMessage msg={error} /> : null}\n    </LoginForm>\n  );\n}\n\nexport { EmailLoginForm };\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport { BrandingStore } from \"src/store\";\n\nconst styles = {\n  container: {\n    display: \"flex\",\n    alignItems: \"center\",\n  },\n  asset: {\n    maxHeight: \"100%\",\n    maxWidth: \"100%\",\n  },\n};\n\nfunction OrgIcon({ orgId }) {\n  const branding = useSelector(BrandingStore.selectors.find({ orgId }));\n  return (\n    <div style={styles.container}>\n      <img\n        style={styles.asset}\n        alt={branding?.favicon_filename || \"\"}\n        src={branding?.favicon_url}\n      />\n    </div>\n  );\n}\n\nexport { OrgIcon };\n","import { Button, GoogleLogoIcon, Icon, MinervaLogoIcon } from \"@minervaproject/fds\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\n\nimport { AlternateLink } from \"../components/sso/alternate_link\";\nimport { EmailLoginForm } from \"../components/sso/email_login_form\";\nimport { ErrorMessage } from \"../components/sso/error_message\";\nimport { OrgWrapper } from \"../components/sso/org_wrapper\";\nimport { Paragraph } from \"../components/sso/paragraph\";\nimport { Title } from \"../components/sso/title\";\nimport { LoginStore } from \"../store/login\";\nimport { OrgIcon } from \"src/icons\";\nimport { OrgSamlIdpStore, OrgSettingsStore, OrgStore } from \"src/store\";\nimport { getQueryParam } from \"src/utils\";\n\nconst iconMap = {\n  google: GoogleLogoIcon,\n  minerva: MinervaLogoIcon,\n};\n\nfunction LoginBody() {\n  const isSingleOrgEnv = !!window.context?.isSingleOrgEnv;\n  const { orgIdentifier } = useParams();\n  const dispatch = useDispatch();\n\n  const { error } = useSelector(LoginStore.sliceSelectors.select());\n  const orgs = useSelector(OrgStore.selectors.selectAll());\n  const org = isSingleOrgEnv ? orgs[0] : orgs.find((o) => o.short_name === orgIdentifier);\n  const orgSettings = useSelector(OrgSettingsStore.selectors.find({ org_id: org?.id }));\n  const samlIdps = useSelector(OrgSamlIdpStore.selectors.filter({ org_id: org?.id }));\n\n  const showSSOAuth = !!orgSettings?.enable_login_via_sso;\n  const emailLoginEnabled = !orgIdentifier || !!orgSettings?.enable_login_via_email_password;\n  const passwordQueryParam = getQueryParam(\"password\");\n  const shouldShowEmailAuth = (emailLoginEnabled && !showSSOAuth) || passwordQueryParam;\n  const [showEmailAuth, setShowEmailAuth] = useState(shouldShowEmailAuth);\n\n  useEffect(() => {\n    dispatch(LoginStore.actions.update({ contextualMessage: null }));\n  }, [dispatch, showEmailAuth]);\n\n  useEffect(() => {\n    setShowEmailAuth(shouldShowEmailAuth);\n  }, [shouldShowEmailAuth]);\n\n  const next = getQueryParam(\"next\") || \"/app\";\n  const onSSOButtonClick = (idp) => () => {\n    if (org?.disabled) {\n      return dispatch(\n        LoginStore.actions.setError(\"Access to this organization is not allowed at this time.\"),\n      );\n    }\n    location.href = `/saml2/login/?idp=${idp.entity_id}&next=${next}`;\n  };\n\n  const handleAlternateLinkClick =\n    (showEmail = true) =>\n    () => {\n      dispatch(LoginStore.actions.clearError());\n      setShowEmailAuth(showEmail);\n    };\n\n  if (!org) return null;\n\n  if (showEmailAuth)\n    return (\n      <>\n        <EmailLoginForm />\n        {showSSOAuth ? (\n          <AlternateLink\n            text=\"Sign in with SSO Provider\"\n            onClick={() => handleAlternateLinkClick(false)}\n            id=\"js-sso\"\n          />\n        ) : null}\n      </>\n    );\n\n  if (showSSOAuth)\n    return (\n      <>\n        {samlIdps.map((idp) => {\n          const ButtonIcon = iconMap[idp.icon] || Icon;\n          return (\n            <Button\n              mb={2}\n              fullWidth\n              kind=\"secondary\"\n              icon={idp.icon === \"org\" ? <OrgIcon orgId={org?.id} /> : <ButtonIcon />}\n              onClick={onSSOButtonClick(idp)}\n              key={idp.id}\n            >\n              {`Continue with ${idp.continue_button_text}`}\n            </Button>\n          );\n        })}\n        {error ? <ErrorMessage msg={error} /> : null}\n        {emailLoginEnabled ? (\n          <AlternateLink\n            onClick={() => handleAlternateLinkClick(true)}\n            text=\"Use Email and Password\"\n            id=\"js-use-email\"\n          />\n        ) : null}\n      </>\n    );\n\n  return null;\n}\n\nfunction OrgLogin() {\n  const { contextualMessage } = useSelector(LoginStore.selectors.select());\n  return (\n    <OrgWrapper>\n      <Title text=\"Sign in to Forum\" />\n      <Paragraph text={contextualMessage} />\n      <LoginBody />\n    </OrgWrapper>\n  );\n}\n\nfunction OrgLoginPassword() {\n  const { contextualMessage } = useSelector(LoginStore.selectors.select());\n  return (\n    <OrgWrapper>\n      <Title text=\"Sign in to Forum\" />\n      <Paragraph text={contextualMessage} />\n      <EmailLoginForm />\n    </OrgWrapper>\n  );\n}\n\nexport { OrgLogin, OrgLoginPassword };\n","import React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { AlternateLink } from \"../components/sso/alternate_link\";\nimport { EmailLoginForm } from \"../components/sso/email_login_form\";\nimport { OrgWrapper } from \"../components/sso/org_wrapper\";\nimport { Paragraph } from \"../components/sso/paragraph\";\nimport { Title } from \"../components/sso/title\";\nimport { LoginStore } from \"../store/login\";\n\nimport { OrgLogin } from \"./org_login\";\n\nfunction LoginPage() {\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const { contextualMessage } = useSelector(LoginStore.selectors.select());\n\n  const isSingleOrgEnv = !!window.context?.isSingleOrgEnv;\n  const isSSOEnabled = !!window.context?.enableSSO;\n\n  const onSSOClick = () => () => {\n    dispatch(LoginStore.actions.clearError());\n    history.push(\"/sso\");\n  };\n\n  if (isSingleOrgEnv) return <OrgLogin />;\n\n  return (\n    <OrgWrapper>\n      <Title text=\"Sign in to Forum\" />\n      <Paragraph text={contextualMessage} />\n      <EmailLoginForm />\n      {isSSOEnabled ? (\n        <AlternateLink text=\"Sign in with SSO Provider\" onClick={onSSOClick} id=\"js-sso\" />\n      ) : null}\n    </OrgWrapper>\n  );\n}\n\nexport { LoginPage };\n","import React from \"react\";\n\nimport { ErrorMessage } from \"./error_message\";\n\nfunction OrgInput({ form }) {\n  return (\n    <label className=\"mb5\">\n      <p className=\"text-black-tint-40 bold body-s mb1 mt0\">Organization</p>\n      <input\n        name=\"org\"\n        id=\"js-org\"\n        style={{\n          outlineColor: form.errors.org?.message ? \"var(--red)\" : \"var(--blue)\",\n        }}\n        className=\"fds-input body-s\"\n        placeholder=\"Enter the name of your organization\"\n        ref={form.register({\n          required: \"Please enter the name of your organization\",\n          validate: {},\n        })}\n      />\n      {form.errors.org ? <ErrorMessage msg={form.errors.org.message} /> : null}\n    </label>\n  );\n}\n\nexport { OrgInput };\n","import { Form } from \"@minervaproject/fds\";\nimport React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { AlternateLink } from \"../components/sso/alternate_link\";\nimport { OrgInput } from \"../components/sso/org_input\";\nimport { OrgWrapper } from \"../components/sso/org_wrapper\";\nimport { SubmitButton } from \"../components/sso/submit_button\";\nimport { Title } from \"../components/sso/title\";\nimport { LoginStore } from \"../store/login\";\nimport { OrgAPI } from \"src/api\";\nimport { BrandingStore, OrgSamlIdpStore, OrgSettingsStore, OrgStore } from \"src/store\";\n\nfunction OrgInputPage() {\n  const history = useHistory();\n  const dispatch = useDispatch();\n\n  const loading = useSelector(OrgStore.selectors.selectLoading());\n\n  const onSubmit =\n    ({ setError }) =>\n    async ({ org }) => {\n      if (\n        org === \"zu\" &&\n        window.waffle.flag_is_active(\"redirect_zu\") &&\n        window.context.uaeRedirectUrl\n      ) {\n        window.location.href = `${window.context.uaeRedirectUrl}/org/zu`;\n        return;\n      }\n\n      dispatch(BrandingStore.actions.removeAll());\n      dispatch(OrgSamlIdpStore.actions.removeAll());\n      dispatch(OrgSettingsStore.actions.removeAll());\n      dispatch(OrgStore.actions.removeAll());\n      const { data } = await dispatch(OrgAPI.fetchOrgs({ orgIdentifier: org }));\n      if (data.length) {\n        history.push(`/org/${org}`);\n      } else {\n        setError(\"org\", \"manual\", \"That organization doesn’t exist. Please check your spelling.\");\n      }\n    };\n\n  const onForgotOrgClick = () => () => {\n    dispatch(LoginStore.actions.clearError());\n    dispatch(LoginStore.actions.update({ contextualMessage: null }));\n    history.push(\"/forgot-org\");\n  };\n\n  return (\n    <OrgWrapper>\n      <Title text=\"Sign In to Your Organization\" />\n      <Form onSubmit={onSubmit}>\n        <OrgInput />\n        <AlternateLink\n          text=\"I don't know my organization\"\n          onClick={onForgotOrgClick}\n          id=\"js-forgot-org\"\n        />\n        <SubmitButton loading={loading} text=\"Next\" />\n      </Form>\n    </OrgWrapper>\n  );\n}\n\nexport { OrgInputPage };\n","import React, { useEffect, useRef } from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport Select from \"react-select\";\n\nimport { ErrorMessage } from \"./error_message\";\n\nfunction OrgSelect({ form, orgOptions }) {\n  const selectRef = useRef();\n  useEffect(() => {\n    selectRef.current.focus();\n  }, []);\n  const selectStyles = {\n    control: (base, state) => ({\n      ...base,\n      boxSizing: \"border-box\",\n      fontFamily: \"var(--sans-font-family)\",\n      fontWeight: \"var(--font-weight-normal)\",\n      lineHeight: \"calc(10 / 7)\",\n      height: \"34px\",\n      minHeight: \"34px\",\n      fontSize: \"14px\",\n      background: state.isDisabled\n        ? \"#F2F2F2\"\n        : \"linear-gradient(180deg, #FFFFFF 0%, #F5F5F5 100%)\",\n    }),\n    placeholder: (base) => ({\n      ...base,\n      color: \"var(--black-tint-70)\",\n      fontSize: \"14px\",\n      fontFamily: \"var(--sans-font-family)\",\n    }),\n    valueContainer: (base) => ({\n      ...base,\n      transform: \"translateY(-2px)\",\n      color: \"var(--black-tint-10)\",\n      fontFamily: \"var(--sans-font-family)\",\n      fontSize: \"14px\",\n    }),\n    singleValue: (base) => ({\n      ...base,\n      fontSize: \"14px\",\n      color: \"var(--black-tint-10)\",\n      fontFamily: \"var(--sans-font-family)\",\n    }),\n    indicatorSeparator: () => ({\n      display: \"none\",\n    }),\n    indicatorContainer: (base) => ({\n      ...base,\n      transform: \"translateY(-2px)\",\n    }),\n    option: (base, state) => ({\n      ...base,\n      backgroundColor: state.isFocused ? \"var(--blue)\" : \"inherit\",\n      color: state.isFocused ? \"var(--white)\" : \"inherit\",\n      fontSize: \"14px\",\n      fontFamily: \"var(--sans-font-family)\",\n    }),\n  };\n  return (\n    <label>\n      <p className=\"text-black-tint-40 bold body-s mb1\">Organization</p>\n      <div>\n        <Controller\n          name=\"org\"\n          id=\"org-select\"\n          as={\n            <Select\n              styles={selectStyles}\n              options={orgOptions}\n              classNamePrefix=\"react-select\"\n              placeholder=\"Select Org\"\n              isDisabled={!orgOptions.length}\n              isSearchable\n              isClearable={false}\n              ref={selectRef}\n            />\n          }\n          rules={{ required: true }}\n          control={form.control}\n        />\n      </div>\n\n      {orgOptions.length > 1 && form.errors.org?.type === \"required\" ? (\n        <ErrorMessage msg=\"Please select an organization.\" />\n      ) : null}\n    </label>\n  );\n}\n\nexport { OrgSelect };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { login } from \"../api\";\nimport { ErrorMessage } from \"../components/sso/error_message\";\nimport { LoginForm } from \"../components/sso/login_form\";\nimport { OrgSelect } from \"../components/sso/org_select\";\nimport { OrgWrapper } from \"../components/sso/org_wrapper\";\nimport { Paragraph } from \"../components/sso/paragraph\";\nimport { SubmitButton } from \"../components/sso/submit_button\";\nimport { Title } from \"../components/sso/title\";\nimport { LoginStore } from \"../store/login\";\nimport { OrgAPI } from \"src/api\";\nimport { OrgStore } from \"src/store\";\nimport { getQueryParam } from \"src/utils\";\n\nfunction OrgPicker() {\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const { data, loading, error } = useSelector(LoginStore.sliceSelectors.select());\n  const { email, tokenUUID } = data;\n  const orgs = useSelector(OrgStore.selectors.selectAll());\n  const orgOptions = orgs.map((org) => ({ label: org.name, value: org.id }));\n\n  useEffect(() => {\n    const orgIdentifier = getQueryParam(\"short_name\");\n    if (orgIdentifier) {\n      dispatch(OrgAPI.fetchOrgs({ orgIdentifier }));\n    }\n  }, [dispatch]);\n\n  const onFormSubmit =\n    () =>\n    ({ org }) => {\n      dispatch(LoginStore.actions.setLoading());\n      const selectedOrg = orgs.find((o) => o.name === org.label);\n\n      // There are two ways to get to this page:\n      // 1. User used the email/password login flow but multiple users were returned (the response will contain a tokenUUID).\n      // 2. User used the SSO login flow but did not know their org ID\n      if (tokenUUID) {\n        dispatch(\n          login({\n            email,\n            \"org-id\": selectedOrg.id,\n            \"token-uuid\": tokenUUID,\n          }),\n        );\n      } else {\n        history.push(`/org/${selectedOrg.short_name}`);\n      }\n    };\n\n  const text =\n    \"It looks like you have access to multiple organizations. Please select the organization you would like to sign in to.\";\n\n  if (!orgs.length) return null;\n\n  return (\n    <OrgWrapper>\n      <Title text=\"Select an Organization to Sign In to\" />\n      <Paragraph text={text} />\n      <LoginForm onSubmit={onFormSubmit}>\n        <OrgSelect orgOptions={orgOptions} />\n        <SubmitButton loading={loading} text=\"Continue\" />\n        {error ? <ErrorMessage msg={error} /> : null}\n      </LoginForm>\n    </OrgWrapper>\n  );\n}\n\nexport { OrgPicker };\n","import { Form } from \"@minervaproject/fds\";\nimport React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { resetPassword } from \"../api\";\nimport { ErrorMessage } from \"../components/sso/error_message\";\nimport { OrgWrapper } from \"../components/sso/org_wrapper\";\nimport { Paragraph } from \"../components/sso/paragraph\";\nimport { PasswordInput } from \"../components/sso/password_input\";\nimport { SubmitButton } from \"../components/sso/submit_button\";\nimport { Title } from \"../components/sso/title\";\nimport { getOrgOrGeneralUrl } from \"../helpers\";\nimport { LoginStore } from \"../store/login\";\n\nfunction PasswordReset() {\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const { orgIdentifier } = useParams();\n\n  const { loading, error } = useSelector(LoginStore.sliceSelectors.select());\n\n  const onFormSubmit =\n    () =>\n    async ({ realpassword }) => {\n      try {\n        await resetPassword({\n          password: realpassword,\n          token: window.context?.resetToken,\n        });\n        const contextualMessage =\n          \"Thank you. Your new password has been successfully created. Please sign in with it now.\";\n        dispatch(LoginStore.actions.update({ contextualMessage }));\n        history.push(getOrgOrGeneralUrl(orgIdentifier, \"password\"));\n      } catch {\n        dispatch(LoginStore.actions.setError(\"Sorry, something went wrong. Please try again.\"));\n      }\n    };\n\n  const displayName = window.context?.displayName;\n  const text = `Hi ${displayName}. Please submit your new password below. It must be at least eight characters long and contain one upper case letter and one number.`;\n\n  return (\n    <OrgWrapper>\n      <Title text=\"Reset Password\" />\n      <Paragraph text={text} />\n      <Form onSubmit={onFormSubmit}>\n        <PasswordInput newPassword />\n        <PasswordInput confirmPassword />\n        <SubmitButton loading={loading} text=\"Reset Password\" />\n        {error ? <ErrorMessage msg={error} /> : null}\n      </Form>\n    </OrgWrapper>\n  );\n}\n\nexport { PasswordReset };\n","import React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { requestPasswordChange } from \"../api\";\nimport { SendEmailPage } from \"../components/sso/send_email_page\";\nimport { getOrgOrGeneralUrl } from \"../helpers\";\nimport { OrgStore } from \"src/store\";\n\nfunction RequestPasswordReset() {\n  const { orgIdentifier } = useParams();\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const org = useSelector(OrgStore.selectors.find({ short_name: orgIdentifier }));\n\n  const onSubmit =\n    () =>\n    ({ realemail }) => {\n      dispatch(requestPasswordChange({ email: realemail, org_id: org?.id }));\n    };\n\n  const goHome = () => () => history.push(getOrgOrGeneralUrl(orgIdentifier));\n\n  return (\n    <SendEmailPage\n      onSubmitAfter={goHome}\n      onSubmitBefore={onSubmit}\n      submitTextAfter=\"Sign In\"\n      submitTextBefore=\"Send Link\"\n      textBefore=\"Not to worry. Please enter your email below and we’ll send you a link to reset your password.\"\n      titleAfter=\"Email Sent.\"\n      titleBefore=\"Reset Password\"\n    />\n  );\n}\n\nexport { RequestPasswordReset };\n","import React, { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { Route, Switch } from \"react-router-dom\";\n\nimport { CookieModal } from \"../components/cookie-modal\";\nimport { Footer } from \"../components/footer\";\nimport { TermsPrompt } from \"../components/terms-prompt\";\nimport { ForgotOrg } from \"../routes/forgot_org\";\nimport { LoginPage } from \"../routes/login_page\";\nimport { OrgInputPage } from \"../routes/org_input\";\nimport { OrgLogin, OrgLoginPassword } from \"../routes/org_login\";\nimport { OrgPicker } from \"../routes/org_picker\";\nimport { PasswordReset } from \"../routes/password_reset\";\nimport { RequestPasswordReset } from \"../routes/request_password_reset\";\nimport { LoginStore } from \"../store/login\";\nimport { getQueryParam } from \"src/utils\";\n\nfunction LoginLayout() {\n  const dispatch = useDispatch();\n  useEffect(setDataFromServer, [dispatch]);\n\n  return (\n    <div>\n      <Switch>\n        {/* TODO: change urls below */}\n        <Route exact path=\"/sso\" component={OrgInputPage} />\n        {window.waffle.flag_is_active(\"redirect_zu\") && window.context.uaeRedirectUrl && (\n          <Route\n            exact\n            path=\"/org/zu\"\n            component={() => {\n              window.location.href = `${window.context.uaeRedirectUrl}/org/zu`;\n              return null;\n            }}\n          />\n        )}\n        <Route exact path=\"/org/:orgIdentifier\" component={OrgLogin} />\n        <Route\n          exact\n          path=\"/org/:orgIdentifier/request-password-reset\"\n          component={RequestPasswordReset}\n        />\n        <Route exact path=\"/org/:orgIdentifier/reset-password\" component={PasswordReset} />\n        <Route exact path=\"/org/:orgIdentifier/password\" component={OrgLoginPassword} />\n        <Route exact path=\"/forgot-org\" component={ForgotOrg} />\n        <Route exact path=\"/select-org\" component={OrgPicker} />\n        <Route exact path=\"/\" component={LoginPage} />\n        <Route exact path=\"/password\" component={OrgLoginPassword} />\n        <Route exact path=\"/request-password-reset\" component={RequestPasswordReset} />\n        <Route exact path=\"/reset-password\" component={PasswordReset} />\n        <Route exact path=\"/accept-terms\" component={TermsPrompt} />\n      </Switch>\n      <Footer />\n      <CookieModal />\n    </div>\n  );\n\n  function setDataFromServer() {\n    dispatch(LoginStore.actions.update({ contextualMessage: null }));\n    const { errorMessage } = window.context || getQueryParam(\"error\") || {};\n    if (errorMessage) {\n      dispatch(LoginStore.actions.setError(errorMessage));\n      window.context.errorMessage = \"\";\n    }\n    if (getQueryParam(\"redeemed\")) {\n      dispatch(\n        LoginStore.actions.update({\n          contextualMessage: \"Looks like you've already signed up. Please sign in.\",\n        }),\n      );\n    }\n  }\n}\n\nexport { LoginLayout };\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nimport { getQueryParam, staticUrl } from \"src/utils\";\n\nfunction OnboardingBreadcrumbs() {\n  const location = useLocation();\n  const assetUrl = staticUrl(\"images/backgrounds/onboarding.jpg\");\n  const { pathname } = location;\n  const sso = getQueryParam(\"sso\");\n  const offset = sso ? 0 : 1;\n\n  return (\n    <div\n      id=\"onboarding-breadcrumbs\"\n      className=\"bg-black-tint-20 full-height\"\n      style={{ backgroundImage: `url(${assetUrl})`, backgroundSize: \"cover\" }}\n    >\n      <div className=\"text-white p10 mb10 fixed bottom-0\">\n        <div className=\"h2\">First Steps</div>\n        <div className=\"body\">\n          <p>\n            To finish creating your Forum profile, you&apos;ll need to complete the following steps:\n          </p>\n          {!sso ? (\n            <p className={classNames({ bold: pathname.match(/\\d+/g) })}>\n              1. Create a unique password\n            </p>\n          ) : null}\n          <p className={classNames({ bold: pathname.includes(\"accept-terms\") })}>\n            {offset + 1}. Agree to the Terms of Service\n          </p>\n          <p>{offset + 2}. Perform a system check</p>\n          <p className={classNames({ bold: pathname.includes(\"photo\") })}>\n            {offset + 3}. Upload a profile photo\n          </p>\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport { OnboardingBreadcrumbs };\n","import React from \"react\";\n\nimport { Logo } from \"./logo\";\n\nfunction OnboardingMobileWarning() {\n  return (\n    <div style={{ height: \"100vh\" }} className=\"flex column full-width\">\n      <Logo className=\"absolute m10\" />\n      <div className=\"self-center mx-auto\">\n        <div className=\"flex flex-column items-center\">\n          <div className=\"px10\" style={{ transform: \"translateY(-50px)\" }}>\n            <h2 className=\"text-black-tint-20 h2 mb4\">Device not supported</h2>\n            <div className=\"body-s text-black-tint-10\">\n              <p>\n                We’re sorry, but setting up your account is currently not possible on a mobile\n                device.\n              </p>\n              <p>\n                Please try again from a computer that meets our{\" \"}\n                <a\n                  target=\"_blank\"\n                  rel=\"noreferrer\"\n                  href=\"https://help.minervaproject.com/en/articles/4292732-computer-requirements\"\n                >\n                  minimum requirements.\n                </a>{\" \"}\n              </p>\n              <p>\n                If you have any questions, you can check out our{\" \"}\n                <a target=\"_blank\" rel=\"noreferrer\" href=\"http://help.minervaproject.com\">\n                  help documentation\n                </a>{\" \"}\n                or{\" \"}\n                <a\n                  target=\"_blank\"\n                  href=\"https://help.minervaproject.com/en/articles/4296187-contacting-live-chat-support\"\n                  rel=\"noreferrer\"\n                >\n                  contact support.\n                </a>\n              </p>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport { OnboardingMobileWarning };\n","import React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { updateOnboarding } from \"../api\";\nimport { redirectUser } from \"../helpers\";\nimport { LoginStore } from \"../store/login\";\nimport { AvatarUpload } from \"src/components\";\n\nimport { Logo } from \"./logo\";\n\nfunction AvatarUploadStep({ user }) {\n  const dispatch = useDispatch();\n  const { cookieBannerIsShowing } = useSelector(LoginStore.selectors.select());\n  const cookieBannerHeight = 72;\n  const footerHeight = 80;\n\n  if (!user) return null;\n\n  return (\n    <div\n      className=\"flex\"\n      style={{\n        height: cookieBannerIsShowing ? `calc(100vh - ${cookieBannerHeight}px` : \"100vh\",\n        width: \"100%\",\n      }}\n    >\n      <Logo className=\"absolute m10\" />\n      <AvatarUpload\n        secondaryButtonLabel=\"Skip\"\n        handleSecondaryButtonClick={handlePhotoUploadSkip}\n        handleUploadSuccess={() => redirectUser()}\n        user={user}\n        styles={{\n          height: `calc(100vh - ${\n            cookieBannerIsShowing ? cookieBannerHeight + footerHeight : footerHeight\n          }px)`,\n        }}\n      />\n    </div>\n  );\n\n  async function handlePhotoUploadSkip() {\n    await dispatch(updateOnboarding({ skip_avatar_upload: true }));\n    redirectUser();\n  }\n}\n\nexport { AvatarUploadStep };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\nimport { fetchOnboarding, fetchUser } from \"../api\";\nimport { redirectUser } from \"../helpers\";\nimport { useAuthStatus } from \"../hooks\";\nimport { OnboardingStore } from \"../store/onboarding\";\nimport { UserStore } from \"src/store\";\n\nimport { AvatarUploadStep } from \"./avatar-upload-step\";\nimport { TermsPrompt } from \"./terms-prompt\";\n\nfunction OnboardingSteps({ match }) {\n  const dispatch = useDispatch();\n  const history = useHistory();\n  const [isAuthenticated, isValidatingAuth] = useAuthStatus();\n  const onboarding = useSelector(OnboardingStore.selectors.select());\n  const { user_id: userId } = onboarding;\n  const user = useSelector(UserStore.selectors.selectById(userId));\n\n  if (!isAuthenticated && !isValidatingAuth) {\n    history.push(\"/\");\n  }\n\n  useEffect(fetchOnboardingSteps, [isAuthenticated, dispatch]);\n  useEffect(routeToNextStep, [onboarding, history]);\n  useEffect(hydrateUser, [userId, user, dispatch]);\n\n  return (\n    <div className=\"flex\">\n      <Switch>\n        <Route exact path={`${match.path}/accept-terms`}>\n          <TermsPrompt handleTermsAcceptance={handleTermsAcceptance} />\n        </Route>\n        <Route exact path={`${match.path}/photo`}>\n          <AvatarUploadStep user={user} />\n        </Route>\n      </Switch>\n    </div>\n  );\n\n  function fetchOnboardingSteps() {\n    if (isAuthenticated) dispatch(fetchOnboarding());\n  }\n\n  function handleTermsAcceptance() {\n    dispatch(OnboardingStore.actions.update({ show_terms_of_service: false }));\n  }\n\n  function routeToNextStep() {\n    if (onboarding && onboarding.id) {\n      if (onboarding.show_terms_of_service) {\n        return history.push({\n          pathname: \"/welcome/accept-terms\",\n          search: window.location.search,\n        });\n      }\n      if (onboarding.show_system_check) {\n        // We use pathname instead of href to keep eventual query parameters.\n        window.location.pathname = \"/welcome/system-check\";\n        return;\n      }\n      if (onboarding.show_avatar_upload) {\n        return history.push({\n          pathname: \"/welcome/photo\",\n          search: window.location.search,\n        });\n      }\n      redirectUser();\n    }\n  }\n\n  function hydrateUser() {\n    if (userId && !user) dispatch(fetchUser());\n  }\n}\n\nexport { OnboardingSteps };\n","import { ErrorMessage } from \"@minervaproject/fds\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { redeemInvitation, validateInvitation } from \"../api\";\nimport { useIsMobile } from \"../hooks\";\nimport { InvitationStore } from \"../store/invitation\";\nimport { LoginStore } from \"../store/login\";\nimport { passwordValidator } from \"src/utils\";\n\nimport { Logo } from \"./logo\";\n\nfunction SetPassword() {\n  const formRef = useRef(null);\n  const history = useHistory();\n  const dispatch = useDispatch();\n  const isMobile = useIsMobile();\n  const [showConfirmation, setShowConfirmation] = useState(false);\n  const invitation = useSelector(InvitationStore.selectors.select());\n  const loginDetails = useSelector(LoginStore.selectors.select());\n  const { cookieBannerIsShowing } = loginDetails;\n  const { hasRedeemedInvitation, hasValidInvitation } = invitation;\n  const { invitationId, orgId } = useParams();\n  const { register, errors, handleSubmit, watch } = useForm();\n  if (!invitationId || !orgId) history.push(\"/welcome\");\n\n  useEffect(focusOnInput, [hasValidInvitation]);\n  useEffect(checkInvitationIsValid, [dispatch, hasValidInvitation, invitationId, orgId]);\n  useEffect(handleInvitationRedemption, [hasRedeemedInvitation]);\n\n  // NOTE: default value is null, which means we haven't validated or invalidated the token\n  // if it is false, we assume it's invalid and send the user to the login page\n  if (hasValidInvitation === null) return null;\n  if (!hasValidInvitation) {\n    const baseUrl = `${location.protocol}//${location.host}`;\n    location.href = `${baseUrl}`;\n  }\n\n  return (\n    <div\n      style={{ height: `calc(100vh - ${cookieBannerIsShowing ? \"72px\" : \"0px\"})` }}\n      className=\"flex column\"\n    >\n      <Logo className=\"absolute m10\" />\n      <div className={`self-center ${isMobile ? \"mx5 full-width\" : \"mx-auto\"}`}>\n        <div className=\"flex flex-column items-center\">\n          {showConfirmation ? (\n            <div\n              id=\"password-success\"\n              className=\"mb6\"\n              style={{ width: isMobile ? \"100%\" : \"400px\" }}\n            >\n              <h2 className=\"text-black-tint-20 h2 mb10\">Password Created</h2>\n              <p className=\"body pr2 m0\">\n                Thank you. Your new password has been successfully created.\n              </p>\n              <button\n                onClick={() => history.push(\"/welcome\")}\n                className=\"block button-primary mt5\"\n                type=\"submit\"\n              >\n                Next\n              </button>\n            </div>\n          ) : (\n            <div>\n              <div className=\"mb6\" style={{ width: isMobile ? \"100%\" : \"400px\" }}>\n                <h2 className=\"text-black-tint-20 h2 mb10\">Welcome to Forum</h2>\n                <p className=\"body pr2 m0\">\n                  To secure your account, we’ll need you to create a unique password. It must be at\n                  least eight characters long and contain one upper case letter and one number.\n                </p>\n              </div>\n              <form ref={formRef} onSubmit={handleSubmit(onSubmit)}>\n                <label className=\"mb5\">\n                  <p className=\"text-black-tint-40 bold body-s mb1\">New Password</p>\n                  <input\n                    name=\"password\"\n                    id=\"js-new-password\"\n                    className=\"fds-input body-s\"\n                    type=\"password\"\n                    style={{\n                      outlineColor: errors.password ? \"var(--red)\" : \"var(--blue)\",\n                    }}\n                    ref={register({\n                      required: \"Please provide a valid password.\",\n                      validate: passwordValidator({\n                        email: loginDetails.email || window.context?.email,\n                      }),\n                    })}\n                  />\n                  {errors.password && <ErrorMessage msg={errors.password.message} />}\n                </label>\n\n                <label className=\"mb5\">\n                  <p className=\"text-black-tint-40 bold body-s mb1\">Confirm Password</p>\n                  <input\n                    name=\"password_repeat\"\n                    id=\"js-password-repeat\"\n                    className=\"fds-input body-s\"\n                    type=\"password\"\n                    style={{\n                      outlineColor: errors.password_repeat ? \"var(--red)\" : \"var(--blue)\",\n                    }}\n                    ref={register({\n                      required: \"Please confirm your new password.\",\n                      validate: (value) =>\n                        value === watch(\"password\") ? true : \"The passwords do not match.\",\n                    })}\n                  />\n                  {errors.password_repeat && <ErrorMessage msg={errors.password_repeat.message} />}\n                </label>\n\n                <button\n                  id=\"reset\"\n                  type=\"submit\"\n                  style={{ width: \"100%\" }}\n                  className=\"block button-primary mt5\"\n                >\n                  Create Password\n                </button>\n                {errors.server_error && (\n                  <ErrorMessage msgStyles={{ width: \"400px\" }} msg={errors.server_error.message} />\n                )}\n              </form>\n            </div>\n          )}\n        </div>\n      </div>\n    </div>\n  );\n\n  function focusOnInput() {\n    if (hasValidInvitation) formRef.current.querySelector(\"input\").focus();\n  }\n\n  async function onSubmit({ password }, e) {\n    e.preventDefault();\n    dispatch(redeemInvitation(invitationId, orgId, password));\n  }\n\n  function handleInvitationRedemption() {\n    if (hasRedeemedInvitation) setShowConfirmation(true);\n  }\n\n  function checkInvitationIsValid() {\n    if (hasValidInvitation === null) dispatch(validateInvitation(invitationId, orgId));\n  }\n}\n\nexport { SetPassword };\n","import React from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\n\nimport { CookieModal } from \"../components/cookie-modal\";\nimport { Footer } from \"../components/footer\";\nimport { OnboardingBreadcrumbs } from \"../components/onboarding-breadcrumbs\";\nimport { OnboardingMobileWarning } from \"../components/onboarding-mobile-warning\";\nimport { OnboardingSteps } from \"../components/onboarding-steps\";\nimport { SetPassword } from \"../components/set-password\";\nimport { useIsMobile, useWindowSize } from \"../hooks\";\n\nfunction OnboardingLayout() {\n  const isMobile = useIsMobile();\n  const { width } = useWindowSize();\n  const showBreadcrumbs = width >= 1024;\n\n  return (\n    <div>\n      {isMobile ? (\n        <OnboardingMobileWarning />\n      ) : (\n        <div className=\"flex\">\n          <div className={`relative ${showBreadcrumbs ? \"col-8\" : \"full-width\"}`}>\n            <Switch>\n              <Route exact path=\"/welcome/:orgId/:invitationId\" component={SetPassword} />\n              <Route path=\"/welcome\" component={OnboardingSteps} />\n            </Switch>\n            <Footer />\n            <CookieModal />\n          </div>\n          {showBreadcrumbs ? (\n            <div className=\"col-4\">\n              <OnboardingBreadcrumbs />\n            </div>\n          ) : null}\n        </div>\n      )}\n    </div>\n  );\n}\n\nexport { OnboardingLayout };\n","import { combineReducers, configureStore } from \"@reduxjs/toolkit\";\nimport { throttle } from \"lodash-es\";\nimport React from \"react\";\nimport { Provider } from \"react-redux\";\n\nimport { loadState, saveState } from \"../local-storage\";\nimport { BrandingStore, OrgSamlIdpStore, OrgSettingsStore, OrgStore, UserStore } from \"src/store\";\n\nimport { InvitationStore } from \"./invitation\";\nimport { LoginStore } from \"./login\";\nimport { OnboardingStore } from \"./onboarding\";\n\nconst rootReducer = combineReducers({\n  branding: BrandingStore.reducer,\n  invitation: InvitationStore.reducer,\n  login: LoginStore.reducer,\n  onboarding: OnboardingStore.reducer,\n  org: OrgStore.reducer,\n  orgSamlIdp: OrgSamlIdpStore.reducer,\n  orgSettings: OrgSettingsStore.reducer,\n  user: UserStore.reducer,\n});\n\nconst cachedState = loadState();\n// TODO: remove code below. This is a temporary hack that makes sure that the cached login data has a \"data\" key.\n// This key was introduced in this PR. Some clients might have the old data structure cached:\n// This hack makes sure the page still loads even for those clients with a bad cached state\nif (cachedState.login && !(\"data\" in cachedState.login)) {\n  const loginData = { ...cachedState.login };\n  if (\"email\" in cachedState.login) delete cachedState.login.email;\n  if (\"org\" in cachedState.login) delete cachedState.login.org;\n  if (\"firstName\" in cachedState.login) delete cachedState.login.firstName;\n  cachedState.login.data = loginData;\n}\nconst store = configureStore({ reducer: rootReducer, devTools: true, preloadedState: cachedState });\nstore.subscribe(\n  throttle(() => {\n    const { email, org, firstName } = store.getState().login.data;\n    saveState({\n      login: { data: { email, org, firstName } },\n    });\n  }, 1000),\n);\n\nwindow.store = store.getState;\n\nfunction StoreProvider({ children }) {\n  return <Provider store={store}>{children}</Provider>;\n}\n\nexport { StoreProvider };\n","export function loadState() {\n  try {\n    const serializedState = localStorage.getItem(\"state\");\n    if (serializedState === null) {\n      return {};\n    }\n    return JSON.parse(serializedState);\n  } catch {\n    return {};\n  }\n}\n\nexport function saveState(state) {\n  try {\n    const serializedState = JSON.stringify(state);\n    localStorage.setItem(\"state\", serializedState);\n  } catch {\n    console.warn(\"Failed to save to local storage\");\n  }\n}\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/sass-loader/dist/cjs/index.js??ruleSet[1].rules[1].use[2]!./custom.css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/sass-loader/dist/cjs/index.js??ruleSet[1].rules[1].use[2]!./custom.css\";\n       export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect } from \"react\";\nimport { render } from \"react-dom\";\nimport { Route, BrowserRouter as Router, Switch } from \"react-router-dom\";\n\nimport { redirectUser } from \"./helpers\";\nimport { useAuthStatus } from \"./hooks\";\nimport { LoginLayout } from \"./layouts/login\";\nimport { OnboardingLayout } from \"./layouts/onboarding\";\nimport { StoreProvider } from \"./store\";\n\nimport \"basscss/css/basscss.css\";\nimport \"../css/custom.css\";\n\n// Used to log in the Recording Agent: https://github.com/minervaproject/recording-agent/blob/master/worker/interpreter.js#L223\nrequire(\"jquery\");\n\nfunction LoginApp() {\n  const [isAuthenticated, isValidatingAuth] = useAuthStatus();\n  const pathsForAutoRedirectToApp = [/^\\/$/, /^\\/password$/, /^\\/org\\/.*/];\n  const currentPath = window.location.pathname;\n  const shouldAutoRedirectToApp = pathsForAutoRedirectToApp.some((pathRegex) =>\n    pathRegex.test(currentPath),\n  );\n\n  useEffect(() => {\n    if (!shouldAutoRedirectToApp) return;\n    if (isAuthenticated || window.context?.masquerade) return redirectUser();\n  }, [shouldAutoRedirectToApp, isAuthenticated]);\n\n  if (isValidatingAuth || (shouldAutoRedirectToApp && isAuthenticated)) return null;\n\n  return (\n    <StoreProvider>\n      <Router>\n        <Switch>\n          <Route path=\"/welcome\" component={OnboardingLayout} />\n          <Route path=\"/\" component={LoginLayout} />\n        </Switch>\n      </Router>\n    </StoreProvider>\n  );\n}\nconst appContainerElement = document.getElementById(\"app\");\n\nrender(<LoginApp />, appContainerElement);\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/@minervaproject/fds/css/forum-design-system.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `::placeholder{color:var(--black-tint-70)}.fds-input{border:1px solid var(--black-tint-90);color:var(--black-tint-10);border-radius:2px;padding:4px 8px;height:24px;width:calc(100% - 16px)}.full-width{width:100%}.full-height{height:100%}.modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.6);display:flex;justify-content:center;align-items:center}.modal__container{background-color:#fff;padding:30px;max-width:80vw;box-sizing:border-box}.modal__header{display:flex;justify-content:space-between;align-items:center}.modal__title{margin:0;box-sizing:border-box}.modal__close{background:transparent;border:0;cursor:pointer}.modal__header .modal__close:before{content:\"✕\"}.modal__content{margin:2rem 0}.micromodal-slide{display:none}.micromodal-slide.is-open{display:block}.modal__content .table-wrapper{overflow:auto}.modal__content table{border-collapse:collapse;width:100%}.modal__content th,.modal__content td{border:1px solid #222;text-align:left;padding:10px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/projects/login/css/custom.css\"],\"names\":[],\"mappings\":\"AACQ,cAKR,0BACE,CAAA,WAGF,qCACE,CAAA,0BACA,CAAA,iBACA,CAAA,eACA,CAAA,WACA,CAAA,uBACA,CAAA,YAGF,UACE,CAAA,aAGF,WACE,CAAA,gBAKF,cACE,CAAA,KACA,CAAA,MACA,CAAA,OACA,CAAA,QACA,CAAA,6BACA,CAAA,YACA,CAAA,sBACA,CAAA,kBACA,CAAA,kBAGF,qBACE,CAAA,YACA,CAAA,cACA,CAAA,qBACA,CAAA,eAGF,YACE,CAAA,6BACA,CAAA,kBACA,CAAA,cAGF,QACE,CAAA,qBACA,CAAA,cAGF,sBACE,CAAA,QACA,CAAA,cACA,CAAA,oCAGF,WAAA,CAAA,gBAEA,aACE,CAAA,kBAGF,YACE,CAAA,0BAGF,aACE,CAAA,+BAGF,aACE,CAAA,sBAGF,wBACE,CAAA,UACA,CAAA,sCAGF,qBACE,CAAA,eACA,CAAA,YACA\",\"sourcesContent\":[\"/* FDS CSS cannot be imported in JS for picasso, see https://github.com/minervaproject/picasso/pull/11604 */\\n@import \\\"../../../../node_modules/@minervaproject/fds/css/forum-design-system.css\\\";\\n\\n/* psuedoclasses don't work for inline styles for react components\\nremove when these styles are added to the forum-design-system */\\n\\n::placeholder {\\n  color: var(--black-tint-70);\\n}\\n\\n.fds-input {\\n  border: 1px solid var(--black-tint-90);\\n  color: var(--black-tint-10);\\n  border-radius: 2px;\\n  padding: 4px 8px;\\n  height: 24px;\\n  width: calc(100% - 16px);\\n}\\n\\n.full-width {\\n  width: 100%;\\n}\\n\\n.full-height {\\n  height: 100%;\\n}\\n\\n/* Cookie Modal  */\\n/* TODO: Remove once FDS modal is added */\\n.modal__overlay {\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  bottom: 0;\\n  background: rgba(0,0,0,0.6);\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n}\\n\\n.modal__container {\\n  background-color: #fff;\\n  padding: 30px;\\n  max-width: 80vw;\\n  box-sizing: border-box;\\n}\\n\\n.modal__header {\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n}\\n\\n.modal__title {\\n  margin: 0;\\n  box-sizing: border-box;\\n}\\n\\n.modal__close {\\n  background: transparent;\\n  border: 0;\\n  cursor: pointer;\\n}\\n\\n.modal__header .modal__close:before { content: \\\"\\\\2715\\\"; }\\n\\n.modal__content {\\n  margin: 2rem 0;\\n}\\n\\n.micromodal-slide {\\n  display: none;\\n}\\n\\n.micromodal-slide.is-open {\\n  display: block;\\n}\\n\\n.modal__content .table-wrapper {\\n  overflow: auto;\\n}\\n\\n.modal__content table {\\n  border-collapse: collapse;\\n  width: 100%;\\n}\\n\\n.modal__content th, .modal__content td {\\n  border: 1px solid #222;\\n  text-align: left;\\n  padding: 10px;\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","const deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tlet notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tlet [chunkIds, fn, priority] = deferred[i];\n\t\tlet fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tconst r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tconst getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","const getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nlet leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tconst ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tconst def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = (x) => {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// execute a CommonJS module body with real module/exports objects, returning the final exports\n__webpack_require__.cjs = (body) => {\n\tconst mod = { exports: {} };\n\tbody.call(mod.exports, mod, mod.exports);\n\treturn mod.exports;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nconst installedChunks = {\n\t2: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nconst webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tlet [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nconst chunkLoadingGlobal = self[\"webpackChunkpicasso\"] = self[\"webpackChunkpicasso\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nlet __webpack_exports__ = __webpack_require__.O(undefined, [16,21,26,15,19,25,29,28,17,27,20], () => (__webpack_require__(68799)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["url","UserAPI","fetchUser","_ref","_ref$userId","userId","_ref$show_inactive","show_inactive","createAPICall","concat","serializer","UserSerializer","queryParams","createUser","payload","method","updateUser","_ref2","data","_ref2$show_inactive","body","JSON","stringify","searchUsers","_ref3","searchTerm","includes","filter_emails","filter_name","setPassword","_ref4","old_password","new_password","password","createSerializer","store","UserStore","OrgSettingsStore","createReduxStore","name","redirectUser","baseUrl","location","protocol","host","next","window","context","replace","getOrgOrGeneralUrl","orgIdentifier","path","InvitationStore","initialState","hasRedeemedInvitation","hasValidInvitation","loading","error","reducers","setIsValid","state","setIsRedeemed","LoginStore","email","firstName","org","cookieBannerIsShowing","tokenUUID","contextualMessage","successMessage","clearError","_objectSpread","OnboardingStore","adapter","createEntityAdapter","sortComparer","a","b","localeCompare","OrgStore","BrandingStore","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","this","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","login","undefined","_callee","dispatch","json","options","response","_context","actions","setLoading","apiFetch","setError","ok","upsertOne","branding","org_settings","status","orgs","upsertMany","update","token_uuid","_x","_callee2","user","_context2","first_name","id","OrgSettingsAPI","fetchOrgSettings","_x2","updateOnboarding","_ref5","_callee5","onboarding","_context5","Error","_x4","validateAuthToken","_validateAuthToken","_callee0","_context0","acceptTermsOfService","_acceptTermsOfService","_callee1","_context1","redeemInvitation","invitationId","orgId","_ref7","_callee7","_context7","invitation_uuid","org_id","unsetLoading","_x6","resetPassword","_x8","_resetPassword","_callee10","_context10","forgotOrg","_ref9","_callee9","changes","_t5","_context9","console","user_id","message","_x9","fetchActiveCookies","_fetchActiveCookies","_callee11","_context11","_typeof","constructor","_slicedToArray","Array","isArray","_arrayWithHoles","push","_iterableToArrayLimit","_arrayLikeToArray","toString","slice","from","test","_unsupportedIterableToArray","_nonIterableRest","cachedScripts","useWindowSize","isClient","getSize","width","innerWidth","height","innerHeight","_useState4","useState","windowSize","setWindowSize","useEffect","handleResize","addEventListener","removeEventListener","useIsMobile","useAuthStatus","_useState6","isAuthenticated","setIsAuthenticated","_useState8","isValidatingAuth","setIsValidatingAuth","validate","Cookies","CookieModal","_useState2","showModal","setShowModal","useDispatch","activeCookies","setActiveCookies","_useScript","src","integrity","crossOrigin","loaded","setState","script","document","createElement","async","onScriptLoad","onScriptError","index","indexOf","splice","remove","appendChild","useScript","_useScript2","cookieScriptLoaded","cookieScriptError","_fetchCookies","cookies","fetchCookies","_window$cookieconsent","cookieconsent","initialise","palette","popup","background","text","button","border","content","dismiss","link","href","onPopupOpen","querySelector","preventDefault","click","React","Modal","onClose","showModalValue","title","className","map","cookie","key","Name","Provider","PurposeDescription","ExpireDescription","TrackerTypeName","onClick","type","Footer","_window$context","_window$context2","currentYear","Date","getFullYear","privacyPolicyUrl","forumUrl","termsUrl","style","bottom","zIndex","target","rel","styles","container","alignItems","display","asset","maxHeight","maxWidth","Logo","_ref$className","hasError","setHasError","loginDetails","useSelector","selectors","select","selectAll","orgBranding","find","logo_url","alt","label","onError","MinervaLogoIcon","termsContainer","boxSizing","overflow","fontWeight","TermsPrompt","handleTermsAcceptance","history","useHistory","errorMessage","setErrorMessage","_useAuthStatus2","_handleTermsAgreement","stopPropagation","infoEmail","ErrorMessage","msg","_ref$msgStyles","msgStyles","color","XNoIcon","marginRight","EmailInput","_form$errors$realemai","form","outlineColor","errors","realemail","placeholder","autoComplete","ref","register","required","isValidEmail","emailValidate","OrgSamlIdpStore","OrgSerializer","storeMap","orgsettings","org_saml_idp","UserOrgsStore","OrgAPI","omitUndefined","short_name","OrgLogo","minervaLogo","email_logo_filename","email_logo_url","OrgWrapper","children","isSingleOrgEnv","useParams","isOrgSpecificPage","_fetchOrgData","fetchOrgData","isMobile","Paragraph","SubmitButton","kind","icon","_ref$mt","mt","_ref$mb","mb","LoadingIcon","LoadingDarkIcon","LoadingLightIcon","Button","fullWidth","overflowY","SuccessMessage","green","CheckYesIcon","marginBottom","Title","fontSize","SendEmailPage","_ref$autoComplete","onSubmitAfter","onSubmitBefore","submitTextAfter","submitTextBefore","textAfter","textBefore","titleAfter","titleBefore","_useSelector","sliceSelectors","isAfterSendingEmail","showEmailInput","onSubmit","submitText","defaultValues","Form","ForgotOrg","AlternateLink","event","cursor","getQueryParam","param","URLSearchParams","search","get","LoginForm","selectById","orgSettings","orgsettings_id","enable_tos_check","dateOfLastTermsAccepted","terms_of_service_accepted_on","dateOfLastTermsUpdated","tos_updated_on","passwordValidator","minLength","hasCaps","hasNumber","hasSpecialCharacter","doesNotContainEmail","PasswordInput","newPassword","confirmPassword","watch","EmailLoginForm","emailQueryParam","realpassword","getValues","OrgIcon","favicon_filename","favicon_url","iconMap","google","GoogleLogoIcon","minerva","LoginBody","samlIdps","filter","showSSOAuth","enable_login_via_sso","emailLoginEnabled","enable_login_via_email_password","passwordQueryParam","shouldShowEmailAuth","showEmailAuth","setShowEmailAuth","onSSOButtonClick","idp","disabled","entity_id","handleAlternateLinkClick","showEmail","ButtonIcon","Icon","continue_button_text","OrgLogin","OrgLoginPassword","LoginPage","isSSOEnabled","enableSSO","OrgInput","_form$errors$org","OrgInputPage","selectLoading","waffle","flag_is_active","uaeRedirectUrl","removeAll","OrgSelect","orgOptions","selectRef","useRef","current","focus","selectStyles","control","base","fontFamily","lineHeight","minHeight","isDisabled","valueContainer","transform","singleValue","indicatorSeparator","indicatorContainer","option","backgroundColor","isFocused","Controller","as","Select","classNamePrefix","isSearchable","isClearable","rules","OrgPicker","selectedOrg","PasswordReset","token","resetToken","RequestPasswordReset","_ref8","_callee8","_t4","_context8","_x7","LoginLayout","Switch","Route","exact","component","OnboardingBreadcrumbs","useLocation","assetUrl","config","staticUrl","pathname","sso","offset","backgroundImage","backgroundSize","classNames","bold","match","OnboardingMobileWarning","AvatarUploadStep","AvatarUpload","secondaryButtonLabel","handleSecondaryButtonClick","_handlePhotoUploadSkip","handleUploadSuccess","cookieBannerHeight","skip_avatar_upload","OnboardingSteps","_callee4","_context4","set","_x3","show_terms_of_service","show_system_check","show_avatar_upload","SetPassword","formRef","showConfirmation","setShowConfirmation","invitation","_useParams","_useForm","useForm","handleSubmit","_ref6","_callee6","_t2","_context6","parse","_x5","validateInvitation","_onSubmit","password_repeat","server_error","OnboardingLayout","showBreadcrumbs","rootReducer","combineReducers","reducer","orgSamlIdp","cachedState","serializedState","localStorage","getItem","_unused","loadState","loginData","configureStore","devTools","preloadedState","StoreProvider","subscribe","throttle","_store$getState$login","getState","setItem","_unused2","warn","saveState","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","custom","A","locals","LoginApp","currentPath","shouldAutoRedirectToApp","some","pathRegex","masquerade","Router","require","appContainerElement","getElementById","render","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_node_modules_minervaproject_fds_css_forum_design_system_css__WEBPACK_IMPORTED_MODULE_2__","module","version","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","__webpack_modules__","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","getter","__esModule","getProto","obj","leafPrototypes","mode","ns","def","getOwnPropertyNames","forEach","definition","binding","g","globalThis","Function","hmd","prop","hasOwnProperty","dn","x","descriptor","getOwnPropertyDescriptor","cjs","mod","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","nc","__webpack_exports__"],"sourceRoot":""}