{"version":3,"sources":["jsdelivr-header.js","/npm/parse-css-font@4.0.0/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,IAAI,QAAU,QAAQ,WAClB,mBAAqB,QAAQ,4BAC7B,mBAAqB,QAAQ,4BAC7B,kBAAoB,QAAQ,2BAC5B,oBAAsB,QAAQ,6BAC9B,eAAiB,QAAQ,oBACzB,QAAU,QAAQ,aAClB,YAAc,mBACd,kBAAoB,CACpB,QACA,SACA,UACA,WAEJ,SAAS,aAAa,GAClB,GAAqB,iBAAV,EACP,MAAM,MAAM,qBAAsB,WAEtC,GAAc,KAAV,EACA,MAAM,MAAM,iCAEhB,IAA2C,IAAvC,mBAAmB,QAAQ,GAC3B,MAAO,CAAE,OAAQ,GAErB,IAAI,EAAO,CACP,WAAY,SACZ,QAAS,GACT,MAAO,GACP,QAAS,GACT,OAAQ,IAER,EAAY,CAgChB,SAAe,GACX,IAA0C,IAAtC,kBAAkB,QAAQ,GAC1B,OAEJ,GAAI,EAAK,MACL,MAAM,MAAM,+BAEhB,OAAQ,EAAK,MAAQ,CACzB,EACA,SAAgB,GACZ,IAA2C,IAAvC,mBAAmB,QAAQ,GAC3B,OAEJ,GAAI,EAAK,OACL,MAAM,MAAM,gCAEhB,OAAQ,EAAK,OAAS,CAC1B,EACA,SAAiB,GACb,IAA4C,IAAxC,oBAAoB,QAAQ,GAC5B,OAEJ,GAAI,EAAK,QACL,MAAM,MAAM,iCAEhB,OAAQ,EAAK,QAAU,CAC3B,EACA,SAAiB,GACb,OAAS,QAAQ,OAAO,KACnB,EAAK,QAAU,EAAK,QAAU,CAAC,EAAK,QAAS,GAAO,KAAK,KAAO,EACzE,GA7DI,EAAS,eAAe,cAAc,GAC1C,EAAW,IAAK,IAAI,EAAQ,EAAO,QAAW,EAAO,EAAQ,EAAO,QAChE,GAAc,WAAV,EAAJ,CAGA,IAAK,IAAI,EAAK,EAAG,EAAc,EAAW,EAAK,EAAY,OAAQ,IAAM,CAErE,IAAI,EADU,EAAY,IACd,GACR,SAAS,CAEjB,CACA,IAAI,EAAQ,eAAe,MAAM,EAAO,CAAC,MASzC,GARA,EAAK,KAAO,EAAM,GACZ,EAAM,GACR,EAAK,WAAa,gBAAgB,EAAM,IAErB,MAAd,EAAO,KACZ,EAAO,QACP,EAAK,WAAa,gBAAgB,EAAO,WAExC,EAAO,OACR,MAAM,MAAM,iCAEhB,EAAK,OAAS,eAAe,cAAc,EAAO,KAAK,MAAM,IAAI,SACjE,IAAK,IAAI,EAAK,EAAG,EAAsB,kBAAmB,EAAK,EAAoB,OAAQ,IAAM,CAC7F,IAAI,EAAS,EAAoB,GACjC,EAAK,GAAU,EAAK,IAAW,QACnC,CACA,OAAO,CAxBP,CA0BJ,MAAM,MAAM,8BAgChB,CAEA,SAAS,MAAM,EAAS,GAEpB,YADkB,IAAd,IAAwB,EAAY,OACjC,IAAI,EAAU,YAAc,IAAM,EAC7C,CACA,SAAS,gBAAgB,GACrB,IAAI,EAAS,WAAW,GACxB,OAAI,EAAO,aAAe,EACf,EAEJ,CACX,CAXA,QAAQ,QAAU,aAalB,OAAO,QAAU,OAAO,OAAO,QAAQ,QAAS","file":"/npm/parse-css-font@4.0.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/parse-css-font@4.0.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar unquote = require('unquote');\nvar systemFontKeywords = require('css-system-font-keywords');\nvar fontWeightKeywords = require('css-font-weight-keywords');\nvar fontStyleKeywords = require('css-font-style-keywords');\nvar fontStretchKeywords = require('css-font-stretch-keywords');\nvar cssListHelpers = require(\"css-list-helpers\");\nvar helpers = require(\"./helpers\");\nvar errorPrefix = '[parse-css-font]';\nvar firstDeclarations = [\n    'style',\n    'weight',\n    'stretch',\n    'variant',\n];\nfunction parseCSSFont(value) {\n    if (typeof value !== 'string') {\n        throw error('Expected a string.', TypeError);\n    }\n    if (value === '') {\n        throw error('Cannot parse an empty string.');\n    }\n    if (systemFontKeywords.indexOf(value) !== -1) {\n        return { system: value };\n    }\n    var font = {\n        lineHeight: 'normal',\n        stretch: '',\n        style: '',\n        variant: '',\n        weight: '',\n    };\n    var consumers = [style, weight, stretch, variant];\n    var tokens = cssListHelpers.splitBySpaces(value);\n    nextToken: for (var token = tokens.shift(); !!token; token = tokens.shift()) {\n        if (token === 'normal') {\n            continue;\n        }\n        for (var _i = 0, consumers_1 = consumers; _i < consumers_1.length; _i++) {\n            var consume = consumers_1[_i];\n            if (consume(token)) {\n                continue nextToken;\n            }\n        }\n        var parts = cssListHelpers.split(token, ['/']);\n        font.size = parts[0];\n        if (!!parts[1]) {\n            font.lineHeight = parseLineHeight(parts[1]);\n        }\n        else if (tokens[0] === '/') {\n            tokens.shift();\n            font.lineHeight = parseLineHeight(tokens.shift());\n        }\n        if (!tokens.length) {\n            throw error('Missing required font-family.');\n        }\n        font.family = cssListHelpers.splitByCommas(tokens.join(' ')).map(unquote);\n        for (var _a = 0, firstDeclarations_1 = firstDeclarations; _a < firstDeclarations_1.length; _a++) {\n            var name_1 = firstDeclarations_1[_a];\n            font[name_1] = font[name_1] || 'normal';\n        }\n        return font;\n    }\n    throw error('Missing required font-size.');\n    function style(token) {\n        if (fontStyleKeywords.indexOf(token) === -1) {\n            return;\n        }\n        if (font.style) {\n            throw error('Font style already defined.');\n        }\n        return (font.style = token);\n    }\n    function weight(token) {\n        if (fontWeightKeywords.indexOf(token) === -1) {\n            return;\n        }\n        if (font.weight) {\n            throw error('Font weight already defined.');\n        }\n        return (font.weight = token);\n    }\n    function stretch(token) {\n        if (fontStretchKeywords.indexOf(token) === -1) {\n            return;\n        }\n        if (font.stretch) {\n            throw error('Font stretch already defined.');\n        }\n        return (font.stretch = token);\n    }\n    function variant(token) {\n        return (!helpers.isSize(token) &&\n            (font.variant = font.variant ? [font.variant, token].join(' ') : token));\n    }\n}\nexports.default = parseCSSFont;\nfunction error(message, ErrorType) {\n    if (ErrorType === void 0) { ErrorType = Error; }\n    return new ErrorType(errorPrefix + \" \" + message);\n}\nfunction parseLineHeight(value) {\n    var parsed = parseFloat(value);\n    if (parsed.toString() === value) {\n        return parsed;\n    }\n    return value;\n}\n// @ts-ignore\nmodule.exports = Object.assign(exports.default, exports);\n"]}