Skip to content

Commit 7765c3b

Browse files
authored
feat: corner-shape (#138)
1 parent 57b1128 commit 7765c3b

File tree

2 files changed

+163
-3
lines changed

2 files changed

+163
-3
lines changed

.config/cspell.json

Lines changed: 147 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,151 @@
1313
"borderless",
1414
"colorjs",
1515
"oklab",
16-
"prebuild"
16+
"prebuild",
17+
"aliceblue",
18+
"antiquewhite",
19+
"aqua",
20+
"aquamarine",
21+
"azure",
22+
"beige",
23+
"bisque",
24+
"black",
25+
"blanchedalmond",
26+
"blue",
27+
"blueviolet",
28+
"brown",
29+
"burlywood",
30+
"cadetblue",
31+
"chartreuse",
32+
"chocolate",
33+
"coral",
34+
"cornflowerblue",
35+
"cornsilk",
36+
"crimson",
37+
"cyan",
38+
"darkblue",
39+
"darkcyan",
40+
"darkgoldenrod",
41+
"darkgray",
42+
"darkgreen",
43+
"darkgrey",
44+
"darkkhaki",
45+
"darkmagenta",
46+
"darkolivegreen",
47+
"darkorange",
48+
"darkorchid",
49+
"darkred",
50+
"darksalmon",
51+
"darkseagreen",
52+
"darkslateblue",
53+
"darkslategrey",
54+
"darkturquoise",
55+
"darkviolet",
56+
"deeppink",
57+
"deepskyblue",
58+
"dimgray",
59+
"dimgrey",
60+
"dodgerblue",
61+
"firebrick",
62+
"floralwhite",
63+
"forestgreen",
64+
"fuchsia",
65+
"gainsboro",
66+
"ghostwhite",
67+
"gold",
68+
"goldenrod",
69+
"gray",
70+
"green",
71+
"greenyellow",
72+
"grey",
73+
"honeydew",
74+
"hotpink",
75+
"indianred",
76+
"indigo",
77+
"ivory",
78+
"khaki",
79+
"lavender",
80+
"lavenderblush",
81+
"lawngreen",
82+
"lemonchiffon",
83+
"lightblue",
84+
"lightcoral",
85+
"lightcyan",
86+
"lightgoldenrodyellow",
87+
"lightgray",
88+
"lightgreen",
89+
"lightgrey",
90+
"lightpink",
91+
"lightsalmon",
92+
"lightseagreen",
93+
"lightskyblue",
94+
"lightslategrey",
95+
"lightsteelblue",
96+
"lightyellow",
97+
"lime",
98+
"limegreen",
99+
"linen",
100+
"magenta",
101+
"maroon",
102+
"mediumaquamarine",
103+
"mediumblue",
104+
"mediumorchid",
105+
"mediumpurple",
106+
"mediumseagreen",
107+
"mediumslateblue",
108+
"mediumspringgreen",
109+
"mediumturquoise",
110+
"mediumvioletred",
111+
"midnightblue",
112+
"mintcream",
113+
"mistyrose",
114+
"moccasin",
115+
"navajowhite",
116+
"navy",
117+
"oldlace",
118+
"olive",
119+
"olivedrab",
120+
"orange",
121+
"orangered",
122+
"orchid",
123+
"palegoldenrod",
124+
"palegreen",
125+
"paleturquoise",
126+
"palevioletred",
127+
"papayawhip",
128+
"peachpuff",
129+
"peru",
130+
"pink",
131+
"plum",
132+
"powderblue",
133+
"purple",
134+
"rebeccapurple",
135+
"red",
136+
"rosybrown",
137+
"royalblue",
138+
"saddlebrown",
139+
"salmon",
140+
"sandybrown",
141+
"seagreen",
142+
"seashell",
143+
"sienna",
144+
"silver",
145+
"skyblue",
146+
"slateblue",
147+
"slategray",
148+
"snow",
149+
"springgreen",
150+
"steelblue",
151+
"tan",
152+
"teal",
153+
"thistle",
154+
"tomato",
155+
"turquoise",
156+
"violet",
157+
"wheat",
158+
"white",
159+
"whitesmoke",
160+
"yellow",
161+
"yellowgreen",
17162
]
18-
}
163+
}

src/compiler/declarations.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// cSpell:ignore rcap,vmin,svmin,lvmin,dvmin,cqmin,vmax,svmax,lvmax,dvmax,cqmax,currentcolor,oklab,oklch,prophoto
1+
// cSpell:ignore rcap,vmin,svmin,lvmin,dvmin,cqmin,vmax,svmax,lvmax,dvmax,cqmax,currentcolor,oklab,oklch,prophoto,squircle,oldstyle,nums
22

33
import Color from "colorjs.io";
44
import type {
@@ -1000,6 +1000,8 @@ export function parseCustomDeclaration(
10001000
property,
10011001
parseUnparsed(declaration.value.value, builder, property),
10021002
);
1003+
} else if (property === "corner-shape") {
1004+
parseCornerShape(declaration.value, builder);
10031005
} else if (
10041006
validProperties.has(property) ||
10051007
property.startsWith("--") ||
@@ -3091,6 +3093,19 @@ function parseObjectPosition(
30913093
]);
30923094
}
30933095

3096+
function parseCornerShape(
3097+
declaration: CustomProperty,
3098+
builder: StylesheetBuilder,
3099+
) {
3100+
const shape = parseUnparsed(declaration.value, builder, "corner-shape");
3101+
3102+
if (shape === "round") {
3103+
builder.addDescriptor("borderCurve", "circular");
3104+
} else if (shape === "squircle") {
3105+
builder.addDescriptor("borderCurve", "continuous");
3106+
}
3107+
}
3108+
30943109
function parseVisibility(
30953110
declaration: DeclarationType<"visibility">,
30963111
builder: StylesheetBuilder,

0 commit comments

Comments
 (0)