@primer/primitives
Version:
Typography, spacing, and color primitives for Primer design system
10 lines (9 loc) • 402 B
JavaScript
import { z } from 'zod';
import { schemaErrorMessage } from '../utilities/index.js';
export const dimensionValue = z.union([
z.string().refine(dim => /(^-?[0-9]+(px|rem)$|^-?[0-9]+\.?[0-9]*em$)/.test(dim), val => ({
message: schemaErrorMessage(`Invalid dimension: "${val}"`, `Dimension must be a string with a unit (px, rem or em) or 0`),
})),
z.literal('0'),
z.literal(0),
]);