"use client"; import type { ReactNode } from "react"; import { CreateFlowStepShell } from "./CreateFlowStepShell"; import { CREATE_FLOW_MD_UP_COLUMN_MAX_CLASS } from "./createFlowLayoutTokens"; export type CreateFlowSelectShellLgVerticalAlign = "center" | "start"; interface CreateFlowTwoColumnSelectShellProps { header: ReactNode; children: ReactNode; /** * At `lg+`, layout variant: `"center"` = vertically centered pair (community size/structure). * `"start"` = top-weighted layout with a scrollable right column (core values): uses `items-stretch` * so the right column gets a bounded height; `items-start` would grow with content and break scroll. */ lgVerticalAlign?: CreateFlowSelectShellLgVerticalAlign; } /** * Two-column layout for create-flow select steps (community size/structure, core values). * Below `lg`, layout and scrolling match the previous single-column behavior (full page scroll). * At `lg+`, mirrors {@link CompletedScreen}: static header column + scrollable controls column * (`min-h-0` + `overflow-y-auto` height chain; see completed page right rail). */ export function CreateFlowTwoColumnSelectShell({ header, children, lgVerticalAlign = "center", }: CreateFlowTwoColumnSelectShellProps) { /** `stretch` is required for `min-h-0` + `overflow-y-auto` on the right column. */ const rowLgCrossAlignClass = lgVerticalAlign === "start" ? "lg:items-stretch" : "lg:items-center"; const leftLgMainJustifyClass = lgVerticalAlign === "start" ? "lg:justify-start" : "lg:justify-center"; return (
{header}
{children}
); }