/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
require("../_virtual/_rolldown/runtime.cjs");
const require_components_Box = require("./Box.cjs");
const require_utils_intersperse = require("../utils/intersperse.cjs");
let react = require("react");
let react_jsx_runtime = require("react/jsx-runtime");
//#region src/components/VStack.tsx
/**
* **🥞 A layout component that arranges its children in rows using flexbox**
*
* @description
* VStack is a layout component that arranges its children in rows using [flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox)
* and can be used to compose larger layouts. VStack is similar to [Box](./box) but provides additional features like a `gap` property to
* add spacing between children.
*
* @example
* ```tsx
* import { VStack, Text } from '@yahoo/uds';
*
* <VStack gap="6">
*   <Text variant="body1" color="primary">First</Text>
*   <Text variant="body1" color="primary">Second</Text>
*   <Text variant="body1" color="primary">Third</Text>
* </VStack>
* ```
*
* @usage
* - Create a column of items, optionally with gaps between.
* - Create rows that are sized to their content (height only). By default each child will fill the width of the VStack.
* - Create rows that fill the available space within the parent container.
* - Create rows of proportionate size to each other (also known as a ratio-based layout).
*
* @see The {@link https://uds.build/docs/components/v-stack VStack Docs} for more info
*
* @related [Box](https://uds.build/docs/components/box), [HStack](https://uds.build/docs/components/h-stack)
**/
const VStack = (0, react.forwardRef)(function VStack({ gap, children, separator, ...props }, ref) {
	return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Box.Box, {
		ref,
		flexDirection: "column",
		columnGap: gap,
		rowGap: gap,
		...props,
		children: separator ? require_utils_intersperse.intersperseReactChildren(children, separator) : children
	});
});
VStack.displayName = "VStack";
//#endregion
exports.VStack = VStack;
