summaryrefslogtreecommitdiffstats
path: root/src/ui/objects/CardBody.tsx
diff options
context:
space:
mode:
authorVolpeon <git@volpeon.ink>2026-07-22 19:40:59 +0200
committerVolpeon <git@volpeon.ink>2026-07-22 19:40:59 +0200
commitc1e28224aa2e1450031669d9a7e359b63e04687d (patch)
tree68f3d8905c763a91f68001d868197effa92adafa /src/ui/objects/CardBody.tsx
downloadcorvos-website-c1e28224aa2e1450031669d9a7e359b63e04687d.tar.gz
corvos-website-c1e28224aa2e1450031669d9a7e359b63e04687d.tar.bz2
corvos-website-c1e28224aa2e1450031669d9a7e359b63e04687d.zip
Init
Diffstat (limited to 'src/ui/objects/CardBody.tsx')
-rw-r--r--src/ui/objects/CardBody.tsx32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/ui/objects/CardBody.tsx b/src/ui/objects/CardBody.tsx
new file mode 100644
index 0000000..aa5df3d
--- /dev/null
+++ b/src/ui/objects/CardBody.tsx
@@ -0,0 +1,32 @@
1import type { HTMLTag, Polymorphic } from "corvos/plugins/jsx.ts";
2
3export type Props<Tag extends HTMLTag> = Polymorphic<{
4 "as"?: Tag;
5 "list"?: boolean;
6 "main"?: boolean;
7 "no-mbs-neutralize"?: boolean;
8 "children"?: JSX.Element;
9}>;
10
11export const CardBody = <T extends HTMLTag = "div">({
12 as: Tag = "div" as T,
13 list,
14 main,
15 "no-mbs-neutralize": noMbsNeutralize,
16 class: cls,
17 ...props
18}: Props<T>) => (
19 <Tag
20 class:list={[
21 "o-card__body",
22 {
23 "o-card__body--main": main,
24 "o-card__header": Tag === "summary",
25 "l-card-list__card-body": list,
26 "o-card__body--no-mbs-neutralize": noMbsNeutralize,
27 },
28 cls,
29 ]}
30 {...props}
31 />
32);