import * as CSS from "csstype"; import { Length, ResponsiveValue } from "../utils"; /** * Types for space related CSS properties */ export interface SpaceProps { /** * Margin on top, left, bottom and right */ m?: ResponsiveValue>; /** * Margin on top, left, bottom and right */ margin?: ResponsiveValue>; /** * Margin on top */ mt?: ResponsiveValue>; marginBlockStart?: ResponsiveValue>; /** * Margin on top */ marginTop?: ResponsiveValue>; /** * Margin on right */ mr?: ResponsiveValue>; /** * When direction is `ltr`, `marginInlineEnd` is equivalent to `marginRight`. * When direction is `rtl`, `marginInlineEnd` is equivalent to `marginLeft`. */ marginInlineEnd?: ResponsiveValue>; /** * When direction is `ltr`, `marginEnd` is equivalent to `marginRight`. * When direction is `rtl`, `marginEnd` is equivalent to `marginLeft`. */ marginEnd?: ResponsiveValue>; /** * When direction is `ltr`, `me` is equivalent to `marginRight`. * When direction is `rtl`, `me` is equivalent to `marginLeft`. */ me?: ResponsiveValue>; /** * Margin on right */ marginRight?: ResponsiveValue>; /** * Margin on bottom */ mb?: ResponsiveValue>; marginBlockEnd?: ResponsiveValue>; /** * Margin on bottom */ marginBottom?: ResponsiveValue>; /** * Margin on left */ ml?: ResponsiveValue>; /** * When direction is `ltr`, `marginInlineStart` is equivalent to `marginLeft`. * When direction is `rtl`, `marginInlineStart` is equivalent to `marginRight`. */ marginInlineStart?: ResponsiveValue>; /** * When direction is `ltr`, `marginStart` is equivalent to `marginLeft`. * When direction is `rtl`, `marginStart` is equivalent to `marginRight`. */ marginStart?: ResponsiveValue>; /** * When direction is `ltr`, `ms` is equivalent to `marginLeft`. * When direction is `rtl`, `ms` is equivalent to `marginRight`. */ ms?: ResponsiveValue>; /** * Margin on left */ marginLeft?: ResponsiveValue>; /** * Margin on left and right */ mx?: ResponsiveValue>; marginInline?: ResponsiveValue>; /** * Margin on left and right */ marginX?: ResponsiveValue>; /** * Margin on top and bottom */ my?: ResponsiveValue>; marginBlock?: ResponsiveValue>; /** * Margin on top and bottom */ marginY?: ResponsiveValue>; /** * Padding on top, left, bottom and right */ p?: ResponsiveValue>; /** * Padding on top, left, bottom and right */ padding?: ResponsiveValue>; /** * Padding on top */ pt?: ResponsiveValue>; paddingBlockStart?: ResponsiveValue>; /** * Padding on top */ paddingTop?: ResponsiveValue>; /** * Padding on right */ pr?: ResponsiveValue>; /** * When direction is `ltr`, `paddingInlineEnd` is equivalent to `paddingRight`. * When direction is `rtl`, `paddingInlineEnd` is equivalent to `paddingLeft`. */ paddingInlineEnd?: ResponsiveValue>; /** * When direction is `ltr`, `paddingEnd` is equivalent to `paddingRight`. * When direction is `rtl`, `paddingEnd` is equivalent to `paddingLeft`. */ paddingEnd?: ResponsiveValue>; /** * When direction is `ltr`, `pe` is equivalent to `paddingRight`. * When direction is `rtl`, `pe` is equivalent to `paddingLeft`. */ pe?: ResponsiveValue>; /** * Padding on right */ paddingRight?: ResponsiveValue>; /** * Padding on bottom */ pb?: ResponsiveValue>; paddingBlockEnd?: ResponsiveValue>; /** * Padding on bottom */ paddingBottom?: ResponsiveValue>; /** * Padding on left */ pl?: ResponsiveValue>; /** * When direction is `ltr`, `paddingInlineStart` is equivalent to `paddingLeft`. * When direction is `rtl`, `paddingInlineStart` is equivalent to `paddingRight`. */ paddingInlineStart?: ResponsiveValue>; /** * When direction is `ltr`, `paddingStart` is equivalent to `paddingLeft`. * When direction is `rtl`, `paddingStart` is equivalent to `paddingRight`. */ paddingStart?: ResponsiveValue>; /** * When direction is `ltr`, `ps` is equivalent to `paddingLeft`. * When direction is `rtl`, `ps` is equivalent to `paddingRight`. */ ps?: ResponsiveValue>; /** * Padding on left */ paddingLeft?: ResponsiveValue>; /** * Padding on left and right */ px?: ResponsiveValue>; paddingInline?: ResponsiveValue>; /** * Padding on left and right */ paddingX?: ResponsiveValue>; /** * Padding on top and bottom */ py?: ResponsiveValue>; paddingBlock?: ResponsiveValue>; /** * Padding on top and bottom */ paddingY?: ResponsiveValue>; } /** * Converts shorthand or longhand margin and padding props to margin and padding CSS declarations * * - Numbers from 0-4 (or the length of theme.space) are converted to values on the spacing scale. * - Negative values can be used for negative margins. * - Numbers greater than the length of the theme.space array are converted to raw pixel values. * - String values are passed as raw CSS values. * - Array values are converted into responsive values. */ export declare const space: import("../core").Parser; export declare const spaceParser: { (props: Record): Record; config: import("../core").PropConfig; propNames: string[]; cache: Map; /** * Margin on top, left, bottom and right */ };