@aplus-frontend/ui
Version:
170 lines (169 loc) • 4.46 kB
JavaScript
import { genComponentStyleHook as i } from "../../utils/cssinjs/index.mjs";
import { defaultToken as e } from "./token.mjs";
const t = () => {
const r = {};
r["&-span-0"] = {
display: "none"
};
for (let o = 1; o <= 24; o++) {
const a = o / 24 * 100;
r[`&-span-${o}`] = {
flexShrink: 0,
width: `${a}%`
};
}
return r;
}, d = (r) => {
const { componentCls: o } = r, a = `${r.apProCardBorderLineWidth} ${r.apProCardBorderLineType} ${r.apProCardBorderColorSplit}`;
return {
[o]: {
position: "relative",
display: "flex",
flexDirection: "column",
boxSizing: "border-box",
padding: 0,
width: "100%",
transition: `all ${r.motionDurationSlow}`,
backgroundColor: r.apProCardColorBgContainer,
borderRadius: r.apProCardBorderRadius,
fontSize: r.fontSize,
lineHeight: r.lineHeight,
"&-border": {
border: a
},
"&-box-shadow": {
borderColor: "transparent",
boxShadow: r.apProCardBoxShadow
},
"&-hoverable": {
cursor: "pointer",
transition: `box-shadow ${r.motionDurationSlow}, border-color ${r.motionDurationSlow}`,
"&:hover": {
borderColor: "transparent",
boxShadow: r.apProCardBoxShadow
}
},
[`${o}-header`]: {
display: "flex",
alignItems: "center",
padding: r.apProCardHeaderPadding,
"&-title": {
display: "flex",
fontSize: r.apProCardHeaderTitleFontSize,
color: r.apProCardHeaderTitleFontColor,
fontWeight: "500",
"&-tooltip": {
marginLeft: r.spaceXS,
fontSize: r.fontSize,
color: r.apProCardTooltipColor
}
},
"&-extra": {
marginInlineStart: "auto"
},
"&-border": {
paddingBlockEnd: r.apProCardHeaderPaddingBottom,
borderBlockEnd: a
},
"&-collapsible": {
cursor: "pointer"
}
},
[`${o}-collapsible-icon`]: {
marginInlineEnd: r.spaceXS,
color: r.apProCardHeaderTitleFontColor,
fontSize: r.fontSizeLG,
transition: `transform ${r.motionDurationSlow}`,
"&:hover": {
color: r.hoverColorBase
},
"&.user-frontend-icon": {
display: "flex",
alignItems: "center",
justifyContent: "center"
}
},
[`&-type-inner > ${o}-header`]: {
background: r.apProCardAreaColor
},
[`${o}-body`]: {
display: "block",
boxSizing: "border-box",
height: "100%",
padding: r.apProCardBodyPadding,
"&-center": {
display: "flex",
alignItems: "center",
justifyContent: "center"
},
"&-direction-column": {
flexDirection: "column"
},
"&-wrap": {
flexWrap: "wrap"
}
},
[`&-contain-card > ${o}-body`]: {
display: "flex"
},
[`&-split > ${o}-body`]: {
padding: 0
},
"&-ghost": {
background: "transparent"
},
[`&-ghost > ${o}-body`]: {
background: "transparent",
padding: 0
},
[`${o}-col`]: {
width: "100%",
"&-split-vertical": {
position: "relative",
"&::after": {
position: "absolute",
height: r.apProCardSplitLineHeight,
top: "50%",
transform: "translateY(-50%)",
right: 0,
borderRight: a,
content: '""'
}
},
"&-split-horizontal": {
position: "relative",
"&::after": {
position: "absolute",
width: r.apProCardSplitLineHeight,
left: "50%",
transform: "translateX(-50%)",
bottom: 0,
borderBottom: a,
content: '""'
}
},
...t(r)
},
[`${o}-actions`]: {
borderBlockStart: a,
background: r.apProCardColorBgContainer,
padding: r.apProCardActionsPadding
},
[`&-collapsed > ${o}-header`]: {
paddingBlockEnd: r.apProCardHeaderPaddingBottom,
borderBlockEnd: 0
},
[`&-collapsed > ${o}-body`]: {
display: "none"
}
}
};
}, p = i(
"ProCard",
(r) => [d(r)],
e
);
export {
p as default,
d as genProCardStyle
};