@cimpress/react-components
Version:
React components to support the MCP styleguide
82 lines (77 loc) • 5.17 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GridLayout = GridLayout;
exports.GridLayoutItem = GridLayoutItem;
const css_1 = require("@emotion/css");
const React = __importStar(require("react"));
const gridLayoutStyles = (0, css_1.css) `
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: var(--crc-grid-gap, 0);
`;
function GridLayout(_a) {
var { children, className, style, gap = 16 } = _a, props = __rest(_a, ["children", "className", "style", "gap"]);
return (React.createElement("div", Object.assign({ className: (0, css_1.cx)(gridLayoutStyles, className), style: Object.assign(Object.assign({}, style), { '--crc-grid-gap': `${gap}px` }) }, props), children));
}
const gridLayoutItemStyles = (0, css_1.css) `
--crc-grid-item-span: var(--crc-grid-item-span-xs);
--crc-grid-item-start: var(--crc-grid-item-start-xs);
grid-column: var(--crc-grid-item-start, auto) / span var(--crc-grid-item-span, 12);
@media screen and (min-width: 640px) {
--crc-grid-item-span: var(--crc-grid-item-span-sm);
--crc-grid-item-start: var(--crc-grid-item-start-sm);
}
@media screen and (min-width: 768px) {
--crc-grid-item-span: var(--crc-grid-item-span-md);
--crc-grid-item-start: var(--crc-grid-item-start-md);
}
@media screen and (min-width: 1024px) {
--crc-grid-item-span: var(--crc-grid-item-span-lg);
--crc-grid-item-start: var(--crc-grid-item-start-lg);
}
@media screen and (min-width: 1280px) {
--crc-grid-item-span: var(--crc-grid-item-span-xl);
--crc-grid-item-start: var(--crc-grid-item-start-xl);
}
`;
function GridLayoutItem(_a) {
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
var { children, className, style, span, smSpan, mdSpan, lgSpan, xlSpan, start, smStart, mdStart, lgStart, xlStart } = _a, props = __rest(_a, ["children", "className", "style", "span", "smSpan", "mdSpan", "lgSpan", "xlSpan", "start", "smStart", "mdStart", "lgStart", "xlStart"]);
return (React.createElement("div", Object.assign({ className: (0, css_1.cx)(gridLayoutItemStyles, className), style: Object.assign(Object.assign({}, style), { '--crc-grid-item-span-xs': span !== null && span !== void 0 ? span : 12, '--crc-grid-item-span-sm': smSpan !== null && smSpan !== void 0 ? smSpan : span, '--crc-grid-item-span-md': (_b = mdSpan !== null && mdSpan !== void 0 ? mdSpan : smSpan) !== null && _b !== void 0 ? _b : span, '--crc-grid-item-span-lg': (_d = (_c = lgSpan !== null && lgSpan !== void 0 ? lgSpan : mdSpan) !== null && _c !== void 0 ? _c : smSpan) !== null && _d !== void 0 ? _d : span, '--crc-grid-item-span-xl': (_g = (_f = (_e = xlSpan !== null && xlSpan !== void 0 ? xlSpan : lgSpan) !== null && _e !== void 0 ? _e : mdSpan) !== null && _f !== void 0 ? _f : smSpan) !== null && _g !== void 0 ? _g : span, '--crc-grid-item-start-xs': start !== null && start !== void 0 ? start : 'auto', '--crc-grid-item-start-sm': smStart !== null && smStart !== void 0 ? smStart : start, '--crc-grid-item-start-md': (_h = mdStart !== null && mdStart !== void 0 ? mdStart : smStart) !== null && _h !== void 0 ? _h : start, '--crc-grid-item-start-lg': (_k = (_j = lgStart !== null && lgStart !== void 0 ? lgStart : mdStart) !== null && _j !== void 0 ? _j : smStart) !== null && _k !== void 0 ? _k : start, '--crc-grid-item-start-xl': (_o = (_m = (_l = xlStart !== null && xlStart !== void 0 ? xlStart : lgStart) !== null && _l !== void 0 ? _l : mdStart) !== null && _m !== void 0 ? _m : smStart) !== null && _o !== void 0 ? _o : start }) }, props), children));
}
GridLayout.Item = GridLayoutItem;
//# sourceMappingURL=GridLayout.js.map