joyent-portal/packages/ui-toolkit/src/card/outlet.js
Sérgio Ramos f3e531dbd8 feat(cp-frontend,ui-toolkit): style inheritance using .extend (#458)
styled-components@2 exposes a new `.extend`[1] API. It is less problematic than
styled(Parent).

[1]: https://www.styled-components.com/docs/basics#extending-styles
2017-05-25 09:59:58 -05:00

45 lines
958 B
JavaScript

import { Subscriber } from 'react-broadcast';
import typography from '../typography';
import Baseline from '../baseline';
import { Col } from 'react-styled-flexboxgrid';
import is from 'styled-is';
import remcalc from 'remcalc';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import React from 'react';
const StyledCol = Col.extend`
${typography.fontFamily};
${typography.normal};
display: block;
min-width: auto;
max-width: ${remcalc(480)};
margin-left: auto;
${is('collapsed')`
display: none;
`};
`;
const Outlet = ({ children, ...rest }) => {
const render = ({ collapsed = false }) => (
<StyledCol name="card-outlet" collapsed={collapsed} xs={6} {...rest}>
{children}
</StyledCol>
);
return (
<Subscriber channel="card">
{render}
</Subscriber>
);
};
Outlet.propTypes = {
children: PropTypes.node,
collapsed: PropTypes.bool
};
export default Baseline(Outlet);