` by default (purely presentational)
* - Use `aria-hidden="true"` if purely decorative
* - Consider semantic alternatives for critical spacing
*
* @example
* // Push items to opposite edges
*
* Left side
*
* Right side
*
*
* @example
* // Multiple items with spacers
*
* Start
*
* Middle
*
* End
*
*/
const FlexSpacer = React.forwardRef
((props, ref) => {
const { as = "div", className = "", styles, ...rest } = props;
const classes = ["flex-1", className].filter(Boolean).join(" ");
return ;
});
FlexSpacer.displayName = "Flex.Spacer";
/**
* Attach sub-components to Flex using compound component pattern
*/
const Flex = FlexBase as FlexComponent;
Flex.Item = FlexItem;
Flex.Spacer = FlexSpacer;
export default Flex;
export { FlexItem, FlexSpacer };
export type {
FlexProps,
FlexItemProps,
FlexSpacerProps,
FlexContainerElement,
FlexItemElement,
};