@cimpress/react-components
Version:
React components to support the MCP styleguide
192 lines (162 loc) • 5.36 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;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.spacing = void 0;
exports.unstable_injectGlobalSpacingStyles = unstable_injectGlobalSpacingStyles;
exports.unstable_ScopedSpacingStyles = unstable_ScopedSpacingStyles;
const React = __importStar(require("react"));
const css_1 = require("@emotion/css");
const memoize_one_1 = __importDefault(require("memoize-one"));
exports.spacing = [0, 1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96];
function createSpacingUtilities(breakpointName) {
const prefix = `${breakpointName ? `${breakpointName}\\:` : ''}`;
return exports.spacing
.map(size => `
.${prefix}m-${size} {
margin: ${size}px;
}
.${prefix}mt-${size} {
margin-top: ${size}px;
}
.${prefix}mb-${size} {
margin-bottom: ${size}px;
}
.${prefix}mr-${size} {
margin-right: ${size}px;
}
.${prefix}ml-${size} {
margin-left: ${size}px;
}
.${prefix}mx-${size} {
margin-left: ${size}px;
margin-right: ${size}px;
}
.${prefix}my-${size} {
margin-top: ${size}px;
margin-bottom: ${size}px;
}
.${prefix}ms-${size} {
margin-inline-start: ${size}px;
}
.${prefix}me-${size} {
margin-inline-end: ${size}px;
}
.${prefix}m-auto {
margin: auto;
}
.${prefix}mt-auto {
margin-top: auto;
}
.${prefix}mb-auto {
margin-bottom: auto;
}
.${prefix}mr-auto {
margin-right: auto;
}
.${prefix}p-${size} {
padding: ${size}px;
}
.${prefix}pt-${size} {
padding-top: ${size}px;
}
.${prefix}pb-${size} {
padding-bottom: ${size}px;
}
.${prefix}pr-${size} {
padding-right: ${size}px;
}
.${prefix}pl-${size} {
padding-left: ${size}px;
}
.${prefix}px-${size} {
padding-left: ${size}px;
padding-right: ${size}px;
}
.${prefix}py-${size} {
padding-top: ${size}px;
padding-bottom: ${size}px;
}
.${prefix}ps-${size} {
padding-inline-start: ${size}px;
}
.${prefix}pe-${size} {
padding-inline-end: ${size}px;
}
.${prefix}p-auto {
padding: auto;
}
.${prefix}pt-auto {
padding-top: auto;
}
.${prefix}pb-auto {
padding-bottom: auto;
}
.${prefix}pr-auto {
padding-right: auto;
}
.${prefix}pl-auto {
padding-left: auto;
}
`)
.join('\n');
}
// Memoize for lazy evaluation
const createSpacingStyles = (0, memoize_one_1.default)(() => (0, css_1.css) `
${createSpacingUtilities()};
@media screen and (min-width: 640px) {
${createSpacingUtilities('sm')};
}
@media screen and (min-width: 768px) {
${createSpacingUtilities('md')};
}
@media screen and (min-width: 1024px) {
${createSpacingUtilities('lg')};
}
@media screen and (min-width: 1280px) {
${createSpacingUtilities('xl')};
}
`);
function unstable_injectGlobalSpacingStyles() {
(0, css_1.injectGlobal)(createSpacingStyles());
}
function unstable_ScopedSpacingStyles(_a) {
var { className } = _a, props = __rest(_a, ["className"]);
return React.createElement("div", Object.assign({ className: (0, css_1.cx)(className, createSpacingStyles()) }, props));
}
//# sourceMappingURL=spacing.js.map