Skip to content

Commit e5093ef

Browse files
authored
color <funciri> (#700)
1 parent 6052fa8 commit e5093ef

6 files changed

+315
-2
lines changed

src/options.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,14 @@ export function isEvery(values, is) {
240240
// strictly requires that the value be a string; we might want to apply string
241241
// coercion here, though note that d3-color instances would need to support
242242
// valueOf to work correctly with InternMap.
243+
// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint
243244
export function isColor(value) {
244245
if (typeof value !== "string") return false;
245-
value = value.toLowerCase();
246-
return value === "currentcolor" || value === "none" || color(value) !== null;
246+
value = value.toLowerCase().trim();
247+
return value === "none"
248+
|| value === "currentcolor"
249+
|| (value.startsWith("url(") && value.endsWith(")")) // <funciri>, e.g. pattern or gradient
250+
|| color(value) !== null;
247251
}
248252

249253
const symbols = new Map([
+190
Loading
+68
Loading

test/plots/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ export {default as penguinMassSpecies} from "./penguin-mass-species.js";
9595
export {default as penguinSex} from "./penguin-sex.js";
9696
export {default as penguinSexMassCulmenSpecies} from "./penguin-sex-mass-culmen-species.js";
9797
export {default as penguinSizeSymbols} from "./penguin-size-symbols.js";
98+
export {default as penguinSpeciesCheysson} from "./penguin-species-cheysson.js";
99+
export {default as penguinSpeciesGradient} from "./penguin-species-gradient.js";
98100
export {default as penguinSpeciesGroup} from "./penguin-species-group.js";
99101
export {default as penguinSpeciesIsland} from "./penguin-species-island.js";
100102
export {default as penguinSpeciesIslandRelative} from "./penguin-species-island-relative.js";

0 commit comments

Comments
 (0)