Skip to content

Commit 685435c

Browse files
authored
fix: border-block-color & border-inline-color (#74)
1 parent f98dd6b commit 685435c

File tree

1 file changed

+35
-19
lines changed

1 file changed

+35
-19
lines changed

src/compiler/declarations.ts

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import Color from "colorjs.io";
44
import type {
55
Angle,
6-
BorderBlockColor,
76
BorderSideWidth,
87
BorderStyle,
98
ColorOrAuto,
@@ -92,7 +91,7 @@ const parsers: {
9291
"block-size": parseSizeDeclaration,
9392
"border": parseBorder,
9493
"border-block": parseBorderBlock,
95-
"border-block-color": parseBorderBlockColor,
94+
"border-block-color": parseBorderColor,
9695
"border-block-end": parseBorderBlockEnd,
9796
"border-block-end-color": parseColorDeclaration,
9897
"border-block-end-width": parseBorderSideWidthDeclaration,
@@ -111,7 +110,7 @@ const parsers: {
111110
"border-end-end-radius": parseSize2DDimensionPercentageDeclaration,
112111
"border-end-start-radius": parseSize2DDimensionPercentageDeclaration,
113112
"border-inline": parseBorderInline,
114-
"border-inline-color": parseBorderBlockColor,
113+
"border-inline-color": parseBorderColor,
115114
"border-inline-end": parseBorderInlineEnd,
116115
"border-inline-end-color": parseColorDeclaration,
117116
"border-inline-end-style": parseBorderInlineStyle,
@@ -352,15 +351,41 @@ function parseBorderRadius(
352351
}
353352

354353
function parseBorderColor(
355-
{ value }: DeclarationType<"border-color">,
354+
declaration: DeclarationType<
355+
"border-color" | "border-block-color" | "border-inline-color"
356+
>,
356357
builder: StylesheetBuilder,
357358
) {
358-
builder.addShorthand("border-color", {
359-
"border-top-color": parseColor(value.top, builder),
360-
"border-bottom-color": parseColor(value.bottom, builder),
361-
"border-left-color": parseColor(value.left, builder),
362-
"border-right-color": parseColor(value.right, builder),
363-
});
359+
switch (declaration.property) {
360+
case "border-color":
361+
builder.addShorthand("border-color", {
362+
"border-top-color": parseColor(declaration.value.top, builder),
363+
"border-bottom-color": parseColor(declaration.value.bottom, builder),
364+
"border-left-color": parseColor(declaration.value.left, builder),
365+
"border-right-color": parseColor(declaration.value.right, builder),
366+
});
367+
break;
368+
case "border-block-color":
369+
builder.addDescriptor(
370+
"border-top-color",
371+
parseColor(declaration.value.start, builder),
372+
);
373+
builder.addDescriptor(
374+
"border-bottom-color",
375+
parseColor(declaration.value.end, builder),
376+
);
377+
break;
378+
case "border-inline-color":
379+
builder.addDescriptor(
380+
"border-left-color",
381+
parseColor(declaration.value.start, builder),
382+
);
383+
builder.addDescriptor(
384+
"border-right-color",
385+
parseColor(declaration.value.end, builder),
386+
);
387+
break;
388+
}
364389
}
365390

366391
function parseBorderWidth(
@@ -1948,15 +1973,6 @@ export function parseBorderStyle(
19481973
return undefined;
19491974
}
19501975

1951-
export function parseBorderBlockColor(
1952-
{ value }: { value: BorderBlockColor },
1953-
builder: StylesheetBuilder,
1954-
) {
1955-
builder.addDescriptor("border-top-color", parseColor(value.start, builder));
1956-
builder.addDescriptor("border-bottom-color", parseColor(value.end, builder));
1957-
return;
1958-
}
1959-
19601976
export function parseBorderBlockWidth(
19611977
declaration: DeclarationType<"border-block-width">,
19621978
builder: StylesheetBuilder,

0 commit comments

Comments
 (0)