UNPKG

5.44 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.Column = exports.Row = exports.Grid = undefined;
7
8var _templateObject = _taggedTemplateLiteral(['\n margin-left: auto;\n margin-right: auto;\n\n ', '\n ', '\n\n ', ' {\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n }\n'], ['\n margin-left: auto;\n margin-right: auto;\n\n ', '\n ', '\n\n ', ' {\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n }\n']),
9 _templateObject2 = _taggedTemplateLiteral(['\n display: flex;\n flex-wrap: wrap;\n flex-direction: ', ';\n justify-content: ', ';\n align-items: ', ';\n ', '\n ', ' { ', ' }\n ', ' { ', ' }\n ', ' { ', ' }\n ', ' { ', ' }\n'], ['\n display: flex;\n flex-wrap: wrap;\n flex-direction: ', ';\n justify-content: ', ';\n align-items: ', ';\n ', '\n ', ' { ', ' }\n ', ' { ', ' }\n ', ' { ', ' }\n ', ' { ', ' }\n']),
10 _templateObject3 = _taggedTemplateLiteral(['\n display: ', ';\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n max-width: 100%;\n box-sizing: border-box;\n\n ', '\n ', '\n ', '\n ', '\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n'], ['\n display: ', ';\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n max-width: 100%;\n box-sizing: border-box;\n\n ', '\n ', '\n ', '\n ', '\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n\n ', ' {\n ', '\n ', '\n ', '\n ', '\n }\n']);
11
12var _get = require('lodash/get');
13
14var _get2 = _interopRequireDefault(_get);
15
16var _styledComponents = require('styled-components');
17
18var _styledComponents2 = _interopRequireDefault(_styledComponents);
19
20var _media = require('../library/media');
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
24function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
25
26var p = function p(n) {
27 return typeof n !== 'undefined' ? n * 100 + '%' : null;
28};
29
30var width = function width(key) {
31 return function (props) {
32 return props[key] ? 'flex-basis: ' + p(props[key]) + '; max-width: ' + p(props[key]) + ';' : null;
33 };
34};
35
36var push = function push(key) {
37 return function (props) {
38 return props[key] ? 'margin-left: ' + p(props[key]) + ';' : null;
39 };
40};
41
42var pull = function pull(key) {
43 return function (props) {
44 return props[key] ? 'margin-right: -' + p(props[key]) + ';' : null;
45 };
46};
47
48var gutter = function gutter(size) {
49 return function (props) {
50 var gutterSize = (0, _get2.default)(props.theme, 'grid.' + size + '.gutter');
51 return '\n padding-left: calc(' + gutterSize + ' / 2);\n padding-right: calc(' + gutterSize + ' / 2);\n ';
52 };
53};
54
55var rowPush = function rowPush(size) {
56 return function (props) {
57 var gutterSize = (0, _get2.default)(props.theme, 'grid.' + size + '.gutter');
58 return '\n margin-left: calc(-' + gutterSize + ' / 2);\n margin-right: calc(-' + gutterSize + ' / 2);\n ';
59 };
60};
61
62var offset = function offset(size) {
63 return function (props) {
64 var offsetSize = (0, _get2.default)(props.theme, 'grid.' + size + '.offset');
65 return '\n padding-left: ' + offsetSize + ';\n padding-right: ' + offsetSize + ';\n ';
66 };
67};
68
69var maxWidth = function maxWidth(size) {
70 return function (props) {
71 var maxSize = (0, _get2.default)(props.theme, 'grid.' + size + '.maxWidth');
72 return props.fixed ? 'max-width: ' + maxSize : null;
73 };
74};
75
76var Grid = exports.Grid = _styledComponents2.default.div(_templateObject, offset('tiny'), maxWidth('tiny'), (0, _media.mediaQuery)('small'), offset('small'), maxWidth('small'), (0, _media.mediaQuery)('medium'), offset('medium'), maxWidth('medium'), (0, _media.mediaQuery)('wide'), offset('wide'), maxWidth('wide'), (0, _media.mediaQuery)('extra-wide'), offset('extra-wide'), maxWidth('extra-wide'));
77
78var Row = exports.Row = _styledComponents2.default.div(_templateObject2, function (props) {
79 return props.column ? 'column' : 'row';
80}, function (props) {
81 return props.justify || 'space-between';
82}, function (props) {
83 return props.align || 'flex-start';
84}, rowPush('tiny'), (0, _media.mediaQuery)('small'), rowPush('small'), (0, _media.mediaQuery)('medium'), rowPush('medium'), (0, _media.mediaQuery)('wide'), rowPush('wide'), (0, _media.mediaQuery)('extra-wide'), rowPush('extra-wide'));
85
86var Column = exports.Column = _styledComponents2.default.div(_templateObject3, function (props) {
87 return props.flex ? 'flex' : 'block';
88}, width('tn'), push('tn-push'), pull('tn-pull'), gutter('tiny'), (0, _media.mediaQuery)('small'), width('sm'), push('sm-push'), pull('sm-pull'), gutter('small'), (0, _media.mediaQuery)('medium'), width('md'), push('md-push'), pull('md-pull'), gutter('medium'), (0, _media.mediaQuery)('wide'), width('wd'), push('wd-push'), pull('wd-pull'), gutter('wide'), (0, _media.mediaQuery)('extra-wide'), width('xwd'), push('xwd-push'), pull('xwd-pull'), gutter('extra-wide'));
\No newline at end of file