diff --git a/x-pack/platform/packages/shared/kbn-elastic-assistant/impl/assistant/assistant_animated_icon.tsx b/x-pack/platform/packages/shared/kbn-elastic-assistant/impl/assistant/assistant_animated_icon.tsx deleted file mode 100644 index f3990dd0b7362..0000000000000 --- a/x-pack/platform/packages/shared/kbn-elastic-assistant/impl/assistant/assistant_animated_icon.tsx +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import styled from '@emotion/styled'; -import { AssistantAvatar } from './assistant_avatar/assistant_avatar'; - -const Container = styled.div` - display: inline-block; - position: relative; - width: 56px; - height: 56px; - display: flex; - justify-content: center; - align-items: center; - margin-top: ${({ theme }) => theme.euiTheme.size.xxl}; - margin-bottom: ${({ theme }) => theme.euiTheme.size.l}; - - :before, - :after { - content: ''; - position: absolute; - } -`; - -const Animation = styled.div` - width: 99%; - height: 99%; - border-radius: 50px; - z-index: 1; - position: relative; - - &:before, - &:after { - content: ''; - position: absolute; - width: 100%; - height: 100%; - border: inherit; - top: 0; - left: 0; - z-index: 0; - border: 1px solid ${(props) => props.theme.euiTheme.colors.borderBasePlain}; - border-radius: inherit; - animation: 4s cubic-bezier(0.42, 0, 0.37, 1) 0.5s infinite normal none running pulsing; - } - &:after { - animation: 4s cubic-bezier(0.42, 0, 0.37, 1) 0.5s infinite normal none running pulsing1; - } - - @keyframes pulsing { - 0% { - opacity: 1; - transform: scaleY(1) scaleX(1); - } - 20% { - opacity: 0.5; - } - 70% { - opacity: 0.2; - transform: scaleY(2) scaleX(2); - } - 80% { - opacity: 0; - transform: scaleY(2) scaleX(2); - } - 90% { - opacity: 0; - transform: scaleY(1) scaleX(1); - } - } - @keyframes pulsing1 { - 0% { - opacity: 1; - transform: scaleY(1) scaleX(1); - } - 15% { - opacity: 1; - transform: scaleY(1) scaleX(1); - } - 40% { - opacity: 0.5; - } - 70% { - opacity: 0.2; - transform: scaleY(1.5) scaleX(1.5); - } - 80% { - opacity: 0; - transform: scaleY(1.5) scaleX(1.5); - } - 90% { - opacity: 0; - transform: scaleY(1) scaleX(1); - } - } -`; - -const AvatarWrapper = styled.span` - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - z-index: 2; - background: #fff; - display: flex; - align-items: center; - justify-content: center; - border-radius: 50%; - - :before, - :after { - content: ''; - position: absolute; - } -`; - -/** - * @deprecated This component will soon be replaced by `AssistantBeacon` from `@kbn/ai-assistant-icon`. - */ -export const AssistantAnimatedIcon = React.memo(() => ( - - - - - - -)); - -AssistantAnimatedIcon.displayName = 'AssistantAnimatedIcon'; diff --git a/x-pack/platform/packages/shared/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx b/x-pack/platform/packages/shared/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx deleted file mode 100644 index 205a2c7b7bac3..0000000000000 --- a/x-pack/platform/packages/shared/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React, { ReactNode } from 'react'; - -export interface AssistantAvatarProps { - size?: keyof typeof sizeMap; - // Required for EuiAvatar `iconType` prop - // eslint-disable-next-line react/no-unused-prop-types - children?: ReactNode; - className?: string; -} - -export const sizeMap = { - xl: 64, - l: 48, - m: 32, - s: 24, - xs: 16, - xxs: 12, -}; - -/** - * Default Elastic AI Assistant logo - * - * @deprecated This component will soon be replaced by `AssistantIcon` from `@kbn/ai-assistant-icon`. - */ -export const AssistantAvatar = ({ className, size = 's' }: AssistantAvatarProps) => ( - - - - - - -); diff --git a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx deleted file mode 100644 index 083b97748bf7c..0000000000000 --- a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/components/assistant_avatar.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import { useEuiTheme } from '@elastic/eui'; -import React, { ReactNode } from 'react'; - -export interface AssistantAvatarProps { - size?: keyof typeof sizeMap; - children?: ReactNode; - css?: React.SVGProps['css']; - className?: string; -} - -export const sizeMap = { - xl: 64, - l: 48, - m: 32, - s: 24, - xs: 16, -}; - -/** @deprecated This component will soon be replaced by `AssistantIcon` from `@kbn/ai-assistant-icon`. */ -export function AssistantAvatar({ size = 's', css, className }: AssistantAvatarProps) { - const { euiTheme } = useEuiTheme(); - const sizePx = sizeMap[size]; - - return ( - - - - - - - ); -} diff --git a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/index.ts b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/index.ts index f8ca9709a6e20..156932c7e75a2 100644 --- a/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/index.ts +++ b/x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/public/index.ts @@ -32,7 +32,6 @@ export type { }; export { aiAssistantCapabilities } from '../common/capabilities'; -export { AssistantAvatar } from './components/assistant_avatar'; export { ConnectorSelectorBase } from './components/connector_selector/connector_selector_base'; export { useAbortableAsync, type AbortableAsyncState } from './hooks/use_abortable_async'; export { useGenAIConnectorsWithoutContext } from './hooks/use_genai_connectors'; diff --git a/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx index 0487172aca6a6..8a54ad14d8d41 100644 --- a/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx +++ b/x-pack/solutions/observability/plugins/observability_ai_assistant_app/public/components/rca/rca_callout/index.tsx @@ -19,8 +19,8 @@ import { } from '@elastic/eui'; import React from 'react'; import { i18n } from '@kbn/i18n'; -import { AssistantAvatar } from '@kbn/observability-ai-assistant-plugin/public'; import { css } from '@emotion/css'; +import { AssistantIcon } from '@kbn/ai-assistant-icon'; export function RootCauseAnalysisCallout({ onClick, @@ -46,7 +46,7 @@ export function RootCauseAnalysisCallout({ `} > - +

diff --git a/x-pack/solutions/security/packages/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx b/x-pack/solutions/security/packages/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx deleted file mode 100644 index 912b7be80bbc1..0000000000000 --- a/x-pack/solutions/security/packages/upselling/sections/attack_discovery/assistant_avatar/assistant_avatar.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; - -interface Props { - className?: string; - size?: keyof typeof sizeMap; -} - -export const sizeMap = { - xl: 64, - l: 48, - m: 32, - s: 24, - xs: 16, - xxs: 12, -}; - -/** - * Default Elastic AI Assistant logo - * - * @deprecated This component will soon be replaced by `AssistantIcon` from `@kbn/ai-assistant-icon`. - */ -export const AssistantAvatar = ({ className, size = 's' }: Props) => ( - - - - - - -);