1 | import { isNumber } from './assert';
|
2 | import { isString } from './string';
|
3 | var genericFontFamilies = ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui'];
|
4 | export function toFontString(attributes) {
|
5 | var fontSize = attributes.fontSize,
|
6 | fontFamily = attributes.fontFamily,
|
7 | fontStyle = attributes.fontStyle,
|
8 | fontVariant = attributes.fontVariant,
|
9 | fontWeight = attributes.fontWeight;
|
10 |
|
11 | var fontSizeString = isNumber(fontSize) ? "".concat(fontSize, "px") : fontSize.toString();
|
12 |
|
13 |
|
14 |
|
15 | var fontFamilies = isString(fontFamily) ? fontFamily.split(',') : [fontFamily.value];
|
16 |
|
17 | for (var i = fontFamilies.length - 1; i >= 0; i--) {
|
18 |
|
19 | var fontFamily_1 = fontFamilies[i].trim();
|
20 |
|
21 | if (!/([\"\'])[^\'\"]+\1/.test(fontFamily_1) && genericFontFamilies.indexOf(fontFamily_1) < 0) {
|
22 | fontFamily_1 = "\"".concat(fontFamily_1, "\"");
|
23 | }
|
24 |
|
25 | fontFamilies[i] = fontFamily_1;
|
26 | }
|
27 |
|
28 | return "".concat(fontStyle, " ").concat(fontVariant, " ").concat(fontWeight, " ").concat(fontSizeString, " ").concat(fontFamilies.join(','));
|
29 | } |
\ | No newline at end of file |