@spaced-out/ui-design-system
Version:
Sense UI components library
93 lines (80 loc) • 2.52 kB
CSS
@value (colorBackgroundTertiary, colorFillPrimary, colorBorderSecondary, colorFocusPrimary) from '../../styles/variables/_color.css';
@value (borderRadiusMedium, borderWidthNone, borderWidthTertiary) from '../../styles/variables/_border.css';
@value (spaceSmall, spaceMedium, spaceLarge, spaceXSmall) from '../../styles/variables/_space.css';
@value (size58, sizeFluid) from '../../styles/variables/_size.css';
.cardWrapper {
--card-padding-top: spaceMedium;
--card-padding-right: spaceMedium;
--card-padding-bottom: spaceMedium;
--card-padding-left: spaceMedium;
}
.cardWrapper {
display: flex;
composes: borderPrimary from '../../styles/border.module.css';
background-color: colorBackgroundTertiary;
border-radius: borderRadiusMedium;
}
.cardWrapper:not(:has(.cardHeader, .cardFooter, .cardContent)) {
padding-top: var(--card-padding-top);
padding-right: var(--card-padding-right);
padding-bottom: var(--card-padding-bottom);
padding-left: var(--card-padding-left);
}
.cardWrapper:has(.cardHeader, .cardFooter, .cardContent) {
flex-flow: column;
}
.cardHeader {
display: flex;
justify-content: space-between;
width: sizeFluid;
align-items: center;
min-height: size58;
composes: subTitleSmall from '../../styles/typography.module.css';
composes: borderBottomPrimary from '../../styles/border.module.css';
padding: spaceSmall var(--card-padding-right) spaceSmall
var(--card-padding-left);
gap: spaceXSmall;
}
.cardFooter {
display: flex;
justify-content: space-between;
width: sizeFluid;
align-items: center;
min-height: size58;
composes: subTitleSmall from '../../styles/typography.module.css';
composes: borderTopPrimary from '../../styles/border.module.css';
padding: spaceSmall var(--card-padding-right) spaceSmall
var(--card-padding-left);
gap: spaceXSmall;
margin-top: auto;
}
.cardTitle {
display: flex;
}
.cardActions {
display: flex;
gap: spaceXSmall;
margin-left: auto;
}
.cardContent {
display: flex;
padding-top: var(--card-padding-top);
padding-right: var(--card-padding-right);
padding-bottom: var(--card-padding-bottom);
padding-left: var(--card-padding-left);
}
.clickableCard {
cursor: pointer;
outline: none;
}
.clickableCard.disabled {
pointer-events: none;
}
.clickableCard:hover {
border-color: colorBorderSecondary;
}
.clickableCard:focus-within {
border-color: colorFillPrimary;
box-shadow: borderWidthNone borderWidthNone borderWidthNone
borderWidthTertiary colorFocusPrimary;
}