Sha256: d72c6256b0597c7d6cac71e24af85d9f44fd8ccf8a2f2803adfb5be3c02c9291

Contents?: true

Size: 1.08 KB

Versions: 35

Compression:

Stored size: 1.08 KB

Contents

/* @flow */

import React from 'react'
import classnames from 'classnames'

import {
  buildAriaProps,
  buildCss,
  buildDataProps,
} from '../utilities/props'

type LayoutProps = {
  aria?: object,
  children?: Array<React.ReactChild>,
  collapse?: 'xs' | 'sm' | 'md' | 'lg' | 'xl',
  dark?: Boolean,
  data?: object,
  full?: Boolean,
  position?: 'left' | 'right',
  size?: 'xs' | 'sm' | 'md' | 'base' | 'lg' | 'xl',
  transparent?: Boolean
}

const Layout = ({
  aria = {},
  children,
  collapse = 'md',
  dark = false,
  data = {},
  full = false,
  position = 'left',
  transparent = false,
  size = 'base',
}: LayoutProps) => {
  const ariaProps = buildAriaProps(aria)
  const dataProps = buildDataProps(data)
  const classes = classnames(
    buildCss('layout', position, 'collapse', collapse),
    buildCss('pb_layout_kit', size, position, {
      'dark': dark,
      'transparent': transparent,
      'full': full,
    })
  )

  return (
    <div
        {...ariaProps}
        {...dataProps}
        className={classnames(classes)}
    >
      {children}
    </div>
  )
}

export default Layout

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
playbook_ui-4.14.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.15.1.alpha1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.13.1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.13.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.12.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.11.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.11.0.pre.alpha3 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.11.0.pre.alpha.pre.2 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.10.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.10.0.pre.alpha1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.9.0.pre.alpha1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.9.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.8.2 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.8.1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.7.1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.7.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.6.1 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.6.0 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.5.2 app/pb_kits/playbook/pb_layout/_layout.jsx
playbook_ui-4.5.1 app/pb_kits/playbook/pb_layout/_layout.jsx