diff --git a/src/components/CardBase/CardBase.scss b/src/components/CardBase/CardBase.scss index 40d474acf..e2ebc47e3 100644 --- a/src/components/CardBase/CardBase.scss +++ b/src/components/CardBase/CardBase.scss @@ -60,4 +60,5 @@ a#{$block} { @include reset-link-style(); @include reset-link-hover(); @include card($hover: true); + @include background-hover(); } diff --git a/src/models/constructor-items/sub-blocks.ts b/src/models/constructor-items/sub-blocks.ts index cd2ff5fe2..531468885 100644 --- a/src/models/constructor-items/sub-blocks.ts +++ b/src/models/constructor-items/sub-blocks.ts @@ -166,6 +166,7 @@ export interface BasicCardProps gravityIcon?: ThemeSupporting; target?: string; iconPosition?: IconPosition; + hoverBackgroundColor?: string; } export interface BannerCardProps { diff --git a/src/sub-blocks/BasicCard/BasicCard.tsx b/src/sub-blocks/BasicCard/BasicCard.tsx index 21fa49fe2..95c30fc4d 100644 --- a/src/sub-blocks/BasicCard/BasicCard.tsx +++ b/src/sub-blocks/BasicCard/BasicCard.tsx @@ -24,6 +24,7 @@ const BasicCard = (props: BasicCardProps) => { controlPosition = 'content', size = 's', gravityIcon, + hoverBackgroundColor, ...cardParams } = props; const titleId = useUniqId(); @@ -38,7 +39,15 @@ const BasicCard = (props: BasicCardProps) => { className={b()} contentClassName={b('content')} {...cardParams} - extraProps={{'aria-describedby': descriptionId, 'aria-labelledby': titleId}} + extraProps={{ + 'aria-describedby': descriptionId, + 'aria-labelledby': titleId, + ...(hoverBackgroundColor && { + style: { + '--hover-background-color': hoverBackgroundColor, + } as React.CSSProperties, + }), + }} >