import type { FormHTMLAttributes, HTMLAttributes, ReactNode } from "react";
export type ContentGridColumns = 1 | 2 | 3 | 4;
export type ContentGridGap = "compact" | "small" | "default" | "loose";
export type ContentGridSpacing = "none" | "block";
export type ContentGridCollapseAt = "narrow" | "workspace" | "standard" | "wide" | "never";
export type ContentGridProps = HTMLAttributes & {
children: ReactNode;
columns?: ContentGridColumns;
gap?: ContentGridGap;
spacing?: ContentGridSpacing;
collapseAt?: ContentGridCollapseAt;
align?: "start" | "stretch";
};
export default function ContentGrid({
children,
columns = 2,
gap = "default",
spacing = "none",
collapseAt = "workspace",
align = "start",
className = "",
...props
}: ContentGridProps) {
return (
{children}
);
}
export type FormGridProps = Omit;
export function FormGrid({
children,
columns = 1,
gap = "default",
collapseAt = "standard",
className = "",
...props
}: FormGridProps) {
return (
{children}
);
}
export type FormLayoutProps = FormHTMLAttributes & {
children: ReactNode;
columns?: ContentGridColumns;
gap?: ContentGridGap;
spacing?: ContentGridSpacing;
collapseAt?: ContentGridCollapseAt;
};
export function FormLayout({
children,
columns = 1,
gap = "default",
spacing = "none",
collapseAt = "standard",
className = "",
...props
}: FormLayoutProps) {
return (
);
}
export type GridItemProps = HTMLAttributes & {
children: ReactNode;
span?: "one" | "two" | "full";
};
export function GridItem({ children, span = "one", className = "", ...props }: GridItemProps) {
return (
{children}
);
}