UNPKG

@aplus-frontend/ui

Version:

170 lines (169 loc) 4.46 kB
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 };