[EPM] update compatibility section (#50975)

* change min max version to single range value

* add elastic stack icon and change text

* remove badge from version and use code font

* remove euistyled

* add back version component lost in merge

* remove euiStyled

* remove old file
This commit is contained in:
Sandra Gonzales 2019-11-19 12:01:23 -05:00 committed by GitHub
parent be9ca17924
commit ece3570e48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 61 additions and 44 deletions

View file

@ -40,12 +40,7 @@ export type ServiceName = 'kibana' | 'elasticsearch';
export type RequirementVersion = string; export type RequirementVersion = string;
export interface ServiceRequirements { export interface ServiceRequirements {
version: RequirementVersionRange; versions: string;
}
export interface RequirementVersionRange {
min: RequirementVersion;
max: RequirementVersion;
} }
// from /categories // from /categories

View file

@ -5,29 +5,29 @@
*/ */
import React, { useState, useRef, useLayoutEffect, Fragment, useCallback } from 'react'; import React, { useState, useRef, useLayoutEffect, Fragment, useCallback } from 'react';
import { EuiButtonEmpty, EuiSpacer, EuiButton, EuiHorizontalRule } from '@elastic/eui'; import { EuiButtonEmpty, EuiSpacer, EuiButton, EuiHorizontalRule } from '@elastic/eui';
import euiStyled from '../../../../common/eui_styled_components'; import styled from 'styled-components';
const BottomFade = euiStyled.div` const BottomFade = styled.div`
width: 100%; width: 100%;
background: ${props => background: ${props =>
`linear-gradient(${props.theme.eui.euiColorEmptyShade}00 0%, ${props.theme.eui.euiColorEmptyShade} 100%)`}; `linear-gradient(${props.theme.eui.euiColorEmptyShade}00 0%, ${props.theme.eui.euiColorEmptyShade} 100%)`};
margin-top: -${props => parseInt(props.theme.eui.spacerSizes.xl, 10) * 2}px; margin-top: -${props => parseInt(props.theme.eui.spacerSizes.xl, 10) * 2}px;
height: ${props => parseInt(props.theme.eui.spacerSizes.xl, 10) * 2}px; height: ${props => parseInt(props.theme.eui.spacerSizes.xl, 10) * 2}px;
position: absolute; position: absolute;
`; `;
const ContentCollapseContainer = euiStyled.div` const ContentCollapseContainer = styled.div`
position: relative; position: relative;
`; `;
const CollapseButtonContainer = euiStyled.div` const CollapseButtonContainer = styled.div`
display: inline-block; display: inline-block;
background-color: ${props => props.theme.eui.euiColorGhost}; background-color: ${props => props.theme.eui.euiColorGhost};
position: absolute; position: absolute;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
top: ${props => parseInt(props.theme.eui.euiButtonHeight, 10) / 2}px; top: ${props => parseInt(props.theme.eui.euiButtonHeight, 10) / 2}px;
`; `;
const CollapseButtonTop = euiStyled(EuiButtonEmpty)` const CollapseButtonTop = styled(EuiButtonEmpty)`
float: right; float: right;
`; `;
const CollapseButton = ({ const CollapseButton = ({

View file

@ -5,13 +5,13 @@
*/ */
import React, { Fragment } from 'react'; import React, { Fragment } from 'react';
import { EuiFlexGroup, EuiFlexItem, EuiTextColor, EuiTitle } from '@elastic/eui'; import { EuiFlexGroup, EuiFlexItem, EuiTextColor, EuiTitle, EuiIcon, EuiText } from '@elastic/eui';
import styled from 'styled-components'; import styled from 'styled-components';
import { entries } from '../../common/type_utils'; import { entries } from '../../common/type_utils';
import { RequirementsByServiceName } from '../../common/types'; import { RequirementsByServiceName } from '../../common/types';
import { ServiceTitleMap } from '../constants'; import { ServiceTitleMap } from '../constants';
import { useCore } from '../hooks/use_core'; import { useCore } from '../hooks/use_core';
import { VersionBadge } from './version_badge'; import { Version } from './version';
export interface RequirementsProps { export interface RequirementsProps {
requirements: RequirementsByServiceName; requirements: RequirementsByServiceName;
@ -21,15 +21,27 @@ export function Requirements(props: RequirementsProps) {
const { requirements } = props; const { requirements } = props;
const { theme } = useCore(); const { theme } = useCore();
const Text = styled.span` const FlexGroup = styled(EuiFlexGroup)`
padding-bottom: ${theme.eui.paddingSizes.m}; padding: 0 0 ${theme.eui.paddingSizes.m} 0;
margin: 0;
`;
const StyledVersion = styled(Version)`
font-size: ${theme.eui.euiFontSizeXS};
`; `;
return ( return (
<Fragment> <Fragment>
<EuiTitle size="xs"> <FlexGroup gutterSize="s" alignItems="center">
<Text>Compatibility</Text> <EuiFlexItem grow={false}>
</EuiTitle> <EuiIcon type={'logoElasticStack'} />
</EuiFlexItem>
<EuiFlexItem>
<EuiTitle>
<EuiText>
<h4>Elastic Stack Compatibility</h4>
</EuiText>
</EuiTitle>
</EuiFlexItem>
</FlexGroup>
{entries(requirements).map(([service, requirement]) => ( {entries(requirements).map(([service, requirement]) => (
<EuiFlexGroup key={service}> <EuiFlexGroup key={service}>
<EuiFlexItem grow={true}> <EuiFlexItem grow={true}>
@ -38,11 +50,7 @@ export function Requirements(props: RequirementsProps) {
</EuiTextColor> </EuiTextColor>
</EuiFlexItem> </EuiFlexItem>
<EuiFlexItem grow={false}> <EuiFlexItem grow={false}>
<div> <StyledVersion version={requirement.versions} />
<VersionBadge version={requirement.version.min} />
<span>{' - '}</span>
<VersionBadge version={requirement.version.max} />
</div>
</EuiFlexItem> </EuiFlexItem>
</EuiFlexGroup> </EuiFlexGroup>
))} ))}

View file

@ -5,9 +5,18 @@
*/ */
import React from 'react'; import React from 'react';
import { EuiBadge } from '@elastic/eui'; import styled from 'styled-components';
import { RequirementVersion } from '../../common/types'; import { RequirementVersion } from '../../common/types';
export function VersionBadge({ version }: { version: RequirementVersion }) { const CodeText = styled.span`
return <EuiBadge color="hollow">v{version}</EuiBadge>; font-family: ${props => props.theme.eui.euiCodeFontFamily};
`;
export function Version({
className,
version,
}: {
className?: string;
version: RequirementVersion;
}) {
return <CodeText className={className}>{version}</CodeText>;
} }

View file

@ -23,7 +23,7 @@ import { useTrackedPromise } from '../../../../infra/public/utils/use_tracked_pr
import { installPackage } from '../../data'; import { installPackage } from '../../data';
import { PLUGIN } from '../../../common/constants'; import { PLUGIN } from '../../../common/constants';
import { PackageInfo } from '../../../common/types'; import { PackageInfo } from '../../../common/types';
import { VersionBadge } from '../../components/version_badge'; import { Version } from '../../components/version';
import { IconPanel } from '../../components/icon_panel'; import { IconPanel } from '../../components/icon_panel';
import { useBreadcrumbs, useCore, useLinks } from '../../hooks'; import { useBreadcrumbs, useCore, useLinks } from '../../hooks';
import { CenterColumn, LeftColumn, RightColumn } from './layout'; import { CenterColumn, LeftColumn, RightColumn } from './layout';
@ -42,7 +42,12 @@ export function Header(props: HeaderProps) {
`; `;
const Text = styled.span` const Text = styled.span`
margin-right: ${theme.eui.spacerSizes.xl}; margin-right: ${theme.eui.euiSizeM};
`;
const StyledVersion = styled(Version)`
font-size: ${theme.eui.euiFontSizeS};
color: ${theme.eui.euiColorDarkShade};
`; `;
return ( return (
@ -60,7 +65,7 @@ export function Header(props: HeaderProps) {
<EuiTitle size="l"> <EuiTitle size="l">
<h1> <h1>
<Text>{title}</Text> <Text>{title}</Text>
<VersionBadge version={version} /> <StyledVersion version={version} />
</h1> </h1>
</EuiTitle> </EuiTitle>
</CenterColumn> </CenterColumn>