@primer/primitives
Version: 
Typography, spacing, and color primitives for Primer design system
36 lines (35 loc) • 1.12 kB
JavaScript
import { z } from 'zod';
import { baseToken } from './baseToken.js';
import { referenceValue } from './referenceValue.js';
import { collection } from './collections.js';
import { scopes } from './scopes.js';
import { dimensionValue } from './dimensionValue.js';
import { tokenType } from './tokenType.js';
export const dimensionToken = baseToken
    .extend({
    $value: z.union([dimensionValue, referenceValue]),
    $type: tokenType('dimension'),
    $extensions: z
        .object({
        'org.primer.figma': z.object({
            collection: collection(['base/size', 'functional/size', 'pattern/size', 'typography']),
            scopes: scopes([
                'all',
                'size',
                'gap',
                'radius',
                'borderColor',
                'borderWidth',
                'effectFloat',
                'fontSize',
                'letterSpacing',
                'lineHeight',
                'paragraphSpacing',
                'paragraphIndent',
            ]),
            group: z.string().optional(),
        }),
    })
        .optional(),
})
    .strict();