Validators
Type Aliases
RuleValidators
type RuleValidators = (flatten) => object[];
Parameters
| Parameter | Type |
|---|---|
flatten | FlattenTokens |
Returns
object
| Name | Type |
|---|---|
errors | ValidatorError[] |
TypeValidators
type TypeValidators = object;
Index Signature
[key: string]: object
ValidatorConfig
type ValidatorConfig = object;
Properties
rules?
optional rules?: RuleValidators;
types?
optional types?: TypeValidators;
ValidatorError
type ValidatorError = object;
Properties
message
message: string;
name
name: string;
path
path: string;
value?
optional value?: unknown;
ValidatorReturn
type ValidatorReturn = object;
Properties
errors
errors: ValidatorError[];
warnings
warnings: string[];
Variables
borderTokenPropertyTypes
const borderTokenPropertyTypes: Record<string, string>;
BorderTokenSchema
const BorderTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"border">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
color: ZodMiniUnion<readonly [ZodMiniObject<{
alpha: ZodMiniOptional<...>;
colorSpace: ZodMiniString<...>;
components: ZodMiniArray<...>;
hex: ZodMiniOptional<...>;
}, $strict>, ZodMiniString<string>]>;
style: ZodMiniUnion<readonly [ZodMiniUnion<readonly [ZodMiniString<...>, ZodMiniObject<..., ...>]>, ZodMiniString<string>]>;
width: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<...>;
value: ZodMiniNumber<...>;
}, $strict>, ZodMiniString<string>]>;
}, $strict>]>;
}, $strict>;
BorderValueSchema
const BorderValueSchema: ZodMiniObject<{
color: ZodMiniUnion<readonly [ZodMiniObject<{
alpha: ZodMiniOptional<ZodMiniNumber<number>>;
colorSpace: ZodMiniString<string>;
components: ZodMiniArray<ZodMiniUnion<readonly [ZodMiniNumber<number>, ZodMiniLiteral<"none">]>>;
hex: ZodMiniOptional<ZodMiniString<string>>;
}, $strict>, ZodMiniString<string>]>;
style: ZodMiniUnion<readonly [ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
dashArray: ZodMiniArray<ZodMiniUnion<readonly [..., ...]>>;
lineCap: ZodMiniString<string>;
}, $strict>]>, ZodMiniString<string>]>;
width: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"px">, ZodMiniLiteral<"rem">]>;
value: ZodMiniNumber<number>;
}, $strict>, ZodMiniString<string>]>;
}, $strict>;
colorSpaces
const colorSpaces: readonly ["srgb", "srgb-linear", "hsl", "hwb", "lab", "lch", "oklab", "oklch", "display-p3", "a98-rgb", "prophoto-rgb", "rec2020", "xyz-d65", "xyz-d50"];
ColorTokenSchema
const ColorTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"color">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
alpha: ZodMiniOptional<ZodMiniNumber<number>>;
colorSpace: ZodMiniString<string>;
components: ZodMiniArray<ZodMiniUnion<readonly [ZodMiniNumber<number>, ZodMiniLiteral<"none">]>>;
hex: ZodMiniOptional<ZodMiniString<string>>;
}, $strict>]>;
}, $strict>;
ColorValueSchema
const ColorValueSchema: ZodMiniObject<{
alpha: ZodMiniOptional<ZodMiniNumber<number>>;
colorSpace: ZodMiniString<string>;
components: ZodMiniArray<ZodMiniUnion<readonly [ZodMiniNumber<number>, ZodMiniLiteral<"none">]>>;
hex: ZodMiniOptional<ZodMiniString<string>>;
}, $strict>;
CubicBezierTokenSchema
const CubicBezierTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"cubicBezier">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniArray<ZodMiniNumber<number>>]>;
}, $strict>;
A schema for a cubic bezier token. The cubic bezier token is an array of 4 numbers. The first and third numbers must be between 0 and 1. Reference: https://tr.designtokens.org/format/#cubic-bezier
Returns
The cubic bezier token schema.
CubicBezierValueSchema
const CubicBezierValueSchema: ZodMiniArray<ZodMiniNumber<number>>;
DimensionTokenSchema
const DimensionTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"dimension">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"px">, ZodMiniLiteral<"rem">]>;
value: ZodMiniNumber<number>;
}, $strict>]>;
}, $strict>;
DimensionValueSchema
const DimensionValueSchema: ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"px">, ZodMiniLiteral<"rem">]>;
value: ZodMiniNumber<number>;
}, $strict>;
dtcgJsonSchemas
const dtcgJsonSchemas: TypeValidators;
DurationTokenSchema
const DurationTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"duration">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"ms">, ZodMiniLiteral<"s">]>;
value: ZodMiniNumber<number>;
}, $strict>]>;
}, $strict>;
A schema for a duration token. The duration token is an object with a value and a unit. The unit can be "ms" or "s". Reference: https://tr.designtokens.org/format/#duration
Returns
The duration token schema.
DurationValueSchema
const DurationValueSchema: ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"ms">, ZodMiniLiteral<"s">]>;
value: ZodMiniNumber<number>;
}, $strict>;
FontFamilyTokenSchema
const FontFamilyTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"fontFamily">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniArray<ZodMiniString<string>>]>]>;
}, $strict>;
FontFamilyValueSchema
const FontFamilyValueSchema: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniArray<ZodMiniString<string>>]>;
FontWeightTokenSchema
const FontWeightTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"fontWeight">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniUnion<readonly [ZodMiniNumber<number>, ZodMiniString<string>]>]>;
}, $strict>;
fontWeightValues
const fontWeightValues: object;
Type Declaration
FontWeightValueSchema
const FontWeightValueSchema: ZodMiniUnion<readonly [ZodMiniNumber<number>, ZodMiniString<string>]>;
gradientTokenPropertyTypes
const gradientTokenPropertyTypes: Record<string, string>;
GradientTokenSchema
const GradientTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"gradient">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniArray<ZodMiniUnion<readonly [ZodMiniObject<{
color: ZodMiniUnion<readonly [..., ...]>;
position: ZodMiniUnion<readonly [..., ...]>;
}, $strict>, ZodMiniString<string>]>>]>;
}, $strict>;
JsonPointerReferenceSchema
const JsonPointerReferenceSchema: ZodMiniString<string>;
lineCapPredefinedValues
const lineCapPredefinedValues: readonly ["butt", "round", "square"];
NumberTokenSchema
const NumberTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"number">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniNumber<number>]>;
}, $strict>;
A schema for a number token. Reference: https://tr.designtokens.org/format/#number
Returns
The number token schema.
NumberValueSchema
const NumberValueSchema: ZodMiniNumber<number>;
ReferenceValueSchema
const ReferenceValueSchema: ZodMiniString<string>;
shadowTokenPropertyTypes
const shadowTokenPropertyTypes: Record<string, string>;
ShadowTokenSchema
const ShadowTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"shadow">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniUnion<readonly [ZodMiniObject<{
blur: ZodMiniUnion<readonly [ZodMiniObject<..., ...>, ZodMiniString<...>]>;
color: ZodMiniUnion<readonly [ZodMiniObject<..., ...>, ZodMiniString<...>]>;
inset: ZodMiniOptional<ZodMiniBoolean<boolean>>;
offsetX: ZodMiniUnion<readonly [ZodMiniObject<..., ...>, ZodMiniString<...>]>;
offsetY: ZodMiniUnion<readonly [ZodMiniObject<..., ...>, ZodMiniString<...>]>;
spread: ZodMiniUnion<readonly [ZodMiniObject<..., ...>, ZodMiniString<...>]>;
}, $strict>, ZodMiniArray<ZodMiniUnion<readonly [ZodMiniObject<{
blur: ...;
color: ...;
inset: ...;
offsetX: ...;
offsetY: ...;
spread: ...;
}, $strict>, ZodMiniString<string>]>>]>]>;
}, $strict>;
A schema for a shadow token. Reference: https://tr.designtokens.org/format/#shadow
Returns
The shadow token schema.
StrictStringSchema
const StrictStringSchema: ZodMiniString<string>;
strokePredefinedValues
const strokePredefinedValues: readonly ["solid", "dashed", "dotted", "double", "groove", "ridge", "outset", "inset"];
strokeStyleTokenPropertyTypes
const strokeStyleTokenPropertyTypes: Record<string, string>;
StrokeStyleTokenSchema
const StrokeStyleTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"strokeStyle">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
dashArray: ZodMiniArray<ZodMiniUnion<readonly [..., ...]>>;
lineCap: ZodMiniString<string>;
}, $strict>]>]>;
}, $strict>;
StrokeStyleValueSchema
const StrokeStyleValueSchema: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
dashArray: ZodMiniArray<ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<readonly [..., ...]>;
value: ZodMiniNumber<number>;
}, $strict>, ZodMiniString<string>]>>;
lineCap: ZodMiniString<string>;
}, $strict>]>;
TokenValueReferenceSchema
const TokenValueReferenceSchema: ZodMiniString<string> = ReferenceValueSchema;
transitionTokenPropertyTypes
const transitionTokenPropertyTypes: Record<string, string>;
TransitionTokenSchema
const TransitionTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"transition">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
delay: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<...>;
value: ZodMiniNumber<...>;
}, $strict>, ZodMiniString<string>]>;
duration: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<...>;
value: ZodMiniNumber<...>;
}, $strict>, ZodMiniString<string>]>;
timingFunction: ZodMiniUnion<readonly [ZodMiniArray<ZodMiniNumber<number>>, ZodMiniString<string>]>;
}, $strict>]>;
}, $strict>;
TransitionValueSchema
const TransitionValueSchema: ZodMiniObject<{
delay: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"ms">, ZodMiniLiteral<"s">]>;
value: ZodMiniNumber<number>;
}, $strict>, ZodMiniString<string>]>;
duration: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<readonly [ZodMiniLiteral<"ms">, ZodMiniLiteral<"s">]>;
value: ZodMiniNumber<number>;
}, $strict>, ZodMiniString<string>]>;
timingFunction: ZodMiniUnion<readonly [ZodMiniArray<ZodMiniNumber<number>>, ZodMiniString<string>]>;
}, $strict>;
typographyTokenPropertyTypes
const typographyTokenPropertyTypes: Record<string, TokenType>;
TypographyTokenSchema
const TypographyTokenSchema: ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<"typography">>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniObject<{
fontFamily: ZodMiniUnion<readonly [ZodMiniUnion<readonly [ZodMiniString<...>, ZodMiniArray<...>]>, ZodMiniString<string>]>;
fontSize: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<...>;
value: ZodMiniNumber<...>;
}, $strict>, ZodMiniString<string>]>;
fontWeight: ZodMiniUnion<readonly [ZodMiniUnion<readonly [ZodMiniNumber<...>, ZodMiniString<...>]>, ZodMiniString<string>]>;
letterSpacing: ZodMiniUnion<readonly [ZodMiniObject<{
unit: ZodMiniUnion<...>;
value: ZodMiniNumber<...>;
}, $strict>, ZodMiniString<string>]>;
lineHeight: ZodMiniUnion<readonly [ZodMiniNumber<number>, ZodMiniString<string>]>;
}, $strict>]>;
}, $strict>;
A schema for a typography token. Reference: https://tr.designtokens.org/format/#typography
Returns
The typography token schema.
Functions
createSchema()
function createSchema<T, V>(type, value): ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<T>>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, V]>;
}, $strict>;
Creates a schema for a token.
Type Parameters
| Type Parameter |
|---|
T extends string |
V extends ZodMiniType<any, any, $ZodTypeInternals<any, any>> |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | The type of the token. |
value | V | The value of the token. |
Returns
ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$type: ZodMiniOptional<ZodMiniLiteral<T>>;
$value: ZodMiniUnion<readonly [ZodMiniString<string>, V]>;
}, $strict>
The token schema.
dtcgValidator()
function dtcgValidator(value, config?): ValidatorReturn;
Validate the token group. The function checks if the token group is valid and if the references are correct.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | unknown | Unknown value to validate |
config | ValidatorConfig | Validator to use |
Returns
True if the value is a valid token group
GroupSchema()
function GroupSchema(customTypes?): ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extends: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniString<string>]>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$root: ZodMiniOptional<ZodMiniUnknown>;
$schema: ZodMiniOptional<ZodMiniString<string>>;
$type: ZodMiniOptional<ZodMiniString<string>>;
}, $loose>;
Parameters
| Parameter | Type |
|---|---|
customTypes? | string[] |
Returns
ZodMiniObject<{
$deprecated: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniBoolean<boolean>, ZodMiniString<string>]>>;
$description: ZodMiniOptional<ZodMiniString<string>>;
$extends: ZodMiniOptional<ZodMiniUnion<readonly [ZodMiniString<string>, ZodMiniString<string>]>>;
$extensions: ZodMiniOptional<ZodMiniRecord<ZodMiniString<string>, ZodMiniUnknown>>;
$root: ZodMiniOptional<ZodMiniUnknown>;
$schema: ZodMiniOptional<ZodMiniString<string>>;
$type: ZodMiniOptional<ZodMiniString<string>>;
}, $loose>