@haiku/player
Version:
Haiku Player is a JavaScript library for building user interfaces
281 lines • 14.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var ColorUtils_1 = require("./../../helpers/ColorUtils");
var SVGPoints_1 = require("./../../helpers/SVGPoints");
var has_1 = require("./has");
function parseD(value) {
if (!value) {
return [];
}
if (Array.isArray(value)) {
return value;
}
return SVGPoints_1.default.pathToPoints(value);
}
function generateD(value) {
if (typeof value === 'string') {
return value;
}
return SVGPoints_1.default.pointsToPath(value);
}
function parseColor(value) {
return ColorUtils_1.default.parseString(value);
}
function generateColor(value) {
return ColorUtils_1.default.generateString(value);
}
function parsePoints(value) {
if (Array.isArray(value)) {
return value;
}
return SVGPoints_1.default.polyPointsStringToPoints(value);
}
function generatePoints(value) {
if (typeof value === 'string') {
return value;
}
return SVGPoints_1.default.pointsToPolyString(value);
}
var STYLE_COLOR_PARSERS = {
'style.stroke': { parse: parseColor, generate: generateColor },
'style.fill': { parse: parseColor, generate: generateColor },
'style.backgroundColor': { parse: parseColor, generate: generateColor },
'style.borderBottomColor': { parse: parseColor, generate: generateColor },
'style.borderColor': { parse: parseColor, generate: generateColor },
'style.borderLeftColor': { parse: parseColor, generate: generateColor },
'style.borderRightColor': { parse: parseColor, generate: generateColor },
'style.borderTopColor': { parse: parseColor, generate: generateColor },
'style.floodColor': { parse: parseColor, generate: generateColor },
'style.lightingColor': { parse: parseColor, generate: generateColor },
'style.stopColor': { parse: parseColor, generate: generateColor },
};
var SVG_COLOR_PARSERS = {
stroke: { parse: parseColor, generate: generateColor },
fill: { parse: parseColor, generate: generateColor },
floodColor: { parse: parseColor, generate: generateColor },
lightingColor: { parse: parseColor, generate: generateColor },
stopColor: { parse: parseColor, generate: generateColor },
backgroundColor: { parse: parseColor, generate: generateColor },
animateColor: { parse: parseColor, generate: generateColor },
feColor: { parse: parseColor, generate: generateColor },
'flood-color': { parse: parseColor, generate: generateColor },
'lighting-color': { parse: parseColor, generate: generateColor },
'stop-color': { parse: parseColor, generate: generateColor },
'background-color': { parse: parseColor, generate: generateColor },
'animate-color': { parse: parseColor, generate: generateColor },
'fe-color': { parse: parseColor, generate: generateColor },
};
var SVG_PATH_PARSERS = {
d: { parse: parseD, generate: generateD },
};
var SVG_POINT_PARSERS = {
points: { parse: parsePoints, generate: generatePoints },
};
exports.default = {
'missing-glyph': has_1.default(STYLE_COLOR_PARSERS),
a: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
abbr: has_1.default(STYLE_COLOR_PARSERS),
acronym: has_1.default(STYLE_COLOR_PARSERS),
address: has_1.default(STYLE_COLOR_PARSERS),
altGlyph: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
altGlyphDef: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
altGlyphItem: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
animate: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
animateColor: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
animateMotion: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
animateTransform: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
applet: has_1.default(STYLE_COLOR_PARSERS),
area: has_1.default(STYLE_COLOR_PARSERS),
article: has_1.default(STYLE_COLOR_PARSERS),
aside: has_1.default(STYLE_COLOR_PARSERS),
audio: has_1.default(STYLE_COLOR_PARSERS),
b: has_1.default(STYLE_COLOR_PARSERS),
base: has_1.default(STYLE_COLOR_PARSERS),
basefont: has_1.default(STYLE_COLOR_PARSERS),
bdi: has_1.default(STYLE_COLOR_PARSERS),
bdo: has_1.default(STYLE_COLOR_PARSERS),
big: has_1.default(STYLE_COLOR_PARSERS),
blockquote: has_1.default(STYLE_COLOR_PARSERS),
body: has_1.default(STYLE_COLOR_PARSERS),
br: has_1.default(STYLE_COLOR_PARSERS),
button: has_1.default(STYLE_COLOR_PARSERS),
canvas: has_1.default(STYLE_COLOR_PARSERS),
caption: has_1.default(STYLE_COLOR_PARSERS),
center: has_1.default(STYLE_COLOR_PARSERS),
circle: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
cite: has_1.default(STYLE_COLOR_PARSERS),
clipPath: has_1.default(STYLE_COLOR_PARSERS),
code: has_1.default(STYLE_COLOR_PARSERS),
col: has_1.default(STYLE_COLOR_PARSERS),
colgroup: has_1.default(STYLE_COLOR_PARSERS),
'color-profile': has_1.default(STYLE_COLOR_PARSERS),
command: has_1.default(STYLE_COLOR_PARSERS),
cursor: has_1.default(STYLE_COLOR_PARSERS),
datalist: has_1.default(STYLE_COLOR_PARSERS),
dd: has_1.default(STYLE_COLOR_PARSERS),
defs: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
del: has_1.default(STYLE_COLOR_PARSERS),
desc: has_1.default(STYLE_COLOR_PARSERS),
details: has_1.default(STYLE_COLOR_PARSERS),
dfn: has_1.default(STYLE_COLOR_PARSERS),
dir: has_1.default(STYLE_COLOR_PARSERS),
discard: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
div: has_1.default(STYLE_COLOR_PARSERS),
dl: has_1.default(STYLE_COLOR_PARSERS),
dt: has_1.default(STYLE_COLOR_PARSERS),
ellipse: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
em: has_1.default(STYLE_COLOR_PARSERS),
embed: has_1.default(STYLE_COLOR_PARSERS),
feBlend: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feColorMatrix: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feComponentTransfer: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feComposite: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feConvolveMatrix: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feDiffuseLighting: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feDisplacementMap: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feDistantLight: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feDropShadow: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feFlood: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feFuncA: has_1.default(STYLE_COLOR_PARSERS),
feFuncB: has_1.default(STYLE_COLOR_PARSERS),
feFuncG: has_1.default(STYLE_COLOR_PARSERS),
feFuncR: has_1.default(STYLE_COLOR_PARSERS),
feGaussianBlur: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feImage: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feMerge: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feMergeNode: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feMorphology: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feOffset: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
fePointLight: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feSpecularLighting: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feTile: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
feTurbulence: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
fieldset: has_1.default(STYLE_COLOR_PARSERS),
figcaption: has_1.default(STYLE_COLOR_PARSERS),
figure: has_1.default(STYLE_COLOR_PARSERS),
filter: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
'font-face': has_1.default(STYLE_COLOR_PARSERS),
'font-face-format': has_1.default(STYLE_COLOR_PARSERS),
'font-face-name': has_1.default(STYLE_COLOR_PARSERS),
'font-face-src': has_1.default(STYLE_COLOR_PARSERS),
'font-face-uri': has_1.default(STYLE_COLOR_PARSERS),
font: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
footer: has_1.default(STYLE_COLOR_PARSERS),
foreignObject: has_1.default(STYLE_COLOR_PARSERS),
form: has_1.default(STYLE_COLOR_PARSERS),
frame: has_1.default(STYLE_COLOR_PARSERS),
frameset: has_1.default(STYLE_COLOR_PARSERS),
g: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
glyph: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
glyphRef: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
h1: has_1.default(STYLE_COLOR_PARSERS),
h2: has_1.default(STYLE_COLOR_PARSERS),
h3: has_1.default(STYLE_COLOR_PARSERS),
h4: has_1.default(STYLE_COLOR_PARSERS),
h5: has_1.default(STYLE_COLOR_PARSERS),
h6: has_1.default(STYLE_COLOR_PARSERS),
hatch: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
hatchpath: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
head: has_1.default(STYLE_COLOR_PARSERS),
header: has_1.default(STYLE_COLOR_PARSERS),
hgroup: has_1.default(STYLE_COLOR_PARSERS),
hkern: has_1.default(STYLE_COLOR_PARSERS),
hr: has_1.default(STYLE_COLOR_PARSERS),
html: has_1.default(STYLE_COLOR_PARSERS),
i: has_1.default(STYLE_COLOR_PARSERS),
iframe: has_1.default(STYLE_COLOR_PARSERS),
image: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
img: has_1.default(STYLE_COLOR_PARSERS),
input: has_1.default(STYLE_COLOR_PARSERS),
ins: has_1.default(STYLE_COLOR_PARSERS),
kbd: has_1.default(STYLE_COLOR_PARSERS),
keygen: has_1.default(STYLE_COLOR_PARSERS),
label: has_1.default(STYLE_COLOR_PARSERS),
legend: has_1.default(STYLE_COLOR_PARSERS),
li: has_1.default(STYLE_COLOR_PARSERS),
line: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
linearGradient: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
link: has_1.default(STYLE_COLOR_PARSERS),
map: has_1.default(STYLE_COLOR_PARSERS),
mark: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
marker: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
mask: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
menu: has_1.default(STYLE_COLOR_PARSERS),
mesh: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
meshgradient: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
meshpatch: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
meshrow: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
meta: has_1.default(STYLE_COLOR_PARSERS),
metadata: has_1.default(STYLE_COLOR_PARSERS),
meter: has_1.default(STYLE_COLOR_PARSERS),
mpath: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
nav: has_1.default(STYLE_COLOR_PARSERS),
noframes: has_1.default(STYLE_COLOR_PARSERS),
noscript: has_1.default(STYLE_COLOR_PARSERS),
object: has_1.default(STYLE_COLOR_PARSERS),
ol: has_1.default(STYLE_COLOR_PARSERS),
optgroup: has_1.default(STYLE_COLOR_PARSERS),
option: has_1.default(STYLE_COLOR_PARSERS),
output: has_1.default(STYLE_COLOR_PARSERS),
p: has_1.default(STYLE_COLOR_PARSERS),
param: has_1.default(STYLE_COLOR_PARSERS),
path: has_1.default(SVG_PATH_PARSERS, SVG_COLOR_PARSERS, STYLE_COLOR_PARSERS),
pattern: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
polygon: has_1.default(SVG_POINT_PARSERS, SVG_COLOR_PARSERS, STYLE_COLOR_PARSERS),
polyline: has_1.default(SVG_POINT_PARSERS, SVG_COLOR_PARSERS, STYLE_COLOR_PARSERS),
pre: has_1.default(STYLE_COLOR_PARSERS),
progress: has_1.default(STYLE_COLOR_PARSERS),
q: has_1.default(STYLE_COLOR_PARSERS),
radialGradient: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
rect: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
rp: has_1.default(STYLE_COLOR_PARSERS),
rt: has_1.default(STYLE_COLOR_PARSERS),
ruby: has_1.default(STYLE_COLOR_PARSERS),
s: has_1.default(STYLE_COLOR_PARSERS),
samp: has_1.default(STYLE_COLOR_PARSERS),
script: has_1.default(STYLE_COLOR_PARSERS),
section: has_1.default(STYLE_COLOR_PARSERS),
select: has_1.default(STYLE_COLOR_PARSERS),
set: has_1.default(STYLE_COLOR_PARSERS),
small: has_1.default(STYLE_COLOR_PARSERS),
solidcolor: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
source: has_1.default(STYLE_COLOR_PARSERS),
span: has_1.default(STYLE_COLOR_PARSERS),
stop: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
strike: has_1.default(STYLE_COLOR_PARSERS),
strong: has_1.default(STYLE_COLOR_PARSERS),
style: has_1.default(STYLE_COLOR_PARSERS),
sub: has_1.default(STYLE_COLOR_PARSERS),
summary: has_1.default(STYLE_COLOR_PARSERS),
sup: has_1.default(STYLE_COLOR_PARSERS),
svg: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
switch: has_1.default(STYLE_COLOR_PARSERS),
symbol: has_1.default(STYLE_COLOR_PARSERS),
table: has_1.default(STYLE_COLOR_PARSERS),
tbody: has_1.default(STYLE_COLOR_PARSERS),
td: has_1.default(STYLE_COLOR_PARSERS),
text: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
textarea: has_1.default(STYLE_COLOR_PARSERS),
textPath: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
tfoot: has_1.default(STYLE_COLOR_PARSERS),
th: has_1.default(STYLE_COLOR_PARSERS),
thead: has_1.default(STYLE_COLOR_PARSERS),
time: has_1.default(STYLE_COLOR_PARSERS),
title: has_1.default(STYLE_COLOR_PARSERS),
tr: has_1.default(STYLE_COLOR_PARSERS),
track: has_1.default(STYLE_COLOR_PARSERS),
tref: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
tspan: has_1.default(STYLE_COLOR_PARSERS, SVG_COLOR_PARSERS),
tt: has_1.default(STYLE_COLOR_PARSERS),
u: has_1.default(STYLE_COLOR_PARSERS),
ul: has_1.default(STYLE_COLOR_PARSERS),
unknown: has_1.default(STYLE_COLOR_PARSERS),
us: has_1.default(STYLE_COLOR_PARSERS),
use: has_1.default(STYLE_COLOR_PARSERS),
var: has_1.default(STYLE_COLOR_PARSERS),
video: has_1.default(STYLE_COLOR_PARSERS),
view: has_1.default(STYLE_COLOR_PARSERS),
vkern: has_1.default(STYLE_COLOR_PARSERS),
wb: has_1.default(STYLE_COLOR_PARSERS),
};
//# sourceMappingURL=parsers.js.map