// @flow
import type { BrandProps } from '../../mixins/branding';
import { brandPropTypes } from '../../mixins/branding';
import type { SpaceProps } from '../../mixins/spacing';
import { spacePropTypes } from '../../mixins/spacing';
import type { StackedProps } from '../../mixins/stacking';
import { stackedPropTypes } from '../../mixins/stacking';
import type { ContainerProps } from '../../mixins/container';
import { containerPropTypes } from '../../mixins/container';
import type { HideProps } from '../../mixins/hide';
import { hidePropTypes } from '../../mixins/hide';

export type BoxProps = ContainerProps &
  StackedProps &
  SpaceProps &
  BrandProps &
  HideProps;

export const boxPropTypes = {
  ...spacePropTypes,
  ...containerPropTypes,
  ...brandPropTypes,
  ...stackedPropTypes,
  ...hidePropTypes,
};
