UNPKG

6.99 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _react = _interopRequireDefault(require("react"));
9
10var _propTypes = _interopRequireDefault(require("prop-types"));
11
12var _withStyles = require("../helpers/withStyles");
13
14var _reactWithStyles = require("react-with-styles");
15
16function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
19
20function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
22var propTypes = _objectSpread({}, _reactWithStyles.withStylesPropTypes, {
23 children: _propTypes.default.any,
24 right: _propTypes.default.bool,
25 center: _propTypes.default.bool,
26 fullHeight: _propTypes.default.bool,
27 spaceBetween: _propTypes.default.bool,
28 spaced: _propTypes.default.bool,
29 top: _propTypes.default.bool,
30 middle: _propTypes.default.bool,
31 noWrap: _propTypes.default.bool,
32 bottom: _propTypes.default.bool,
33 stretch: _propTypes.default.bool,
34 resetSpacing: _propTypes.default.bool,
35 resetLargeSpacing: _propTypes.default.bool,
36 resetMicroSpacing: _propTypes.default.bool,
37 resetSmallSpacing: _propTypes.default.bool,
38 vertical: _propTypes.default.bool
39});
40
41var Grid = function Grid(_ref) {
42 var children = _ref.children,
43 right = _ref.right,
44 center = _ref.center,
45 fullHeight = _ref.fullHeight,
46 spaceBetween = _ref.spaceBetween,
47 spaced = _ref.spaced,
48 top = _ref.top,
49 middle = _ref.middle,
50 noWrap = _ref.noWrap,
51 bottom = _ref.bottom,
52 stretch = _ref.stretch,
53 resetSpacing = _ref.resetSpacing,
54 resetLargeSpacing = _ref.resetLargeSpacing,
55 resetMicroSpacing = _ref.resetMicroSpacing,
56 resetSmallSpacing = _ref.resetSmallSpacing,
57 styles = _ref.styles,
58 vertical = _ref.vertical,
59 css = _ref.css;
60 return _react.default.createElement("div", css(styles.container, fullHeight && styles.fullHeight), _react.default.createElement("div", css(styles.grid, fullHeight && styles.fullHeight, right && styles.grid_right, center && styles.grid_center, spaceBetween && styles.grid_spaceBetween, spaced && styles.grid_spaced, top && styles.grid_top, middle && styles.grid_middle, noWrap && styles.grid_noWrap, bottom && styles.grid_bottom, stretch && styles.grid_stretch, resetSpacing && styles.grid_resetSpacing, resetLargeSpacing && styles.grid_resetSpacing_large, resetSmallSpacing && styles.grid_resetSpacing_small, vertical && styles.grid_vertical), children));
61};
62
63Grid.propTypes = propTypes;
64var GridWithStyles = (0, _withStyles.withStyles)(function (_ref2) {
65 var _grid_resetSpacing, _grid_resetSpacing_la, _grid_resetSpacing_mi, _grid_resetSpacing_sm;
66
67 var breakpoint = _ref2.breakpoint,
68 gutter = _ref2.gutter;
69 return {
70 container: {
71 display: 'flex',
72 width: '100%',
73 flex: 1
74 },
75 grid: {
76 display: 'flex',
77 width: '100%',
78 alignItems: 'flex-start',
79 flexWrap: 'wrap',
80 flexDirection: 'row',
81 flex: 1,
82 boxSizing: 'border-box'
83 },
84 fullHeight: {
85 height: '100%'
86 },
87 grid_vertical: {
88 flexDirection: 'column',
89 alignItems: 'stretch'
90 },
91 grid_noWrap: {
92 flexWrap: 'nowrap'
93 },
94 grid_right: {
95 alignItems: 'flex-end'
96 },
97 grid_center: {
98 alignItems: 'center'
99 },
100 grid_spaceBetween: {
101 alignItems: 'space-between'
102 },
103 grid_spaced: {
104 alignItems: 'spaced'
105 },
106 grid_top: {
107 justifyContent: 'flex-start'
108 },
109 grid_middle: {
110 justifyContent: 'center'
111 },
112 grid_bottom: {
113 justifyContent: 'flex-end'
114 },
115 grid_stretch: {
116 justifyContent: 'stretch'
117 },
118 grid_resetSpacing: (_grid_resetSpacing = {
119 marginLeft: -gutter.small.regular.left,
120 marginRight: -gutter.small.regular.right
121 }, _defineProperty(_grid_resetSpacing, breakpoint.mediumAndAbove, {
122 marginLeft: -gutter.medium.regular.left,
123 marginRight: -gutter.medium.regular.right
124 }), _defineProperty(_grid_resetSpacing, breakpoint.large, {
125 marginLeft: -gutter.large.regular.left,
126 marginRight: -gutter.large.regular.right
127 }), _defineProperty(_grid_resetSpacing, breakpoint.xlarge, {
128 marginLeft: -gutter.xlarge.regular.left,
129 marginRight: -gutter.xlarge.regular.right
130 }), _grid_resetSpacing),
131 grid_resetSpacing_large: (_grid_resetSpacing_la = {
132 marginLeft: -gutter.small.large.left,
133 marginRight: -gutter.small.large.right
134 }, _defineProperty(_grid_resetSpacing_la, breakpoint.mediumAndAbove, {
135 marginLeft: -gutter.medium.large.left,
136 marginRight: -gutter.medium.large.right
137 }), _defineProperty(_grid_resetSpacing_la, breakpoint.large, {
138 marginLeft: -gutter.large.large.left,
139 marginRight: -gutter.large.large.right
140 }), _defineProperty(_grid_resetSpacing_la, breakpoint.xlarge, {
141 marginLeft: -gutter.xlarge.large.left,
142 marginRight: -gutter.xlarge.large.right
143 }), _grid_resetSpacing_la),
144 grid_resetSpacing_micro: (_grid_resetSpacing_mi = {
145 marginLeft: -gutter.small.micro.left,
146 marginRight: -gutter.small.micro.right
147 }, _defineProperty(_grid_resetSpacing_mi, breakpoint.mediumAndAbove, {
148 marginLeft: -gutter.medium.micro.left,
149 marginRight: -gutter.medium.micro.right
150 }), _defineProperty(_grid_resetSpacing_mi, breakpoint.large, {
151 marginLeft: -gutter.large.micro.left,
152 marginRight: -gutter.large.micro.right
153 }), _defineProperty(_grid_resetSpacing_mi, breakpoint.xlarge, {
154 marginLeft: -gutter.xlarge.micro.left,
155 marginRight: -gutter.xlarge.micro.right
156 }), _grid_resetSpacing_mi),
157 grid_resetSpacing_small: (_grid_resetSpacing_sm = {
158 marginLeft: -gutter.small.small.left,
159 marginRight: -gutter.small.small.right
160 }, _defineProperty(_grid_resetSpacing_sm, breakpoint.mediumAndAbove, {
161 marginLeft: -gutter.medium.small.left,
162 marginRight: -gutter.medium.small.right
163 }), _defineProperty(_grid_resetSpacing_sm, breakpoint.large, {
164 marginLeft: -gutter.large.small.left,
165 marginRight: -gutter.large.small.right
166 }), _defineProperty(_grid_resetSpacing_sm, breakpoint.xlarge, {
167 marginLeft: -gutter.xlarge.small.left,
168 marginRight: -gutter.xlarge.small.right
169 }), _grid_resetSpacing_sm)
170 };
171})(Grid);
172var _default = GridWithStyles;
173exports.default = _default;
\No newline at end of file