import { ResponsiveValue } from "../hooks/useResponsiveValue.js"; import React, { ElementType } from "react"; //#region src/Stack/Stack.d.ts type GapScale = 'none' | 'tight' | 'condensed' | 'cozy' | 'normal' | 'spacious'; type Gap = GapScale | ResponsiveValue; type DirectionScale = 'horizontal' | 'vertical'; type Direction = DirectionScale | ResponsiveValue; type AlignScale = 'stretch' | 'start' | 'center' | 'end' | 'baseline'; type Align = AlignScale | ResponsiveValue; type WrapScale = 'wrap' | 'nowrap'; type Wrap = WrapScale | ResponsiveValue; type JustifyScale = 'start' | 'center' | 'end' | 'space-between' | 'space-evenly'; type Justify = JustifyScale | ResponsiveValue; type PaddingScale = 'none' | 'tight' | 'condensed' | 'cozy' | 'normal' | 'spacious'; type Padding = PaddingScale | ResponsiveValue; type StackProps = React.PropsWithChildren<{ /** * Customize the element type of the rendered container */ as?: As; /** * Specify the gap between children elements in the stack */ gap?: Gap; /** * Specify the direction for the stack container * @default vertical */ direction?: Direction; /** * Specify the alignment between items in the cross-axis of the direction * @default stretch */ align?: Align; /** * Specify whether items are forced onto one line or can wrap onto multiple lines * @default nowrap */ wrap?: Wrap; /** * Specify how items will be distributed in the stacking direction * @default start */ justify?: Justify; /** * Specify the padding of the stack container * @default none */ padding?: Padding; /** * Specify the block (vertical) padding of the stack container. * Overrides the block axis of `padding` when both are set. */ paddingBlock?: Padding; /** * Specify the inline (horizontal) padding of the stack container. * Overrides the inline axis of `padding` when both are set. */ paddingInline?: Padding; className?: string; }>; type StackItemProps = React.PropsWithChildren<{ /** * Customize the element type of the rendered container */ as?: As; /** * Allow item to keep size or expand to fill the available space * @default false */ grow?: boolean | ResponsiveValue; /** * Allow item to keep size or expand to fill the available space * @default true */ shrink?: boolean | ResponsiveValue; className?: string; }>; //#endregion export type { StackItemProps, StackProps };