{"version":3,"file":"parseFontDeclaration.min.mjs","sources":["../../../src/parser/parseFontDeclaration.ts"],"sourcesContent":["import { NORMAL } from '../constants';\nimport { parseUnit } from '../util/misc/svgParsing';\nimport { reFontDeclaration } from './constants';\n\n/**\n * Parses a short font declaration, building adding its properties to a style object\n * @param {String} value font declaration\n * @param {Object} oStyle definition\n */\nexport function parseFontDeclaration(\n  value: string,\n  oStyle: Record<string, any>,\n): void {\n  const match = value.match(reFontDeclaration);\n\n  if (!match) {\n    return;\n  }\n  const fontStyle = match[1],\n    // font variant is not used\n    // fontVariant = match[2],\n    fontWeight = match[3],\n    fontSize = match[4],\n    lineHeight = match[5],\n    fontFamily = match[6];\n\n  if (fontStyle) {\n    oStyle.fontStyle = fontStyle;\n  }\n  if (fontWeight) {\n    oStyle.fontWeight = isNaN(parseFloat(fontWeight))\n      ? fontWeight\n      : parseFloat(fontWeight);\n  }\n  if (fontSize) {\n    oStyle.fontSize = parseUnit(fontSize);\n  }\n  if (fontFamily) {\n    oStyle.fontFamily = fontFamily;\n  }\n  if (lineHeight) {\n    oStyle.lineHeight = lineHeight === NORMAL ? 1 : lineHeight;\n  }\n}\n"],"names":["parseFontDeclaration","value","oStyle","match","reFontDeclaration","fontStyle","fontWeight","fontSize","lineHeight","fontFamily","isNaN","parseFloat","parseUnit","NORMAL"],"mappings":"kKASO,SAASA,EACdC,EACAC,GAEA,MAAMC,EAAQF,EAAME,MAAMC,GAE1B,IAAKD,EACH,OAEF,MAAME,EAAYF,EAAM,GAGtBG,EAAaH,EAAM,GACnBI,EAAWJ,EAAM,GACjBK,EAAaL,EAAM,GACnBM,EAAaN,EAAM,GAEjBE,IACFH,EAAOG,UAAYA,GAEjBC,IACFJ,EAAOI,WAAaI,MAAMC,WAAWL,IACjCA,EACAK,WAAWL,IAEbC,IACFL,EAAOK,SAAWK,EAAUL,IAE1BE,IACFP,EAAOO,WAAaA,GAElBD,IACFN,EAAOM,WAAaA,IAAeK,EAAS,EAAIL,EAEpD"}