UNPKG

15.4 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
16var _CinnectaTheme = _interopRequireDefault(require("../themes/CinnectaTheme"));
17
18function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20function _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; }
21
22function _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; }
23
24var propTypes = _objectSpread({}, _reactWithStyles.withStylesPropTypes, {
25 children: _propTypes.default.any,
26 size: _propTypes.default.number,
27 mediumSize: _propTypes.default.number,
28 largeSize: _propTypes.default.number,
29 xlargeSize: _propTypes.default.number,
30 columns: _propTypes.default.number,
31 columnsOnMedium: _propTypes.default.number,
32 columnsOnLarge: _propTypes.default.number,
33 columnsOnXlarge: _propTypes.default.number,
34 fullHeight: _propTypes.default.bool,
35 fullHeightOnMedium: _propTypes.default.bool,
36 fullHeightOnLarge: _propTypes.default.bool,
37 fullHeightOnXlarge: _propTypes.default.bool,
38 microSpacing: _propTypes.default.bool,
39 smallSpacing: _propTypes.default.bool,
40 largeSpacing: _propTypes.default.bool,
41 noSpacing: _propTypes.default.bool,
42 verticalSpacing: _propTypes.default.bool,
43 microVerticalSpacing: _propTypes.default.bool,
44 smallVerticalSpacing: _propTypes.default.bool,
45 largeVerticalSpacing: _propTypes.default.bool,
46 auto: _propTypes.default.bool,
47 autoOnMedium: _propTypes.default.bool,
48 autoOnLarge: _propTypes.default.bool,
49 autoOnXlarge: _propTypes.default.bool,
50 relative: _propTypes.default.bool,
51 shrink: _propTypes.default.bool,
52 shrinkOnMedium: _propTypes.default.bool,
53 shrinkOnLarge: _propTypes.default.bool,
54 shrinkOnXlarge: _propTypes.default.bool,
55 grow: _propTypes.default.bool,
56 growOnMedium: _propTypes.default.bool,
57 growOnLarge: _propTypes.default.bool,
58 growOnXlarge: _propTypes.default.bool,
59 order: _propTypes.default.number,
60 maxWidth: _propTypes.default.number,
61 minWidth: _propTypes.default.number,
62 scroll: _propTypes.default.bool
63});
64
65var Cell = function Cell(_ref) {
66 var children = _ref.children,
67 size = _ref.size,
68 mediumSize = _ref.mediumSize,
69 largeSize = _ref.largeSize,
70 xlargeSize = _ref.xlargeSize,
71 columns = _ref.columns,
72 columnsOnMedium = _ref.columnsOnMedium,
73 columnsOnLarge = _ref.columnsOnLarge,
74 columnsOnXlarge = _ref.columnsOnXlarge,
75 fullHeight = _ref.fullHeight,
76 fullHeightOnMedium = _ref.fullHeightOnMedium,
77 fullHeightOnLarge = _ref.fullHeightOnLarge,
78 fullHeightOnXlarge = _ref.fullHeightOnXlarge,
79 microSpacing = _ref.microSpacing,
80 smallSpacing = _ref.smallSpacing,
81 largeSpacing = _ref.largeSpacing,
82 noSpacing = _ref.noSpacing,
83 verticalSpacing = _ref.verticalSpacing,
84 microVerticalSpacing = _ref.microVerticalSpacing,
85 smallVerticalSpacing = _ref.smallVerticalSpacing,
86 largeVerticalSpacing = _ref.largeVerticalSpacing,
87 auto = _ref.auto,
88 autoOnMedium = _ref.autoOnMedium,
89 autoOnLarge = _ref.autoOnLarge,
90 autoOnXlarge = _ref.autoOnXlarge,
91 relative = _ref.relative,
92 shrink = _ref.shrink,
93 shrinkOnMedium = _ref.shrinkOnMedium,
94 shrinkOnLarge = _ref.shrinkOnLarge,
95 shrinkOnXlarge = _ref.shrinkOnXlarge,
96 grow = _ref.grow,
97 growOnMedium = _ref.growOnMedium,
98 growOnLarge = _ref.growOnLarge,
99 growOnXlarge = _ref.growOnXlarge,
100 order = _ref.order,
101 maxWidth = _ref.maxWidth,
102 minWidth = _ref.minWidth,
103 scroll = _ref.scroll,
104 css = _ref.css,
105 styles = _ref.styles;
106 return _react.default.createElement("div", css(styles.cell, size && styles["cell_".concat(size)], mediumSize && styles["cell_medium_".concat(mediumSize)], largeSize && styles["cell_large_".concat(largeSize)], xlargeSize && styles["cell_xlarge_".concat(xlargeSize)], columns && styles["cell_columns_".concat(columns)], columnsOnMedium && styles["cell_columns_medium_".concat(columnsOnMedium)], columnsOnLarge && styles["cell_columns_large_".concat(columnsOnLarge)], columnsOnXlarge && styles["cell_columns_xlarge_".concat(columnsOnXlarge)], auto && styles.cell_auto, autoOnMedium && styles.cell_auto_medium, autoOnLarge && styles.cell_auto_large, autoOnXlarge && styles.cell_auto_xlarge, fullHeight && styles.cell_fullHeight, fullHeightOnMedium && styles.cell_fullHeight_medium, fullHeightOnLarge && styles.cell_fullHeight_large, fullHeightOnXlarge && styles.cell_fullHeight_xlarge, relative && styles.relative, shrink && styles.cell_shrink, shrinkOnMedium && styles.cell_shrink_medium, shrinkOnLarge && styles.cell_shrink_large, shrinkOnXlarge && styles.cell_shrink_xlarge, grow && styles.cell_grow, growOnMedium && styles.cell_grow_medium, growOnLarge && styles.cell_grow_large, growOnXlarge && styles.cell_grow_xlarge, microSpacing && styles.cell_microSpacing, smallSpacing && styles.cell_smallSpacing, largeSpacing && styles.cell_largeSpacing, verticalSpacing && styles.cell_verticalSpacing, microVerticalSpacing && styles.cell_verticalSpacing_micro, smallVerticalSpacing && styles.cell_verticalSpacing_small, largeVerticalSpacing && styles.cell_verticalSpacing_large, noSpacing && styles.cell_noSpacing, scroll && styles.cell_scroll, {
107 order: order,
108 maxWidth: maxWidth && maxWidth * _CinnectaTheme.default.unit,
109 minWidth: minWidth && minWidth * _CinnectaTheme.default.unit
110 }), children);
111};
112
113Cell.propTypes = propTypes;
114var CellWithStyles = (0, _withStyles.withStyles)(function (_ref2) {
115 var _cell, _cell_microSpacing, _cell_smallSpacing, _cell_largeSpacing, _cell_verticalSpacing, _cell_verticalSpacing2, _cell_verticalSpacing3, _cell_verticalSpacing4, _cell_noSpacing;
116
117 var breakpoint = _ref2.breakpoint,
118 gutter = _ref2.gutter,
119 columns = _ref2.columns;
120 var sizes = {};
121
122 for (var size = 1; size <= columns; size++) {
123 sizes["cell_".concat(size)] = {
124 width: "".concat(size / columns * 100, "%")
125 };
126 sizes["cell_medium_".concat(size)] = _defineProperty({}, breakpoint.mediumAndAbove, {
127 width: "".concat(size / columns * 100, "%")
128 });
129 sizes["cell_large_".concat(size)] = _defineProperty({}, breakpoint.large, {
130 width: "".concat(size / columns * 100, "%")
131 });
132 sizes["cell_xlarge_".concat(size)] = _defineProperty({}, breakpoint.xlarge, {
133 width: "".concat(size / columns * 100, "%")
134 });
135 sizes["cell_columns_".concat(size)] = {
136 width: "".concat(100 / size, "%")
137 };
138 sizes["cell_columns_medium_".concat(size)] = _defineProperty({}, breakpoint.mediumAndAbove, {
139 width: "".concat(100 / size, "%")
140 });
141 sizes["cell_columns_large_".concat(size)] = _defineProperty({}, breakpoint.large, {
142 width: "".concat(100 / size, "%")
143 });
144 sizes["cell_columns_xlarge_".concat(size)] = _defineProperty({}, breakpoint.xlarge, {
145 width: "".concat(100 / size, "%")
146 });
147 }
148
149 return _objectSpread({
150 cell: (_cell = {
151 //display: 'flex',
152 paddingLeft: gutter.small.regular.left,
153 paddingRight: gutter.small.regular.right,
154 boxSizing: 'border-box'
155 }, _defineProperty(_cell, breakpoint.mediumAndAbove, {
156 paddingLeft: gutter.medium.regular.left,
157 paddingRight: gutter.medium.regular.right
158 }), _defineProperty(_cell, breakpoint.large, {
159 paddingLeft: gutter.large.regular.left,
160 paddingRight: gutter.large.regular.right
161 }), _defineProperty(_cell, breakpoint.xlarge, {
162 paddingLeft: gutter.xlarge.regular.left,
163 paddingRight: gutter.xlarge.regular.right
164 }), _cell),
165 cell_fullHeight: {
166 height: '100%'
167 },
168 cell_fullHeight_medium: _defineProperty({}, breakpoint.mediumAndAbove, {
169 height: '100%'
170 }),
171 cell_fullHeight_large: _defineProperty({}, breakpoint.large, {
172 height: '100%'
173 }),
174 cell_fullHeight_xlarge: _defineProperty({}, breakpoint.xlarge, {
175 height: '100%'
176 }),
177 cell_microSpacing: (_cell_microSpacing = {
178 paddingLeft: gutter.small.micro.left,
179 paddingRight: gutter.small.micro.right
180 }, _defineProperty(_cell_microSpacing, breakpoint.mediumAndAbove, {
181 paddingLeft: gutter.medium.micro.left,
182 paddingRight: gutter.medium.micro.right
183 }), _defineProperty(_cell_microSpacing, breakpoint.large, {
184 paddingLeft: gutter.large.micro.left,
185 paddingRight: gutter.large.micro.right
186 }), _defineProperty(_cell_microSpacing, breakpoint.xlarge, {
187 paddingLeft: gutter.xlarge.micro.left,
188 paddingRight: gutter.xlarge.micro.right
189 }), _cell_microSpacing),
190 cell_smallSpacing: (_cell_smallSpacing = {
191 paddingLeft: gutter.small.small.left,
192 paddingRight: gutter.small.small.right
193 }, _defineProperty(_cell_smallSpacing, breakpoint.mediumAndAbove, {
194 paddingLeft: gutter.medium.small.left,
195 paddingRight: gutter.medium.small.right
196 }), _defineProperty(_cell_smallSpacing, breakpoint.large, {
197 paddingLeft: gutter.large.small.left,
198 paddingRight: gutter.large.small.right
199 }), _defineProperty(_cell_smallSpacing, breakpoint.xlarge, {
200 paddingLeft: gutter.xlarge.small.left,
201 paddingRight: gutter.xlarge.small.right
202 }), _cell_smallSpacing),
203 cell_largeSpacing: (_cell_largeSpacing = {
204 paddingLeft: gutter.small.large.left,
205 paddingRight: gutter.small.large.right
206 }, _defineProperty(_cell_largeSpacing, breakpoint.mediumAndAbove, {
207 paddingLeft: gutter.medium.large.left,
208 paddingRight: gutter.medium.large.right
209 }), _defineProperty(_cell_largeSpacing, breakpoint.large, {
210 paddingLeft: gutter.large.large.left,
211 paddingRight: gutter.large.large.right
212 }), _defineProperty(_cell_largeSpacing, breakpoint.xlarge, {
213 paddingLeft: gutter.xlarge.large.left,
214 paddingRight: gutter.xlarge.large.right
215 }), _cell_largeSpacing),
216 cell_verticalSpacing: (_cell_verticalSpacing = {
217 paddingTop: gutter.small.regular.top,
218 paddingBottom: gutter.small.regular.bottom
219 }, _defineProperty(_cell_verticalSpacing, breakpoint.mediumAndAbove, {
220 paddingTop: gutter.medium.regular.top,
221 paddingBottom: gutter.medium.regular.bottom
222 }), _defineProperty(_cell_verticalSpacing, breakpoint.large, {
223 paddingTop: gutter.large.regular.top,
224 paddingBottom: gutter.large.regular.bottom
225 }), _defineProperty(_cell_verticalSpacing, breakpoint.xlarge, {
226 paddingTop: gutter.xlarge.regular.top,
227 paddingBottom: gutter.xlarge.regular.bottom
228 }), _cell_verticalSpacing),
229 cell_verticalSpacing_micro: (_cell_verticalSpacing2 = {
230 paddingTop: gutter.small.micro.top,
231 paddingBottom: gutter.small.micro.bottom
232 }, _defineProperty(_cell_verticalSpacing2, breakpoint.mediumAndAbove, {
233 paddingTop: gutter.medium.micro.top,
234 paddingBottom: gutter.medium.micro.bottom
235 }), _defineProperty(_cell_verticalSpacing2, breakpoint.large, {
236 paddingTop: gutter.large.micro.top,
237 paddingBottom: gutter.large.micro.bottom
238 }), _defineProperty(_cell_verticalSpacing2, breakpoint.xlarge, {
239 paddingTop: gutter.xlarge.micro.top,
240 paddingBottom: gutter.xlarge.micro.bottom
241 }), _cell_verticalSpacing2),
242 cell_verticalSpacing_small: (_cell_verticalSpacing3 = {
243 paddingTop: gutter.small.small.top,
244 paddingBottom: gutter.small.small.bottom
245 }, _defineProperty(_cell_verticalSpacing3, breakpoint.mediumAndAbove, {
246 paddingTop: gutter.medium.small.top,
247 paddingBottom: gutter.medium.small.bottom
248 }), _defineProperty(_cell_verticalSpacing3, breakpoint.large, {
249 paddingTop: gutter.large.small.top,
250 paddingBottom: gutter.large.small.bottom
251 }), _defineProperty(_cell_verticalSpacing3, breakpoint.xlarge, {
252 paddingTop: gutter.xlarge.small.top,
253 paddingBottom: gutter.xlarge.small.bottom
254 }), _cell_verticalSpacing3),
255 cell_verticalSpacing_large: (_cell_verticalSpacing4 = {
256 paddingTop: gutter.small.large.top,
257 paddingBottom: gutter.small.large.bottom
258 }, _defineProperty(_cell_verticalSpacing4, breakpoint.mediumAndAbove, {
259 paddingTop: gutter.medium.large.top,
260 paddingBottom: gutter.medium.large.bottom
261 }), _defineProperty(_cell_verticalSpacing4, breakpoint.large, {
262 paddingTop: gutter.large.large.top,
263 paddingBottom: gutter.large.large.bottom
264 }), _defineProperty(_cell_verticalSpacing4, breakpoint.xlarge, {
265 paddingTop: gutter.xlarge.large.top,
266 paddingBottom: gutter.xlarge.large.bottom
267 }), _cell_verticalSpacing4),
268 cell_noSpacing: (_cell_noSpacing = {
269 paddingTop: 0,
270 paddingRight: 0,
271 paddingBottom: 0,
272 paddingLeft: 0
273 }, _defineProperty(_cell_noSpacing, breakpoint.mediumAndAbove, {
274 paddingTop: 0,
275 paddingRight: 0,
276 paddingBottom: 0,
277 paddingLeft: 0
278 }), _defineProperty(_cell_noSpacing, breakpoint.large, {
279 paddingTop: 0,
280 paddingRight: 0,
281 paddingBottom: 0,
282 paddingLeft: 0
283 }), _defineProperty(_cell_noSpacing, breakpoint.xlarge, {
284 paddingTop: 0,
285 paddingRight: 0,
286 paddingBottom: 0,
287 paddingLeft: 0
288 }), _cell_noSpacing),
289 cell_auto: {
290 flex: '1 1 0',
291 width: 'auto'
292 },
293 cell_auto_medium: _defineProperty({}, breakpoint.mediumAndAbove, {
294 flex: '1 1 0',
295 width: 'auto'
296 }),
297 cell_auto_large: _defineProperty({}, breakpoint.large, {
298 flex: '1 1 0',
299 width: 'auto'
300 }),
301 cell_auto_xlarge: _defineProperty({}, breakpoint.xlarge, {
302 flex: '1 1 0',
303 width: 'auto'
304 }),
305 cell_shrink: {
306 flex: '0 0 auto',
307 width: 'auto'
308 },
309 cell_shrink_medium: _defineProperty({}, breakpoint.mediumAndAbove, {
310 flex: '0 0 auto',
311 width: 'auto'
312 }),
313 cell_shrink_large: _defineProperty({}, breakpoint.large, {
314 flex: '0 0 auto',
315 width: 'auto'
316 }),
317 cell_shrink_xlarge: _defineProperty({}, breakpoint.xlarge, {
318 flex: '0 0 auto',
319 width: 'auto'
320 }),
321 cell_grow: {
322 flex: '1 0 auto',
323 width: 'auto'
324 },
325 cell_grow_medium: _defineProperty({}, breakpoint.mediumAndAbove, {
326 flex: '1 0 auto',
327 width: 'auto'
328 }),
329 cell_grow_large: _defineProperty({}, breakpoint.large, {
330 flex: '1 0 auto',
331 width: 'auto'
332 }),
333 cell_grow_xlarge: _defineProperty({}, breakpoint.xlarge, {
334 flex: '1 0 auto',
335 width: 'auto'
336 }),
337 cell_scroll: {
338 overflow: 'auto'
339 },
340 relative: {
341 position: 'relative'
342 }
343 }, sizes);
344}, {
345 flushBefore: true
346})(Cell);
347var _default = CellWithStyles;
348exports.default = _default;
\No newline at end of file