jobiqo-cl
Version:
[](https://circleci.com/gh/jobiqo/jobiqo-cl)
40 lines (34 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var tslib_es6 = require('../../../../../../node_modules/tslib/tslib.es6.js');
var React = require('react');
var React__default = _interopDefault(React);
var styled = require('styled-components');
var styled__default = _interopDefault(styled);
var index = require('../../../../02-atoms/06-layout/04-grid/index.js');
var Cell = require('../../../../02-atoms/06-layout/04-grid/Cell.js');
const ResponsiveGrid = styled__default(index.Grid) `
${props => props.theme.mediaQueries.smallRevert} {
display: block;
}
`;
/**
* A layout that has a single sidebar and a container. Fully responsive so when
* going to a narrow device it will not display as grid but rather sidebar on top of
* the content.
*/
const HolyGrailLayout = styled.withTheme((_a) => {
var { content, sidebarFirst, sidebarSecond, footer, header, theme } = _a, props = tslib_es6.__rest(_a, ["content", "sidebarFirst", "sidebarSecond", "footer", "header", "theme"]);
return (React__default.createElement(ResponsiveGrid, { columns: `${theme.layout.sidebar.width} auto ${theme.layout.sidebar.width}`, areas: [
'header header header',
'sidebar-first content sidebar-second ',
'footer footer footer'
] },
React__default.createElement(Cell.Cell, { area: "header" }, header),
React__default.createElement(Cell.Cell, { area: "sidebar-first" }, sidebarFirst),
React__default.createElement(Cell.Cell, { area: "content" }, content),
React__default.createElement(Cell.Cell, { area: "sidebar-second" }, sidebarSecond),
React__default.createElement(Cell.Cell, { area: "footer" }, footer)));
});
exports.HolyGrailLayout = HolyGrailLayout;