diff --git a/.config/cspell.json b/.config/cspell.json index ef3508b6..46d53445 100644 --- a/.config/cspell.json +++ b/.config/cspell.json @@ -13,6 +13,151 @@ "borderless", "colorjs", "oklab", - "prebuild" + "prebuild", + "aliceblue", + "antiquewhite", + "aqua", + "aquamarine", + "azure", + "beige", + "bisque", + "black", + "blanchedalmond", + "blue", + "blueviolet", + "brown", + "burlywood", + "cadetblue", + "chartreuse", + "chocolate", + "coral", + "cornflowerblue", + "cornsilk", + "crimson", + "cyan", + "darkblue", + "darkcyan", + "darkgoldenrod", + "darkgray", + "darkgreen", + "darkgrey", + "darkkhaki", + "darkmagenta", + "darkolivegreen", + "darkorange", + "darkorchid", + "darkred", + "darksalmon", + "darkseagreen", + "darkslateblue", + "darkslategrey", + "darkturquoise", + "darkviolet", + "deeppink", + "deepskyblue", + "dimgray", + "dimgrey", + "dodgerblue", + "firebrick", + "floralwhite", + "forestgreen", + "fuchsia", + "gainsboro", + "ghostwhite", + "gold", + "goldenrod", + "gray", + "green", + "greenyellow", + "grey", + "honeydew", + "hotpink", + "indianred", + "indigo", + "ivory", + "khaki", + "lavender", + "lavenderblush", + "lawngreen", + "lemonchiffon", + "lightblue", + "lightcoral", + "lightcyan", + "lightgoldenrodyellow", + "lightgray", + "lightgreen", + "lightgrey", + "lightpink", + "lightsalmon", + "lightseagreen", + "lightskyblue", + "lightslategrey", + "lightsteelblue", + "lightyellow", + "lime", + "limegreen", + "linen", + "magenta", + "maroon", + "mediumaquamarine", + "mediumblue", + "mediumorchid", + "mediumpurple", + "mediumseagreen", + "mediumslateblue", + "mediumspringgreen", + "mediumturquoise", + "mediumvioletred", + "midnightblue", + "mintcream", + "mistyrose", + "moccasin", + "navajowhite", + "navy", + "oldlace", + "olive", + "olivedrab", + "orange", + "orangered", + "orchid", + "palegoldenrod", + "palegreen", + "paleturquoise", + "palevioletred", + "papayawhip", + "peachpuff", + "peru", + "pink", + "plum", + "powderblue", + "purple", + "rebeccapurple", + "red", + "rosybrown", + "royalblue", + "saddlebrown", + "salmon", + "sandybrown", + "seagreen", + "seashell", + "sienna", + "silver", + "skyblue", + "slateblue", + "slategray", + "snow", + "springgreen", + "steelblue", + "tan", + "teal", + "thistle", + "tomato", + "turquoise", + "violet", + "wheat", + "white", + "whitesmoke", + "yellow", + "yellowgreen", ] -} +} \ No newline at end of file diff --git a/src/compiler/declarations.ts b/src/compiler/declarations.ts index 457f6281..a5b9423f 100644 --- a/src/compiler/declarations.ts +++ b/src/compiler/declarations.ts @@ -1,4 +1,4 @@ -// cSpell:ignore rcap,vmin,svmin,lvmin,dvmin,cqmin,vmax,svmax,lvmax,dvmax,cqmax,currentcolor,oklab,oklch,prophoto +// cSpell:ignore rcap,vmin,svmin,lvmin,dvmin,cqmin,vmax,svmax,lvmax,dvmax,cqmax,currentcolor,oklab,oklch,prophoto,squircle,oldstyle,nums import Color from "colorjs.io"; import type { @@ -1000,6 +1000,8 @@ export function parseCustomDeclaration( property, parseUnparsed(declaration.value.value, builder, property), ); + } else if (property === "corner-shape") { + parseCornerShape(declaration.value, builder); } else if ( validProperties.has(property) || property.startsWith("--") || @@ -3091,6 +3093,19 @@ function parseObjectPosition( ]); } +function parseCornerShape( + declaration: CustomProperty, + builder: StylesheetBuilder, +) { + const shape = parseUnparsed(declaration.value, builder, "corner-shape"); + + if (shape === "round") { + builder.addDescriptor("borderCurve", "circular"); + } else if (shape === "squircle") { + builder.addDescriptor("borderCurve", "continuous"); + } +} + function parseVisibility( declaration: DeclarationType<"visibility">, builder: StylesheetBuilder,