PlatformLogo

Иконка платформы (Figma platformSelectorIcons). Используется в PlatformSelector и пунктах Droplist. При avatarName рендерится Avatar с инициалами вместо SVG-варианта — для mobile project selector.

Демо

Preview
Prop
Type
Value
avatarName
text
className
text
compact
boolean
data-test-id
text
variant
evolution | advanced | vmware | partner | marketplace
Code
<PlatformLogo compact={false} variant="evolution" />

Когда использовать

  • Нужна иконка платформы в селекторе или списке.
  • Для пунктов Droplist — compact (24×24 без padding).

Анатомия

Variant (default evolution)

  • evolution / advanced / vmware — SVG на accent-бейдже.
  • partner / marketplace — @cloud-ru/ds-avatar squared («ПК» / «МА»).

Compact (default false)

  • false — бейдж 32×32 для trigger.
  • true — 24×24 для listItem (padding 0, Avatar size s).

AvatarName

Опциональная строка для Avatar в trigger. При наличии перекрывает variant-иконку: рендерится squared Avatar с двумя символами из имени (например «Название проекта 1» → «НА»).

Используется вместе с PlatformSelector.avatarName в mobile leftTop MainMenu (селектор проекта).

Локализованные имена для partner / marketplace без avatarName берутся из headerLegacyLocale (platformLogo.avatarName.*).

Установка

pnpm add @cloud-ru/ds-uikit-product-header-legacy
import { PlatformLogo, VARIANT } from '@cloud-ru/ds-uikit-product-header-legacy'

Примеры использования

Варианты

ВариантыВсе значения VARIANT.
PC
MA
tsx
import { PlatformLogo, VARIANT } from '@cloud-ru/ds-uikit-product-header-legacy';

export function Variants() {
  return (
    <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
      {Object.values(VARIANT).map(variant => (
        <PlatformLogo key={variant} variant={variant} />
      ))}
    </div>
  );
}

Compact

CompactРазмер для пунктов Droplist.
PC
tsx
import { PlatformLogo, VARIANT } from '@cloud-ru/ds-uikit-product-header-legacy';

export function Compact() {
  return (
    <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
      <PlatformLogo variant={VARIANT.Evolution} compact />
      <PlatformLogo variant={VARIANT.Partner} compact />
    </div>
  );
}

Avatar-варианты

Avatar-вариантыpartner и marketplace.
PC
MA
tsx
import { PlatformLogo, VARIANT } from '@cloud-ru/ds-uikit-product-header-legacy';

export function AvatarVariants() {
  return (
    <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
      <PlatformLogo variant={VARIANT.Partner} />
      <PlatformLogo variant={VARIANT.Marketplace} />
    </div>
  );
}

avatarName

avatarNameПроизвольное имя для Avatar — как в mobile project selector.
Н1
SE
tsx
import { PlatformLogo } from '@cloud-ru/ds-uikit-product-header-legacy';

export function AvatarName() {
  return (
    <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
      <PlatformLogo avatarName='Название проекта 1' />
      <PlatformLogo avatarName='Staging environment' compact />
    </div>
  );
}

Props

Types

PropsPlatformLogoProps
PropTypeDefaultRequiredDescription
avatarNamestring—noИмя для Avatar в trigger (Figma mobile project selector). При наличии рендерится Avatar вместо SVG-иконки платформы.
classNamestring—noCSS-класс корневого элемента.
compactbooleanfalsenoКомпактный размер для пунктов Droplist (Figma listItem icon без padding, 24×24).
data-test-idstring—no
variant"advanced" | "evolution" | "marketplace" | "partner" | "vmware"evolutionnoВариант платформы (Figma `platformSelectorIcons` / variant).

Unions

Types

PlatformLogoProps

Unions

Storybook

Figma