/
sdds
/
plasma
Обзор
Документация
Войти
/
sdds
/
plasma
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
dev
packages/sdds-cs/src/components/IconButton/IconButton.config.ts
65 строк
3 KB
Dima Shugaev
feat(sdds-cs): get rid of styled-components
31 мар 2026, 11:13
31 мар 2026, 11:13
a4628f6
Код
Авторство
О чём код?
import { css, iconButtonTokens } from '@salutejs/plasma-new-hope/emotion'; export const config = { defaults: { view: 'accent', focused: 'true', size: 's', }, variations: { view: { accent: css` ${iconButtonTokens.iconButtonColor}: var(--on-dark-text-primary); ${iconButtonTokens.iconButtonBackgroundColor}: var(--surface-accent); ${iconButtonTokens.iconButtonLoadingBackgroundColor}: var(${iconButtonTokens.iconButtonBackgroundColor}); ${iconButtonTokens.iconButtonBackgroundColorHover}: var(--surface-accent-hover); ${iconButtonTokens.iconButtonBackgroundColorActive}: var(--surface-accent-active); `, secondary: css` ${iconButtonTokens.iconButtonColor}: var(--text-accent); ${iconButtonTokens.iconButtonColorHover}: var(--text-accent-minor); ${iconButtonTokens.iconButtonBackgroundColor}: var(--surface-solid-secondary); ${iconButtonTokens.iconButtonBackgroundColorHover}: var(--surface-solid-secondary-hover); ${iconButtonTokens.iconButtonBackgroundColorActive}: var(--surface-solid-secondary-active); ${iconButtonTokens.iconButtonLoadingBackgroundColor}: var(${iconButtonTokens.iconButtonBackgroundColor}); ${iconButtonTokens.iconButtonColorActive}: var(--text-accent-active); `, clear: css` ${iconButtonTokens.iconButtonColor}: var(--text-accent); ${iconButtonTokens.iconButtonBackgroundColor}: var(--surface-clear); ${iconButtonTokens.iconButtonLoadingBackgroundColor}: var(--surface-transparent-accent); ${iconButtonTokens.iconButtonBackgroundColorHover}: var(--surface-transparent-accent); ${iconButtonTokens.iconButtonBackgroundColorActive}: var(--surface-transparent-accent-active); `, }, size: { s: css` ${iconButtonTokens.iconButtonHeight}: 2.5rem; ${iconButtonTokens.iconButtonWidth}: 2.5rem; ${iconButtonTokens.iconButtonPadding}: 1rem; ${iconButtonTokens.iconButtonRadius}: 0.75rem; ${iconButtonTokens.iconButtonFontFamily}: var(--plasma-typo-body-s-font-family); ${iconButtonTokens.iconButtonFontSize}: var(--plasma-typo-body-s-font-size); ${iconButtonTokens.iconButtonFontStyle}: var(--plasma-typo-body-s-font-style); ${iconButtonTokens.iconButtonFontWeight}: var(--plasma-typo-body-s-bold-font-weight); ${iconButtonTokens.iconButtonLetterSpacing}: var(--plasma-typo-body-s-letter-spacing); ${iconButtonTokens.iconButtonLineHeight}: var(--plasma-typo-body-s-line-height); ${iconButtonTokens.iconButtonSpinnerSize}: 1.375rem; ${iconButtonTokens.iconButtonSpinnerColor}: inherit; `, }, disabled: { true: css` ${iconButtonTokens.iconButtonDisabledOpacity}: 0.4; `, }, focused: { true: css` ${iconButtonTokens.iconButtonFocusColor}: var(--surface-accent); `, }, }, };