返回 presentation-ai
stats-static.tsx
1 import { SlateElement, type SlateElementProps } from "platejs/static";
2
3 import { cn } from "@/lib/utils";
4 import {
5 columnSizeVariant,
6 getAlignmentClasses,
7 getDefaultColumnSize,
8 } from "../../utils";
9
10 export default function StatsGroupStatic(props: SlateElementProps) {
11 const element = props.element as {
12 columnSize?: "sm" | "md" | "lg" | "xl";
13 alignment?: "left" | "center" | "right";
14 children?: unknown[];
15 };
16 const alignment = element.alignment ?? "left";
17 const columnSize =
18 element.columnSize ?? getDefaultColumnSize(element.children?.length ?? 0);
19
20 return (
21 <SlateElement {...props} className="mb-4 w-full max-w-full">
22 <div
23 className={cn(
24 "w-full max-w-full min-w-0",
25 columnSizeVariant({ columnSize }),
26 getAlignmentClasses(alignment),
27 )}
28 >
29 {props.children}
30 </div>
31 </SlateElement>
32 );
33 }
34
34 lines Plain Text