/*!
 * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (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 styled from "@emotion/styled";
import { memo } from "react";
import { Box } from "../Box.js";
import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
import { Subordinate } from "../Typography.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const UserProfileContainer = styled("div", {
  shouldForwardProp: prop => prop !== "odysseyDesignTokens"
})({
  display: "flex",
  alignItems: "center"
});
const UserProfileIconContainer = styled("div", {
  shouldForwardProp: prop => prop !== "odysseyDesignTokens"
})(({
  odysseyDesignTokens
}) => ({
  display: "flex",
  paddingInlineEnd: odysseyDesignTokens.Spacing2
}));
const UserProfile = ({
  profileIcon,
  userName,
  orgName,
  translate,
  userNameEndIcon
}) => {
  const odysseyDesignTokens = useOdysseyDesignTokens();
  return _jsxs(UserProfileContainer, {
    odysseyDesignTokens: odysseyDesignTokens,
    children: [profileIcon && _jsx(UserProfileIconContainer, {
      odysseyDesignTokens: odysseyDesignTokens,
      children: profileIcon
    }), _jsxs("div", {
      children: [userNameEndIcon ? _jsxs(Box, {
        sx: {
          display: "flex",
          flexDirection: "row",
          gap: odysseyDesignTokens.Spacing2
        },
        children: [_jsx(Subordinate, {
          color: "textPrimary",
          translate: translate,
          children: userName
        }), userNameEndIcon]
      }) : _jsx(Subordinate, {
        color: "textPrimary",
        translate: translate,
        children: userName
      }), _jsx(Subordinate, {
        color: "textSecondary",
        translate: translate,
        children: orgName
      })]
    })]
  });
};
const MemoizedUserProfile = memo(UserProfile);
MemoizedUserProfile.displayName = "UserProfile";
export { MemoizedUserProfile as UserProfile };
//# sourceMappingURL=UserProfile.js.map