/
sdds
/
plasma
Обзор
Документация
Войти
/
sdds
/
plasma
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
dev
packages/sdds-sbcom/src/components/EmbedIconButton/EmbedIconButton.config.ts
153 строки
8 KB
Alexander Lobyntsev
fix(sbcom): use theme tokens in component configs
27 апр 2026, 14:10
27 апр 2026, 14:10
d633bc9
Код
Авторство
О чём код?
import { css, embedIconButtonTokens } from '@salutejs/plasma-new-hope/styled-components'; import { bodyL, bodyLBold, bodyM, bodyMBold, bodyS, bodySBold, surfaceAccent, textAccent, textAccentActive, textAccentHover, textInfo, textInfoActive, textInfoHover, textNegative, textNegativeActive, textNegativeHover, textPositive, textPositiveActive, textPositiveHover, textPrimary, textPrimaryActive, textPrimaryHover, textSecondary, textSecondaryActive, textSecondaryHover, textWarning, textWarningActive, textWarningHover, } from '@salutejs-ds/sdds_sbcom/theme/tokens'; /* * NOTE: Mixed DS tokens + raw vars. Prefer @salutejs-ds/sdds_sbcom/theme/tokens where possible. * Missing tokens in @salutejs/sdds-themes/tokens: surfaceTransparentClear */ export const config = { defaults: { view: 'default', focused: 'true', size: 'm', }, variations: { view: { default: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textPrimary}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textPrimaryHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textPrimaryActive}; `, accent: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textAccent}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textAccentHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textAccentActive}; `, secondary: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textSecondary}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textSecondaryHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textSecondaryActive}; `, positive: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textPositive}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textPositiveHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textPositiveActive}; `, warning: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textWarning}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textWarningHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textWarningActive}; `, negative: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textNegative}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textNegativeHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textNegativeActive}; `, info: css` ${embedIconButtonTokens.embedIconButtonColor}: ${textInfo}; ${embedIconButtonTokens.embedIconButtonBackgroundColor}: var(--surface-transparent-clear); ${embedIconButtonTokens.embedIconButtonLoadingBackgroundColor}: var(${embedIconButtonTokens.embedIconButtonBackgroundColor}); ${embedIconButtonTokens.embedIconButtonColorHover}: ${textInfoHover}; ${embedIconButtonTokens.embedIconButtonColorActive}: ${textInfoActive}; `, }, size: { l: css` ${embedIconButtonTokens.embedIconButtonHeight}: 2.25rem; ${embedIconButtonTokens.embedIconButtonWidth}: 2.25rem; ${embedIconButtonTokens.embedIconButtonPadding}: 0rem; ${embedIconButtonTokens.embedIconButtonRadius}: 0.75rem; ${embedIconButtonTokens.embedIconButtonFontFamily}: ${bodyL.fontFamily}; ${embedIconButtonTokens.embedIconButtonFontSize}: ${bodyL.fontSize}; ${embedIconButtonTokens.embedIconButtonFontStyle}: ${bodyL.fontStyle}; ${embedIconButtonTokens.embedIconButtonFontWeight}: ${bodyLBold.fontWeight}; ${embedIconButtonTokens.embedIconButtonLetterSpacing}: ${bodyL.letterSpacing}; ${embedIconButtonTokens.embedIconButtonLineHeight}: ${bodyL.lineHeight}; ${embedIconButtonTokens.embedIconButtonSpinnerSize}: 1.75rem; ${embedIconButtonTokens.embedIconButtonSpinnerColor}: inherit; `, m: css` ${embedIconButtonTokens.embedIconButtonHeight}: 1.5rem; ${embedIconButtonTokens.embedIconButtonWidth}: 1.5rem; ${embedIconButtonTokens.embedIconButtonPadding}: 0rem; ${embedIconButtonTokens.embedIconButtonRadius}: 0.625rem; ${embedIconButtonTokens.embedIconButtonFontFamily}: ${bodyM.fontFamily}; ${embedIconButtonTokens.embedIconButtonFontSize}: ${bodyM.fontSize}; ${embedIconButtonTokens.embedIconButtonFontStyle}: ${bodyM.fontStyle}; ${embedIconButtonTokens.embedIconButtonFontWeight}: ${bodyMBold.fontWeight}; ${embedIconButtonTokens.embedIconButtonLetterSpacing}: ${bodyM.letterSpacing}; ${embedIconButtonTokens.embedIconButtonLineHeight}: ${bodyM.lineHeight}; ${embedIconButtonTokens.embedIconButtonSpinnerSize}: 1.25rem; ${embedIconButtonTokens.embedIconButtonSpinnerColor}: inherit; `, s: css` ${embedIconButtonTokens.embedIconButtonHeight}: 1rem; ${embedIconButtonTokens.embedIconButtonWidth}: 1rem; ${embedIconButtonTokens.embedIconButtonPadding}: 0rem; ${embedIconButtonTokens.embedIconButtonRadius}: 0.5rem; ${embedIconButtonTokens.embedIconButtonFontFamily}: ${bodyS.fontFamily}; ${embedIconButtonTokens.embedIconButtonFontSize}: ${bodyS.fontSize}; ${embedIconButtonTokens.embedIconButtonFontStyle}: ${bodyS.fontStyle}; ${embedIconButtonTokens.embedIconButtonFontWeight}: ${bodySBold.fontWeight}; ${embedIconButtonTokens.embedIconButtonLetterSpacing}: ${bodyS.letterSpacing}; ${embedIconButtonTokens.embedIconButtonLineHeight}: ${bodyS.lineHeight}; ${embedIconButtonTokens.embedIconButtonSpinnerSize}: 0.75rem; ${embedIconButtonTokens.embedIconButtonSpinnerColor}: inherit; `, }, disabled: { true: css` ${embedIconButtonTokens.embedIconButtonDisabledOpacity}: 0.4; `, }, focused: { true: css` ${embedIconButtonTokens.embedIconButtonFocusColor}: ${surfaceAccent}; `, }, }, };