UNPKG

2.01 kBJavaScriptView Raw
1import { __rest } from "tslib";
2import * as React from 'react';
3import styles from '@patternfly/react-styles/css/layouts/Grid/grid';
4import { css } from '@patternfly/react-styles';
5import { DeviceSizes } from '../../styles/sizes';
6import * as gridToken from '@patternfly/react-tokens/dist/esm/l_grid_item_Order';
7import { setBreakpointCssVars } from '../../helpers/util';
8export const GridItem = (_a) => {
9 var { children = null, className = '', component = 'div', span = null, rowSpan = null, offset = null, order, style } = _a, props = __rest(_a, ["children", "className", "component", "span", "rowSpan", "offset", "order", "style"]);
10 const classes = [
11 styles.gridItem,
12 span && styles.modifiers[`${span}Col`],
13 rowSpan && styles.modifiers[`${rowSpan}Row`],
14 offset && styles.modifiers[`offset_${offset}Col`]
15 ];
16 const Component = component;
17 Object.entries(DeviceSizes).forEach(([propKey, classModifier]) => {
18 const key = propKey;
19 const rowSpanKey = `${key}RowSpan`;
20 const offsetKey = `${key}Offset`;
21 const spanValue = props[key];
22 const rowSpanValue = props[rowSpanKey];
23 const offsetValue = props[offsetKey];
24 if (spanValue) {
25 classes.push(styles.modifiers[`${spanValue}ColOn${classModifier}`]);
26 }
27 if (rowSpanValue) {
28 classes.push(styles.modifiers[`${rowSpanValue}RowOn${classModifier}`]);
29 }
30 if (offsetValue) {
31 classes.push(styles.modifiers[`offset_${offsetValue}ColOn${classModifier}`]);
32 }
33 delete props[key];
34 delete props[rowSpanKey];
35 delete props[offsetKey];
36 });
37 return (React.createElement(Component, Object.assign({ className: css(...classes, className), style: style || order ? Object.assign(Object.assign({}, style), setBreakpointCssVars(order, gridToken.l_grid_item_Order.name)) : undefined }, props), children));
38};
39GridItem.displayName = 'GridItem';
40//# sourceMappingURL=GridItem.js.map
\No newline at end of file