From 77d18660f6c353c862ad97349b108ffb5e8d53f1 Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Mon, 14 Aug 2023 15:57:42 +0530 Subject: [PATCH 01/13] feat: user permission on dashboard --- src/App.tsx | 43 +++++----- src/events/accessDenied.ts | 24 ++++++ .../components/layout/accessDeniedModal.tsx | 37 ++++++++ src/ui/contexts/AccessDeniedContext.tsx | 84 +++++++++++++++++++ src/utils/index.ts | 23 ++++- 5 files changed, 190 insertions(+), 21 deletions(-) create mode 100644 src/events/accessDenied.ts create mode 100644 src/ui/components/layout/accessDeniedModal.tsx create mode 100644 src/ui/contexts/AccessDeniedContext.tsx diff --git a/src/App.tsx b/src/App.tsx index 6db7596c..f96e5f26 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -22,9 +22,11 @@ import "./images"; import SignOutBtn from "./ui/components/auth/SignOutBtn"; import AuthWrapper from "./ui/components/authWrapper"; import ErrorBoundary from "./ui/components/errorboundary"; +import { AccessDeniedModal } from "./ui/components/layout/accessDeniedModal"; import { LayoutModalContainer } from "./ui/components/layout/layoutModal"; import SafeAreaView from "./ui/components/safeAreaView/SafeAreaView"; import { ToastNotificationContainer } from "./ui/components/toast/toastNotification"; +import { AccessDeniedContextProvider } from "./ui/contexts/AccessDeniedContext"; import { PopupContentContextProvider } from "./ui/contexts/PopupContentContext"; import { TenantsListContextProvider } from "./ui/contexts/TenantsListContext"; @@ -34,25 +36,28 @@ function App() { - - - - - - } - /> - } - /> - - - - - - + + + + + + + } + /> + } + /> + + + + + + + + diff --git a/src/events/accessDenied.ts b/src/events/accessDenied.ts new file mode 100644 index 00000000..957938cb --- /dev/null +++ b/src/events/accessDenied.ts @@ -0,0 +1,24 @@ +/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved. + * + * This software is licensed under the Apache License, Version 2.0 (the + * "License") as published by the Apache Software Foundation. + * + * You may not use this file except in compliance with the License. You may + * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export const DASHBOARD_ACCESS_DENIED_EVENT = "dashboard-access-denied"; + +export const getAccessDeniedEvent = (message: string) => { + return new CustomEvent(DASHBOARD_ACCESS_DENIED_EVENT, { + detail: { + message, + }, + }); +}; diff --git a/src/ui/components/layout/accessDeniedModal.tsx b/src/ui/components/layout/accessDeniedModal.tsx new file mode 100644 index 00000000..498369c1 --- /dev/null +++ b/src/ui/components/layout/accessDeniedModal.tsx @@ -0,0 +1,37 @@ +/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved. + * + * This software is licensed under the Apache License, Version 2.0 (the + * "License") as published by the Apache Software Foundation. + * + * You may not use this file except in compliance with the License. You may + * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { useContext } from "react"; +import { AccessDeniedPopupContext } from "../../contexts/AccessDeniedContext"; +import { LayoutModalContent } from "./layoutModal"; + +export const AccessDeniedModal = () => { + const context = useContext(AccessDeniedPopupContext); + + if (!context.isPopupVisible) { + return <>; + } + + return ( + Access Denied} + onClose={() => { + context.hidePopup(); + }}> +

{context.popupMessage}

+
+ ); +}; diff --git a/src/ui/contexts/AccessDeniedContext.tsx b/src/ui/contexts/AccessDeniedContext.tsx new file mode 100644 index 00000000..05cf8c05 --- /dev/null +++ b/src/ui/contexts/AccessDeniedContext.tsx @@ -0,0 +1,84 @@ +/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved. + * + * This software is licensed under the Apache License, Version 2.0 (the + * "License") as published by the Apache Software Foundation. + * + * You may not use this file except in compliance with the License. You may + * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ +import { PropsWithChildren, createContext, useEffect, useState } from "react"; +import { DASHBOARD_ACCESS_DENIED_EVENT } from "../../events/accessDenied"; + +/** + * @comment: this context is responsible for handling global context of the access denied popup + * for closing and opening the pop from anywhere when required. + */ + +export const AccessDeniedPopupContext = createContext<{ + showPopup: (message: string) => void; + hidePopup: () => void; + isPopupVisible: boolean; + popupMessage: string; +}>({ + showPopup: () => { + return; + }, + isPopupVisible: false, + popupMessage: "", + hidePopup: () => { + return; + }, +}); + +export const AccessDeniedContextProvider: React.FC = (props: PropsWithChildren) => { + const [isPopupVisible, setIsPopupVisible] = useState(false); + const [popupMessage, setPopupMessage] = useState(""); + + const handleAccessDenied = (e: CustomEvent) => { + showPopup(e.detail.message); + }; + + useEffect(() => { + window.addEventListener(DASHBOARD_ACCESS_DENIED_EVENT, handleAccessDenied as EventListener); + + return () => { + window.removeEventListener(DASHBOARD_ACCESS_DENIED_EVENT, handleAccessDenied as EventListener); + }; + }, []); + + const showPopup = (message: string) => { + if (isPopupVisible) { + return; + } + + setPopupMessage(message); + setIsPopupVisible(true); + }; + + const hidePopup = () => { + if (!isPopupVisible) { + return; + } + + setPopupMessage(""); + setIsPopupVisible(false); + }; + + return ( + + {props.children} + + ); +}; diff --git a/src/utils/index.ts b/src/utils/index.ts index ec82bce0..7b43641d 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -13,11 +13,13 @@ * under the License. */ -import { useEffect, useState } from "react"; +import { useContext, useEffect, useState } from "react"; import { HTTPStatusCodes, StorageKeys } from "../constants"; +import { getAccessDeniedEvent } from "../events/accessDenied"; import NetworkManager from "../services/network"; import { localStorageHandler } from "../services/storage"; import { HttpMethod } from "../types"; +import { AccessDeniedPopupContext } from "../ui/contexts/AccessDeniedContext"; import { UserRecipeType } from "../ui/pages/usersList/types"; export function getStaticBasePath(): string { @@ -77,6 +79,8 @@ interface IFetchDataArgs { export const useFetchData = () => { const [statusCode, setStatusCode] = useState(0); + const [body, setBody] = useState({}); + const { showPopup } = useContext(AccessDeniedPopupContext); const fetchData = async ({ url, @@ -87,7 +91,6 @@ export const useFetchData = () => { ignoreErrors = false, }: IFetchDataArgs) => { const apiKeyInStorage = localStorageHandler.getItem(StorageKeys.AUTH_KEY); - let additionalHeaders: { [key: string]: string } = {}; if (apiKeyInStorage !== undefined) { @@ -115,6 +118,7 @@ export const useFetchData = () => { window.location.reload(); } else { setStatusCode(ignoreErrors ? 200 : response.status); + setBody(await response.clone().json()); } return response; }; @@ -123,6 +127,21 @@ export const useFetchData = () => { return fetchData; } + /** + * @comment + * whenever the server returns 403 (Forbidden status code) it means that the + * user is not allowed to perform that particular action and we will emit the + * accessDenied event and open the access denied popup. + */ + if (statusCode === 403) { + const messageInBody = body.message; + showPopup(messageInBody); + window.dispatchEvent( + getAccessDeniedEvent(messageInBody === undefined ? "You do not have access to this page" : messageInBody) + ); + return fetchData; + } + throw Error(`Error: ${statusCode}. Some error Occurred`); }; From 68033a2f04b7414d6b65c90f8f80340d25950cc2 Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Mon, 14 Aug 2023 16:12:16 +0530 Subject: [PATCH 02/13] remove context in fetch hook --- src/utils/index.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 7b43641d..894f1830 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -13,13 +13,12 @@ * under the License. */ -import { useContext, useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import { HTTPStatusCodes, StorageKeys } from "../constants"; import { getAccessDeniedEvent } from "../events/accessDenied"; import NetworkManager from "../services/network"; import { localStorageHandler } from "../services/storage"; import { HttpMethod } from "../types"; -import { AccessDeniedPopupContext } from "../ui/contexts/AccessDeniedContext"; import { UserRecipeType } from "../ui/pages/usersList/types"; export function getStaticBasePath(): string { @@ -80,7 +79,6 @@ interface IFetchDataArgs { export const useFetchData = () => { const [statusCode, setStatusCode] = useState(0); const [body, setBody] = useState({}); - const { showPopup } = useContext(AccessDeniedPopupContext); const fetchData = async ({ url, @@ -135,7 +133,6 @@ export const useFetchData = () => { */ if (statusCode === 403) { const messageInBody = body.message; - showPopup(messageInBody); window.dispatchEvent( getAccessDeniedEvent(messageInBody === undefined ? "You do not have access to this page" : messageInBody) ); From 207581e87c29e1f88b5db0458b0d4ecc16953c21 Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Tue, 29 Aug 2023 12:06:01 +0530 Subject: [PATCH 03/13] fix: add email into headers --- server/index.ts | 5 ++- src/constants.ts | 1 + .../components/layout/accessDeniedModal.tsx | 6 ++- src/ui/contexts/AccessDeniedContext.tsx | 34 ++++------------ src/utils/index.ts | 40 +++++++++++-------- 5 files changed, 40 insertions(+), 46 deletions(-) diff --git a/server/index.ts b/server/index.ts index 66c86f4c..bb4e1f5c 100644 --- a/server/index.ts +++ b/server/index.ts @@ -34,7 +34,9 @@ app.use(morgan("[:date[iso]] :url :method :status :response-time ms - :res[conte SuperTokens.init({ framework: "express", supertokens: { - connectionURI: "try.supertokens.com", + connectionURI: "https://st-dev-5bda0a00-431e-11ee-9f3e-67aeb340adc9.aws.supertokens.io", + // connectionURI: "https://try.supertokens.com", + apiKey: "pjS17UlWEXFZLhbi-0diY2LVry", }, appInfo: { appName: "Dashboard Dev Node", @@ -45,6 +47,7 @@ SuperTokens.init({ recipeList: [ Dashboard.init({ // Keep this so that the dev server uses api key based login + admins: ["devchakspp@gmail.com"], override: { functions: (original) => { return { diff --git a/src/constants.ts b/src/constants.ts index 75ddf677..955d33c8 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -24,5 +24,6 @@ export enum HTTPStatusCodes { OK = 200, BAD_REQUEST = 400, UNAUTHORIZED = 401, + FORBIDDEN = 403, NOT_FOUND = 404, } diff --git a/src/ui/components/layout/accessDeniedModal.tsx b/src/ui/components/layout/accessDeniedModal.tsx index 498369c1..47d04656 100644 --- a/src/ui/components/layout/accessDeniedModal.tsx +++ b/src/ui/components/layout/accessDeniedModal.tsx @@ -20,7 +20,11 @@ import { LayoutModalContent } from "./layoutModal"; export const AccessDeniedModal = () => { const context = useContext(AccessDeniedPopupContext); - if (!context.isPopupVisible) { + if (context === undefined) { + throw new Error("Access denied modal must be used within the AccessDeninedContext."); + } + + if (context.isPopupVisible === false) { return <>; } diff --git a/src/ui/contexts/AccessDeniedContext.tsx b/src/ui/contexts/AccessDeniedContext.tsx index 05cf8c05..6291401b 100644 --- a/src/ui/contexts/AccessDeniedContext.tsx +++ b/src/ui/contexts/AccessDeniedContext.tsx @@ -15,20 +15,11 @@ import { PropsWithChildren, createContext, useEffect, useState } from "react"; import { DASHBOARD_ACCESS_DENIED_EVENT } from "../../events/accessDenied"; -/** - * @comment: this context is responsible for handling global context of the access denied popup - * for closing and opening the pop from anywhere when required. - */ - export const AccessDeniedPopupContext = createContext<{ - showPopup: (message: string) => void; hidePopup: () => void; isPopupVisible: boolean; popupMessage: string; }>({ - showPopup: () => { - return; - }, isPopupVisible: false, popupMessage: "", hidePopup: () => { @@ -41,30 +32,20 @@ export const AccessDeniedContextProvider: React.FC = (props: const [popupMessage, setPopupMessage] = useState(""); const handleAccessDenied = (e: CustomEvent) => { - showPopup(e.detail.message); - }; - - useEffect(() => { - window.addEventListener(DASHBOARD_ACCESS_DENIED_EVENT, handleAccessDenied as EventListener); - - return () => { - window.removeEventListener(DASHBOARD_ACCESS_DENIED_EVENT, handleAccessDenied as EventListener); - }; - }, []); + if (isPopupVisible) return; - const showPopup = (message: string) => { - if (isPopupVisible) { - return; - } + const message = e.detail.message; setPopupMessage(message); setIsPopupVisible(true); }; + useEffect(() => { + window.addEventListener(DASHBOARD_ACCESS_DENIED_EVENT, handleAccessDenied as EventListener); + }, []); + const hidePopup = () => { - if (!isPopupVisible) { - return; - } + if (!isPopupVisible) return; setPopupMessage(""); setIsPopupVisible(false); @@ -75,7 +56,6 @@ export const AccessDeniedContextProvider: React.FC = (props: value={{ isPopupVisible, popupMessage, - showPopup, hidePopup, }}> {props.children} diff --git a/src/utils/index.ts b/src/utils/index.ts index 894f1830..4520f9bd 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -78,7 +78,6 @@ interface IFetchDataArgs { export const useFetchData = () => { const [statusCode, setStatusCode] = useState(0); - const [body, setBody] = useState({}); const fetchData = async ({ url, @@ -89,6 +88,8 @@ export const useFetchData = () => { ignoreErrors = false, }: IFetchDataArgs) => { const apiKeyInStorage = localStorageHandler.getItem(StorageKeys.AUTH_KEY); + const email = localStorageHandler.getItem(StorageKeys.EMAIL); + let additionalHeaders: { [key: string]: string } = {}; if (apiKeyInStorage !== undefined) { @@ -98,6 +99,13 @@ export const useFetchData = () => { }; } + if (email !== undefined) { + additionalHeaders = { + ...additionalHeaders, + email, + }; + } + const response: Response = await NetworkManager.doRequest({ url, method, @@ -110,32 +118,30 @@ export const useFetchData = () => { }, }, }); + + if (ignoreErrors) { + return response; + } + + if (response.status === HTTPStatusCodes.FORBIDDEN) { + const message = (await response.clone().json())?.message; + + window.dispatchEvent( + getAccessDeniedEvent(message === undefined ? "You do not have access to this page" : message) + ); + } + const logoutAndRedirect = shouldRedirectOnUnauthorised && HTTPStatusCodes.UNAUTHORIZED === response.status; if (logoutAndRedirect) { window.localStorage.removeItem(StorageKeys.AUTH_KEY); window.location.reload(); } else { setStatusCode(ignoreErrors ? 200 : response.status); - setBody(await response.clone().json()); } return response; }; - if (statusCode < 300 || statusCode === HTTPStatusCodes.UNAUTHORIZED) { - return fetchData; - } - - /** - * @comment - * whenever the server returns 403 (Forbidden status code) it means that the - * user is not allowed to perform that particular action and we will emit the - * accessDenied event and open the access denied popup. - */ - if (statusCode === 403) { - const messageInBody = body.message; - window.dispatchEvent( - getAccessDeniedEvent(messageInBody === undefined ? "You do not have access to this page" : messageInBody) - ); + if (statusCode < 300 || statusCode === HTTPStatusCodes.UNAUTHORIZED || statusCode === HTTPStatusCodes.FORBIDDEN) { return fetchData; } From 19e69ef51ec7b7dca93951d08753e366da4a86da Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Tue, 29 Aug 2023 12:42:26 +0530 Subject: [PATCH 04/13] fix: email popup --- src/api/user/index.ts | 9 ++++++++- src/api/user/password/reset/index.ts | 10 +++++++++- src/ui/components/userDetail/userDetailForm.tsx | 4 ++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/api/user/index.ts b/src/api/user/index.ts index 0b0fe333..7c8c36ad 100644 --- a/src/api/user/index.ts +++ b/src/api/user/index.ts @@ -13,6 +13,7 @@ * under the License. */ +import { HTTPStatusCodes } from "../../constants"; import { UserWithRecipeId } from "../../ui/pages/usersList/types"; import { getApiUrl, useFetchData } from "../../utils"; @@ -45,7 +46,7 @@ export type GetUserInfoResult = export type UpdateUserInformationResponse = | { - status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_ALREADY_EXISTS_ERROR"; + status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_ALREADY_EXISTS_ERROR" | "EMAIL_UPDATE_FORBIDDEN"; } | { status: "INVALID_EMAIL_ERROR" | "INVALID_PHONE_ERROR"; @@ -124,6 +125,12 @@ export const useUserService = (): IUseUserService => { }, }); + if (response.status === HTTPStatusCodes.FORBIDDEN) { + return { + status: "EMAIL_UPDATE_FORBIDDEN", + }; + } + return await response.json(); }; diff --git a/src/api/user/password/reset/index.ts b/src/api/user/password/reset/index.ts index d1b142ad..b3dee479 100644 --- a/src/api/user/password/reset/index.ts +++ b/src/api/user/password/reset/index.ts @@ -1,3 +1,4 @@ +import { HTTPStatusCodes } from "../../../../constants"; import { getApiUrl, useFetchData } from "../../../../utils"; interface IUsePasswordResetService { @@ -10,7 +11,7 @@ interface IUsePasswordResetService { type UpdatePasswordResponse = | { - status: "OK"; + status: "OK" | "PASSWORD_UPDATE_FORBIDDEN"; } | { status: "INVALID_PASSWORD_ERROR"; @@ -36,6 +37,13 @@ const usePasswordResetService = (): IUsePasswordResetService => { }), }, }); + + if (response.status === HTTPStatusCodes.FORBIDDEN) { + return { + status: "PASSWORD_UPDATE_FORBIDDEN", + }; + } + return await response.json(); }; diff --git a/src/ui/components/userDetail/userDetailForm.tsx b/src/ui/components/userDetail/userDetailForm.tsx index 61d1e664..8ef1864e 100644 --- a/src/ui/components/userDetail/userDetailForm.tsx +++ b/src/ui/components/userDetail/userDetailForm.tsx @@ -300,6 +300,8 @@ export const UserDetailChangeEmailForm: FC = ( setApiError(response.error); } else if (response.status === "EMAIL_ALREADY_EXISTS_ERROR") { setApiError("A user with this email already exists"); + } else if (response.status === "EMAIL_UPDATE_FORBIDDEN") { + void onCancel(); } else { showToast(getUpdateEmailToast(true)); await onEmailChange(true); @@ -391,6 +393,8 @@ export const UserDetailChangePasswordForm: FC if (response.status === "INVALID_PASSWORD_ERROR") { setApiError(response.error); + } else if (response.status === "PASSWORD_UPDATE_FORBIDDEN") { + void onCancel(); } else { showToast(getUpdatePasswordToast(true)); await onPasswordChange(); From bba49fd0027af93224e5bbca30d736b4fd76bb9b Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Tue, 29 Aug 2023 13:04:16 +0530 Subject: [PATCH 05/13] fix: dropdown flicker --- src/ui/components/usersListTable/UsersListTable.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/components/usersListTable/UsersListTable.scss b/src/ui/components/usersListTable/UsersListTable.scss index dce55336..524de0da 100644 --- a/src/ui/components/usersListTable/UsersListTable.scss +++ b/src/ui/components/usersListTable/UsersListTable.scss @@ -208,7 +208,7 @@ $container-padding-v: 24px; &:last-of-type { // put popup on the left because the popup could be cropped by the paper's bottom .user-row-select-popup { - top: 0px; + top: -50%; padding: 0px 40px 0px; } } From 979adb7447991058e10900d50735ddb851591e1f Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Thu, 31 Aug 2023 11:00:03 +0530 Subject: [PATCH 06/13] fix: remove verbose code --- src/api/user/index.ts | 9 +-------- src/api/user/password/reset/index.ts | 9 +-------- src/ui/components/userDetail/userDetailForm.tsx | 8 ++------ 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/src/api/user/index.ts b/src/api/user/index.ts index 7c8c36ad..0b0fe333 100644 --- a/src/api/user/index.ts +++ b/src/api/user/index.ts @@ -13,7 +13,6 @@ * under the License. */ -import { HTTPStatusCodes } from "../../constants"; import { UserWithRecipeId } from "../../ui/pages/usersList/types"; import { getApiUrl, useFetchData } from "../../utils"; @@ -46,7 +45,7 @@ export type GetUserInfoResult = export type UpdateUserInformationResponse = | { - status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_ALREADY_EXISTS_ERROR" | "EMAIL_UPDATE_FORBIDDEN"; + status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_ALREADY_EXISTS_ERROR"; } | { status: "INVALID_EMAIL_ERROR" | "INVALID_PHONE_ERROR"; @@ -125,12 +124,6 @@ export const useUserService = (): IUseUserService => { }, }); - if (response.status === HTTPStatusCodes.FORBIDDEN) { - return { - status: "EMAIL_UPDATE_FORBIDDEN", - }; - } - return await response.json(); }; diff --git a/src/api/user/password/reset/index.ts b/src/api/user/password/reset/index.ts index b3dee479..a650c106 100644 --- a/src/api/user/password/reset/index.ts +++ b/src/api/user/password/reset/index.ts @@ -1,4 +1,3 @@ -import { HTTPStatusCodes } from "../../../../constants"; import { getApiUrl, useFetchData } from "../../../../utils"; interface IUsePasswordResetService { @@ -11,7 +10,7 @@ interface IUsePasswordResetService { type UpdatePasswordResponse = | { - status: "OK" | "PASSWORD_UPDATE_FORBIDDEN"; + status: "OK"; } | { status: "INVALID_PASSWORD_ERROR"; @@ -38,12 +37,6 @@ const usePasswordResetService = (): IUsePasswordResetService => { }, }); - if (response.status === HTTPStatusCodes.FORBIDDEN) { - return { - status: "PASSWORD_UPDATE_FORBIDDEN", - }; - } - return await response.json(); }; diff --git a/src/ui/components/userDetail/userDetailForm.tsx b/src/ui/components/userDetail/userDetailForm.tsx index 8ef1864e..493a60f9 100644 --- a/src/ui/components/userDetail/userDetailForm.tsx +++ b/src/ui/components/userDetail/userDetailForm.tsx @@ -300,9 +300,7 @@ export const UserDetailChangeEmailForm: FC = ( setApiError(response.error); } else if (response.status === "EMAIL_ALREADY_EXISTS_ERROR") { setApiError("A user with this email already exists"); - } else if (response.status === "EMAIL_UPDATE_FORBIDDEN") { - void onCancel(); - } else { + } else if (response.status === "OK") { showToast(getUpdateEmailToast(true)); await onEmailChange(true); } @@ -393,9 +391,7 @@ export const UserDetailChangePasswordForm: FC if (response.status === "INVALID_PASSWORD_ERROR") { setApiError(response.error); - } else if (response.status === "PASSWORD_UPDATE_FORBIDDEN") { - void onCancel(); - } else { + } else if (response.status === "OK") { showToast(getUpdatePasswordToast(true)); await onPasswordChange(); } From 0b1e818afb02d25a2c82a951a9b84083c4cf7ba1 Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Fri, 1 Sep 2023 11:18:44 +0530 Subject: [PATCH 07/13] fix: add custome error class --- src/api/user/password/reset/index.ts | 1 - .../components/userDetail/userDetailForm.tsx | 49 +++++++++++++------ src/utils/customErrors.ts | 11 +++++ src/utils/index.ts | 11 +++-- 4 files changed, 51 insertions(+), 21 deletions(-) create mode 100644 src/utils/customErrors.ts diff --git a/src/api/user/password/reset/index.ts b/src/api/user/password/reset/index.ts index a650c106..d1b142ad 100644 --- a/src/api/user/password/reset/index.ts +++ b/src/api/user/password/reset/index.ts @@ -36,7 +36,6 @@ const usePasswordResetService = (): IUsePasswordResetService => { }), }, }); - return await response.json(); }; diff --git a/src/ui/components/userDetail/userDetailForm.tsx b/src/ui/components/userDetail/userDetailForm.tsx index 493a60f9..c36ea006 100644 --- a/src/ui/components/userDetail/userDetailForm.tsx +++ b/src/ui/components/userDetail/userDetailForm.tsx @@ -18,6 +18,7 @@ import { Tenant } from "../../../api/tenants/list"; import { useUserService } from "../../../api/user"; import usePasswordResetService from "../../../api/user/password/reset"; import { getImageUrl } from "../../../utils"; +import { ForbiddenError } from "../../../utils/customErrors"; import { getTenantsObjectsForIds } from "../../../utils/user"; import { PopupContentContext } from "../../contexts/PopupContentContext"; import { useTenantsListContext } from "../../contexts/TenantsListContext"; @@ -289,18 +290,26 @@ export const UserDetailChangeEmailForm: FC = ( return; } - const response = await updateUserInformation({ - userId, - email, - recipeId, - tenantId, - }); + let response; + + try { + response = await updateUserInformation({ + userId, + email, + recipeId, + tenantId, + }); + } catch (error) { + if (ForbiddenError.isThisError(error)) { + void onCancel(); + } + } - if (response.status === "INVALID_EMAIL_ERROR") { + if (response?.status === "INVALID_EMAIL_ERROR") { setApiError(response.error); - } else if (response.status === "EMAIL_ALREADY_EXISTS_ERROR") { + } else if (response?.status === "EMAIL_ALREADY_EXISTS_ERROR") { setApiError("A user with this email already exists"); - } else if (response.status === "OK") { + } else if (response?.status === "OK") { showToast(getUpdateEmailToast(true)); await onEmailChange(true); } @@ -383,15 +392,23 @@ export const UserDetailChangePasswordForm: FC return; } - const response = await updatePassword( - userId, - password, - matchingTenantIds.length > 0 ? matchingTenantIds[0].tenantId : undefined - ); + let response; + + try { + response = await updatePassword( + userId, + password, + matchingTenantIds.length > 0 ? matchingTenantIds[0].tenantId : undefined + ); + } catch (error) { + if (ForbiddenError.isThisError(error)) { + void onCancel(); + } + } - if (response.status === "INVALID_PASSWORD_ERROR") { + if (response?.status === "INVALID_PASSWORD_ERROR") { setApiError(response.error); - } else if (response.status === "OK") { + } else if (response?.status === "OK") { showToast(getUpdatePasswordToast(true)); await onPasswordChange(); } diff --git a/src/utils/customErrors.ts b/src/utils/customErrors.ts new file mode 100644 index 00000000..f41ed17a --- /dev/null +++ b/src/utils/customErrors.ts @@ -0,0 +1,11 @@ +export class ForbiddenError extends Error { + statusCode = 403; + status = "FORBIDDEN_REQUEST"; + constructor(message: string) { + super(message); + } + + static isThisError(err: any): boolean { + return err.status === "FORBIDDEN_REQUEST"; + } +} diff --git a/src/utils/index.ts b/src/utils/index.ts index 4520f9bd..1de92625 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -20,6 +20,7 @@ import NetworkManager from "../services/network"; import { localStorageHandler } from "../services/storage"; import { HttpMethod } from "../types"; import { UserRecipeType } from "../ui/pages/usersList/types"; +import { ForbiddenError } from "./customErrors"; export function getStaticBasePath(): string { return (window as any).staticBasePath; @@ -124,11 +125,13 @@ export const useFetchData = () => { } if (response.status === HTTPStatusCodes.FORBIDDEN) { - const message = (await response.clone().json())?.message; + let message = (await response.clone().json())?.message; + if (message === undefined) { + message = "You do not have access to this page"; + } + window.dispatchEvent(getAccessDeniedEvent(message)); - window.dispatchEvent( - getAccessDeniedEvent(message === undefined ? "You do not have access to this page" : message) - ); + throw new ForbiddenError(message); } const logoutAndRedirect = shouldRedirectOnUnauthorised && HTTPStatusCodes.UNAUTHORIZED === response.status; From e7f26378646db672485858d76ed7926919ce463e Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Fri, 1 Sep 2023 16:04:55 +0530 Subject: [PATCH 08/13] fix: add comment and fix stuff --- .../components/userDetail/userDetailForm.tsx | 40 +++++++++---------- src/utils/index.ts | 4 ++ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/ui/components/userDetail/userDetailForm.tsx b/src/ui/components/userDetail/userDetailForm.tsx index c36ea006..d4ecabc3 100644 --- a/src/ui/components/userDetail/userDetailForm.tsx +++ b/src/ui/components/userDetail/userDetailForm.tsx @@ -290,29 +290,27 @@ export const UserDetailChangeEmailForm: FC = ( return; } - let response; - try { - response = await updateUserInformation({ + const response = await updateUserInformation({ userId, email, recipeId, tenantId, }); + + if (response.status === "INVALID_EMAIL_ERROR") { + setApiError(response.error); + } else if (response.status === "EMAIL_ALREADY_EXISTS_ERROR") { + setApiError("A user with this email already exists"); + } else if (response.status === "OK") { + showToast(getUpdateEmailToast(true)); + await onEmailChange(true); + } } catch (error) { if (ForbiddenError.isThisError(error)) { void onCancel(); } } - - if (response?.status === "INVALID_EMAIL_ERROR") { - setApiError(response.error); - } else if (response?.status === "EMAIL_ALREADY_EXISTS_ERROR") { - setApiError("A user with this email already exists"); - } else if (response?.status === "OK") { - showToast(getUpdateEmailToast(true)); - await onEmailChange(true); - } }; const onCancel = async () => { @@ -392,26 +390,24 @@ export const UserDetailChangePasswordForm: FC return; } - let response; - try { - response = await updatePassword( + const response = await updatePassword( userId, password, matchingTenantIds.length > 0 ? matchingTenantIds[0].tenantId : undefined ); + + if (response?.status === "INVALID_PASSWORD_ERROR") { + setApiError(response.error); + } else if (response?.status === "OK") { + showToast(getUpdatePasswordToast(true)); + await onPasswordChange(); + } } catch (error) { if (ForbiddenError.isThisError(error)) { void onCancel(); } } - - if (response?.status === "INVALID_PASSWORD_ERROR") { - setApiError(response.error); - } else if (response?.status === "OK") { - showToast(getUpdatePasswordToast(true)); - await onPasswordChange(); - } }; const onCancel = async () => { diff --git a/src/utils/index.ts b/src/utils/index.ts index 1de92625..14be0994 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -131,6 +131,10 @@ export const useFetchData = () => { } window.dispatchEvent(getAccessDeniedEvent(message)); + /* throwing this error just to make sure that this case is handled in some places in the application. + global search for ForbiddenError.isThisError to see those places + */ + throw new ForbiddenError(message); } From 9087e25f87e3a096c756779bba8cf04d896f7617 Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Fri, 1 Sep 2023 17:26:15 +0530 Subject: [PATCH 09/13] fix: reset index file --- server/index.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/server/index.ts b/server/index.ts index bb4e1f5c..a5e4a3b7 100644 --- a/server/index.ts +++ b/server/index.ts @@ -34,9 +34,7 @@ app.use(morgan("[:date[iso]] :url :method :status :response-time ms - :res[conte SuperTokens.init({ framework: "express", supertokens: { - connectionURI: "https://st-dev-5bda0a00-431e-11ee-9f3e-67aeb340adc9.aws.supertokens.io", - // connectionURI: "https://try.supertokens.com", - apiKey: "pjS17UlWEXFZLhbi-0diY2LVry", + connectionURI: "https://try.supertokens.com", }, appInfo: { appName: "Dashboard Dev Node", @@ -47,7 +45,6 @@ SuperTokens.init({ recipeList: [ Dashboard.init({ // Keep this so that the dev server uses api key based login - admins: ["devchakspp@gmail.com"], override: { functions: (original) => { return { From 053c81aee7b1f7272c96c796536d50469b9b37a9 Mon Sep 17 00:00:00 2001 From: Chakravarthy7102 Date: Sat, 2 Sep 2023 12:52:40 +0530 Subject: [PATCH 10/13] chore: build files --- build/static/css/main.css | 2 +- build/static/css/main.css.map | 2 +- build/static/js/bundle.js | 2 +- build/static/js/bundle.js.map | 2 +- server/index.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/static/css/main.css b/build/static/css/main.css index 83c0ac1e..957f744c 100644 --- a/build/static/css/main.css +++ b/build/static/css/main.css @@ -1,4 +1,4 @@ -@import url(https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap);.phone-display{align-items:flex-start;display:flex}.phone-display>:not(:last-child){margin-right:5px}.phone-input{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;overflow:hidden;width:100%}.phone-input__country-select{display:inline-flex;flex-direction:column;font-weight:400}.phone-input__country-select__current-value{align-items:center;cursor:pointer;display:inline-flex;padding-left:12px}.phone-input__country-select__current-value>:not(:last-child){margin-right:8px}.phone-input__country-select__current-value .PhoneInputCountryIcon img{box-shadow:0 0 3px var(--color-shadow);height:14px}.phone-input__country-select__current-value .country-calling-code{color:var(--color-black)}.phone-input__country-select__popup{background-color:var(--color-white);border-radius:6px;box-shadow:0 0 4px var(--color-shadow);display:none;overflow-y:auto;position:relative;position:fixed}.phone-input__country-select__popup__option{align-items:center;cursor:pointer;display:flex;font-weight:400;padding:10px 12px}.phone-input__country-select__popup__option>:not(:last-child){margin-right:12px}.phone-input__country-select__popup__option .PhoneInputCountryIcon{font-size:14px}.phone-input__country-select__popup__option .PhoneInputCountryIcon img{box-shadow:0 0 4px var(--color-shadow);height:1em}.phone-input__country-select__popup__option .country-calling-code{color:var(--color-secondary-text)}.phone-input__country-select__popup__option.selected{background-color:var(--color-window-bg);color:var(--color-link);pointer-events:none}.phone-input__country-select__popup__option.selected .country-calling-code{color:var(--color-secondary-text)}.phone-input__country-select__popup.popup-active{display:block;z-index:var(--z-index-inline-popup)}.phone-input input.PhoneInputInput{border:none;display:block;flex:1 1 auto;font-family:inherit;outline:none;overflow-x:hidden;padding:8px 12px}.phone-input.PhoneInput--focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-opacity-40)}.phone-input.phone-input-error{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-shadow)}.input-field-container{display:flex;flex-flow:column;margin-bottom:24px}.input-label{color:var(--color-secondary-text);font-weight:500;margin-bottom:12px}.input-label-required{color:var(--color-error);margin:0 4px}.input-field-inset{align-items:center;border:1px solid #e0e0e0;border-radius:6px;display:flex;outline:none}.input-field{background-color:#fafafa;border:none;border-radius:6px;display:block;flex:1 1;font-family:inherit;outline:none;padding:8px 12px}.input-field:focus{background-color:#fff}.input-field-inset-focused,.input-field-inset:active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-opacity-40)}.input-field-inset-error-state,.input-field-inset-error-state:active,.input-field-inset-error-state:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-shadow)}.input-field-suffix .icon{cursor:pointer;padding:8px 12px 8px 0}.input-field-error{align-items:center;display:flex;margin-top:8pt}.input-field-error-icon{height:16px;margin-bottom:2px;margin-right:8px;width:16px}.input-field-error-text{line-height:normal!important}.user-detail-form .input-field-container:not(:last-of-type){margin-bottom:24px}.user-detail-form__header{font-size:24px}.user-detail-form__actions{display:flex;justify-content:flex-end}.user-detail-form__actions>:not(:last-child){margin-right:24px}.user-detail-form__actions button{font-weight:400;justify-content:center;padding:10px 16px}.user-detail-form p{font-size:14px;line-height:24px}.user-detail-form p span{color:#ed344e;font-weight:700}.phone-input{margin-bottom:8px;margin-top:12px}.user-delete-input-container{margin-top:8px}.users-list-table-container{display:block;max-width:100%;overflow-x:auto;padding:24px 34px;width:100%}.users-list-table{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.users-list-table thead{color:var(--color-secondary-text);font-size:12px;line-height:14px;text-transform:uppercase}.users-list-table thead tr{border-bottom:1px solid var(--color-border)}.users-list-table thead tr th{font-weight:500;padding:0 1em 24px 0;text-align:left;width:33%}.users-list-table tbody tr{border-bottom:1px solid var(--color-border)}.users-list-table tbody tr td{max-width:50%;padding:24px 1em 24px 0;width:33%}.users-list-table tbody tr.empty-row td{padding:12px 0}.user-row .user-info{color:var(--color-secondary-text);display:flex;flex-direction:column;padding-right:16px}.user-row .user-info div{max-width:25ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row .user-info div:not(:last-child){margin-bottom:4px}.user-row .user-info .main{color:var(--color-black);cursor:pointer;font-weight:500}.user-row .user-info .main:hover{color:var(--color-link)}.user-row .user-date{min-width:110px;white-space:nowrap}.user-row.placeholder td div{-webkit-animation:blinker 2s linear infinite;animation:blinker 2s linear infinite;background-color:var(--color-loader-placeholder-bg);min-height:1em;opacity:.4;width:100%}@-webkit-keyframes blinker{50%{opacity:.1}}@keyframes blinker{50%{opacity:.1}}.user-row .user-row-select-button{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:4px;display:inline-flex;height:25px;justify-content:center;transition:.3s;width:25px}.user-row .user-row-select-button img{transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:12px}.user-row .user-row-select-button .img-hover{display:none}.user-row .user-row-select-menu{cursor:pointer}.user-row .user-row-select-menu .user-row-select-popup{display:none;padding:20px 0 0;position:absolute;right:0;top:50%;z-index:var(--z-index-inline-popup)}.user-row .user-row-select-menu .user-row-select-popup .panel{min-width:180px;padding:8px}.user-row .user-row-select-menu .user-row-select-popup-item{align-items:center;border-radius:4px;display:inline-flex;font-weight:400;height:28px;padding:8px;transition:.3s;width:100%}.user-row .user-row-select-menu .user-row-select-popup-item span{white-space:nowrap}.user-row .user-row-select-menu .user-row-select-popup-item img{width:1em}.user-row .user-row-select-menu .user-row-select-popup-item .img-hover{display:none}.user-row .user-row-select-menu .user-row-select-popup-item.delete{color:var(--color-button-error-border)}.user-row .user-row-select-menu .user-row-select-popup-item:hover{background-color:var(--color-popup-item-hover)}.user-row .user-row-select-menu .user-row-select-popup-item:hover .img-hover{display:initial}.user-row .user-row-select-menu .user-row-select-popup-item:hover .img-normal{display:none}.user-row .user-row-select-menu .user-row-select-popup-item:hover.delete{background-color:var(--color-popup-item-delete-hover)}.user-row .user-row-select-menu:hover .user-row-select-popup{display:block}.user-row .user-row-select-menu:hover .user-row-select-button{border:1px solid var(--color-primary);box-shadow:0 0 5px var(--color-primary)}.user-row .user-row-select-menu:hover .user-row-select-button img{display:none}.user-row .user-row-select-menu:hover .user-row-select-button .img-hover{display:initial;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.user-row:last-of-type .user-row-select-popup{padding:0 40px;top:0}.user-list-footer{display:flex;justify-content:flex-end;left:0;padding-top:24px;position:-webkit-sticky;position:sticky}.users-list-pagination{display:flex}.users-list-pagination>:not(:last-child){margin-right:1em}.users-list-pagination .users-list-pagination-count{font-weight:500}.users-list-pagination .users-list-pagination-navigation{display:flex}.users-list-pagination .users-list-pagination-navigation>:not(:last-child){margin-right:.5em}.users-list-pagination .users-list-pagination-button{background:none;border:none}.pill{align-items:center;border-radius:20px;display:flex;padding:4px 8px;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pill>:not(:last-child){margin-right:4px}.pill.passwordless{background-color:var(--color-passwordless-bg);color:var(--color-passwordless-text)}.pill.emailpassword{background-color:var(--color-emailpassword-bg);color:var(--color-emailpassword-text)}.pill.thirdparty{background-color:var(--color-custom-provider-bg);color:var(--color-custom-provider-text);max-width:25ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.thirdparty .thirdparty-name{max-width:10ch;overflow:inherit;text-overflow:inherit}.pill.thirdparty.google{background-color:var(--color-google-bg);color:var(--color-google-text)}.pill.thirdparty.google span{text-transform:capitalize}.pill.thirdparty.apple{background-color:var(--color-apple-bg);color:var(--color-apple-text)}.pill.thirdparty.apple span{text-transform:capitalize}.pill.thirdparty.github{background-color:var(--color-github-bg);color:var(--color-github-text)}.pill.thirdparty.github span{text-transform:capitalize}.pill.thirdparty.facebook{background-color:var(--color-facebook-bg);color:var(--color-facebook-text)}.pill.thirdparty.facebook span{text-transform:capitalize}.footer{bottom:0;display:flex;min-height:62px;padding:20px 32px;width:100%}.footer .logo{height:23px;width:151px}.footer.alignment-right{justify-content:flex-end}.footer.alignment-center{justify-content:center}.footer.vertical-center{align-items:center}.footer.vertical-bottom{align-self:flex-end}.footer.color-dark{background-color:var(--color-black)}.footer.color-dark .logo{width:148px}.footer.size-large{padding:40px 32px}.no-users{align-items:center;display:flex;flex-flow:column;padding:60px 24px}.no-users-image{height:43px;margin-bottom:24px;width:63px}.no-users-title{color:var(--color-black);font-size:18px;font-weight:500;letter-spacing:.18px;line-height:22px;margin-bottom:8px;text-align:center}.no-users .no-users-subtitle{color:var(--color-secondary-text);line-height:1.5em;max-width:54ch;padding:4px 0;text-align:center}@media only screen and (min-width:992px){.no-users{padding:60px}}.search{margin-bottom:20px}.search #search-btn{background:var(--color-white);border:1px solid var(--color-black);border-radius:6px;cursor:pointer;display:inline-block;font-family:inherit;font-size:14px;font-weight:500;height:35px;line-height:17px;margin-left:10px;padding:6px 8px;z-index:1}@media screen and (max-width:768px){.search #search-btn{margin-left:0;margin-top:10px;width:100%}}.search__input_wrapper{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:6px;display:inline-flex;height:40px;padding:9px 16px;width:340px}@media screen and (max-width:768px){.search__input_wrapper{width:100%}}.search__input_wrapper img{aspect-ratio:1;height:14px}.search__input_wrapper img:first-child{margin-bottom:3px;margin-right:10px}.search__input_wrapper img:last-child{cursor:pointer;height:22px}.search__input_wrapper.active{border:1px solid #f93;outline:2px solid rgba(255,153,51,.4)}.search__input_wrapper input{border:none;flex-grow:1;height:20px}.search__input_wrapper input:active,.search__input_wrapper input:focus,.search__input_wrapper input:focus-visible,.search__input_wrapper input:focus-within{outline:none}.search__input_wrapper input::-webkit-input-placeholder{color:rgba(34,34,34,.7);font-size:16px;font-weight:400;line-height:171%;padding-bottom:0}.search__input_wrapper input::placeholder{color:rgba(34,34,34,.7);font-size:16px;font-weight:400;line-height:171%;padding-bottom:0}.searchTag{align-items:center;display:inline-flex;margin:12px 8px 12px 0}.searchTag__value{background:#fafafa;border:1px solid #ddd;border-radius:4px;color:#000;font-size:14px;font-weight:400;margin-left:4px;padding:6px}.searchTag__value img{cursor:pointer;height:8px;margin-left:10px}.tag_dropdown{position:relative}.tag_dropdown__selector{align-items:center;background:#eee;border:1px solid #e2e2e2;border-radius:4px;color:#000;display:flex;font-size:14px;font-weight:500;padding:6px}.tag_dropdown__selector img{margin-left:10px}.tag_dropdown__selector.active{background:#fff2e1;border:1px solid #ebdfcf;border-radius:4px}.tag_dropdown__menu{background:#fff;border-radius:6px;box-shadow:0 0 8px rgba(0,0,0,.16);min-width:180px;position:absolute;top:calc(2em + 8px);z-index:999}.tag_dropdown__menu ul{list-style-type:none}.tag_dropdown__menu ul li{color:#6e6a65;display:flex;font-size:14px;font-weight:400;justify-content:space-between;margin:7px;padding:10px}.tag_dropdown__menu ul li:hover{background:#f0f0f0}.tag_dropdown__menu ul li span{align-items:baseline;display:flex}.tag_dropdown__menu ul li span img{height:15px;margin-right:11px}.tenant-pill{background:rgba(147,53,228,.1);border:1px solid #9335e4;border-radius:30px;color:#9335e4;font-size:14px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;padding:5px 13px}.tenant-list-container{-webkit-column-gap:16px;column-gap:16px;display:flex;flex-direction:row;flex-wrap:wrap;row-gap:16px}.user-detail-page-loader{min-height:80vh}.full-screen-loading-overlay,.user-detail-page-loader{align-items:center;display:flex;justify-content:center}.full-screen-loading-overlay{background-color:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1}.loader-container{background-color:var(--color-window-bg);border-radius:50%;display:flex;padding:2px}.loader{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;border:16px solid #f3f3f3;border-radius:50%;border-top-color:#f93;height:60px;width:60px}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}.user-detail{--badge-bg-color:#c5e0fd;--copy-text-color:#d65078;max-width:100vw;padding:72px 40px 48px}.user-detail.center-children{align-items:center;display:flex;flex-direction:column;justify-content:center}.user-detail.center-children .subtitle{font-size:16px;line-height:26px}.user-detail.center-children .back-button{color:var(--color-link);cursor:pointer;margin-top:16px}.user-detail__header{align-items:center;display:flex;margin-top:40px;overflow:hidden}.user-detail__header>:not(:last-child){margin-right:16px}.user-detail__header__badge{align-items:center;background-color:var(--badge-bg-color);border-radius:50%;color:var(--color-link);display:flex;flex-shrink:0;font-size:24px;font-weight:600;height:60px;justify-content:center;text-align:center;text-transform:uppercase;width:60px}.user-detail__header__info{display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden}.user-detail__header__info>:not(:last-child){margin-bottom:6px}.user-detail__header__title{align-items:center;display:flex;font-size:18px;font-weight:600;line-height:28px}.user-detail__header__title span{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.user-detail__header__user-id{align-items:center;display:flex;font-size:14px}.user-detail__header__user-id>:not(:last-child){margin-right:8px}.user-detail__header__user-id span{white-space:nowrap}.user-detail__header__user-id__text{background-color:var(--color-white);border:1px solid var(--color-border);color:var(--copy-text-color);display:inline-flex;font-family:Source Code Pro;font-size:14px;font-weight:500;max-width:290px;overflow:hidden}.user-detail__header__action{align-items:center;display:flex}.user-detail .panel{margin-top:40px}.user-detail__info-grid__grid{grid-gap:40px 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.user-detail__info-grid__item{display:flex;flex-wrap:wrap;font-size:14px}.user-detail__info-grid__item__label{align-items:center;color:var(--color-secondary-text);display:inline-flex;margin-bottom:12px;width:100%}.user-detail__info-grid__item__body{max-width:100%;overflow-x:hidden;overflow:visible;text-overflow:ellipsis;white-space:nowrap;white-space:normal;width:100%}.user-detail__info-grid__item__guide{align-items:center;border:1px solid var(--color-black);border-radius:50%;cursor:pointer;display:inline-flex;height:1em;justify-content:center;margin-left:6px;width:1em}.user-detail__info-grid__item__guide img{height:1em}.user-detail__info-grid__item .input-field-container{margin:0}.user-detail__info-grid__item .email-verified-button{font-weight:400;margin-left:12px}.user-detail__info-grid .phone-input,.user-detail__info-grid input{background-color:var(--color-window-bg)}.user-detail__info-grid .input-field-error{font-weight:400}.user-detail__provider-box{align-items:center;background-color:var(--color-copy-box-bg);color:var(--color-copy-box);display:inline-flex;font-size:13px;width:100%}.user-detail__provider-box>:not(:last-child){margin-right:6px}.user-detail__provider-box.block-snippet{border:none;padding-right:4px}.user-detail__provider-box>span>img{height:1em}.user-detail__provider-box__user-id{flex:1 1;overflow-x:hidden;padding:4px 4px 4px 0}.user-detail__provider-box__user-id .copy-text{width:100%}@media only screen and (min-width:909px){.user-detail{margin:0 auto;padding-left:0;padding-right:0;width:829px}}.user-detail-title{color:var(--color-black);font-size:28px;font-weight:500;line-height:34px;margin-bottom:16px}.user-detail-subtitle{color:var(--color-secondary-text);margin-bottom:48px}.user-detail-paper{background-color:var(--color-white);border-radius:6px;box-shadow:0 0 6px rgba(0,0,0,.16);display:block;max-width:100%;width:100%}.user-detail .block-info-connection{margin-bottom:24px}.pill{margin-top:4px}.copy-text{align-items:center;display:inline-flex;max-width:100%}.copy-text .copy-text-text{flex:1 1;max-width:100%;overflow-x:hidden;padding-right:4px;text-overflow:ellipsis;white-space:nowrap}.copy-text .copy-text-action{border-radius:50%;cursor:pointer;transition:.3s}.copy-text .copy-text-action:hover{background-color:var(--color-copy-box-shadow);box-shadow:0 0 0 4px var(--color-copy-box-shadow)}.copy-text .copy-text-notification{font-size:12px;position:fixed;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1}.copy-text .copy-text-notification span{background-color:var(--color-black);border-color:var(--color-black);color:var(--color-white);margin:0 12px;white-space:nowrap}.panel.no-padding-horizontal{padding-left:0!important;padding-right:0!important}.content-container{padding-bottom:24px;padding-top:24px;width:100%}.content-container .header{align-items:center;color:var(--color-secondary-text);display:flex;flex-direction:row;justify-content:space-between;padding-left:34px;padding-right:34px}@media only screen and (max-width:600px){.content-container .header{align-items:flex-start;flex-direction:column}}.content-container .header .header-primary{align-items:center;display:flex;flex-direction:row;font-size:14px;font-weight:500}@media only screen and (max-width:600px){.content-container .header .header-primary{align-items:flex-start;flex-direction:column}}.content-container .header .header-secondary{font-size:12px;font-weight:400;margin-left:4px}@media only screen and (max-width:600px){.content-container .header .header-secondary{margin-left:0;margin-top:2px}}.content-container .header .button-error{font-weight:500}@media only screen and (max-width:600px){.content-container .header .button-error{margin-top:12px}}.content-container .table-container{display:block;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-top:18px;max-width:100%;overflow-x:scroll;width:100%}.content-container .table{border-collapse:collapse;border-spacing:0;display:table;max-width:100%;width:100%}.content-container .table .thead{color:var(--color-black);font-size:12px;line-height:14px;text-transform:uppercase}.content-container .table .thead .head-row{background:#fafafa;border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);padding:15px 34px}.content-container .table .thead .head-row th{font-weight:500;padding:15px 35px;text-align:center;white-space:nowrap}.content-container .table .thead .head-row th:last-child{padding-right:34px}.content-container .table .thead .head-row .w30{padding-left:34px;text-align:left}.content-container .table tbody{padding-left:34px;padding-right:34px}.content-container .table tbody .placeholder{display:flex}.content-container .table tbody .session-info{display:flex;margin-left:34px;margin-right:34px;width:100%}.content-container .table tbody .session-row{margin-left:34px;margin-right:34px;margin-top:29px}.content-container .table tbody .session-row.empty-row{display:flex}.content-container .table tbody .session-row.with-data td{color:var(--color-secondary-text);font-size:14px;font-weight:400;height:1px;min-height:28px;padding-left:35px;padding-right:35px;padding-top:29px;text-align:center;white-space:nowrap;width:23.3333333333%}.content-container .table tbody .session-row.with-data td span{background-color:var(--color-copy-box-bg);border-radius:4px;display:flex;padding:7px 8px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.content-container .table tbody .session-row.with-data td .button-error-outline{display:block}.content-container .table tbody .session-row.with-data td.session-id{font-family:Source Code Pro;font-weight:500}.content-container .table tbody .session-row.with-data td:last-child{padding-right:34px}.content-container .table tbody .session-row.with-data .w30{padding-left:34px;text-align:left}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! +@import url(https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap);.phone-display{align-items:flex-start;display:flex}.phone-display>:not(:last-child){margin-right:5px}.phone-input{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;overflow:hidden;width:100%}.phone-input__country-select{display:inline-flex;flex-direction:column;font-weight:400}.phone-input__country-select__current-value{align-items:center;cursor:pointer;display:inline-flex;padding-left:12px}.phone-input__country-select__current-value>:not(:last-child){margin-right:8px}.phone-input__country-select__current-value .PhoneInputCountryIcon img{box-shadow:0 0 3px var(--color-shadow);height:14px}.phone-input__country-select__current-value .country-calling-code{color:var(--color-black)}.phone-input__country-select__popup{background-color:var(--color-white);border-radius:6px;box-shadow:0 0 4px var(--color-shadow);display:none;overflow-y:auto;position:relative;position:fixed}.phone-input__country-select__popup__option{align-items:center;cursor:pointer;display:flex;font-weight:400;padding:10px 12px}.phone-input__country-select__popup__option>:not(:last-child){margin-right:12px}.phone-input__country-select__popup__option .PhoneInputCountryIcon{font-size:14px}.phone-input__country-select__popup__option .PhoneInputCountryIcon img{box-shadow:0 0 4px var(--color-shadow);height:1em}.phone-input__country-select__popup__option .country-calling-code{color:var(--color-secondary-text)}.phone-input__country-select__popup__option.selected{background-color:var(--color-window-bg);color:var(--color-link);pointer-events:none}.phone-input__country-select__popup__option.selected .country-calling-code{color:var(--color-secondary-text)}.phone-input__country-select__popup.popup-active{display:block;z-index:var(--z-index-inline-popup)}.phone-input input.PhoneInputInput{border:none;display:block;flex:1 1 auto;font-family:inherit;outline:none;overflow-x:hidden;padding:8px 12px}.phone-input.PhoneInput--focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-opacity-40)}.phone-input.phone-input-error{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-shadow)}.input-field-container{display:flex;flex-flow:column;margin-bottom:24px}.input-label{color:var(--color-secondary-text);font-weight:500;margin-bottom:12px}.input-label-required{color:var(--color-error);margin:0 4px}.input-field-inset{align-items:center;border:1px solid #e0e0e0;border-radius:6px;display:flex;outline:none}.input-field{background-color:#fafafa;border:none;border-radius:6px;display:block;flex:1 1;font-family:inherit;outline:none;padding:8px 12px}.input-field:focus{background-color:#fff}.input-field-inset-focused,.input-field-inset:active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-opacity-40)}.input-field-inset-error-state,.input-field-inset-error-state:active,.input-field-inset-error-state:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-shadow)}.input-field-suffix .icon{cursor:pointer;padding:8px 12px 8px 0}.input-field-error{align-items:center;display:flex;margin-top:8pt}.input-field-error-icon{height:16px;margin-bottom:2px;margin-right:8px;width:16px}.input-field-error-text{line-height:normal!important}.user-detail-form .input-field-container:not(:last-of-type){margin-bottom:24px}.user-detail-form__header{font-size:24px}.user-detail-form__actions{display:flex;justify-content:flex-end}.user-detail-form__actions>:not(:last-child){margin-right:24px}.user-detail-form__actions button{font-weight:400;justify-content:center;padding:10px 16px}.user-detail-form p{font-size:14px;line-height:24px}.user-detail-form p span{color:#ed344e;font-weight:700}.phone-input{margin-bottom:8px;margin-top:12px}.user-delete-input-container{margin-top:8px}.users-list-table-container{display:block;max-width:100%;overflow-x:auto;padding:24px 34px;width:100%}.users-list-table{border-collapse:collapse;border-spacing:0;max-width:100%;width:100%}.users-list-table thead{color:var(--color-secondary-text);font-size:12px;line-height:14px;text-transform:uppercase}.users-list-table thead tr{border-bottom:1px solid var(--color-border)}.users-list-table thead tr th{font-weight:500;padding:0 1em 24px 0;text-align:left;width:33%}.users-list-table tbody tr{border-bottom:1px solid var(--color-border)}.users-list-table tbody tr td{max-width:50%;padding:24px 1em 24px 0;width:33%}.users-list-table tbody tr.empty-row td{padding:12px 0}.user-row .user-info{color:var(--color-secondary-text);display:flex;flex-direction:column;padding-right:16px}.user-row .user-info div{max-width:25ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row .user-info div:not(:last-child){margin-bottom:4px}.user-row .user-info .main{color:var(--color-black);cursor:pointer;font-weight:500}.user-row .user-info .main:hover{color:var(--color-link)}.user-row .user-date{min-width:110px;white-space:nowrap}.user-row.placeholder td div{-webkit-animation:blinker 2s linear infinite;animation:blinker 2s linear infinite;background-color:var(--color-loader-placeholder-bg);min-height:1em;opacity:.4;width:100%}@-webkit-keyframes blinker{50%{opacity:.1}}@keyframes blinker{50%{opacity:.1}}.user-row .user-row-select-button{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:4px;display:inline-flex;height:25px;justify-content:center;transition:.3s;width:25px}.user-row .user-row-select-button img{transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:12px}.user-row .user-row-select-button .img-hover{display:none}.user-row .user-row-select-menu{cursor:pointer}.user-row .user-row-select-menu .user-row-select-popup{display:none;padding:20px 0 0;position:absolute;right:0;top:50%;z-index:var(--z-index-inline-popup)}.user-row .user-row-select-menu .user-row-select-popup .panel{min-width:180px;padding:8px}.user-row .user-row-select-menu .user-row-select-popup-item{align-items:center;border-radius:4px;display:inline-flex;font-weight:400;height:28px;padding:8px;transition:.3s;width:100%}.user-row .user-row-select-menu .user-row-select-popup-item span{white-space:nowrap}.user-row .user-row-select-menu .user-row-select-popup-item img{width:1em}.user-row .user-row-select-menu .user-row-select-popup-item .img-hover{display:none}.user-row .user-row-select-menu .user-row-select-popup-item.delete{color:var(--color-button-error-border)}.user-row .user-row-select-menu .user-row-select-popup-item:hover{background-color:var(--color-popup-item-hover)}.user-row .user-row-select-menu .user-row-select-popup-item:hover .img-hover{display:initial}.user-row .user-row-select-menu .user-row-select-popup-item:hover .img-normal{display:none}.user-row .user-row-select-menu .user-row-select-popup-item:hover.delete{background-color:var(--color-popup-item-delete-hover)}.user-row .user-row-select-menu:hover .user-row-select-popup{display:block}.user-row .user-row-select-menu:hover .user-row-select-button{border:1px solid var(--color-primary);box-shadow:0 0 5px var(--color-primary)}.user-row .user-row-select-menu:hover .user-row-select-button img{display:none}.user-row .user-row-select-menu:hover .user-row-select-button .img-hover{display:initial;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.user-row:last-of-type .user-row-select-popup{padding:0 40px;top:-50%}.user-list-footer{display:flex;justify-content:flex-end;left:0;padding-top:24px;position:-webkit-sticky;position:sticky}.users-list-pagination{display:flex}.users-list-pagination>:not(:last-child){margin-right:1em}.users-list-pagination .users-list-pagination-count{font-weight:500}.users-list-pagination .users-list-pagination-navigation{display:flex}.users-list-pagination .users-list-pagination-navigation>:not(:last-child){margin-right:.5em}.users-list-pagination .users-list-pagination-button{background:none;border:none}.pill{align-items:center;border-radius:20px;display:flex;padding:4px 8px;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pill>:not(:last-child){margin-right:4px}.pill.passwordless{background-color:var(--color-passwordless-bg);color:var(--color-passwordless-text)}.pill.emailpassword{background-color:var(--color-emailpassword-bg);color:var(--color-emailpassword-text)}.pill.thirdparty{background-color:var(--color-custom-provider-bg);color:var(--color-custom-provider-text);max-width:25ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.thirdparty .thirdparty-name{max-width:10ch;overflow:inherit;text-overflow:inherit}.pill.thirdparty.google{background-color:var(--color-google-bg);color:var(--color-google-text)}.pill.thirdparty.google span{text-transform:capitalize}.pill.thirdparty.apple{background-color:var(--color-apple-bg);color:var(--color-apple-text)}.pill.thirdparty.apple span{text-transform:capitalize}.pill.thirdparty.github{background-color:var(--color-github-bg);color:var(--color-github-text)}.pill.thirdparty.github span{text-transform:capitalize}.pill.thirdparty.facebook{background-color:var(--color-facebook-bg);color:var(--color-facebook-text)}.pill.thirdparty.facebook span{text-transform:capitalize}.footer{bottom:0;display:flex;min-height:62px;padding:20px 32px;width:100%}.footer .logo{height:23px;width:151px}.footer.alignment-right{justify-content:flex-end}.footer.alignment-center{justify-content:center}.footer.vertical-center{align-items:center}.footer.vertical-bottom{align-self:flex-end}.footer.color-dark{background-color:var(--color-black)}.footer.color-dark .logo{width:148px}.footer.size-large{padding:40px 32px}.no-users{align-items:center;display:flex;flex-flow:column;padding:60px 24px}.no-users-image{height:43px;margin-bottom:24px;width:63px}.no-users-title{color:var(--color-black);font-size:18px;font-weight:500;letter-spacing:.18px;line-height:22px;margin-bottom:8px;text-align:center}.no-users .no-users-subtitle{color:var(--color-secondary-text);line-height:1.5em;max-width:54ch;padding:4px 0;text-align:center}@media only screen and (min-width:992px){.no-users{padding:60px}}.search{margin-bottom:20px}.search #search-btn{background:var(--color-white);border:1px solid var(--color-black);border-radius:6px;cursor:pointer;display:inline-block;font-family:inherit;font-size:14px;font-weight:500;height:35px;line-height:17px;margin-left:10px;padding:6px 8px;z-index:1}@media screen and (max-width:768px){.search #search-btn{margin-left:0;margin-top:10px;width:100%}}.search__input_wrapper{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:6px;display:inline-flex;height:40px;padding:9px 16px;width:340px}@media screen and (max-width:768px){.search__input_wrapper{width:100%}}.search__input_wrapper img{aspect-ratio:1;height:14px}.search__input_wrapper img:first-child{margin-bottom:3px;margin-right:10px}.search__input_wrapper img:last-child{cursor:pointer;height:22px}.search__input_wrapper.active{border:1px solid #f93;outline:2px solid rgba(255,153,51,.4)}.search__input_wrapper input{border:none;flex-grow:1;height:20px}.search__input_wrapper input:active,.search__input_wrapper input:focus,.search__input_wrapper input:focus-visible,.search__input_wrapper input:focus-within{outline:none}.search__input_wrapper input::-webkit-input-placeholder{color:rgba(34,34,34,.7);font-size:16px;font-weight:400;line-height:171%;padding-bottom:0}.search__input_wrapper input::placeholder{color:rgba(34,34,34,.7);font-size:16px;font-weight:400;line-height:171%;padding-bottom:0}.searchTag{align-items:center;display:inline-flex;margin:12px 8px 12px 0}.searchTag__value{background:#fafafa;border:1px solid #ddd;border-radius:4px;color:#000;font-size:14px;font-weight:400;margin-left:4px;padding:6px}.searchTag__value img{cursor:pointer;height:8px;margin-left:10px}.tag_dropdown{position:relative}.tag_dropdown__selector{align-items:center;background:#eee;border:1px solid #e2e2e2;border-radius:4px;color:#000;display:flex;font-size:14px;font-weight:500;padding:6px}.tag_dropdown__selector img{margin-left:10px}.tag_dropdown__selector.active{background:#fff2e1;border:1px solid #ebdfcf;border-radius:4px}.tag_dropdown__menu{background:#fff;border-radius:6px;box-shadow:0 0 8px rgba(0,0,0,.16);min-width:180px;position:absolute;top:calc(2em + 8px);z-index:999}.tag_dropdown__menu ul{list-style-type:none}.tag_dropdown__menu ul li{color:#6e6a65;display:flex;font-size:14px;font-weight:400;justify-content:space-between;margin:7px;padding:10px}.tag_dropdown__menu ul li:hover{background:#f0f0f0}.tag_dropdown__menu ul li span{align-items:baseline;display:flex}.tag_dropdown__menu ul li span img{height:15px;margin-right:11px}.tenant-pill{background:rgba(147,53,228,.1);border:1px solid #9335e4;border-radius:30px;color:#9335e4;font-size:14px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;padding:5px 13px}.tenant-list-container{-webkit-column-gap:16px;column-gap:16px;display:flex;flex-direction:row;flex-wrap:wrap;row-gap:16px}.user-detail-page-loader{min-height:80vh}.full-screen-loading-overlay,.user-detail-page-loader{align-items:center;display:flex;justify-content:center}.full-screen-loading-overlay{background-color:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1}.loader-container{background-color:var(--color-window-bg);border-radius:50%;display:flex;padding:2px}.loader{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;border:16px solid #f3f3f3;border-radius:50%;border-top-color:#f93;height:60px;width:60px}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}.user-detail{--badge-bg-color:#c5e0fd;--copy-text-color:#d65078;max-width:100vw;padding:72px 40px 48px}.user-detail.center-children{align-items:center;display:flex;flex-direction:column;justify-content:center}.user-detail.center-children .subtitle{font-size:16px;line-height:26px}.user-detail.center-children .back-button{color:var(--color-link);cursor:pointer;margin-top:16px}.user-detail__header{align-items:center;display:flex;margin-top:40px;overflow:hidden}.user-detail__header>:not(:last-child){margin-right:16px}.user-detail__header__badge{align-items:center;background-color:var(--badge-bg-color);border-radius:50%;color:var(--color-link);display:flex;flex-shrink:0;font-size:24px;font-weight:600;height:60px;justify-content:center;text-align:center;text-transform:uppercase;width:60px}.user-detail__header__info{display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden}.user-detail__header__info>:not(:last-child){margin-bottom:6px}.user-detail__header__title{align-items:center;display:flex;font-size:18px;font-weight:600;line-height:28px}.user-detail__header__title span{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.user-detail__header__user-id{align-items:center;display:flex;font-size:14px}.user-detail__header__user-id>:not(:last-child){margin-right:8px}.user-detail__header__user-id span{white-space:nowrap}.user-detail__header__user-id__text{background-color:var(--color-white);border:1px solid var(--color-border);color:var(--copy-text-color);display:inline-flex;font-family:Source Code Pro;font-size:14px;font-weight:500;max-width:290px;overflow:hidden}.user-detail__header__action{align-items:center;display:flex}.user-detail .panel{margin-top:40px}.user-detail__info-grid__grid{grid-gap:40px 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.user-detail__info-grid__item{display:flex;flex-wrap:wrap;font-size:14px}.user-detail__info-grid__item__label{align-items:center;color:var(--color-secondary-text);display:inline-flex;margin-bottom:12px;width:100%}.user-detail__info-grid__item__body{max-width:100%;overflow-x:hidden;overflow:visible;text-overflow:ellipsis;white-space:nowrap;white-space:normal;width:100%}.user-detail__info-grid__item__guide{align-items:center;border:1px solid var(--color-black);border-radius:50%;cursor:pointer;display:inline-flex;height:1em;justify-content:center;margin-left:6px;width:1em}.user-detail__info-grid__item__guide img{height:1em}.user-detail__info-grid__item .input-field-container{margin:0}.user-detail__info-grid__item .email-verified-button{font-weight:400;margin-left:12px}.user-detail__info-grid .phone-input,.user-detail__info-grid input{background-color:var(--color-window-bg)}.user-detail__info-grid .input-field-error{font-weight:400}.user-detail__provider-box{align-items:center;background-color:var(--color-copy-box-bg);color:var(--color-copy-box);display:inline-flex;font-size:13px;width:100%}.user-detail__provider-box>:not(:last-child){margin-right:6px}.user-detail__provider-box.block-snippet{border:none;padding-right:4px}.user-detail__provider-box>span>img{height:1em}.user-detail__provider-box__user-id{flex:1 1;overflow-x:hidden;padding:4px 4px 4px 0}.user-detail__provider-box__user-id .copy-text{width:100%}@media only screen and (min-width:909px){.user-detail{margin:0 auto;padding-left:0;padding-right:0;width:829px}}.user-detail-title{color:var(--color-black);font-size:28px;font-weight:500;line-height:34px;margin-bottom:16px}.user-detail-subtitle{color:var(--color-secondary-text);margin-bottom:48px}.user-detail-paper{background-color:var(--color-white);border-radius:6px;box-shadow:0 0 6px rgba(0,0,0,.16);display:block;max-width:100%;width:100%}.user-detail .block-info-connection{margin-bottom:24px}.pill{margin-top:4px}.copy-text{align-items:center;display:inline-flex;max-width:100%}.copy-text .copy-text-text{flex:1 1;max-width:100%;overflow-x:hidden;padding-right:4px;text-overflow:ellipsis;white-space:nowrap}.copy-text .copy-text-action{border-radius:50%;cursor:pointer;transition:.3s}.copy-text .copy-text-action:hover{background-color:var(--color-copy-box-shadow);box-shadow:0 0 0 4px var(--color-copy-box-shadow)}.copy-text .copy-text-notification{font-size:12px;position:fixed;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1}.copy-text .copy-text-notification span{background-color:var(--color-black);border-color:var(--color-black);color:var(--color-white);margin:0 12px;white-space:nowrap}.panel.no-padding-horizontal{padding-left:0!important;padding-right:0!important}.content-container{padding-bottom:24px;padding-top:24px;width:100%}.content-container .header{align-items:center;color:var(--color-secondary-text);display:flex;flex-direction:row;justify-content:space-between;padding-left:34px;padding-right:34px}@media only screen and (max-width:600px){.content-container .header{align-items:flex-start;flex-direction:column}}.content-container .header .header-primary{align-items:center;display:flex;flex-direction:row;font-size:14px;font-weight:500}@media only screen and (max-width:600px){.content-container .header .header-primary{align-items:flex-start;flex-direction:column}}.content-container .header .header-secondary{font-size:12px;font-weight:400;margin-left:4px}@media only screen and (max-width:600px){.content-container .header .header-secondary{margin-left:0;margin-top:2px}}.content-container .header .button-error{font-weight:500}@media only screen and (max-width:600px){.content-container .header .button-error{margin-top:12px}}.content-container .table-container{display:block;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-top:18px;max-width:100%;overflow-x:scroll;width:100%}.content-container .table{border-collapse:collapse;border-spacing:0;display:table;max-width:100%;width:100%}.content-container .table .thead{color:var(--color-black);font-size:12px;line-height:14px;text-transform:uppercase}.content-container .table .thead .head-row{background:#fafafa;border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);padding:15px 34px}.content-container .table .thead .head-row th{font-weight:500;padding:15px 35px;text-align:center;white-space:nowrap}.content-container .table .thead .head-row th:last-child{padding-right:34px}.content-container .table .thead .head-row .w30{padding-left:34px;text-align:left}.content-container .table tbody{padding-left:34px;padding-right:34px}.content-container .table tbody .placeholder{display:flex}.content-container .table tbody .session-info{display:flex;margin-left:34px;margin-right:34px;width:100%}.content-container .table tbody .session-row{margin-left:34px;margin-right:34px;margin-top:29px}.content-container .table tbody .session-row.empty-row{display:flex}.content-container .table tbody .session-row.with-data td{color:var(--color-secondary-text);font-size:14px;font-weight:400;height:1px;min-height:28px;padding-left:35px;padding-right:35px;padding-top:29px;text-align:center;white-space:nowrap;width:23.3333333333%}.content-container .table tbody .session-row.with-data td span{background-color:var(--color-copy-box-bg);border-radius:4px;display:flex;padding:7px 8px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.content-container .table tbody .session-row.with-data td .button-error-outline{display:block}.content-container .table tbody .session-row.with-data td.session-id{font-family:Source Code Pro;font-weight:500}.content-container .table tbody .session-row.with-data td:last-child{padding-right:34px}.content-container .table tbody .session-row.with-data .w30{padding-left:34px;text-align:left}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! Theme: An Old Hope – Star Wars Syntax Author: (c) Gustavo Costa Maintainer: @gusbemacbe diff --git a/build/static/css/main.css.map b/build/static/css/main.css.map index 4f752c82..44bbf978 100644 --- a/build/static/css/main.css.map +++ b/build/static/css/main.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/main.css","mappings":"8LAiBA,eAEC,uBADA,YACA,CCHA,iCACC,gBDGuB,CAGzB,aAGC,mBAGA,qCADA,kBAHA,aAEA,gBAHA,UAKA,CACA,6BACC,oBACA,sBACA,gBACA,4CAEC,mBAEA,eAHA,oBAEA,iBACA,CCtBF,8DACC,gBDsByB,CAEvB,uEAEC,uCADA,WACA,CAGF,kEACC,yBAGF,oCAKC,oCADA,kBAEA,uCALA,aAMA,gBALA,kBACA,cAIA,CACA,4CAGC,mBAEA,eAJA,aAGA,gBAFA,iBAGA,CC/CH,8DACC,iBD+C0B,CACxB,mEACC,eACA,uEAEC,uCADA,UACA,CAGF,kEACC,kCAGD,qDACC,wCACA,wBACA,oBACA,2EACC,kCAKH,iDACC,cACA,oCAIH,mCAOC,YAFA,cAJA,cAGA,oBAIA,aALA,kBAGA,gBAEA,CAIF,+BACC,kCACA,qDAGD,+BACC,gCACA,+CEhGD,uBACC,YAAa,CACb,gBAAiB,CACjB,kBACD,CAEA,aACC,iCAAkC,CAClC,eAAgB,CAChB,kBACD,CAEA,sBACC,wBAAyB,CACzB,YACD,CAEA,mBAEC,kBAAmB,CACnB,wBAAoC,CACpC,iBAAkB,CAHlB,YAAa,CAIb,YACD,CAEA,aAQC,wBAAoC,CAFpC,WAAY,CADZ,iBAAkB,CAFlB,aAAc,CAFd,QAAO,CACP,mBAAoB,CAKpB,YAAa,CAHb,gBAKD,CAEA,mBACC,qBACD,CAEA,qDAEC,iCAAkC,CAClC,oDACD,CAEA,0GAGC,+BAAgC,CAChC,8CACD,CAEA,0BACC,cAAe,CACf,sBACD,CAEA,mBAEC,kBAAmB,CADnB,YAAa,CAEb,cACD,CAEA,wBACC,WAAY,CAGZ,iBAAkB,CADlB,gBAAiB,CADjB,UAGD,CAEA,wBACC,4BACD,CCvEC,4DACC,mBAED,0BACC,eAED,2BACC,aACA,yBFTD,6CACC,iBESwB,CACxB,kCAEC,gBADA,uBAKA,kBAGF,oBACC,eACA,iBAEA,yBACC,cACA,gBAKH,aAEC,kBADA,eACA,CAGD,6BACC,eClCD,4BAEC,cAEA,eACA,gBAJA,kBAEA,UAEA,CAGD,kBAIC,yBADA,iBADA,eADA,UAGA,CAGD,wBACC,kCAEA,eACA,iBAFA,wBAEA,CAGD,2BACC,4CACA,8BAEC,gBADA,qBAEA,gBACA,UAIF,2BACC,4CACA,8BAEC,cACA,wBAFA,SAEA,CAGA,wCACC,eAMF,qBAGC,kCAFA,aACA,sBAEA,mBACA,yBACC,eACA,gBACA,uBACA,mBAEA,0CACC,kBAGF,2BACC,yBAEA,eADA,eACA,CACA,iCACC,wBAKH,qBACC,gBACA,mBAIA,6BAKC,kFAHA,oDACA,eACA,WAHA,UAIA,CACA,2BACC,IACC,YAFF,mBACC,IACC,YAMJ,kCAGC,mBAFA,sBAOA,qCADA,kBALA,oBAIA,YAFA,uBAKA,eAJA,UAIA,CACA,sCAEC,yGADA,UACA,CAGD,6CACC,aAIF,gCACC,eAEA,uDACC,aAKA,iBAHA,kBAEA,QADA,QAFA,mCAIA,CAEA,8DAEC,gBADA,WACA,CAIF,4DAEC,mBAMA,kBAPA,oBAIA,gBAFA,YACA,YAGA,eADA,UAEA,CAEA,iEACC,mBAGD,gEACC,UAGD,uEACC,aAGD,mEACC,uCAGD,kEACC,+CACA,6EACC,gBAED,8EACC,aAGD,yEACC,sDAMF,6DACC,cAED,8DACC,sCACA,wCACA,kEACC,aAGD,yEACC,gBACA,0DAOH,8CAEC,eADA,KACA,CAKH,kBACC,aACA,yBAGA,OAFA,gBA1MqB,CA2MrB,uCACA,CAGD,uBACC,aHjNA,yCACC,gBGiNuB,CAExB,oDACC,gBAED,yDACC,aHxND,2EACC,iBGwNwB,CAEzB,qDAEC,gBADA,WACA,CAIF,MAIC,mBAFA,mBADA,aAEA,gBAGA,mBADA,kEACA,CHvOA,wBACC,gBGuOuB,CAExB,mBAEC,8CADA,oCACA,CAED,oBAEC,+CADA,qCACA,CAED,iBAEC,iDADA,wCAEA,eAEA,gBADA,uBAEA,mBACA,kCACC,eAEA,iBADA,qBACA,CAED,wBAEC,wCADA,8BACA,CACA,6BACC,0BAGF,uBAEC,uCADA,6BACA,CACA,4BACC,0BAGF,wBAEC,wCADA,8BACA,CACA,6BACC,0BAGF,0BAEC,0CADA,gCACA,CACA,+BACC,0BCxRJ,QACC,SAG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","sources":["ui/components/phoneNumber/PhoneNumber.scss","ui/styles/mixin.scss","ui/components/inputField/InputField.css","ui/components/userDetail/userDetailForm.scss","ui/components/usersListTable/UsersListTable.scss","ui/components/footer/footer.scss","ui/components/noUsers/NoUsers.css","ui/components/search/search.scss","ui/components/userDetail/tenantList/UserTenantsList.scss","ui/components/userDetail/userDetail.scss","ui/components/copyText/CopyText.scss","ui/components/userDetail/userDetailSessionList.scss","../node_modules/highlight.js/scss/an-old-hope.scss","ui/components/common/iconButton/style.scss","ui/components/userDetail/userMetaDataSection.scss","ui/pages/usersList/UsersList.scss","ui/components/auth/SignOutBtn.scss","ui/components/auth/Auth.scss","ui/components/errorboundary/error-boundary.scss","ui/components/toast/toastNotification.scss","ui/styles/index.css","ui/styles/variables.css","ui/styles/uikit.scss"],"sourcesContent":["/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n.phone-display {\n\tdisplay: flex;\n\talign-items: flex-start;\n\t@include gap-horizontal(5px);\n}\n\n.phone-input {\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\toverflow: hidden;\n\tborder-radius: 6px;\n\tborder: 1px solid var(--color-border);\n\t&__country-select {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tfont-weight: normal;\n\t\t&__current-value {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tpadding-left: 12px;\n\t\t\tcursor: pointer;\n\t\t\t@include gap-horizontal(8px);\n\t\t\t.PhoneInputCountryIcon {\n\t\t\t\timg {\n\t\t\t\t\theight: 14px;\n\t\t\t\t\tbox-shadow: 0px 0px 3px var(--color-shadow);\n\t\t\t\t}\n\t\t\t}\n\t\t\t.country-calling-code {\n\t\t\t\tcolor: var(--color-black);\n\t\t\t}\n\t\t}\n\t\t&__popup {\n\t\t\tdisplay: none;\n\t\t\tposition: relative;\n\t\t\tposition: fixed;\n\t\t\tborder-radius: 6px;\n\t\t\tbackground-color: var(--color-white);\n\t\t\tbox-shadow: 0px 0px 4px var(--color-shadow);\n\t\t\toverflow-y: auto;\n\t\t\t&__option {\n\t\t\t\tdisplay: flex;\n\t\t\t\tpadding: 10px 12px;\n\t\t\t\talign-items: center;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tcursor: pointer;\n\t\t\t\t@include gap-horizontal(12px);\n\t\t\t\t.PhoneInputCountryIcon {\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\timg {\n\t\t\t\t\t\theight: 1em;\n\t\t\t\t\t\tbox-shadow: 0px 0px 4px var(--color-shadow);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.country-calling-code {\n\t\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\t}\n\n\t\t\t\t&.selected {\n\t\t\t\t\tbackground-color: var(--color-window-bg);\n\t\t\t\t\tcolor: var(--color-link);\n\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t.country-calling-code {\n\t\t\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.popup-active {\n\t\t\t\tdisplay: block;\n\t\t\t\tz-index: var(--z-index-inline-popup);\n\t\t\t}\n\t\t}\n\t}\n\tinput.PhoneInputInput {\n\t\tflex: 1 1 auto;\n\t\tborder-left: none;\n\t\toverflow-x: hidden;\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t\tpadding: 8px 12px 8px;\n\t\tborder: none;\n\t\toutline: none;\n\t}\n}\n\n.phone-input.PhoneInput--focus {\n\tborder-color: var(--color-primary);\n\tbox-shadow: 0px 0px 0px 2px var(--color-primary-opacity-40);\n}\n\n.phone-input.phone-input-error {\n\tborder-color: var(--color-error);\n\tbox-shadow: 0px 0px 0px 2px var(--color-error-shadow);\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@mixin gap-horizontal($gap) {\n\t> :not(:last-child) {\n\t\tmargin-right: $gap;\n\t}\n}\n\n@mixin gap-vertical($gap) {\n\t> :not(:last-child) {\n\t\tmargin-bottom: $gap;\n\t}\n}\n\n@mixin text-ellipsis($max-width) {\n\tmax-width: $max-width;\n\toverflow-x: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n.input-field-container {\n\tdisplay: flex;\n\tflex-flow: column;\n\tmargin-bottom: 24px;\n}\n\n.input-label {\n\tcolor: var(--color-secondary-text);\n\tfont-weight: 500;\n\tmargin-bottom: 12px;\n}\n\n.input-label-required {\n\tcolor: var(--color-error);\n\tmargin: 0px 4px;\n}\n\n.input-field-inset {\n\tdisplay: flex;\n\talign-items: center;\n\tborder: 1px solid rgb(224, 224, 224);\n\tborder-radius: 6px;\n\toutline: none;\n}\n\n.input-field {\n\tflex: 1;\n\tfont-family: inherit;\n\tdisplay: block;\n\tpadding: 8px 12px 8px;\n\tborder-radius: 6px;\n\tborder: none;\n\toutline: none;\n\tbackground-color: rgb(250, 250, 250);\n}\n\n.input-field:focus {\n\tbackground-color: white;\n}\n\n.input-field-inset-focused,\n.input-field-inset:active {\n\tborder-color: var(--color-primary);\n\tbox-shadow: 0px 0px 0px 2px var(--color-primary-opacity-40);\n}\n\n.input-field-inset-error-state,\n.input-field-inset-error-state:focus,\n.input-field-inset-error-state:active {\n\tborder-color: var(--color-error);\n\tbox-shadow: 0px 0px 0px 2px var(--color-error-shadow);\n}\n\n.input-field-suffix .icon {\n\tcursor: pointer;\n\tpadding: 8px 12px 8px 0px;\n}\n\n.input-field-error {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-top: 8pt;\n}\n\n.input-field-error-icon {\n\theight: 16px;\n\twidth: 16px;\n\tmargin-right: 8px;\n\tmargin-bottom: 2px;\n}\n\n.input-field-error-text {\n\tline-height: normal !important;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n\n.user-detail-form {\n\t.input-field-container:not(:last-of-type) {\n\t\tmargin-bottom: 24px;\n\t}\n\t&__header {\n\t\tfont-size: 24px;\n\t}\n\t&__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: flex-end;\n\t\t@include gap-horizontal(24px);\n\t\tbutton {\n\t\t\tjustify-content: center;\n\t\t\tfont-weight: normal;\n\t\t\tpadding-top: 10px;\n\t\t\tpadding-bottom: 10px;\n\t\t\tpadding-right: 16px;\n\t\t\tpadding-left: 16px;\n\t\t}\n\t}\n\tp {\n\t\tfont-size: 14px;\n\t\tline-height: 24px;\n\n\t\tspan {\n\t\t\tcolor: #ed344e;\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n\n.phone-input {\n\tmargin-top: 12px;\n\tmargin-bottom: 8px;\n}\n\n.user-delete-input-container {\n\tmargin-top: 8px;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n$container-padding-v: 24px;\n\n.users-list-table-container {\n\tpadding: $container-padding-v 34px;\n\tdisplay: block;\n\twidth: 100%;\n\tmax-width: 100%;\n\toverflow-x: auto;\n}\n\n.users-list-table {\n\twidth: 100%;\n\tmax-width: 100%;\n\tborder-spacing: 0px;\n\tborder-collapse: collapse;\n}\n\n.users-list-table thead {\n\tcolor: var(--color-secondary-text);\n\ttext-transform: uppercase;\n\tfont-size: 12px;\n\tline-height: 14px;\n}\n\n.users-list-table thead tr {\n\tborder-bottom: 1px solid var(--color-border);\n\tth {\n\t\tpadding: 0 1em 24px 0;\n\t\tfont-weight: 500;\n\t\ttext-align: left;\n\t\twidth: 33%;\n\t}\n}\n\n.users-list-table tbody tr {\n\tborder-bottom: 1px solid var(--color-border);\n\ttd {\n\t\twidth: 33%;\n\t\tmax-width: 50%;\n\t\tpadding: 24px 1em 24px 0;\n\t}\n\t&.empty-row {\n\t\ttd {\n\t\t\tpadding: 12px 0;\n\t\t}\n\t}\n}\n\n.user-row {\n\t.user-info {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tcolor: var(--color-secondary-text);\n\t\tpadding-right: 16px;\n\t\tdiv {\n\t\t\tmax-width: 25ch;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\n\t\t\t&:not(:last-child) {\n\t\t\t\tmargin-bottom: 4px;\n\t\t\t}\n\t\t}\n\t\t.main {\n\t\t\tcolor: var(--color-black);\n\t\t\tfont-weight: 500;\n\t\t\tcursor: pointer;\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--color-link);\n\t\t\t}\n\t\t}\n\t}\n\n\t.user-date {\n\t\tmin-width: 110px;\n\t\twhite-space: nowrap;\n\t}\n\n\t&.placeholder td {\n\t\tdiv {\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--color-loader-placeholder-bg);\n\t\t\tmin-height: 1em;\n\t\t\topacity: 0.4;\n\t\t\tanimation: blinker 2s linear infinite;\n\t\t\t@keyframes blinker {\n\t\t\t\t50% {\n\t\t\t\t\topacity: 0.1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.user-row-select-button {\n\t\tbackground-color: white;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 25px;\n\t\theight: 25px;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid var(--color-border);\n\t\ttransition: 0.3s;\n\t\timg {\n\t\t\twidth: 12px;\n\t\t\ttransition: transform 0.3s;\n\t\t}\n\n\t\t.img-hover {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t.user-row-select-menu {\n\t\tcursor: pointer;\n\n\t\t.user-row-select-popup {\n\t\t\tdisplay: none;\n\t\t\tz-index: var(--z-index-inline-popup);\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tright: 0px;\n\t\t\tpadding: 20px 0 0px 0;\n\n\t\t\t.panel {\n\t\t\t\tpadding: 8px;\n\t\t\t\tmin-width: 180px;\n\t\t\t}\n\t\t}\n\n\t\t.user-row-select-popup-item {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\theight: 28px;\n\t\t\tpadding: 8px;\n\t\t\tfont-weight: normal;\n\t\t\twidth: 100%;\n\t\t\ttransition: 0.3s;\n\t\t\tborder-radius: 4px;\n\n\t\t\tspan {\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t\timg {\n\t\t\t\twidth: 1em;\n\t\t\t}\n\n\t\t\t.img-hover {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t&.delete {\n\t\t\t\tcolor: var(--color-button-error-border);\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--color-popup-item-hover);\n\t\t\t\t.img-hover {\n\t\t\t\t\tdisplay: initial;\n\t\t\t\t}\n\t\t\t\t.img-normal {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t&.delete {\n\t\t\t\t\tbackground-color: var(--color-popup-item-delete-hover);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.user-row-select-popup {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t\t.user-row-select-button {\n\t\t\t\tborder: 1px solid var(--color-primary);\n\t\t\t\tbox-shadow: 0px 0px 5px var(--color-primary);\n\t\t\t\timg {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.img-hover {\n\t\t\t\t\tdisplay: initial;\n\t\t\t\t\ttransform: rotateZ(180deg);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t&:last-of-type {\n\t\t// put popup on the left because the popup could be cropped by the paper's bottom\n\t\t.user-row-select-popup {\n\t\t\ttop: 0px;\n\t\t\tpadding: 0px 40px 0px;\n\t\t}\n\t}\n}\n\n.user-list-footer {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tpadding-top: $container-padding-v;\n\tposition: sticky;\n\tleft: 0px;\n}\n\n.users-list-pagination {\n\tdisplay: flex;\n\t@include gap-horizontal(1em);\n\n\t.users-list-pagination-count {\n\t\tfont-weight: 500;\n\t}\n\t.users-list-pagination-navigation {\n\t\tdisplay: flex;\n\t\t@include gap-horizontal(0.5em);\n\t}\n\t.users-list-pagination-button {\n\t\tborder: none;\n\t\tbackground: none;\n\t}\n}\n\n.pill {\n\tdisplay: flex;\n\tborder-radius: 20px;\n\tpadding: 4px 8px;\n\talign-items: center;\n\twidth: fit-content;\n\twhite-space: nowrap;\n\t@include gap-horizontal(4px);\n\n\t&.passwordless {\n\t\tcolor: var(--color-passwordless-text);\n\t\tbackground-color: var(--color-passwordless-bg);\n\t}\n\t&.emailpassword {\n\t\tcolor: var(--color-emailpassword-text);\n\t\tbackground-color: var(--color-emailpassword-bg);\n\t}\n\t&.thirdparty {\n\t\tcolor: var(--color-custom-provider-text);\n\t\tbackground-color: var(--color-custom-provider-bg);\n\t\tmax-width: 25ch;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\t.thirdparty-name {\n\t\t\tmax-width: 10ch;\n\t\t\ttext-overflow: inherit;\n\t\t\toverflow: inherit;\n\t\t}\n\t\t&.google {\n\t\t\tcolor: var(--color-google-text);\n\t\t\tbackground-color: var(--color-google-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t\t&.apple {\n\t\t\tcolor: var(--color-apple-text);\n\t\t\tbackground-color: var(--color-apple-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t\t&.github {\n\t\t\tcolor: var(--color-github-text);\n\t\t\tbackground-color: var(--color-github-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t\t&.facebook {\n\t\t\tcolor: var(--color-facebook-text);\n\t\t\tbackground-color: var(--color-facebook-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\n.footer {\n\tbottom: 0;\n\twidth: 100%;\n\tmin-height: 62px;\n\tdisplay: flex;\n\tpadding: 20px 32px;\n\n\t.logo {\n\t\theight: 23px;\n\t\twidth: 151px;\n\t}\n\n\t&.alignment-right {\n\t\tjustify-content: flex-end;\n\t}\n\t&.alignment-center {\n\t\tjustify-content: center;\n\t}\n\n\t&.vertical-center {\n\t\talign-items: center;\n\t}\n\t&.vertical-bottom {\n\t\talign-self: flex-end;\n\t}\n\n\t&.color-dark {\n\t\tbackground-color: var(--color-black);\n\t\t.logo {\n\t\t\twidth: 148px;\n\t\t}\n\t}\n\n\t&.size-large {\n\t\tpadding: 40px 32px;\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n.no-users {\n\tpadding: 60px 24px;\n\tdisplay: flex;\n\tflex-flow: column;\n\talign-items: center;\n}\n\n.no-users-image {\n\theight: 43px;\n\twidth: 63px;\n\tmargin-bottom: 24px;\n}\n\n.no-users-title {\n\tfont-size: 18px;\n\tline-height: 22px;\n\tfont-weight: 500;\n\tcolor: var(--color-black);\n\tletter-spacing: 0.18px;\n\tmargin-bottom: 8px;\n\ttext-align: center;\n}\n\n.no-users .no-users-subtitle {\n\tcolor: var(--color-secondary-text);\n\tpadding: 4px 0;\n\ttext-align: center;\n\tmax-width: 54ch;\n\tline-height: 1.5em;\n}\n\n@media only screen and (min-width: 992px) {\n\t.no-users {\n\t\tpadding: 60px;\n\t}\n}\n",".search {\n\tmargin-bottom: 20px;\n\n\t#search-btn {\n\t\tdisplay: inline-block;\n\t\tbackground: var(--color-white);\n\t\tborder: 1px solid var(--color-black);\n\t\tborder-radius: 6px;\n\t\tpadding: 6px 8px;\n\t\tfont-size: 14px;\n\t\tfont-family: inherit;\n\t\tline-height: 17px;\n\t\tfont-weight: 500;\n\t\tcursor: pointer;\n\t\tz-index: 1;\n\t\theight: 35px;\n\t\tmargin-left: 10px;\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\t& {\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-top: 10px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__input_wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\n\t\twidth: 340px;\n\t\theight: 40px;\n\t\tpadding: 9px 16px;\n\t\tbackground: #ffffff;\n\t\tborder: 1px solid #e5e5e5;\n\t\tborder-radius: 6px;\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\t& {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& img {\n\t\t\theight: 14px;\n\t\t\taspect-ratio: 1;\n\n\t\t\t&:nth-child(1) {\n\t\t\t\tmargin-right: 10px;\n\t\t\t\tmargin-bottom: 3px;\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tcursor: pointer;\n\t\t\t\theight: 22px;\n\t\t\t}\n\t\t}\n\n\t\t&.active {\n\t\t\tborder: 1px solid #ff9933;\n\t\t\toutline: 2px solid rgba(255, 153, 51, 0.4);\n\t\t}\n\n\t\t& input {\n\t\t\tborder: none;\n\t\t\tflex-grow: 1;\n\t\t\theight: 20px;\n\n\t\t\t&:focus,\n\t\t\t&:active,\n\t\t\t&:focus-visible,\n\t\t\t&:focus-within {\n\t\t\t\toutline: none;\n\t\t\t}\n\n\t\t\t&::placeholder {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 16px;\n\t\t\t\tline-height: 171%;\n\n\t\t\t\tcolor: rgba(34, 34, 34, 0.7);\n\t\t\t\tpadding-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.searchTag {\n\tdisplay: inline-flex;\n\tmargin: 12px 0;\n\n\tmargin-right: 8px;\n\n\talign-items: center;\n\n\t&__value {\n\t\tbackground: #fafafa;\n\t\tborder: 1px solid #dddddd;\n\t\tborder-radius: 4px;\n\n\t\tpadding: 6px;\n\n\t\tfont-weight: 400;\n\t\tfont-size: 14px;\n\n\t\tmargin-left: 4px;\n\n\t\tcolor: #000000;\n\n\t\t& img {\n\t\t\tmargin-left: 10px;\n\t\t\theight: 8px;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n.tag_dropdown {\n\tposition: relative;\n\t&__selector {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tbackground: #eeeeee;\n\t\tborder: 1px solid #e2e2e2;\n\t\tborder-radius: 4px;\n\n\t\tfont-weight: 500;\n\t\tfont-size: 14px;\n\n\t\tpadding: 6px;\n\n\t\tcolor: #000000;\n\n\t\t& img {\n\t\t\tmargin-left: 10px;\n\t\t}\n\n\t\t&.active {\n\t\t\tbackground: #fff2e1;\n\t\t\tborder: 1px solid #ebdfcf;\n\t\t\tborder-radius: 4px;\n\t\t}\n\t}\n\n\t&__menu {\n\t\tposition: absolute;\n\t\ttop: calc(2em + 8px);\n\n\t\tz-index: 999;\n\n\t\tbackground: #ffffff;\n\t\tbox-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);\n\t\tborder-radius: 6px;\n\n\t\tmin-width: 180px;\n\n\t\t& ul {\n\t\t\tlist-style-type: none;\n\n\t\t\t& li {\n\t\t\t\tmargin: 7px;\n\t\t\t\tpadding: 10px;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 14px;\n\n\t\t\t\tcolor: #6e6a65;\n\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: #f0f0f0;\n\t\t\t\t}\n\n\t\t\t\tspan {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: baseline;\n\t\t\t\t\t& img {\n\t\t\t\t\t\tmargin-right: 11px;\n\t\t\t\t\t\theight: 15px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../../styles/mixin.scss\";\n\n.tenant-pill {\n\tpadding: 5px 13px;\n\tborder-radius: 30px;\n\tborder: 1px solid #9335e4;\n\tbackground: rgba(147, 53, 228, 0.1);\n\tmax-width: fit-content;\n\tcolor: #9335e4;\n\tfont-size: 14px;\n}\n\n.tenant-list-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\trow-gap: 16px;\n\tcolumn-gap: 16px;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.user-detail-page-loader {\n\tmin-height: 80vh;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.full-screen-loading-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground-color: rgba(0, 0, 0, 0.4);\n\tz-index: 1;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.loader-container {\n\tbackground-color: var(--color-window-bg);\n\tpadding: 2px;\n\tdisplay: flex;\n\tborder-radius: 50%;\n}\n\n.loader {\n\tborder: 16px solid #f3f3f3; /* Light grey */\n\tborder-top: 16px solid #ff9933; /* Blue */\n\tborder-radius: 50%;\n\twidth: 60px;\n\theight: 60px;\n\tanimation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n\t0% {\n\t\ttransform: rotate(0deg);\n\t}\n\t100% {\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n@-webkit-keyframes spin {\n\t0% {\n\t\t-webkit-transform: rotate(0deg);\n\t}\n\t100% {\n\t\t-webkit-transform: rotate(360deg);\n\t}\n}\n\n@-moz-keyframes spin {\n\t0% {\n\t\t-moz-transform: rotate(0deg);\n\t}\n\t100% {\n\t\t-moz-transform: rotate(360deg);\n\t}\n}\n\n.user-detail {\n\t--badge-bg-color: rgb(197, 224, 253);\n\t--copy-text-color: rgb(214, 80, 120);\n\n\tpadding: 72px #{$container-padding-horizontal}px 48px;\n\tmax-width: 100vw;\n\n\t&.center-children {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\t.subtitle {\n\t\t\tfont-size: 16px;\n\t\t\tline-height: 26px;\n\t\t}\n\n\t\t.back-button {\n\t\t\tmargin-top: 16px;\n\t\t\tcolor: var(--color-link);\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&__header {\n\t\tmargin-top: 40px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\toverflow: hidden;\n\t\t@include gap-horizontal(16px);\n\t\t&__badge {\n\t\t\t$size: 60px;\n\t\t\tborder-radius: 50%;\n\t\t\twidth: $size;\n\t\t\theight: $size;\n\t\t\tflex-shrink: 0;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tfont-size: 24px;\n\t\t\tfont-weight: 600;\n\t\t\ttext-align: center;\n\t\t\ttext-transform: uppercase;\n\t\t\tbackground-color: var(--badge-bg-color);\n\t\t\tcolor: var(--color-link);\n\t\t}\n\t\t&__info {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\t\t\toverflow: hidden;\n\t\t\t@include gap-vertical(6px);\n\t\t}\n\t\t&__title {\n\t\t\tfont-size: 18px;\n\t\t\tline-height: 28px;\n\t\t\tfont-weight: 600;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tspan {\n\t\t\t\t@include text-ellipsis(100%);\n\t\t\t}\n\t\t}\n\t\t&__user-id {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: 14px;\n\t\t\t@include gap-horizontal(8px);\n\t\t\tspan {\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t\t&__text {\n\t\t\t\tbackground-color: var(--color-white);\n\t\t\t\tcolor: var(--copy-text-color);\n\t\t\t\tborder: 1px var(--color-border) solid;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\toverflow: hidden;\n\t\t\t\tmax-width: 290px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-family: \"Source Code Pro\";\n\t\t\t\tfont-weight: 500;\n\t\t\t}\n\t\t}\n\t\t&__action {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\t}\n\n\t.panel {\n\t\tmargin-top: 40px;\n\t}\n\n\t&__info-grid {\n\t\t&__grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n\t\t\tgrid-gap: 40px 60px;\n\t\t}\n\t\t&__item {\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\t&__label {\n\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\tmargin-bottom: 12px;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t&__body {\n\t\t\t\twidth: 100%;\n\t\t\t\t@include text-ellipsis(100%);\n\t\t\t\twhite-space: normal;\n\t\t\t\toverflow: visible;\n\t\t\t}\n\t\t\t&__guide {\n\t\t\t\tcursor: pointer;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 1em;\n\t\t\t\twidth: 1em;\n\t\t\t\tborder: 1px solid var(--color-black);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmargin-left: 6px;\n\t\t\t\timg {\n\t\t\t\t\theight: 1em;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.input-field-container {\n\t\t\t\tmargin: 0px;\n\t\t\t}\n\n\t\t\t.email-verified-button {\n\t\t\t\tmargin-left: 12px;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\n\t\tinput,\n\t\t.phone-input {\n\t\t\tbackground-color: var(--color-window-bg);\n\t\t}\n\n\t\t.input-field-error {\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\t&__provider-box {\n\t\tfont-size: 13px;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tcolor: var(--color-copy-box);\n\t\tbackground-color: var(--color-copy-box-bg);\n\t\twidth: 100%;\n\t\t@include gap-horizontal(6px);\n\n\t\t&.block-snippet {\n\t\t\tborder: none;\n\t\t\tpadding-right: 4px;\n\t\t}\n\n\t\t> span {\n\t\t\t> img {\n\t\t\t\theight: 1em;\n\t\t\t}\n\t\t}\n\n\t\t&__user-id {\n\t\t\tflex: 1;\n\t\t\toverflow-x: hidden;\n\t\t\tpadding: 4px 4px 4px 0px;\n\t\t\t.copy-text {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media only screen and (min-width: #{$container-width + 2 * $container-padding-horizontal}px) {\n\t\twidth: #{$container-width}px;\n\t\tpadding-left: 0px;\n\t\tpadding-right: 0px;\n\t\tmargin: 0 auto;\n\t}\n}\n\n.user-detail-title {\n\tfont-size: 28px;\n\tline-height: 34px;\n\tcolor: var(--color-black);\n\tmargin-bottom: 16px;\n\tfont-weight: 500;\n}\n\n.user-detail-subtitle {\n\tcolor: var(--color-secondary-text);\n\tmargin-bottom: 48px;\n}\n\n.user-detail-paper {\n\tbox-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);\n\tborder-radius: 6px;\n\tbackground-color: var(--color-white);\n\tdisplay: block;\n\twidth: 100%;\n\tmax-width: 100%;\n}\n\n.user-detail .block-info-connection {\n\tmargin-bottom: 24px;\n}\n\n.pill {\n\tmargin-top: 4px;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n\n.copy-text {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tmax-width: 100%;\n\t.copy-text-text {\n\t\t@include text-ellipsis(100%);\n\t\tflex: 1;\n\t\tpadding-right: 4px;\n\t}\n\t.copy-text-action {\n\t\tcursor: pointer;\n\t\tborder-radius: 50%;\n\t\ttransition: 0.3s;\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-copy-box-shadow);\n\t\t\tbox-shadow: 0px 0px 0px 4px var(--color-copy-box-shadow);\n\t\t}\n\t}\n\t.copy-text-notification {\n\t\tposition: fixed;\n\t\tfont-size: 12px;\n\t\ttransform: translateY(-50%);\n\t\tz-index: 1;\n\n\t\tspan {\n\t\t\tmargin: 0px 12px;\n\t\t\twhite-space: nowrap;\n\t\t\tbackground-color: var(--color-black);\n\t\t\tborder-color: var(--color-black);\n\t\t\tcolor: var(--color-white);\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.panel {\n\t&.no-padding-horizontal {\n\t\tpadding-left: 0px !important;\n\t\tpadding-right: 0px !important;\n\t}\n}\n\n.content-container {\n\twidth: 100%;\n\tpadding-top: 24px;\n\tpadding-bottom: 24px;\n\n\t.header {\n\t\tpadding-left: 34px;\n\t\tpadding-right: 34px;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tcolor: var(--color-secondary-text);\n\n\t\t@media only screen and (max-width: 600px) {\n\t\t\tflex-direction: column;\n\t\t\talign-items: flex-start;\n\t\t}\n\n\t\t.header-primary {\n\t\t\tfont-weight: 500;\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\n\t\t\t@media only screen and (max-width: 600px) {\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: flex-start;\n\t\t\t}\n\t\t}\n\n\t\t.header-secondary {\n\t\t\tfont-weight: 400;\n\t\t\tfont-size: 12px;\n\t\t\tmargin-left: 4px;\n\n\t\t\t@media only screen and (max-width: 600px) {\n\t\t\t\tmargin-left: 0px;\n\t\t\t\tmargin-top: 2px;\n\t\t\t}\n\t\t}\n\n\t\t.button-error {\n\t\t\tfont-weight: 500;\n\n\t\t\t@media only screen and (max-width: 600px) {\n\t\t\t\tmargin-top: 12px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.table-container {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\toverflow-x: scroll;\n\t\tmargin-top: 18px;\n\t\theight: fit-content;\n\t}\n\n\t.table {\n\t\tdisplay: table;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tborder-spacing: 0px;\n\t\tborder-collapse: collapse;\n\n\t\t.thead {\n\t\t\tcolor: var(--color-black);\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-size: 12px;\n\t\t\tline-height: 14px;\n\n\t\t\t.head-row {\n\t\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\t\tborder-top: 1px solid var(--color-border);\n\t\t\t\tpadding-left: 34px;\n\t\t\t\tpadding-right: 34px;\n\t\t\t\tpadding-top: 15px;\n\t\t\t\tpadding-bottom: 15px;\n\t\t\t\tbackground: #fafafa;\n\n\t\t\t\tth {\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\tpadding-top: 15px;\n\t\t\t\t\tpadding-bottom: 15px;\n\t\t\t\t\tpadding-left: 35px;\n\t\t\t\t\tpadding-right: 35px;\n\t\t\t\t}\n\n\t\t\t\tth:last-child {\n\t\t\t\t\tpadding-right: 34px;\n\t\t\t\t}\n\n\t\t\t\t.w30 {\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding-left: 34px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttbody {\n\t\t\tpadding-left: 34px;\n\t\t\tpadding-right: 34px;\n\n\t\t\t.placeholder {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\n\t\t\t.session-info {\n\t\t\t\tdisplay: flex;\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin-left: 34px;\n\t\t\t\tmargin-right: 34px;\n\t\t\t}\n\n\t\t\t.session-row {\n\t\t\t\tmargin-top: 29px;\n\t\t\t\tmargin-left: 34px;\n\t\t\t\tmargin-right: 34px;\n\n\t\t\t\t&.empty-row {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t}\n\n\t\t\t\t&.with-data {\n\t\t\t\t\ttd {\n\t\t\t\t\t\tfont-weight: 400;\n\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\twidth: calc(70% / 3);\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\t\t\theight: 1px;\n\t\t\t\t\t\tmin-height: 28px;\n\t\t\t\t\t\tpadding-left: 35px;\n\t\t\t\t\t\tpadding-right: 35px;\n\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\tpadding-top: 29px;\n\n\t\t\t\t\t\tspan {\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\tpadding-left: 8px;\n\t\t\t\t\t\t\tpadding-right: 8px;\n\t\t\t\t\t\t\tpadding-top: 7px;\n\t\t\t\t\t\t\tpadding-bottom: 7px;\n\t\t\t\t\t\t\tbackground-color: var(--color-copy-box-bg);\n\t\t\t\t\t\t\twidth: fit-content;\n\t\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.button-error-outline {\n\t\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.session-id {\n\t\t\t\t\t\t\tfont-family: \"Source Code Pro\";\n\t\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\ttd:last-child {\n\t\t\t\t\t\tpadding-right: 34px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.w30 {\n\t\t\t\t\t\tpadding-left: 34px;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\n Theme: An Old Hope – Star Wars Syntax\n Author: (c) Gustavo Costa \n Maintainer: @gusbemacbe\n\n Original theme - Ocean Dark Theme – by https://github.com/gavsiu\n Based on Jesse Leite's Atom syntax theme 'An Old Hope'\n https://github.com/JesseLeite/an-old-hope-syntax-atom\n*/.hljs{background:#1c1d21;color:#c0c5ce}.hljs-comment,.hljs-quote{color:#b6b18b}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#eb3c54}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#e7ce56}.hljs-attribute{color:#ee7c2b}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#4fb4d7}.hljs-section,.hljs-title{color:#78bb65}.hljs-keyword,.hljs-selector-tag{color:#b45ea4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}","@import \"../../../styles/mixin.scss\";\n\n.button-root {\n\tcursor: pointer;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.padding-vertical-24 {\n\tpadding-top: 24px !important;\n\tpadding-bottom: 24px !important;\n}\n\n.metadata-header {\n\tdisplay: flex;\n\tflex-direction: row;\n\twidth: 100%;\n\tjustify-content: space-between;\n\tpadding-bottom: 24px;\n\tborder-bottom: 1px solid var(--color-border);\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n\n\t.title {\n\t\tcolor: var(--color-secondary-text);\n\t\tfont-weight: 500;\n\t}\n\n\t.metadata-actions {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t@include gap-horizontal(16px);\n\t}\n}\n\n.metadata-content-container {\n\tmargin-top: 22px;\n\tpadding-left: 28px;\n\tpadding-right: 28px;\n\toverflow-x: auto;\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n\tbackground: #0d2e4e;\n\tborder-radius: 6px;\n\twhite-space: pre;\n\n\t.hljs {\n\t\tbackground: #0d2e4e;\n\t\tfont-weight: 400;\n\t\tfont-size: 13px;\n\t\tline-height: 21px;\n\t\tpadding: 0px !important;\n\t}\n}\n\n.metadata-edit-box {\n\tmargin-top: 24px;\n\tmin-width: 100%;\n\tmax-width: 100%;\n\tmin-height: 200px;\n\tpadding: 4px;\n\tbackground-color: var(--color-window-bg);\n\tborder-radius: 6px;\n\tborder: none;\n\tborder: 1px solid rgb(224, 224, 224);\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.users-list {\n\tpadding: 72px #{$container-padding-horizontal}px 48px;\n\tmax-width: 100vw;\n}\n\n.users-list-title {\n\tfont-size: 28px;\n\tline-height: 34px;\n\tcolor: var(--color-black);\n\tmargin-bottom: 16px;\n\tfont-weight: 500;\n}\n\n.users-list-title .pill.paid-feature-badge {\n\tdisplay: inline-block;\n\tline-height: 1.1;\n\tfont-size: 14px;\n\tbackground-color: var(--color-badge-bg);\n\tcolor: var(--color-badge);\n\tborder-radius: 6px;\n\tmargin-top: 0;\n\tvertical-align: middle;\n}\n\n.users-list-subtitle {\n\tcolor: var(--color-secondary-text);\n\tmargin-bottom: 48px;\n}\n\n.users-list-paper {\n\tbox-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);\n\tborder-radius: 6px;\n\tbackground-color: var(--color-white);\n\tdisplay: block;\n\twidth: 100%;\n\tmax-width: 100%;\n}\n\n.users-list .block-info-connection {\n\tmargin-bottom: 24px;\n}\n\n.tenant-list-dropdown {\n\tmin-width: 200px;\n\tpadding-left: 13px;\n\tpadding-right: 13px;\n\tpadding-top: 9px;\n\tpadding-bottom: 9px;\n\tborder-radius: 6px;\n\tborder: 1px solid #e5e5e5;\n\tbackground: #fff;\n\tfont-size: 14px;\n\tcolor: #222;\n}\n\n.tenant-id-container {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-bottom: 16px;\n}\n\n.tenant-id-title {\n\tfont-size: 16px;\n\tfont-weight: 500;\n\tmargin-right: 8px;\n}\n\n@media only screen and (min-width: #{$container-width + 2 * $container-padding-horizontal}px) {\n\t.users-list {\n\t\twidth: #{$container-width}px;\n\t\tpadding-left: 0px;\n\t\tpadding-right: 0px;\n\t\tmargin: 0 auto;\n\t}\n}\n","button#sign-out-btn {\n\tposition: absolute;\n\ttop: 24px;\n\tright: 60px;\n\tbackground: var(--color-white);\n\tborder: 1px solid var(--color-black);\n\tborder-radius: 6px;\n\tpadding: 6px 8px;\n\tfont-size: 14px;\n\tfont-family: inherit;\n\tline-height: 17px;\n\tfont-weight: 500;\n\tcursor: pointer;\n\tz-index: 1;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n.auth-container {\n\theight: 100vh;\n\twidth: 100vw;\n\tdisplay: flex;\n\tflex-flow: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbackground-position: top center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\tbackground-image: var(--auth-background-portrait);\n\n\t@media only screen and (min-width: 600px) {\n\t\tbackground-image: var(--auth-background);\n\t}\n}\n\n.auth-container .block-container {\n\tmax-width: 320px;\n\tmargin: 32px auto;\n\n\t&.sign-up,\n\t&.forgot-password {\n\t\tmax-width: 460px;\n\t}\n\n\t@media only screen and (min-width: 600px) {\n\t\tmax-width: 450px;\n\n\t\t&.sign-up,\n\t\t&.forgot-password {\n\t\t\tmax-width: 760px;\n\t\t\twidth: max(600px, 41vw);\n\t\t}\n\t}\n}\n\n.auth-container {\n\t.text-title {\n\t\tmargin-bottom: 8px;\n\t}\n\n\t.text-label {\n\t\tmargin-bottom: 16px;\n\t}\n\n\tlabel {\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tmargin-block-end: 7px;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.block-container {\n\thr {\n\t\tmargin-block: 24px;\n\t\tborder-bottom: none;\n\t\tborder-top: 1px solid rgb(221, 221, 221);\n\t}\n\n\t.link {\n\t\tcolor: var(--color-link);\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n}\n\nform .input-field-inset:not(.input-field-inset-focused) input {\n\tbackground-color: var(--color-input-unfocused);\n}\n\n.error-response-container {\n\tfont-size: 14px;\n}\n\n.cta-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\n\t.secondary-cta-btn {\n\t\tfont-family: inherit;\n\t\tfont-size: 14px;\n\n\t\t&.forgot-btn {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\timg.back-chevron {\n\t\tmargin-inline-end: 6px;\n\t}\n}\n\n.command-container {\n\tmargin-block: 24px 18px;\n\tdisplay: flex;\n\tpadding-block: 6px;\n\tpadding-inline: 8px 4px;\n\t@include gap-horizontal(12px);\n\tborder: 1px solid var(--color-border-command);\n\tborder-radius: 6px;\n\twhite-space: break-spaces;\n\n\t.clipboard-btn-container {\n\t\theight: 24px;\n\t\tmin-width: 24px;\n\t\tborder-radius: 50%;\n\t\ttransition: 0.1s all ease-in-out;\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\tbackground: rgba(217, 217, 217, 0.6);\n\t\t}\n\n\t\t.clipboard-icon {\n\t\t\twidth: 12px;\n\t\t\theight: 14px;\n\t\t}\n\t}\n\n\tcode.command {\n\t\tword-break: break-word;\n\t\tfont-size: 13px;\n\t\tline-height: 1.6;\n\t\tcolor: var(--color-command);\n\t\tflex: 1;\n\t\tmax-height: 160px;\n\t\toverflow-y: scroll;\n\n\t\t.hljs-string {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t.tooltip-container {\n\t\theight: fit-content;\n\n\t\t.tooltip-container__popup {\n\t\t\tpadding: 3px 8px;\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\n.error-container {\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\t.block-container {\n\t\ttext-align: center;\n\t\tmax-width: 560px;\n\t\tmargin: 32px auto;\n\t\t.text-title {\n\t\t\tfont-size: 24px;\n\t\t\tline-height: normal;\n\t\t\tmargin-top: 8px;\n\t\t}\n\t\t.title-image {\n\t\t\tmargin-left: auto;\n\t\t\tmargin-right: auto;\n\t\t}\n\t\tp {\n\t\t\tmargin-top: 12px;\n\t\t\tletter-spacing: 0.14px;\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n.notification {\n\tdisplay: flex;\n\tpadding: 16px;\n\t@include gap-horizontal(8px);\n\tline-height: 24px;\n\tborder: 1px solid var(--color-border);\n\tborder-radius: 6px;\n\tbackground-color: var(--color-window-bg);\n\tbox-shadow: 0px 0px 6px var(--color-shadow);\n\tfont-size: 14px;\n\tanimation: notificationScale 0.3s;\n\ttransition: 0.3s;\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\timg {\n\t\t\theight: 16px;\n\t\t}\n\t}\n\t&__info {\n\t\tflex: 1;\n\t\tpadding-right: 24px;\n\t\tfont-weight: 500;\n\t\tmax-width: 300px;\n\t\twhite-space: wrap;\n\t}\n\t&__close {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tsvg {\n\t\t\twidth: 8px;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&.notification-info {\n\t\tbackground-color: var(--color-info-bg);\n\t\tcolor: var(--color-info);\n\t\tborder-color: var(--color-border-info);\n\t\tbox-shadow: 0px 0px 6px var(--color-info-shadow);\n\t\tsvg {\n\t\t\tstroke: var(--color-info);\n\t\t}\n\t}\n\t&.notification-error {\n\t\tbackground-color: var(--color-error-bg);\n\t\tcolor: var(--color-error);\n\t\tborder-color: var(--color-border-error);\n\t\tbox-shadow: 0px 0px 6px var(--color-error-shadow);\n\t\tsvg {\n\t\t\tstroke: var(--color-error);\n\t\t}\n\t}\n\t&.notification-success {\n\t\tbackground-color: var(--color-success-bg);\n\t\tcolor: var(--color-success);\n\t\tborder-color: var(--color-border-success);\n\t\tbox-shadow: 0px 0px 6px var(--color-success-shadow);\n\t\tsvg {\n\t\t\tstroke: var(--color-success);\n\t\t}\n\t}\n}\n\n.notification-container {\n\tposition: fixed;\n\ttop: 78px;\n\tright: 0px;\n\tpadding: 0px 20px;\n\tdisplay: flex;\n\tflex-direction: column;\n\ttransition: 0.3s;\n\t@include gap-vertical(16px);\n\tmax-height: 100vh;\n\tjustify-content: flex-end;\n\twidth: max-content;\n}\n\n@keyframes notificationScale {\n\t0% {\n\t\ttransform: scale(0);\n\t}\n\t100% {\n\t\ttransform: scale(1);\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import url(\"https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap\");\n@import url(\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap\");\n\nbody {\n\tfont-family: \"Rubik\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\",\n\t\t\"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tcolor: var(--color-black);\n}\n\ncode {\n\tfont-family: Menlo, \"Source Code Pro\", Monaco, Consolas, \"Courier New\", monospace;\n}\n\n* {\n\tbox-sizing: border-box;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: relative;\n}\n\n#root {\n\tbackground-color: var(--color-window-bg);\n\tmin-height: 100vh;\n\tmin-width: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n#root > * {\n\tflex: 1;\n}\n\n#root > .footer {\n\tflex: 0;\n}\n\nbutton:not(:disabled),\na[href] {\n\tcursor: pointer;\n}\n\nbutton:disabled {\n\topacity: 0.5;\n\tpointer-events: none;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\nbody {\n\t/* theme colors */\n\t--color-primary: rgb(255, 153, 51);\n\t--color-primary-opacity-40: rgba(255, 153, 51, 0.4);\n\t--color-primary-darker: rgb(255, 128, 0);\n\n\t--color-white: rgb(255, 255, 255);\n\t--color-black: rgb(34, 34, 34);\n\t--color-window-bg: rgb(248, 248, 248);\n\n\t/* Background Colors */\n\t--color-loader-placeholder-bg: rgba(110, 106, 101, 0.4);\n\t--color-shadow: rgba(0, 0, 0, 0.16);\n\t--color-container-shadow: rgba(0, 0, 0, 0.16);\n\t--color-error-shadow: rgba(158, 37, 38, 0.16);\n\t--color-error-bg: rgb(253, 240, 241);\n\t--color-info-shadow: rgba(158, 37, 38, 0.16);\n\t--color-info-bg: rgb(235, 245, 255);\n\t--color-success-bg: rgb(241, 250, 247);\n\t--color-success-shadow: rgba(4, 84, 62, 0.16);\n\t--color-link: rgb(0, 122, 255);\n\t--color-input-unfocused: rgb(250, 250, 250);\n\t--color-badge-bg: rgba(255, 242, 202);\n\n\t/* Border Colors */\n\t--color-border: rgb(229, 229, 229);\n\t--color-border-error: rgb(239, 121, 119);\n\t--color-border-info: rgb(151, 189, 250);\n\t--color-border-success: rgb(73, 200, 153);\n\t--color-border-command: rgb(221, 221, 221);\n\n\t/* Text Colors */\n\t--color-secondary-text: rgb(110, 106, 101); /* Below title, table headers, placeholders etc */\n\t--color-error: rgb(158, 37, 38);\n\t--color-info: rgb(31, 90, 219);\n\t--color-success: rgb(4, 84, 62);\n\t--color-link: rgb(0, 118, 255);\n\t--color-command: rgb(214, 80, 120);\n\t--color-badge: rgba(220, 141, 13);\n\n\t/* Recipe Pill Colors */\n\t--color-emailpassword-bg: rgb(221, 252, 247);\n\t--color-emailpassword-text: rgb(0, 106, 91);\n\t--color-passwordless-bg: rgb(255, 234, 247);\n\t--color-passwordless-text: rgb(168, 17, 90);\n\n\t/* Social Provider Pill Colors */\n\t--color-google-bg: rgb(241, 222, 255);\n\t--color-google-text: rgb(92, 63, 121);\n\t--color-github-bg: rgb(222, 255, 238);\n\t--color-github-text: rgb(9, 108, 56);\n\t--color-facebook-bg: rgb(227, 235, 255);\n\t--color-facebook-text: rgb(21, 75, 221);\n\t--color-apple-bg: rgb(229, 237, 255);\n\t--color-apple-text: rgb(11, 28, 69);\n\t--color-custom-provider-bg: rgb(228, 224, 255);\n\t--color-custom-provider-text: rgb(84, 37, 176);\n\n\t/* Color for Copy-Box */\n\t--color-copy-box: rgb(83, 101, 121);\n\t--color-copy-box-bg: rgb(240, 244, 247);\n\t--color-copy-box-shadow: rgba(83, 101, 121, 0.2);\n\n\t/* Button color */\n\t--color-button-error: rgb(237, 52, 78);\n\t--color-button-error-border: rgb(222, 35, 61);\n\t--color-button-error-disabled: rgb(221, 221, 221);\n\t--color-button-error-hover: rgb(222, 35, 61);\n\n\t/* Z-index value for different of popup element */\n\t--z-index-inline-popup: 1;\n\t--z-index-modal-popup: 10;\n\n\t--color-popup-item-hover: rgb(240, 240, 240);\n\t--color-popup-item-delete-hover: rgba(222, 35, 61, 0.12);\n\t--color-button-outline-hover: rgb(250, 250, 250);\n}\n\n*[data-theme=\"dark\"] {\n\t--color-black: rgb(255, 255, 255);\n\t--color-white: rgb(34, 34, 34);\n\t--color-window-bg: rgb(74, 74, 74);\n\t--color-secondary-text: rgb(221, 221, 221);\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\n@import \"./mixin.scss\";\n\n.full-width {\n\twidth: 100%;\n}\n\n/* classes for layout panel */\n.panel {\n\tpadding: 0px 40px;\n\tbackground-color: var(--color-white);\n\tborder-radius: 12px;\n\tbox-shadow: 0 0 6px var(--color-shadow);\n\tdisplay: block;\n\tmax-width: 100%;\n\twidth: 100%;\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tpadding: 16px 0px;\n\t\tmin-height: 64px;\n\t\tfont-size: 14px;\n\t\t.title {\n\t\t\tfont-size: 14px;\n\t\t\ttext-transform: uppercase;\n\t\t\tcolor: var(--color-secondary-text);\n\t\t\tfont-weight: 600;\n\t\t\tflex: 1;\n\t\t}\n\t\t.actions {\n\t\t\tdisplay: inline-flex;\n\t\t\t@include gap-horizontal(16px);\n\t\t}\n\t\t&.with-border {\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t}\n\t}\n\t&__body {\n\t\tpadding: 24px 0px;\n\t\tpadding-bottom: 18px;\n\t}\n}\n\n/* Classes for layout modal */\n.layout-modal {\n\tposition: fixed;\n\ttop: 0px;\n\tleft: 0px;\n\tz-index: var(--z-index-modal-popup);\n\tdisplay: block;\n\twidth: 100vw;\n\theight: 100vw;\n\tbackground: none;\n\tpointer-events: none;\n\t&__backdrop {\n\t\tpointer-events: all;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground-color: var(--color-black);\n\t\topacity: 0.4;\n\t}\n\t&__container {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\t&__close {\n\t\tdisplay: flex;\n\t\theight: 32px;\n\t\talign-items: flex-start;\n\t\tjustify-content: flex-end;\n\t\t> div {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tfont-size: 22px;\n\t\t\theight: 1em;\n\t\t\twidth: 1em;\n\t\t\tpadding: 6px;\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: var(--color-border);\n\t\t\tcursor: pointer;\n\t\t\t> img {\n\t\t\t\twidth: 8px;\n\t\t\t}\n\t\t}\n\t}\n\t.panel {\n\t\tpointer-events: all;\n\t\tposition: absolute;\n\t\tpadding-top: 16px;\n\t\tpadding-bottom: 16px;\n\t\tmargin: 0 auto;\n\t\tz-index: 1;\n\t\ttop: 50vh;\n\t\tleft: 50vw;\n\t\ttransform: translateX(-50%) translateY(-50%);\n\t\tmax-height: calc(100vh - 32px);\n\t\tmax-width: calc(100vh - 32px);\n\t\twidth: 470px;\n\t\t&__header {\n\t\t\talign-items: flex-end;\n\t\t}\n\t}\n}\n\n.layout-modal-trigger {\n\tdisplay: inline-block;\n\tcursor: pointer;\n}\n\n/* classes for blocks */\n.block-container {\n\tdisplay: flex;\n\tflex-flow: column;\n\tpadding: 32px 18px;\n\tborder-radius: 18pt;\n\tbox-shadow: 1px 1px 6px var(--color-container-shadow);\n\twidth: calc(100% - 32px);\n\tbackground-color: var(--color-white);\n\t@media only screen and (min-width: 992px) {\n\t\tpadding: 32px 48px;\n\t}\n}\n\n.block-snippet-small {\n\tborder: 1px solid var(--color-border);\n\tpadding: 2px 4px;\n\tborder-radius: 2px;\n}\n\n.block-snippet {\n\tborder: 1px solid var(--color-border);\n\tpadding: 3px 8px;\n\tborder-radius: 4px;\n}\n\n.block-snippet-large {\n\tborder: 1px solid var(--color-border);\n\tborder-radius: 4px;\n\tpadding: 6px 8px;\n}\n\n.block-small {\n\tborder-radius: 6px;\n\tpadding: 8px 12px 8px;\n}\n\n.block-medium {\n\tpadding: 20px 16px;\n\tmargin: 4px 0px;\n\tborder-radius: 6pt;\n\tborder-width: 1px;\n\tborder-style: solid;\n\tbox-shadow: 0px 0px 6px var(--color-shadow);\n\tp {\n\t\tline-height: 23px;\n\t\t&:not(:last-child) {\n\t\t\tmargin-bottom: 16px;\n\t\t\t@media only screen and (min-width: 600px) {\n\t\t\t\tmargin-bottom: 6px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.block-large {\n\tpadding: 32px;\n\tborder-radius: 24px;\n\tbox-shadow: 1px 1px 60px var(--color-container-shadow);\n\tp {\n\t\tletter-spacing: 0.14px;\n\t\tline-height: 21px;\n\t}\n\t@media only screen and (min-width: 768px) {\n\t\tpadding: 32px 48px;\n\t}\n}\n\n.block-error {\n\tbackground-color: var(--color-error-bg);\n\tcolor: var(--color-error);\n\tborder-color: var(--color-border-error);\n}\n\n.block-info {\n\tbackground-color: var(--color-info-bg);\n\tcolor: var(--color-info);\n\tborder-color: var(--color-border-info);\n}\n\n.button:not(.flat) {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 8px 16px;\n\tfont-size: 14px;\n\tline-height: 16px;\n\tbackground-color: var(--color-primary);\n\tborder: 1px solid var(--color-primary-darker);\n\tfont-weight: 600;\n\tcolor: var(--color-white);\n\tborder-radius: 6px;\n\tfont-family: inherit;\n\tcursor: pointer;\n\t@include gap-horizontal(0.75em);\n\tbox-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);\n\n\t&.small {\n\t\tpadding: 6px 8px;\n\t\tfont-weight: normal;\n\t}\n}\n\n.button.flat,\nbutton.flat {\n\tdisplay: inline;\n\tbackground: none;\n\tpadding: 0px;\n\tmargin: 0px;\n\tcolor: var(--color-secondary-text);\n\tfont-weight: 600;\n\t@include gap-horizontal(8px);\n\tborder: none;\n\tfont-size: inherit;\n}\n\n.button.button-error,\nbutton.button-error {\n\tdisplay: inline;\n\tbackground: var(--color-button-error);\n\tmargin: 0px;\n\tcolor: var(--color-white);\n\t@include gap-horizontal(8px);\n\tborder: none;\n\tfont-size: inherit;\n\ttransition: background-color 0.3s;\n\n\t&:disabled {\n\t\tbackground-color: var(--color-button-error-disabled);\n\t}\n\n\t&:hover {\n\t\tbackground-color: var(--color-button-error-hover);\n\t}\n}\n\n.button.button-error-outline,\nbutton.button-error-outline {\n\tdisplay: inline;\n\tbackground-color: transparent;\n\tborder-color: var(--color-button-error);\n\tborder-width: 1;\n\tborder-style: solid;\n\tmargin: 0px;\n\tcolor: var(--color-button-error);\n\t@include gap-horizontal(8px);\n\tfont-size: inherit;\n\tbox-shadow: none;\n\ttransition: background-color 0.3s;\n\n\t&:disabled {\n\t\tborder-color: var(--color-button-error-disabled);\n\t}\n\n\t&:hover {\n\t\tbackground-color: var(--color-button-outline-hover);\n\t}\n}\n\n.button.outline,\nbutton.outline {\n\tbackground: none;\n\tbox-shadow: none;\n\tcolor: var(--color-secondary-text);\n\tborder-color: var(--color-secondary-text);\n\ttransition: background-color 0.3s;\n\tfont-weight: 500 !important;\n\t&:hover {\n\t\tbackground-color: var(--color-button-outline-hover);\n\t\tbox-shadow: inherit;\n\t}\n}\n\na,\nbutton.link,\n.button.link {\n\tcolor: var(--color-link);\n\t&:not(.flat) {\n\t\tborder-color: var(--color-link);\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-button-outline-hover);\n\t\t}\n\t}\n}\n\n.footer {\n\ta {\n\t\t&:hover {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n}\n\n/* classes for font sizes */\n.text-title {\n\tfont-size: 24px;\n\tline-height: 40px;\n\tletter-spacing: 0.24px;\n\tfont-weight: 600;\n}\n\n.text-small {\n\tfont-size: 14px;\n\tline-height: 16px;\n}\n\n.text-medium {\n\tfont-size: 16px;\n\tline-height: 16px;\n}\n\n.text-large {\n\tfont-size: 18px;\n\tline-height: 16px;\n}\n\n.text-bold {\n\tfont-weight: 600;\n}\n\n/* classes for text colors */\n.text-error {\n\tcolor: var(--color-error);\n}\n\n.text-info {\n\tcolor: var(--color-info);\n}\n\n.text-black {\n\tcolor: var(--color-black);\n}\n\n.text-label {\n\tcolor: var(--color-secondary-text);\n}\n\n/* classes for images */\n.title-image {\n\twidth: 35px;\n\theight: 32px;\n\tmargin-bottom: 16px;\n}\n\n.title-image-smaller {\n\twidth: 32px;\n\theight: 29px;\n\tmargin-bottom: 16px;\n}\n\n/* classes for pages */\n.with-footer {\n\tmargin-bottom: 100px;\n}\n\n/* classes for tooltip */\n.tooltip-container {\n\tdisplay: inline-flex;\n\tcursor: default;\n\t&__popup {\n\t\tfont-size: 14px;\n\t\tline-height: 23px;\n\t\tpadding: 14px;\n\t\tposition: fixed;\n\t\ttransform: translateY(-50%);\n\t\tbackground-color: var(--color-white);\n\t\tcolor: var(--color-black);\n\t\tborder-radius: 6px;\n\t\tz-index: var(--z-index-inline-popup);\n\n\t\t&::before {\n\t\t\t// arrow/triangle\n\t\t\tdisplay: block;\n\t\t\tcontent: \"\";\n\t\t\t$arrow-width: 6px;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder: $arrow-width solid transparent;\n\t\t\tposition: absolute;\n\t\t}\n\t\tp:not(:last-child) {\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\t\t.block-snippet-small {\n\t\t\tbackground-color: var(--color-window-bg);\n\t\t\tcolor: var(--color-secondary-text);\n\t\t}\n\n\t\t&.popup_left::before {\n\t\t\tborder-left-color: var(--color-white);\n\t\t\tborder-right: none;\n\t\t\tleft: 100%;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\t\t&.popup_right::before {\n\t\t\tborder-right-color: var(--color-white);\n\t\t\tborder-left: none;\n\t\t\tleft: 0;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateX(-100%) translateY(-50%);\n\t\t}\n\t\t&.popup_top::before {\n\t\t\tborder-top-color: var(--color-white);\n\t\t\tborder-bottom: none;\n\t\t\ttop: 100%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t\t&.popup_bottom::before {\n\t\t\tborder-bottom-color: var(--color-white);\n\t\t\tborder-top: none;\n\t\t\ttop: 0;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateY(-100%) translateX(-50%);\n\t\t}\n\t}\n}\n\n.center {\n\ttext-align: center;\n}\n\n.flex-center-x {\n\tdisplay: flex;\n\tjustify-content: center;\n}\n\n.flex-center-y {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.with-thin-scrollbar {\n\t&::-webkit-scrollbar {\n\t\twidth: 5px;\n\t\theight: 5px;\n\t}\n\t&::-webkit-scrollbar-thumb {\n\t\tbox-shadow: inset 0 0 6px var(--color-loader-placeholder-bg);\n\t}\n}\n\n$fontWeights: 400, 500, 600, 700;\n\n@each $weight in $fontWeights {\n\t.bold-#{$weight} {\n\t\tfont-weight: $weight !important;\n\t}\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/main.css","mappings":"8LAiBA,eAEC,uBADA,YACA,CCHA,iCACC,gBDGuB,CAGzB,aAGC,mBAGA,qCADA,kBAHA,aAEA,gBAHA,UAKA,CACA,6BACC,oBACA,sBACA,gBACA,4CAEC,mBAEA,eAHA,oBAEA,iBACA,CCtBF,8DACC,gBDsByB,CAEvB,uEAEC,uCADA,WACA,CAGF,kEACC,yBAGF,oCAKC,oCADA,kBAEA,uCALA,aAMA,gBALA,kBACA,cAIA,CACA,4CAGC,mBAEA,eAJA,aAGA,gBAFA,iBAGA,CC/CH,8DACC,iBD+C0B,CACxB,mEACC,eACA,uEAEC,uCADA,UACA,CAGF,kEACC,kCAGD,qDACC,wCACA,wBACA,oBACA,2EACC,kCAKH,iDACC,cACA,oCAIH,mCAOC,YAFA,cAJA,cAGA,oBAIA,aALA,kBAGA,gBAEA,CAIF,+BACC,kCACA,qDAGD,+BACC,gCACA,+CEhGD,uBACC,YAAa,CACb,gBAAiB,CACjB,kBACD,CAEA,aACC,iCAAkC,CAClC,eAAgB,CAChB,kBACD,CAEA,sBACC,wBAAyB,CACzB,YACD,CAEA,mBAEC,kBAAmB,CACnB,wBAAoC,CACpC,iBAAkB,CAHlB,YAAa,CAIb,YACD,CAEA,aAQC,wBAAoC,CAFpC,WAAY,CADZ,iBAAkB,CAFlB,aAAc,CAFd,QAAO,CACP,mBAAoB,CAKpB,YAAa,CAHb,gBAKD,CAEA,mBACC,qBACD,CAEA,qDAEC,iCAAkC,CAClC,oDACD,CAEA,0GAGC,+BAAgC,CAChC,8CACD,CAEA,0BACC,cAAe,CACf,sBACD,CAEA,mBAEC,kBAAmB,CADnB,YAAa,CAEb,cACD,CAEA,wBACC,WAAY,CAGZ,iBAAkB,CADlB,gBAAiB,CADjB,UAGD,CAEA,wBACC,4BACD,CCvEC,4DACC,mBAED,0BACC,eAED,2BACC,aACA,yBFTD,6CACC,iBESwB,CACxB,kCAEC,gBADA,uBAKA,kBAGF,oBACC,eACA,iBAEA,yBACC,cACA,gBAKH,aAEC,kBADA,eACA,CAGD,6BACC,eClCD,4BAEC,cAEA,eACA,gBAJA,kBAEA,UAEA,CAGD,kBAIC,yBADA,iBADA,eADA,UAGA,CAGD,wBACC,kCAEA,eACA,iBAFA,wBAEA,CAGD,2BACC,4CACA,8BAEC,gBADA,qBAEA,gBACA,UAIF,2BACC,4CACA,8BAEC,cACA,wBAFA,SAEA,CAGA,wCACC,eAMF,qBAGC,kCAFA,aACA,sBAEA,mBACA,yBACC,eACA,gBACA,uBACA,mBAEA,0CACC,kBAGF,2BACC,yBAEA,eADA,eACA,CACA,iCACC,wBAKH,qBACC,gBACA,mBAIA,6BAKC,kFAHA,oDACA,eACA,WAHA,UAIA,CACA,2BACC,IACC,YAFF,mBACC,IACC,YAMJ,kCAGC,mBAFA,sBAOA,qCADA,kBALA,oBAIA,YAFA,uBAKA,eAJA,UAIA,CACA,sCAEC,yGADA,UACA,CAGD,6CACC,aAIF,gCACC,eAEA,uDACC,aAKA,iBAHA,kBAEA,QADA,QAFA,mCAIA,CAEA,8DAEC,gBADA,WACA,CAIF,4DAEC,mBAMA,kBAPA,oBAIA,gBAFA,YACA,YAGA,eADA,UAEA,CAEA,iEACC,mBAGD,gEACC,UAGD,uEACC,aAGD,mEACC,uCAGD,kEACC,+CACA,6EACC,gBAED,8EACC,aAGD,yEACC,sDAMF,6DACC,cAED,8DACC,sCACA,wCACA,kEACC,aAGD,yEACC,gBACA,0DAOH,8CAEC,eADA,QACA,CAKH,kBACC,aACA,yBAGA,OAFA,gBA1MqB,CA2MrB,uCACA,CAGD,uBACC,aHjNA,yCACC,gBGiNuB,CAExB,oDACC,gBAED,yDACC,aHxND,2EACC,iBGwNwB,CAEzB,qDAEC,gBADA,WACA,CAIF,MAIC,mBAFA,mBADA,aAEA,gBAGA,mBADA,kEACA,CHvOA,wBACC,gBGuOuB,CAExB,mBAEC,8CADA,oCACA,CAED,oBAEC,+CADA,qCACA,CAED,iBAEC,iDADA,wCAEA,eAEA,gBADA,uBAEA,mBACA,kCACC,eAEA,iBADA,qBACA,CAED,wBAEC,wCADA,8BACA,CACA,6BACC,0BAGF,uBAEC,uCADA,6BACA,CACA,4BACC,0BAGF,wBAEC,wCADA,8BACA,CACA,6BACC,0BAGF,0BAEC,0CADA,gCACA,CACA,+BACC,0BCxRJ,QACC,SAG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","sources":["ui/components/phoneNumber/PhoneNumber.scss","ui/styles/mixin.scss","ui/components/inputField/InputField.css","ui/components/userDetail/userDetailForm.scss","ui/components/usersListTable/UsersListTable.scss","ui/components/footer/footer.scss","ui/components/noUsers/NoUsers.css","ui/components/search/search.scss","ui/components/userDetail/tenantList/UserTenantsList.scss","ui/components/userDetail/userDetail.scss","ui/components/copyText/CopyText.scss","ui/components/userDetail/userDetailSessionList.scss","../node_modules/highlight.js/scss/an-old-hope.scss","ui/components/common/iconButton/style.scss","ui/components/userDetail/userMetaDataSection.scss","ui/pages/usersList/UsersList.scss","ui/components/auth/SignOutBtn.scss","ui/components/auth/Auth.scss","ui/components/errorboundary/error-boundary.scss","ui/components/toast/toastNotification.scss","ui/styles/index.css","ui/styles/variables.css","ui/styles/uikit.scss"],"sourcesContent":["/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n.phone-display {\n\tdisplay: flex;\n\talign-items: flex-start;\n\t@include gap-horizontal(5px);\n}\n\n.phone-input {\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\toverflow: hidden;\n\tborder-radius: 6px;\n\tborder: 1px solid var(--color-border);\n\t&__country-select {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tfont-weight: normal;\n\t\t&__current-value {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tpadding-left: 12px;\n\t\t\tcursor: pointer;\n\t\t\t@include gap-horizontal(8px);\n\t\t\t.PhoneInputCountryIcon {\n\t\t\t\timg {\n\t\t\t\t\theight: 14px;\n\t\t\t\t\tbox-shadow: 0px 0px 3px var(--color-shadow);\n\t\t\t\t}\n\t\t\t}\n\t\t\t.country-calling-code {\n\t\t\t\tcolor: var(--color-black);\n\t\t\t}\n\t\t}\n\t\t&__popup {\n\t\t\tdisplay: none;\n\t\t\tposition: relative;\n\t\t\tposition: fixed;\n\t\t\tborder-radius: 6px;\n\t\t\tbackground-color: var(--color-white);\n\t\t\tbox-shadow: 0px 0px 4px var(--color-shadow);\n\t\t\toverflow-y: auto;\n\t\t\t&__option {\n\t\t\t\tdisplay: flex;\n\t\t\t\tpadding: 10px 12px;\n\t\t\t\talign-items: center;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tcursor: pointer;\n\t\t\t\t@include gap-horizontal(12px);\n\t\t\t\t.PhoneInputCountryIcon {\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\timg {\n\t\t\t\t\t\theight: 1em;\n\t\t\t\t\t\tbox-shadow: 0px 0px 4px var(--color-shadow);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.country-calling-code {\n\t\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\t}\n\n\t\t\t\t&.selected {\n\t\t\t\t\tbackground-color: var(--color-window-bg);\n\t\t\t\t\tcolor: var(--color-link);\n\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t.country-calling-code {\n\t\t\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.popup-active {\n\t\t\t\tdisplay: block;\n\t\t\t\tz-index: var(--z-index-inline-popup);\n\t\t\t}\n\t\t}\n\t}\n\tinput.PhoneInputInput {\n\t\tflex: 1 1 auto;\n\t\tborder-left: none;\n\t\toverflow-x: hidden;\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t\tpadding: 8px 12px 8px;\n\t\tborder: none;\n\t\toutline: none;\n\t}\n}\n\n.phone-input.PhoneInput--focus {\n\tborder-color: var(--color-primary);\n\tbox-shadow: 0px 0px 0px 2px var(--color-primary-opacity-40);\n}\n\n.phone-input.phone-input-error {\n\tborder-color: var(--color-error);\n\tbox-shadow: 0px 0px 0px 2px var(--color-error-shadow);\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@mixin gap-horizontal($gap) {\n\t> :not(:last-child) {\n\t\tmargin-right: $gap;\n\t}\n}\n\n@mixin gap-vertical($gap) {\n\t> :not(:last-child) {\n\t\tmargin-bottom: $gap;\n\t}\n}\n\n@mixin text-ellipsis($max-width) {\n\tmax-width: $max-width;\n\toverflow-x: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n.input-field-container {\n\tdisplay: flex;\n\tflex-flow: column;\n\tmargin-bottom: 24px;\n}\n\n.input-label {\n\tcolor: var(--color-secondary-text);\n\tfont-weight: 500;\n\tmargin-bottom: 12px;\n}\n\n.input-label-required {\n\tcolor: var(--color-error);\n\tmargin: 0px 4px;\n}\n\n.input-field-inset {\n\tdisplay: flex;\n\talign-items: center;\n\tborder: 1px solid rgb(224, 224, 224);\n\tborder-radius: 6px;\n\toutline: none;\n}\n\n.input-field {\n\tflex: 1;\n\tfont-family: inherit;\n\tdisplay: block;\n\tpadding: 8px 12px 8px;\n\tborder-radius: 6px;\n\tborder: none;\n\toutline: none;\n\tbackground-color: rgb(250, 250, 250);\n}\n\n.input-field:focus {\n\tbackground-color: white;\n}\n\n.input-field-inset-focused,\n.input-field-inset:active {\n\tborder-color: var(--color-primary);\n\tbox-shadow: 0px 0px 0px 2px var(--color-primary-opacity-40);\n}\n\n.input-field-inset-error-state,\n.input-field-inset-error-state:focus,\n.input-field-inset-error-state:active {\n\tborder-color: var(--color-error);\n\tbox-shadow: 0px 0px 0px 2px var(--color-error-shadow);\n}\n\n.input-field-suffix .icon {\n\tcursor: pointer;\n\tpadding: 8px 12px 8px 0px;\n}\n\n.input-field-error {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-top: 8pt;\n}\n\n.input-field-error-icon {\n\theight: 16px;\n\twidth: 16px;\n\tmargin-right: 8px;\n\tmargin-bottom: 2px;\n}\n\n.input-field-error-text {\n\tline-height: normal !important;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n\n.user-detail-form {\n\t.input-field-container:not(:last-of-type) {\n\t\tmargin-bottom: 24px;\n\t}\n\t&__header {\n\t\tfont-size: 24px;\n\t}\n\t&__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: flex-end;\n\t\t@include gap-horizontal(24px);\n\t\tbutton {\n\t\t\tjustify-content: center;\n\t\t\tfont-weight: normal;\n\t\t\tpadding-top: 10px;\n\t\t\tpadding-bottom: 10px;\n\t\t\tpadding-right: 16px;\n\t\t\tpadding-left: 16px;\n\t\t}\n\t}\n\tp {\n\t\tfont-size: 14px;\n\t\tline-height: 24px;\n\n\t\tspan {\n\t\t\tcolor: #ed344e;\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n\n.phone-input {\n\tmargin-top: 12px;\n\tmargin-bottom: 8px;\n}\n\n.user-delete-input-container {\n\tmargin-top: 8px;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n$container-padding-v: 24px;\n\n.users-list-table-container {\n\tpadding: $container-padding-v 34px;\n\tdisplay: block;\n\twidth: 100%;\n\tmax-width: 100%;\n\toverflow-x: auto;\n}\n\n.users-list-table {\n\twidth: 100%;\n\tmax-width: 100%;\n\tborder-spacing: 0px;\n\tborder-collapse: collapse;\n}\n\n.users-list-table thead {\n\tcolor: var(--color-secondary-text);\n\ttext-transform: uppercase;\n\tfont-size: 12px;\n\tline-height: 14px;\n}\n\n.users-list-table thead tr {\n\tborder-bottom: 1px solid var(--color-border);\n\tth {\n\t\tpadding: 0 1em 24px 0;\n\t\tfont-weight: 500;\n\t\ttext-align: left;\n\t\twidth: 33%;\n\t}\n}\n\n.users-list-table tbody tr {\n\tborder-bottom: 1px solid var(--color-border);\n\ttd {\n\t\twidth: 33%;\n\t\tmax-width: 50%;\n\t\tpadding: 24px 1em 24px 0;\n\t}\n\t&.empty-row {\n\t\ttd {\n\t\t\tpadding: 12px 0;\n\t\t}\n\t}\n}\n\n.user-row {\n\t.user-info {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tcolor: var(--color-secondary-text);\n\t\tpadding-right: 16px;\n\t\tdiv {\n\t\t\tmax-width: 25ch;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\n\t\t\t&:not(:last-child) {\n\t\t\t\tmargin-bottom: 4px;\n\t\t\t}\n\t\t}\n\t\t.main {\n\t\t\tcolor: var(--color-black);\n\t\t\tfont-weight: 500;\n\t\t\tcursor: pointer;\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--color-link);\n\t\t\t}\n\t\t}\n\t}\n\n\t.user-date {\n\t\tmin-width: 110px;\n\t\twhite-space: nowrap;\n\t}\n\n\t&.placeholder td {\n\t\tdiv {\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--color-loader-placeholder-bg);\n\t\t\tmin-height: 1em;\n\t\t\topacity: 0.4;\n\t\t\tanimation: blinker 2s linear infinite;\n\t\t\t@keyframes blinker {\n\t\t\t\t50% {\n\t\t\t\t\topacity: 0.1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.user-row-select-button {\n\t\tbackground-color: white;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 25px;\n\t\theight: 25px;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid var(--color-border);\n\t\ttransition: 0.3s;\n\t\timg {\n\t\t\twidth: 12px;\n\t\t\ttransition: transform 0.3s;\n\t\t}\n\n\t\t.img-hover {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t.user-row-select-menu {\n\t\tcursor: pointer;\n\n\t\t.user-row-select-popup {\n\t\t\tdisplay: none;\n\t\t\tz-index: var(--z-index-inline-popup);\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tright: 0px;\n\t\t\tpadding: 20px 0 0px 0;\n\n\t\t\t.panel {\n\t\t\t\tpadding: 8px;\n\t\t\t\tmin-width: 180px;\n\t\t\t}\n\t\t}\n\n\t\t.user-row-select-popup-item {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\theight: 28px;\n\t\t\tpadding: 8px;\n\t\t\tfont-weight: normal;\n\t\t\twidth: 100%;\n\t\t\ttransition: 0.3s;\n\t\t\tborder-radius: 4px;\n\n\t\t\tspan {\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t\timg {\n\t\t\t\twidth: 1em;\n\t\t\t}\n\n\t\t\t.img-hover {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t&.delete {\n\t\t\t\tcolor: var(--color-button-error-border);\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--color-popup-item-hover);\n\t\t\t\t.img-hover {\n\t\t\t\t\tdisplay: initial;\n\t\t\t\t}\n\t\t\t\t.img-normal {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t&.delete {\n\t\t\t\t\tbackground-color: var(--color-popup-item-delete-hover);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.user-row-select-popup {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t\t.user-row-select-button {\n\t\t\t\tborder: 1px solid var(--color-primary);\n\t\t\t\tbox-shadow: 0px 0px 5px var(--color-primary);\n\t\t\t\timg {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.img-hover {\n\t\t\t\t\tdisplay: initial;\n\t\t\t\t\ttransform: rotateZ(180deg);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t&:last-of-type {\n\t\t// put popup on the left because the popup could be cropped by the paper's bottom\n\t\t.user-row-select-popup {\n\t\t\ttop: -50%;\n\t\t\tpadding: 0px 40px 0px;\n\t\t}\n\t}\n}\n\n.user-list-footer {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tpadding-top: $container-padding-v;\n\tposition: sticky;\n\tleft: 0px;\n}\n\n.users-list-pagination {\n\tdisplay: flex;\n\t@include gap-horizontal(1em);\n\n\t.users-list-pagination-count {\n\t\tfont-weight: 500;\n\t}\n\t.users-list-pagination-navigation {\n\t\tdisplay: flex;\n\t\t@include gap-horizontal(0.5em);\n\t}\n\t.users-list-pagination-button {\n\t\tborder: none;\n\t\tbackground: none;\n\t}\n}\n\n.pill {\n\tdisplay: flex;\n\tborder-radius: 20px;\n\tpadding: 4px 8px;\n\talign-items: center;\n\twidth: fit-content;\n\twhite-space: nowrap;\n\t@include gap-horizontal(4px);\n\n\t&.passwordless {\n\t\tcolor: var(--color-passwordless-text);\n\t\tbackground-color: var(--color-passwordless-bg);\n\t}\n\t&.emailpassword {\n\t\tcolor: var(--color-emailpassword-text);\n\t\tbackground-color: var(--color-emailpassword-bg);\n\t}\n\t&.thirdparty {\n\t\tcolor: var(--color-custom-provider-text);\n\t\tbackground-color: var(--color-custom-provider-bg);\n\t\tmax-width: 25ch;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\t.thirdparty-name {\n\t\t\tmax-width: 10ch;\n\t\t\ttext-overflow: inherit;\n\t\t\toverflow: inherit;\n\t\t}\n\t\t&.google {\n\t\t\tcolor: var(--color-google-text);\n\t\t\tbackground-color: var(--color-google-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t\t&.apple {\n\t\t\tcolor: var(--color-apple-text);\n\t\t\tbackground-color: var(--color-apple-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t\t&.github {\n\t\t\tcolor: var(--color-github-text);\n\t\t\tbackground-color: var(--color-github-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t\t&.facebook {\n\t\t\tcolor: var(--color-facebook-text);\n\t\t\tbackground-color: var(--color-facebook-bg);\n\t\t\tspan {\n\t\t\t\ttext-transform: capitalize;\n\t\t\t}\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\n.footer {\n\tbottom: 0;\n\twidth: 100%;\n\tmin-height: 62px;\n\tdisplay: flex;\n\tpadding: 20px 32px;\n\n\t.logo {\n\t\theight: 23px;\n\t\twidth: 151px;\n\t}\n\n\t&.alignment-right {\n\t\tjustify-content: flex-end;\n\t}\n\t&.alignment-center {\n\t\tjustify-content: center;\n\t}\n\n\t&.vertical-center {\n\t\talign-items: center;\n\t}\n\t&.vertical-bottom {\n\t\talign-self: flex-end;\n\t}\n\n\t&.color-dark {\n\t\tbackground-color: var(--color-black);\n\t\t.logo {\n\t\t\twidth: 148px;\n\t\t}\n\t}\n\n\t&.size-large {\n\t\tpadding: 40px 32px;\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n.no-users {\n\tpadding: 60px 24px;\n\tdisplay: flex;\n\tflex-flow: column;\n\talign-items: center;\n}\n\n.no-users-image {\n\theight: 43px;\n\twidth: 63px;\n\tmargin-bottom: 24px;\n}\n\n.no-users-title {\n\tfont-size: 18px;\n\tline-height: 22px;\n\tfont-weight: 500;\n\tcolor: var(--color-black);\n\tletter-spacing: 0.18px;\n\tmargin-bottom: 8px;\n\ttext-align: center;\n}\n\n.no-users .no-users-subtitle {\n\tcolor: var(--color-secondary-text);\n\tpadding: 4px 0;\n\ttext-align: center;\n\tmax-width: 54ch;\n\tline-height: 1.5em;\n}\n\n@media only screen and (min-width: 992px) {\n\t.no-users {\n\t\tpadding: 60px;\n\t}\n}\n",".search {\n\tmargin-bottom: 20px;\n\n\t#search-btn {\n\t\tdisplay: inline-block;\n\t\tbackground: var(--color-white);\n\t\tborder: 1px solid var(--color-black);\n\t\tborder-radius: 6px;\n\t\tpadding: 6px 8px;\n\t\tfont-size: 14px;\n\t\tfont-family: inherit;\n\t\tline-height: 17px;\n\t\tfont-weight: 500;\n\t\tcursor: pointer;\n\t\tz-index: 1;\n\t\theight: 35px;\n\t\tmargin-left: 10px;\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\t& {\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-top: 10px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__input_wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\n\t\twidth: 340px;\n\t\theight: 40px;\n\t\tpadding: 9px 16px;\n\t\tbackground: #ffffff;\n\t\tborder: 1px solid #e5e5e5;\n\t\tborder-radius: 6px;\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\t& {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& img {\n\t\t\theight: 14px;\n\t\t\taspect-ratio: 1;\n\n\t\t\t&:nth-child(1) {\n\t\t\t\tmargin-right: 10px;\n\t\t\t\tmargin-bottom: 3px;\n\t\t\t}\n\n\t\t\t&:last-child {\n\t\t\t\tcursor: pointer;\n\t\t\t\theight: 22px;\n\t\t\t}\n\t\t}\n\n\t\t&.active {\n\t\t\tborder: 1px solid #ff9933;\n\t\t\toutline: 2px solid rgba(255, 153, 51, 0.4);\n\t\t}\n\n\t\t& input {\n\t\t\tborder: none;\n\t\t\tflex-grow: 1;\n\t\t\theight: 20px;\n\n\t\t\t&:focus,\n\t\t\t&:active,\n\t\t\t&:focus-visible,\n\t\t\t&:focus-within {\n\t\t\t\toutline: none;\n\t\t\t}\n\n\t\t\t&::placeholder {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 16px;\n\t\t\t\tline-height: 171%;\n\n\t\t\t\tcolor: rgba(34, 34, 34, 0.7);\n\t\t\t\tpadding-bottom: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.searchTag {\n\tdisplay: inline-flex;\n\tmargin: 12px 0;\n\n\tmargin-right: 8px;\n\n\talign-items: center;\n\n\t&__value {\n\t\tbackground: #fafafa;\n\t\tborder: 1px solid #dddddd;\n\t\tborder-radius: 4px;\n\n\t\tpadding: 6px;\n\n\t\tfont-weight: 400;\n\t\tfont-size: 14px;\n\n\t\tmargin-left: 4px;\n\n\t\tcolor: #000000;\n\n\t\t& img {\n\t\t\tmargin-left: 10px;\n\t\t\theight: 8px;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n.tag_dropdown {\n\tposition: relative;\n\t&__selector {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tbackground: #eeeeee;\n\t\tborder: 1px solid #e2e2e2;\n\t\tborder-radius: 4px;\n\n\t\tfont-weight: 500;\n\t\tfont-size: 14px;\n\n\t\tpadding: 6px;\n\n\t\tcolor: #000000;\n\n\t\t& img {\n\t\t\tmargin-left: 10px;\n\t\t}\n\n\t\t&.active {\n\t\t\tbackground: #fff2e1;\n\t\t\tborder: 1px solid #ebdfcf;\n\t\t\tborder-radius: 4px;\n\t\t}\n\t}\n\n\t&__menu {\n\t\tposition: absolute;\n\t\ttop: calc(2em + 8px);\n\n\t\tz-index: 999;\n\n\t\tbackground: #ffffff;\n\t\tbox-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);\n\t\tborder-radius: 6px;\n\n\t\tmin-width: 180px;\n\n\t\t& ul {\n\t\t\tlist-style-type: none;\n\n\t\t\t& li {\n\t\t\t\tmargin: 7px;\n\t\t\t\tpadding: 10px;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 14px;\n\n\t\t\t\tcolor: #6e6a65;\n\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: #f0f0f0;\n\t\t\t\t}\n\n\t\t\t\tspan {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: baseline;\n\t\t\t\t\t& img {\n\t\t\t\t\t\tmargin-right: 11px;\n\t\t\t\t\t\theight: 15px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../../styles/mixin.scss\";\n\n.tenant-pill {\n\tpadding: 5px 13px;\n\tborder-radius: 30px;\n\tborder: 1px solid #9335e4;\n\tbackground: rgba(147, 53, 228, 0.1);\n\tmax-width: fit-content;\n\tcolor: #9335e4;\n\tfont-size: 14px;\n}\n\n.tenant-list-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\trow-gap: 16px;\n\tcolumn-gap: 16px;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.user-detail-page-loader {\n\tmin-height: 80vh;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.full-screen-loading-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground-color: rgba(0, 0, 0, 0.4);\n\tz-index: 1;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.loader-container {\n\tbackground-color: var(--color-window-bg);\n\tpadding: 2px;\n\tdisplay: flex;\n\tborder-radius: 50%;\n}\n\n.loader {\n\tborder: 16px solid #f3f3f3; /* Light grey */\n\tborder-top: 16px solid #ff9933; /* Blue */\n\tborder-radius: 50%;\n\twidth: 60px;\n\theight: 60px;\n\tanimation: spin 2s linear infinite;\n}\n\n@keyframes spin {\n\t0% {\n\t\ttransform: rotate(0deg);\n\t}\n\t100% {\n\t\ttransform: rotate(360deg);\n\t}\n}\n\n@-webkit-keyframes spin {\n\t0% {\n\t\t-webkit-transform: rotate(0deg);\n\t}\n\t100% {\n\t\t-webkit-transform: rotate(360deg);\n\t}\n}\n\n@-moz-keyframes spin {\n\t0% {\n\t\t-moz-transform: rotate(0deg);\n\t}\n\t100% {\n\t\t-moz-transform: rotate(360deg);\n\t}\n}\n\n.user-detail {\n\t--badge-bg-color: rgb(197, 224, 253);\n\t--copy-text-color: rgb(214, 80, 120);\n\n\tpadding: 72px #{$container-padding-horizontal}px 48px;\n\tmax-width: 100vw;\n\n\t&.center-children {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\t.subtitle {\n\t\t\tfont-size: 16px;\n\t\t\tline-height: 26px;\n\t\t}\n\n\t\t.back-button {\n\t\t\tmargin-top: 16px;\n\t\t\tcolor: var(--color-link);\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&__header {\n\t\tmargin-top: 40px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\toverflow: hidden;\n\t\t@include gap-horizontal(16px);\n\t\t&__badge {\n\t\t\t$size: 60px;\n\t\t\tborder-radius: 50%;\n\t\t\twidth: $size;\n\t\t\theight: $size;\n\t\t\tflex-shrink: 0;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tfont-size: 24px;\n\t\t\tfont-weight: 600;\n\t\t\ttext-align: center;\n\t\t\ttext-transform: uppercase;\n\t\t\tbackground-color: var(--badge-bg-color);\n\t\t\tcolor: var(--color-link);\n\t\t}\n\t\t&__info {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\t\t\toverflow: hidden;\n\t\t\t@include gap-vertical(6px);\n\t\t}\n\t\t&__title {\n\t\t\tfont-size: 18px;\n\t\t\tline-height: 28px;\n\t\t\tfont-weight: 600;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tspan {\n\t\t\t\t@include text-ellipsis(100%);\n\t\t\t}\n\t\t}\n\t\t&__user-id {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: 14px;\n\t\t\t@include gap-horizontal(8px);\n\t\t\tspan {\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t\t&__text {\n\t\t\t\tbackground-color: var(--color-white);\n\t\t\t\tcolor: var(--copy-text-color);\n\t\t\t\tborder: 1px var(--color-border) solid;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\toverflow: hidden;\n\t\t\t\tmax-width: 290px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-family: \"Source Code Pro\";\n\t\t\t\tfont-weight: 500;\n\t\t\t}\n\t\t}\n\t\t&__action {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\t}\n\n\t.panel {\n\t\tmargin-top: 40px;\n\t}\n\n\t&__info-grid {\n\t\t&__grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n\t\t\tgrid-gap: 40px 60px;\n\t\t}\n\t\t&__item {\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\t&__label {\n\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\tmargin-bottom: 12px;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t&__body {\n\t\t\t\twidth: 100%;\n\t\t\t\t@include text-ellipsis(100%);\n\t\t\t\twhite-space: normal;\n\t\t\t\toverflow: visible;\n\t\t\t}\n\t\t\t&__guide {\n\t\t\t\tcursor: pointer;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 1em;\n\t\t\t\twidth: 1em;\n\t\t\t\tborder: 1px solid var(--color-black);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmargin-left: 6px;\n\t\t\t\timg {\n\t\t\t\t\theight: 1em;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.input-field-container {\n\t\t\t\tmargin: 0px;\n\t\t\t}\n\n\t\t\t.email-verified-button {\n\t\t\t\tmargin-left: 12px;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\n\t\tinput,\n\t\t.phone-input {\n\t\t\tbackground-color: var(--color-window-bg);\n\t\t}\n\n\t\t.input-field-error {\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\t&__provider-box {\n\t\tfont-size: 13px;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tcolor: var(--color-copy-box);\n\t\tbackground-color: var(--color-copy-box-bg);\n\t\twidth: 100%;\n\t\t@include gap-horizontal(6px);\n\n\t\t&.block-snippet {\n\t\t\tborder: none;\n\t\t\tpadding-right: 4px;\n\t\t}\n\n\t\t> span {\n\t\t\t> img {\n\t\t\t\theight: 1em;\n\t\t\t}\n\t\t}\n\n\t\t&__user-id {\n\t\t\tflex: 1;\n\t\t\toverflow-x: hidden;\n\t\t\tpadding: 4px 4px 4px 0px;\n\t\t\t.copy-text {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media only screen and (min-width: #{$container-width + 2 * $container-padding-horizontal}px) {\n\t\twidth: #{$container-width}px;\n\t\tpadding-left: 0px;\n\t\tpadding-right: 0px;\n\t\tmargin: 0 auto;\n\t}\n}\n\n.user-detail-title {\n\tfont-size: 28px;\n\tline-height: 34px;\n\tcolor: var(--color-black);\n\tmargin-bottom: 16px;\n\tfont-weight: 500;\n}\n\n.user-detail-subtitle {\n\tcolor: var(--color-secondary-text);\n\tmargin-bottom: 48px;\n}\n\n.user-detail-paper {\n\tbox-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);\n\tborder-radius: 6px;\n\tbackground-color: var(--color-white);\n\tdisplay: block;\n\twidth: 100%;\n\tmax-width: 100%;\n}\n\n.user-detail .block-info-connection {\n\tmargin-bottom: 24px;\n}\n\n.pill {\n\tmargin-top: 4px;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n\n.copy-text {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tmax-width: 100%;\n\t.copy-text-text {\n\t\t@include text-ellipsis(100%);\n\t\tflex: 1;\n\t\tpadding-right: 4px;\n\t}\n\t.copy-text-action {\n\t\tcursor: pointer;\n\t\tborder-radius: 50%;\n\t\ttransition: 0.3s;\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-copy-box-shadow);\n\t\t\tbox-shadow: 0px 0px 0px 4px var(--color-copy-box-shadow);\n\t\t}\n\t}\n\t.copy-text-notification {\n\t\tposition: fixed;\n\t\tfont-size: 12px;\n\t\ttransform: translateY(-50%);\n\t\tz-index: 1;\n\n\t\tspan {\n\t\t\tmargin: 0px 12px;\n\t\t\twhite-space: nowrap;\n\t\t\tbackground-color: var(--color-black);\n\t\t\tborder-color: var(--color-black);\n\t\t\tcolor: var(--color-white);\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.panel {\n\t&.no-padding-horizontal {\n\t\tpadding-left: 0px !important;\n\t\tpadding-right: 0px !important;\n\t}\n}\n\n.content-container {\n\twidth: 100%;\n\tpadding-top: 24px;\n\tpadding-bottom: 24px;\n\n\t.header {\n\t\tpadding-left: 34px;\n\t\tpadding-right: 34px;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tcolor: var(--color-secondary-text);\n\n\t\t@media only screen and (max-width: 600px) {\n\t\t\tflex-direction: column;\n\t\t\talign-items: flex-start;\n\t\t}\n\n\t\t.header-primary {\n\t\t\tfont-weight: 500;\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\n\t\t\t@media only screen and (max-width: 600px) {\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: flex-start;\n\t\t\t}\n\t\t}\n\n\t\t.header-secondary {\n\t\t\tfont-weight: 400;\n\t\t\tfont-size: 12px;\n\t\t\tmargin-left: 4px;\n\n\t\t\t@media only screen and (max-width: 600px) {\n\t\t\t\tmargin-left: 0px;\n\t\t\t\tmargin-top: 2px;\n\t\t\t}\n\t\t}\n\n\t\t.button-error {\n\t\t\tfont-weight: 500;\n\n\t\t\t@media only screen and (max-width: 600px) {\n\t\t\t\tmargin-top: 12px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.table-container {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\toverflow-x: scroll;\n\t\tmargin-top: 18px;\n\t\theight: fit-content;\n\t}\n\n\t.table {\n\t\tdisplay: table;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tborder-spacing: 0px;\n\t\tborder-collapse: collapse;\n\n\t\t.thead {\n\t\t\tcolor: var(--color-black);\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-size: 12px;\n\t\t\tline-height: 14px;\n\n\t\t\t.head-row {\n\t\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\t\tborder-top: 1px solid var(--color-border);\n\t\t\t\tpadding-left: 34px;\n\t\t\t\tpadding-right: 34px;\n\t\t\t\tpadding-top: 15px;\n\t\t\t\tpadding-bottom: 15px;\n\t\t\t\tbackground: #fafafa;\n\n\t\t\t\tth {\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\tpadding-top: 15px;\n\t\t\t\t\tpadding-bottom: 15px;\n\t\t\t\t\tpadding-left: 35px;\n\t\t\t\t\tpadding-right: 35px;\n\t\t\t\t}\n\n\t\t\t\tth:last-child {\n\t\t\t\t\tpadding-right: 34px;\n\t\t\t\t}\n\n\t\t\t\t.w30 {\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding-left: 34px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttbody {\n\t\t\tpadding-left: 34px;\n\t\t\tpadding-right: 34px;\n\n\t\t\t.placeholder {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\n\t\t\t.session-info {\n\t\t\t\tdisplay: flex;\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin-left: 34px;\n\t\t\t\tmargin-right: 34px;\n\t\t\t}\n\n\t\t\t.session-row {\n\t\t\t\tmargin-top: 29px;\n\t\t\t\tmargin-left: 34px;\n\t\t\t\tmargin-right: 34px;\n\n\t\t\t\t&.empty-row {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t}\n\n\t\t\t\t&.with-data {\n\t\t\t\t\ttd {\n\t\t\t\t\t\tfont-weight: 400;\n\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\twidth: calc(70% / 3);\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tcolor: var(--color-secondary-text);\n\t\t\t\t\t\theight: 1px;\n\t\t\t\t\t\tmin-height: 28px;\n\t\t\t\t\t\tpadding-left: 35px;\n\t\t\t\t\t\tpadding-right: 35px;\n\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\tpadding-top: 29px;\n\n\t\t\t\t\t\tspan {\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\tpadding-left: 8px;\n\t\t\t\t\t\t\tpadding-right: 8px;\n\t\t\t\t\t\t\tpadding-top: 7px;\n\t\t\t\t\t\t\tpadding-bottom: 7px;\n\t\t\t\t\t\t\tbackground-color: var(--color-copy-box-bg);\n\t\t\t\t\t\t\twidth: fit-content;\n\t\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.button-error-outline {\n\t\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.session-id {\n\t\t\t\t\t\t\tfont-family: \"Source Code Pro\";\n\t\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\ttd:last-child {\n\t\t\t\t\t\tpadding-right: 34px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.w30 {\n\t\t\t\t\t\tpadding-left: 34px;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\n Theme: An Old Hope – Star Wars Syntax\n Author: (c) Gustavo Costa \n Maintainer: @gusbemacbe\n\n Original theme - Ocean Dark Theme – by https://github.com/gavsiu\n Based on Jesse Leite's Atom syntax theme 'An Old Hope'\n https://github.com/JesseLeite/an-old-hope-syntax-atom\n*/.hljs{background:#1c1d21;color:#c0c5ce}.hljs-comment,.hljs-quote{color:#b6b18b}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#eb3c54}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#e7ce56}.hljs-attribute{color:#ee7c2b}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#4fb4d7}.hljs-section,.hljs-title{color:#78bb65}.hljs-keyword,.hljs-selector-tag{color:#b45ea4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}","@import \"../../../styles/mixin.scss\";\n\n.button-root {\n\tcursor: pointer;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n@import \"../../styles/mixin.scss\";\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.padding-vertical-24 {\n\tpadding-top: 24px !important;\n\tpadding-bottom: 24px !important;\n}\n\n.metadata-header {\n\tdisplay: flex;\n\tflex-direction: row;\n\twidth: 100%;\n\tjustify-content: space-between;\n\tpadding-bottom: 24px;\n\tborder-bottom: 1px solid var(--color-border);\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n\n\t.title {\n\t\tcolor: var(--color-secondary-text);\n\t\tfont-weight: 500;\n\t}\n\n\t.metadata-actions {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t@include gap-horizontal(16px);\n\t}\n}\n\n.metadata-content-container {\n\tmargin-top: 22px;\n\tpadding-left: 28px;\n\tpadding-right: 28px;\n\toverflow-x: auto;\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n\tbackground: #0d2e4e;\n\tborder-radius: 6px;\n\twhite-space: pre;\n\n\t.hljs {\n\t\tbackground: #0d2e4e;\n\t\tfont-weight: 400;\n\t\tfont-size: 13px;\n\t\tline-height: 21px;\n\t\tpadding: 0px !important;\n\t}\n}\n\n.metadata-edit-box {\n\tmargin-top: 24px;\n\tmin-width: 100%;\n\tmax-width: 100%;\n\tmin-height: 200px;\n\tpadding: 4px;\n\tbackground-color: var(--color-window-bg);\n\tborder-radius: 6px;\n\tborder: none;\n\tborder: 1px solid rgb(224, 224, 224);\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n$container-padding-horizontal: 40;\n$container-width: 829;\n\n.users-list {\n\tpadding: 72px #{$container-padding-horizontal}px 48px;\n\tmax-width: 100vw;\n}\n\n.users-list-title {\n\tfont-size: 28px;\n\tline-height: 34px;\n\tcolor: var(--color-black);\n\tmargin-bottom: 16px;\n\tfont-weight: 500;\n}\n\n.users-list-title .pill.paid-feature-badge {\n\tdisplay: inline-block;\n\tline-height: 1.1;\n\tfont-size: 14px;\n\tbackground-color: var(--color-badge-bg);\n\tcolor: var(--color-badge);\n\tborder-radius: 6px;\n\tmargin-top: 0;\n\tvertical-align: middle;\n}\n\n.users-list-subtitle {\n\tcolor: var(--color-secondary-text);\n\tmargin-bottom: 48px;\n}\n\n.users-list-paper {\n\tbox-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);\n\tborder-radius: 6px;\n\tbackground-color: var(--color-white);\n\tdisplay: block;\n\twidth: 100%;\n\tmax-width: 100%;\n}\n\n.users-list .block-info-connection {\n\tmargin-bottom: 24px;\n}\n\n.tenant-list-dropdown {\n\tmin-width: 200px;\n\tpadding-left: 13px;\n\tpadding-right: 13px;\n\tpadding-top: 9px;\n\tpadding-bottom: 9px;\n\tborder-radius: 6px;\n\tborder: 1px solid #e5e5e5;\n\tbackground: #fff;\n\tfont-size: 14px;\n\tcolor: #222;\n}\n\n.tenant-id-container {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-bottom: 16px;\n}\n\n.tenant-id-title {\n\tfont-size: 16px;\n\tfont-weight: 500;\n\tmargin-right: 8px;\n}\n\n@media only screen and (min-width: #{$container-width + 2 * $container-padding-horizontal}px) {\n\t.users-list {\n\t\twidth: #{$container-width}px;\n\t\tpadding-left: 0px;\n\t\tpadding-right: 0px;\n\t\tmargin: 0 auto;\n\t}\n}\n","button#sign-out-btn {\n\tposition: absolute;\n\ttop: 24px;\n\tright: 60px;\n\tbackground: var(--color-white);\n\tborder: 1px solid var(--color-black);\n\tborder-radius: 6px;\n\tpadding: 6px 8px;\n\tfont-size: 14px;\n\tfont-family: inherit;\n\tline-height: 17px;\n\tfont-weight: 500;\n\tcursor: pointer;\n\tz-index: 1;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n.auth-container {\n\theight: 100vh;\n\twidth: 100vw;\n\tdisplay: flex;\n\tflex-flow: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbackground-position: top center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\tbackground-image: var(--auth-background-portrait);\n\n\t@media only screen and (min-width: 600px) {\n\t\tbackground-image: var(--auth-background);\n\t}\n}\n\n.auth-container .block-container {\n\tmax-width: 320px;\n\tmargin: 32px auto;\n\n\t&.sign-up,\n\t&.forgot-password {\n\t\tmax-width: 460px;\n\t}\n\n\t@media only screen and (min-width: 600px) {\n\t\tmax-width: 450px;\n\n\t\t&.sign-up,\n\t\t&.forgot-password {\n\t\t\tmax-width: 760px;\n\t\t\twidth: max(600px, 41vw);\n\t\t}\n\t}\n}\n\n.auth-container {\n\t.text-title {\n\t\tmargin-bottom: 8px;\n\t}\n\n\t.text-label {\n\t\tmargin-bottom: 16px;\n\t}\n\n\tlabel {\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tmargin-block-end: 7px;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.block-container {\n\thr {\n\t\tmargin-block: 24px;\n\t\tborder-bottom: none;\n\t\tborder-top: 1px solid rgb(221, 221, 221);\n\t}\n\n\t.link {\n\t\tcolor: var(--color-link);\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n}\n\nform .input-field-inset:not(.input-field-inset-focused) input {\n\tbackground-color: var(--color-input-unfocused);\n}\n\n.error-response-container {\n\tfont-size: 14px;\n}\n\n.cta-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\n\t.secondary-cta-btn {\n\t\tfont-family: inherit;\n\t\tfont-size: 14px;\n\n\t\t&.forgot-btn {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\timg.back-chevron {\n\t\tmargin-inline-end: 6px;\n\t}\n}\n\n.command-container {\n\tmargin-block: 24px 18px;\n\tdisplay: flex;\n\tpadding-block: 6px;\n\tpadding-inline: 8px 4px;\n\t@include gap-horizontal(12px);\n\tborder: 1px solid var(--color-border-command);\n\tborder-radius: 6px;\n\twhite-space: break-spaces;\n\n\t.clipboard-btn-container {\n\t\theight: 24px;\n\t\tmin-width: 24px;\n\t\tborder-radius: 50%;\n\t\ttransition: 0.1s all ease-in-out;\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\tbackground: rgba(217, 217, 217, 0.6);\n\t\t}\n\n\t\t.clipboard-icon {\n\t\t\twidth: 12px;\n\t\t\theight: 14px;\n\t\t}\n\t}\n\n\tcode.command {\n\t\tword-break: break-word;\n\t\tfont-size: 13px;\n\t\tline-height: 1.6;\n\t\tcolor: var(--color-command);\n\t\tflex: 1;\n\t\tmax-height: 160px;\n\t\toverflow-y: scroll;\n\n\t\t.hljs-string {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t.tooltip-container {\n\t\theight: fit-content;\n\n\t\t.tooltip-container__popup {\n\t\t\tpadding: 3px 8px;\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\n.error-container {\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\t.block-container {\n\t\ttext-align: center;\n\t\tmax-width: 560px;\n\t\tmargin: 32px auto;\n\t\t.text-title {\n\t\t\tfont-size: 24px;\n\t\t\tline-height: normal;\n\t\t\tmargin-top: 8px;\n\t\t}\n\t\t.title-image {\n\t\t\tmargin-left: auto;\n\t\t\tmargin-right: auto;\n\t\t}\n\t\tp {\n\t\t\tmargin-top: 12px;\n\t\t\tletter-spacing: 0.14px;\n\t\t}\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import \"../../styles/mixin.scss\";\n\n.notification {\n\tdisplay: flex;\n\tpadding: 16px;\n\t@include gap-horizontal(8px);\n\tline-height: 24px;\n\tborder: 1px solid var(--color-border);\n\tborder-radius: 6px;\n\tbackground-color: var(--color-window-bg);\n\tbox-shadow: 0px 0px 6px var(--color-shadow);\n\tfont-size: 14px;\n\tanimation: notificationScale 0.3s;\n\ttransition: 0.3s;\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\timg {\n\t\t\theight: 16px;\n\t\t}\n\t}\n\t&__info {\n\t\tflex: 1;\n\t\tpadding-right: 24px;\n\t\tfont-weight: 500;\n\t\tmax-width: 300px;\n\t\twhite-space: wrap;\n\t}\n\t&__close {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tsvg {\n\t\t\twidth: 8px;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t&.notification-info {\n\t\tbackground-color: var(--color-info-bg);\n\t\tcolor: var(--color-info);\n\t\tborder-color: var(--color-border-info);\n\t\tbox-shadow: 0px 0px 6px var(--color-info-shadow);\n\t\tsvg {\n\t\t\tstroke: var(--color-info);\n\t\t}\n\t}\n\t&.notification-error {\n\t\tbackground-color: var(--color-error-bg);\n\t\tcolor: var(--color-error);\n\t\tborder-color: var(--color-border-error);\n\t\tbox-shadow: 0px 0px 6px var(--color-error-shadow);\n\t\tsvg {\n\t\t\tstroke: var(--color-error);\n\t\t}\n\t}\n\t&.notification-success {\n\t\tbackground-color: var(--color-success-bg);\n\t\tcolor: var(--color-success);\n\t\tborder-color: var(--color-border-success);\n\t\tbox-shadow: 0px 0px 6px var(--color-success-shadow);\n\t\tsvg {\n\t\t\tstroke: var(--color-success);\n\t\t}\n\t}\n}\n\n.notification-container {\n\tposition: fixed;\n\ttop: 78px;\n\tright: 0px;\n\tpadding: 0px 20px;\n\tdisplay: flex;\n\tflex-direction: column;\n\ttransition: 0.3s;\n\t@include gap-vertical(16px);\n\tmax-height: 100vh;\n\tjustify-content: flex-end;\n\twidth: max-content;\n}\n\n@keyframes notificationScale {\n\t0% {\n\t\ttransform: scale(0);\n\t}\n\t100% {\n\t\ttransform: scale(1);\n\t}\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n *\n * This software is licensed under the Apache License, Version 2.0 (the\n * \"License\") as published by the Apache Software Foundation.\n *\n * You may not use this file except in compliance with the License. You may\n * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\n@import url(\"https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap\");\n@import url(\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap\");\n\nbody {\n\tfont-family: \"Rubik\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\",\n\t\t\"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tcolor: var(--color-black);\n}\n\ncode {\n\tfont-family: Menlo, \"Source Code Pro\", Monaco, Consolas, \"Courier New\", monospace;\n}\n\n* {\n\tbox-sizing: border-box;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: relative;\n}\n\n#root {\n\tbackground-color: var(--color-window-bg);\n\tmin-height: 100vh;\n\tmin-width: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n#root > * {\n\tflex: 1;\n}\n\n#root > .footer {\n\tflex: 0;\n}\n\nbutton:not(:disabled),\na[href] {\n\tcursor: pointer;\n}\n\nbutton:disabled {\n\topacity: 0.5;\n\tpointer-events: none;\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\nbody {\n\t/* theme colors */\n\t--color-primary: rgb(255, 153, 51);\n\t--color-primary-opacity-40: rgba(255, 153, 51, 0.4);\n\t--color-primary-darker: rgb(255, 128, 0);\n\n\t--color-white: rgb(255, 255, 255);\n\t--color-black: rgb(34, 34, 34);\n\t--color-window-bg: rgb(248, 248, 248);\n\n\t/* Background Colors */\n\t--color-loader-placeholder-bg: rgba(110, 106, 101, 0.4);\n\t--color-shadow: rgba(0, 0, 0, 0.16);\n\t--color-container-shadow: rgba(0, 0, 0, 0.16);\n\t--color-error-shadow: rgba(158, 37, 38, 0.16);\n\t--color-error-bg: rgb(253, 240, 241);\n\t--color-info-shadow: rgba(158, 37, 38, 0.16);\n\t--color-info-bg: rgb(235, 245, 255);\n\t--color-success-bg: rgb(241, 250, 247);\n\t--color-success-shadow: rgba(4, 84, 62, 0.16);\n\t--color-link: rgb(0, 122, 255);\n\t--color-input-unfocused: rgb(250, 250, 250);\n\t--color-badge-bg: rgba(255, 242, 202);\n\n\t/* Border Colors */\n\t--color-border: rgb(229, 229, 229);\n\t--color-border-error: rgb(239, 121, 119);\n\t--color-border-info: rgb(151, 189, 250);\n\t--color-border-success: rgb(73, 200, 153);\n\t--color-border-command: rgb(221, 221, 221);\n\n\t/* Text Colors */\n\t--color-secondary-text: rgb(110, 106, 101); /* Below title, table headers, placeholders etc */\n\t--color-error: rgb(158, 37, 38);\n\t--color-info: rgb(31, 90, 219);\n\t--color-success: rgb(4, 84, 62);\n\t--color-link: rgb(0, 118, 255);\n\t--color-command: rgb(214, 80, 120);\n\t--color-badge: rgba(220, 141, 13);\n\n\t/* Recipe Pill Colors */\n\t--color-emailpassword-bg: rgb(221, 252, 247);\n\t--color-emailpassword-text: rgb(0, 106, 91);\n\t--color-passwordless-bg: rgb(255, 234, 247);\n\t--color-passwordless-text: rgb(168, 17, 90);\n\n\t/* Social Provider Pill Colors */\n\t--color-google-bg: rgb(241, 222, 255);\n\t--color-google-text: rgb(92, 63, 121);\n\t--color-github-bg: rgb(222, 255, 238);\n\t--color-github-text: rgb(9, 108, 56);\n\t--color-facebook-bg: rgb(227, 235, 255);\n\t--color-facebook-text: rgb(21, 75, 221);\n\t--color-apple-bg: rgb(229, 237, 255);\n\t--color-apple-text: rgb(11, 28, 69);\n\t--color-custom-provider-bg: rgb(228, 224, 255);\n\t--color-custom-provider-text: rgb(84, 37, 176);\n\n\t/* Color for Copy-Box */\n\t--color-copy-box: rgb(83, 101, 121);\n\t--color-copy-box-bg: rgb(240, 244, 247);\n\t--color-copy-box-shadow: rgba(83, 101, 121, 0.2);\n\n\t/* Button color */\n\t--color-button-error: rgb(237, 52, 78);\n\t--color-button-error-border: rgb(222, 35, 61);\n\t--color-button-error-disabled: rgb(221, 221, 221);\n\t--color-button-error-hover: rgb(222, 35, 61);\n\n\t/* Z-index value for different of popup element */\n\t--z-index-inline-popup: 1;\n\t--z-index-modal-popup: 10;\n\n\t--color-popup-item-hover: rgb(240, 240, 240);\n\t--color-popup-item-delete-hover: rgba(222, 35, 61, 0.12);\n\t--color-button-outline-hover: rgb(250, 250, 250);\n}\n\n*[data-theme=\"dark\"] {\n\t--color-black: rgb(255, 255, 255);\n\t--color-white: rgb(34, 34, 34);\n\t--color-window-bg: rgb(74, 74, 74);\n\t--color-secondary-text: rgb(221, 221, 221);\n}\n","/* Copyright (c) 2022, VRAI Labs and/or its affiliates. All rights reserved.\n*\n* This software is licensed under the Apache License, Version 2.0 (the\n* \"License\") as published by the Apache Software Foundation.\n*\n* You may not use this file except in compliance with the License. You may\n* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n* License for the specific language governing permissions and limitations\n* under the License.\n*/\n\n@import \"./mixin.scss\";\n\n.full-width {\n\twidth: 100%;\n}\n\n/* classes for layout panel */\n.panel {\n\tpadding: 0px 40px;\n\tbackground-color: var(--color-white);\n\tborder-radius: 12px;\n\tbox-shadow: 0 0 6px var(--color-shadow);\n\tdisplay: block;\n\tmax-width: 100%;\n\twidth: 100%;\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tpadding: 16px 0px;\n\t\tmin-height: 64px;\n\t\tfont-size: 14px;\n\t\t.title {\n\t\t\tfont-size: 14px;\n\t\t\ttext-transform: uppercase;\n\t\t\tcolor: var(--color-secondary-text);\n\t\t\tfont-weight: 600;\n\t\t\tflex: 1;\n\t\t}\n\t\t.actions {\n\t\t\tdisplay: inline-flex;\n\t\t\t@include gap-horizontal(16px);\n\t\t}\n\t\t&.with-border {\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t}\n\t}\n\t&__body {\n\t\tpadding: 24px 0px;\n\t\tpadding-bottom: 18px;\n\t}\n}\n\n/* Classes for layout modal */\n.layout-modal {\n\tposition: fixed;\n\ttop: 0px;\n\tleft: 0px;\n\tz-index: var(--z-index-modal-popup);\n\tdisplay: block;\n\twidth: 100vw;\n\theight: 100vw;\n\tbackground: none;\n\tpointer-events: none;\n\t&__backdrop {\n\t\tpointer-events: all;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground-color: var(--color-black);\n\t\topacity: 0.4;\n\t}\n\t&__container {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\t&__close {\n\t\tdisplay: flex;\n\t\theight: 32px;\n\t\talign-items: flex-start;\n\t\tjustify-content: flex-end;\n\t\t> div {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tfont-size: 22px;\n\t\t\theight: 1em;\n\t\t\twidth: 1em;\n\t\t\tpadding: 6px;\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: var(--color-border);\n\t\t\tcursor: pointer;\n\t\t\t> img {\n\t\t\t\twidth: 8px;\n\t\t\t}\n\t\t}\n\t}\n\t.panel {\n\t\tpointer-events: all;\n\t\tposition: absolute;\n\t\tpadding-top: 16px;\n\t\tpadding-bottom: 16px;\n\t\tmargin: 0 auto;\n\t\tz-index: 1;\n\t\ttop: 50vh;\n\t\tleft: 50vw;\n\t\ttransform: translateX(-50%) translateY(-50%);\n\t\tmax-height: calc(100vh - 32px);\n\t\tmax-width: calc(100vh - 32px);\n\t\twidth: 470px;\n\t\t&__header {\n\t\t\talign-items: flex-end;\n\t\t}\n\t}\n}\n\n.layout-modal-trigger {\n\tdisplay: inline-block;\n\tcursor: pointer;\n}\n\n/* classes for blocks */\n.block-container {\n\tdisplay: flex;\n\tflex-flow: column;\n\tpadding: 32px 18px;\n\tborder-radius: 18pt;\n\tbox-shadow: 1px 1px 6px var(--color-container-shadow);\n\twidth: calc(100% - 32px);\n\tbackground-color: var(--color-white);\n\t@media only screen and (min-width: 992px) {\n\t\tpadding: 32px 48px;\n\t}\n}\n\n.block-snippet-small {\n\tborder: 1px solid var(--color-border);\n\tpadding: 2px 4px;\n\tborder-radius: 2px;\n}\n\n.block-snippet {\n\tborder: 1px solid var(--color-border);\n\tpadding: 3px 8px;\n\tborder-radius: 4px;\n}\n\n.block-snippet-large {\n\tborder: 1px solid var(--color-border);\n\tborder-radius: 4px;\n\tpadding: 6px 8px;\n}\n\n.block-small {\n\tborder-radius: 6px;\n\tpadding: 8px 12px 8px;\n}\n\n.block-medium {\n\tpadding: 20px 16px;\n\tmargin: 4px 0px;\n\tborder-radius: 6pt;\n\tborder-width: 1px;\n\tborder-style: solid;\n\tbox-shadow: 0px 0px 6px var(--color-shadow);\n\tp {\n\t\tline-height: 23px;\n\t\t&:not(:last-child) {\n\t\t\tmargin-bottom: 16px;\n\t\t\t@media only screen and (min-width: 600px) {\n\t\t\t\tmargin-bottom: 6px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.block-large {\n\tpadding: 32px;\n\tborder-radius: 24px;\n\tbox-shadow: 1px 1px 60px var(--color-container-shadow);\n\tp {\n\t\tletter-spacing: 0.14px;\n\t\tline-height: 21px;\n\t}\n\t@media only screen and (min-width: 768px) {\n\t\tpadding: 32px 48px;\n\t}\n}\n\n.block-error {\n\tbackground-color: var(--color-error-bg);\n\tcolor: var(--color-error);\n\tborder-color: var(--color-border-error);\n}\n\n.block-info {\n\tbackground-color: var(--color-info-bg);\n\tcolor: var(--color-info);\n\tborder-color: var(--color-border-info);\n}\n\n.button:not(.flat) {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 8px 16px;\n\tfont-size: 14px;\n\tline-height: 16px;\n\tbackground-color: var(--color-primary);\n\tborder: 1px solid var(--color-primary-darker);\n\tfont-weight: 600;\n\tcolor: var(--color-white);\n\tborder-radius: 6px;\n\tfont-family: inherit;\n\tcursor: pointer;\n\t@include gap-horizontal(0.75em);\n\tbox-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);\n\n\t&.small {\n\t\tpadding: 6px 8px;\n\t\tfont-weight: normal;\n\t}\n}\n\n.button.flat,\nbutton.flat {\n\tdisplay: inline;\n\tbackground: none;\n\tpadding: 0px;\n\tmargin: 0px;\n\tcolor: var(--color-secondary-text);\n\tfont-weight: 600;\n\t@include gap-horizontal(8px);\n\tborder: none;\n\tfont-size: inherit;\n}\n\n.button.button-error,\nbutton.button-error {\n\tdisplay: inline;\n\tbackground: var(--color-button-error);\n\tmargin: 0px;\n\tcolor: var(--color-white);\n\t@include gap-horizontal(8px);\n\tborder: none;\n\tfont-size: inherit;\n\ttransition: background-color 0.3s;\n\n\t&:disabled {\n\t\tbackground-color: var(--color-button-error-disabled);\n\t}\n\n\t&:hover {\n\t\tbackground-color: var(--color-button-error-hover);\n\t}\n}\n\n.button.button-error-outline,\nbutton.button-error-outline {\n\tdisplay: inline;\n\tbackground-color: transparent;\n\tborder-color: var(--color-button-error);\n\tborder-width: 1;\n\tborder-style: solid;\n\tmargin: 0px;\n\tcolor: var(--color-button-error);\n\t@include gap-horizontal(8px);\n\tfont-size: inherit;\n\tbox-shadow: none;\n\ttransition: background-color 0.3s;\n\n\t&:disabled {\n\t\tborder-color: var(--color-button-error-disabled);\n\t}\n\n\t&:hover {\n\t\tbackground-color: var(--color-button-outline-hover);\n\t}\n}\n\n.button.outline,\nbutton.outline {\n\tbackground: none;\n\tbox-shadow: none;\n\tcolor: var(--color-secondary-text);\n\tborder-color: var(--color-secondary-text);\n\ttransition: background-color 0.3s;\n\tfont-weight: 500 !important;\n\t&:hover {\n\t\tbackground-color: var(--color-button-outline-hover);\n\t\tbox-shadow: inherit;\n\t}\n}\n\na,\nbutton.link,\n.button.link {\n\tcolor: var(--color-link);\n\t&:not(.flat) {\n\t\tborder-color: var(--color-link);\n\t\t&:hover {\n\t\t\tbackground-color: var(--color-button-outline-hover);\n\t\t}\n\t}\n}\n\n.footer {\n\ta {\n\t\t&:hover {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n}\n\n/* classes for font sizes */\n.text-title {\n\tfont-size: 24px;\n\tline-height: 40px;\n\tletter-spacing: 0.24px;\n\tfont-weight: 600;\n}\n\n.text-small {\n\tfont-size: 14px;\n\tline-height: 16px;\n}\n\n.text-medium {\n\tfont-size: 16px;\n\tline-height: 16px;\n}\n\n.text-large {\n\tfont-size: 18px;\n\tline-height: 16px;\n}\n\n.text-bold {\n\tfont-weight: 600;\n}\n\n/* classes for text colors */\n.text-error {\n\tcolor: var(--color-error);\n}\n\n.text-info {\n\tcolor: var(--color-info);\n}\n\n.text-black {\n\tcolor: var(--color-black);\n}\n\n.text-label {\n\tcolor: var(--color-secondary-text);\n}\n\n/* classes for images */\n.title-image {\n\twidth: 35px;\n\theight: 32px;\n\tmargin-bottom: 16px;\n}\n\n.title-image-smaller {\n\twidth: 32px;\n\theight: 29px;\n\tmargin-bottom: 16px;\n}\n\n/* classes for pages */\n.with-footer {\n\tmargin-bottom: 100px;\n}\n\n/* classes for tooltip */\n.tooltip-container {\n\tdisplay: inline-flex;\n\tcursor: default;\n\t&__popup {\n\t\tfont-size: 14px;\n\t\tline-height: 23px;\n\t\tpadding: 14px;\n\t\tposition: fixed;\n\t\ttransform: translateY(-50%);\n\t\tbackground-color: var(--color-white);\n\t\tcolor: var(--color-black);\n\t\tborder-radius: 6px;\n\t\tz-index: var(--z-index-inline-popup);\n\n\t\t&::before {\n\t\t\t// arrow/triangle\n\t\t\tdisplay: block;\n\t\t\tcontent: \"\";\n\t\t\t$arrow-width: 6px;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder: $arrow-width solid transparent;\n\t\t\tposition: absolute;\n\t\t}\n\t\tp:not(:last-child) {\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\t\t.block-snippet-small {\n\t\t\tbackground-color: var(--color-window-bg);\n\t\t\tcolor: var(--color-secondary-text);\n\t\t}\n\n\t\t&.popup_left::before {\n\t\t\tborder-left-color: var(--color-white);\n\t\t\tborder-right: none;\n\t\t\tleft: 100%;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\t\t&.popup_right::before {\n\t\t\tborder-right-color: var(--color-white);\n\t\t\tborder-left: none;\n\t\t\tleft: 0;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateX(-100%) translateY(-50%);\n\t\t}\n\t\t&.popup_top::before {\n\t\t\tborder-top-color: var(--color-white);\n\t\t\tborder-bottom: none;\n\t\t\ttop: 100%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t\t&.popup_bottom::before {\n\t\t\tborder-bottom-color: var(--color-white);\n\t\t\tborder-top: none;\n\t\t\ttop: 0;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateY(-100%) translateX(-50%);\n\t\t}\n\t}\n}\n\n.center {\n\ttext-align: center;\n}\n\n.flex-center-x {\n\tdisplay: flex;\n\tjustify-content: center;\n}\n\n.flex-center-y {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.with-thin-scrollbar {\n\t&::-webkit-scrollbar {\n\t\twidth: 5px;\n\t\theight: 5px;\n\t}\n\t&::-webkit-scrollbar-thumb {\n\t\tbox-shadow: inset 0 0 6px var(--color-loader-placeholder-bg);\n\t}\n}\n\n$fontWeights: 400, 500, 600, 700;\n\n@each $weight in $fontWeights {\n\t.bold-#{$weight} {\n\t\tfont-weight: $weight !important;\n\t}\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/bundle.js b/build/static/js/bundle.js index ac61262b..7fe9876d 100644 --- a/build/static/js/bundle.js +++ b/build/static/js/bundle.js @@ -1,3 +1,3 @@ /*! For license information please see bundle.js.LICENSE.txt */ -!function(){var e={1694:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t