import { type CSSProperties } from 'react'; import { SpacingProps } from '../../styles/getSpacingSprinkles.js'; import type { MarginProperties, SpacingProperties } from '../../styles/sprinkle-properties.js'; /** * Type for layout size CSS properties, picking specific properties from CSSProperties. * @public */ export type LayoutSizeCSS = Pick; /** * Type for layout styles, including padding, margin, layout size CSS properties, and remaining properties. * @internal */ export type LayoutStyles = { paddingStyles: PaddingCSS; marginStyles: MarginCSS; layoutSizeStyles: LayoutSizeCSS; remainingProps: unknown; }; /** * Type for layout size CSS properties, picking specific properties from CSSProperties. * @internal */ export type LayoutSizeProps = LayoutSizeCSS; /** * Type for padding CSS properties, picking specific properties from CSSProperties. * @internal */ export type PaddingCSS = Pick; /** * Type for margin CSS properties, picking specific properties from CSSProperties. * @internal */ export type MarginCSS = Pick; /** * Type for default styles, including default padding, margin, and layout size properties. * @internal */ export type DefaultStyles = { paddingDefaults?: SpacingProps; marginDefaults?: SpacingProps; layoutSizeDefaults?: LayoutSizeProps; }; /** * Type for default padding properties, including individual padding values for each side. * @internal */ export type DefaultPadding = { padding?: SpacingProperties; paddingTop?: SpacingProperties; paddingRight?: SpacingProperties; paddingBottom?: SpacingProperties; paddingLeft?: SpacingProperties; }; /** * Type for default margin properties, including individual margin values for each side. * @internal */ export type DefaultMargin = { margin?: MarginProperties; marginTop?: MarginProperties; marginRight?: MarginProperties; marginBottom?: MarginProperties; marginLeft?: MarginProperties; };