import type * as React from 'react'; import type { StyleObject } from 'styletron-standard'; import type { Override } from '../helpers/overrides'; export type BlockOverrides = { Block?: Override; }; export type Responsive = T | Array; type AlignContent = 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'normal' | 'baseline' | 'first baseline' | 'last baseline' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'safe center' | 'unsafe center' | 'inherit' | 'initial' | 'unset'; type AlignItems = 'normal' | 'stretch' | 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'baseline' | 'first baseline' | 'last baseline' | 'safe center' | 'unsafe center' | 'inherit' | 'initial' | 'unset'; type AlignSelf = 'auto' | 'normal' | 'center' | 'start' | 'end' | 'self-start' | 'self-end' | 'flex-start' | 'flex-end' | 'baseline' | 'first baseline' | 'last baseline' | 'stretch' | 'safe center' | 'unsafe center' | 'inherit' | 'initial' | 'unset'; type FlexDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse' | 'inherit' | 'initial' | 'unset'; type Flex = number | string; type Display = 'block' | 'inline' | 'run-in' | 'flow' | 'flow-root' | 'table' | 'flex' | 'grid' | 'ruby' | 'block flow' | 'inline table' | 'flex run-in' | 'list-item' | 'list-item block' | 'list-item inline' | 'list-item flow' | 'list-item flow-root' | 'list-item block flow' | 'list-item block flow-root' | 'flow list-item block' | 'table-row-group' | 'table-header-group' | 'table-footer-group' | 'table-row' | 'table-cell' | 'table-column-group' | 'table-column' | 'table-caption' | 'ruby-base' | 'ruby-text' | 'ruby-base-container' | 'ruby-text-container' | 'contents' | 'none' | 'inline-block' | 'inline-table' | 'inline-flex' | 'inline-grid' | 'inherit' | 'initial' | 'unset'; type GridAutoFlow = 'row' | 'column' | 'dense' | 'row dense' | 'column dense' | 'inherit' | 'initial' | 'unset'; type JustifyContent = 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'left' | 'right' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'safe center' | 'unsafe center' | 'inherit' | 'initial' | 'unset'; type JustifyItems = 'auto' | 'normal' | 'stretch' | 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'left' | 'right' | 'baseline' | 'first baseline' | 'last baseline' | 'safe center' | 'unsafe center' | 'legacy right' | 'legacy left' | 'legacy center' | 'inherit' | 'initial' | 'unset'; type JustifySelf = 'auto' | 'normal' | 'stretch' | 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'left' | 'right' | 'baseline' | 'first baseline' | 'last baseline' | 'safe center' | 'unsafe center' | 'inherit' | 'initial' | 'unset'; type Order = number | string; type Position = 'static' | 'absolute' | 'relative' | 'fixed' | 'sticky'; type Overflow = 'visible' | 'hidden' | 'scroll' | 'scrollX' | 'scrollY' | 'auto' | 'inherit' | 'initial' | 'unset'; export type Scale = 0 | string; export type WhiteSpace = 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line' | 'break-spaces' | 'inherit' | 'initial' | 'unset'; export type BlockProps = { children?: React.ReactNode; /** Modifies the base element used to render the block. */ as?: T; overrides?: BlockOverrides; /** Accepts all themeable color properties (`primary200`, etc.). */ color?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment */ backgroundAttachment?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip */ backgroundClip?: Responsive; /** Accepts all themeable color properties (`primary200`, etc.). */ backgroundColor?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-image */ backgroundImage?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin */ backgroundOrigin?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-position */ backgroundPosition?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat */ backgroundRepeat?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-size */ backgroundSize?: Responsive; /** Accepts all themeable font properties (`font200`, etc.). */ font?: string | Array; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content */ alignContent?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-items */ alignItems?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-self */ alignSelf?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction */ flexDirection?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/display */ display?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/flex */ flex?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid */ grid?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area */ gridArea?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns */ gridAutoColumns?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow */ gridAutoFlow?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows */ gridAutoRows?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column */ gridColumn?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-end */ gridColumnEnd?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-gap */ gridColumnGap?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-start */ gridColumnStart?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-gap */ gridGap?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row */ gridRow?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-end */ gridRowEnd?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-gap */ gridRowGap?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-start */ gridRowStart?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template */ gridTemplate?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas */ gridTemplateAreas?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns */ gridTemplateColumns?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows */ gridTemplateRows?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content */ justifyContent?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items */ justifyItems?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self */ justifySelf?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/order */ order?: Responsive; position?: Responsive; width?: Responsive; minWidth?: Responsive; maxWidth?: Responsive; height?: Responsive; minHeight?: Responsive; maxHeight?: Responsive; overflow?: Responsive; margin?: Responsive; marginTop?: Responsive; marginRight?: Responsive; marginBottom?: Responsive; marginLeft?: Responsive; padding?: Responsive; paddingTop?: Responsive; paddingRight?: Responsive; paddingBottom?: Responsive; paddingLeft?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content */ placeContent?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items */ placeItems?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self */ placeSelf?: Responsive; flexWrap?: Responsive; left?: Responsive; top?: Responsive; right?: Responsive; bottom?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow */ textOverflow?: Responsive; /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space */ whiteSpace?: Responsive; }; export type StyledBlockProps = { $color?: Responsive; $backgroundAttachment?: Responsive; $backgroundClip?: Responsive; $backgroundColor?: Responsive; $backgroundImage?: Responsive; $backgroundOrigin?: Responsive; $backgroundPosition?: Responsive; $backgroundRepeat?: Responsive; $backgroundSize?: Responsive; $font?: Responsive; $alignContent?: Responsive; $alignItems?: Responsive; $alignSelf?: Responsive; $flexDirection?: Responsive; $display?: Responsive; $flex?: Responsive; $grid?: Responsive; $gridArea?: Responsive; $gridAutoColumns?: Responsive; $gridAutoFlow?: Responsive; $gridAutoRows?: Responsive; $gridColumn?: Responsive; $gridColumnEnd?: Responsive; $gridColumnGap?: Responsive; $gridColumnStart?: Responsive; $gridGap?: Responsive; $gridRow?: Responsive; $gridRowEnd?: Responsive; $gridRowGap?: Responsive; $gridRowStart?: Responsive; $gridTemplate?: Responsive; $gridTemplateAreas?: Responsive; $gridTemplateColumns?: Responsive; $gridTemplateRows?: Responsive; $justifyContent?: Responsive; $justifyItems?: Responsive; $justifySelf?: Responsive; $order?: Responsive; $position?: Responsive; $width?: Responsive; $minWidth?: Responsive; $maxWidth?: Responsive; $height?: Responsive; $minHeight?: Responsive; $maxHeight?: Responsive; $overflow?: Responsive; $margin?: Responsive; $marginTop?: Responsive; $marginRight?: Responsive; $marginBottom?: Responsive; $marginLeft?: Responsive; $padding?: Responsive; $paddingTop?: Responsive; $paddingRight?: Responsive; $paddingBottom?: Responsive; $paddingLeft?: Responsive; $placeContent?: Responsive; $placeItems?: Responsive; $placeSelf?: Responsive; $flexWrap?: Responsive; $left?: Responsive; $top?: Responsive; $right?: Responsive; $bottom?: Responsive; $textOverflow?: Responsive; $whiteSpace?: Responsive; }; type BaseProps

= P & { $style?: StyleObject | ((props: P) => StyleObject); className?: string; }; type AddStyletronRef

= P extends { ref: infer R; } ? P & { $ref?: R; } : P; type OverrideProps = BaseProps

& Omit>, keyof BaseProps

>; export interface BlockComponentType { (props: OverrideProps>): JSX.Element; displayName?: string; } export {};