{"version":3,"sources":["jsdelivr-header.js","/npm/@glhd/postcss-font-stack@0.4.1/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,OAAO,eAAe,QAAS,aAAc,CAC3C,OAAO,IAGT,IAAI,SAAW,QAAQ,WAEnB,QAAU,wBAAwB,UAEtC,SAAS,wBAAwB,GAAO,GAAI,GAAO,EAAI,WAAc,OAAO,EAAc,IAAI,EAAS,CAAC,EAAG,GAAW,MAAP,EAAe,IAAK,IAAI,KAAO,EAAW,OAAO,UAAU,eAAe,KAAK,EAAK,KAAM,EAAO,GAAO,EAAI,IAAgC,OAAtB,EAAO,QAAU,EAAY,CAAU,CAE5Q,IAAI,SAAW,CACb,KAAM,aACN,OAAQ,CAAC,GAGP,aAAe,CACjB,OAAQ,GACR,UAAW,GACX,YAAa,CAAC,EACd,gBAAiB,aAGf,mBAAqB,CACvB,cAAe,KACf,YAAa,KACb,WAAY,KACZ,WAAY,KACZ,SAAU,GAGR,YAAc,CAChB,cAAe,iBACf,YAAa,eACb,WAAY,cACZ,WAAY,eAGd,SAAS,cAAc,EAAM,EAAM,GACjC,IAAI,EAAc,EAAQ,OAAO,EAAK,OAEtC,IAAK,EACH,MAAM,IAAI,MAAM,eAAiB,EAAK,MAAQ,wBAKhD,IAAI,EAAQ,OAAO,OAAO,CAAC,EAAG,aAAc,GAC5C,EAAM,YAAc,OAAO,OAAO,CAAC,EAAG,mBAAoB,EAAM,aAIhE,EAAK,YAAY,QAAQ,KAAK,CAC5B,KAAM,cACN,MAAO,EAAM,OAAS,KAAO,EAAM,aAKrC,IAAI,EAAc,QAAQ,KAAK,CAC7B,UAAW,EAAK,UAAU,KAAI,SAAU,GACtC,MAAO,aAAe,EAAM,gBAAkB,KAAO,CACvD,MAKF,OAAO,KAAK,aAAa,SAAQ,SAAU,GACrC,OAAS,EAAM,YAAY,IAI/B,EAAY,OAAO,QAAQ,KAAK,CAC9B,KAAM,YAAY,GAClB,MAAO,GAAK,EAAM,YAAY,KAElC,IAEA,EAAK,MAAM,EACb,CAEA,QAAQ,QAAU,QAAQ,OAAO,uBAAuB,WACtD,IAAI,EAAS,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAC,EAE9E,EAAO,OAAO,OAAO,CAAC,EAAG,SAAU,GACvC,OAAO,SAAU,GACf,OAAO,EAAK,WAAU,SAAU,GAC9B,OAAO,EAAK,UAAU,EAAK,MAAM,SAAU,GACzC,OAAO,cAAc,EAAM,EAAM,EACnC,GACF,GACF,CACF","file":"/npm/@glhd/postcss-font-stack@0.4.1/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@glhd/postcss-font-stack@0.4.1/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';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _postcss = require('postcss');\n\nvar postcss = _interopRequireWildcard(_postcss);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar defaults = {\n  decl: 'font-stack',\n  stacks: {}\n};\n\nvar defaultStack = {\n  target: '',\n  fallbacks: '',\n  adjustments: {},\n  activeClassName: 'wf-active'\n};\n\nvar defaultAdjustments = {\n  letterSpacing: null,\n  wordSpacing: null,\n  lineHeight: null,\n  fontWeight: null,\n  fontSize: 1\n};\n\nvar adjustments = {\n  letterSpacing: 'letter-spacing',\n  wordSpacing: 'word-spacing',\n  lineHeight: 'line-height',\n  fontWeight: 'font-weight'\n};\n\nfunction fontStackDecl(rule, decl, options) {\n  var stackConfig = options.stacks[decl.value];\n\n  if (!stackConfig) {\n    throw new Error('Font stack \"' + decl.value + '\" is not configured.');\n  }\n\n  // Apply defaults\n\n  var stack = Object.assign({}, defaultStack, stackConfig);\n  stack.adjustments = Object.assign({}, defaultAdjustments, stack.adjustments);\n\n  // Apply font-family declaration\n\n  decl.replaceWith(postcss.decl({\n    prop: 'font-family',\n    value: stack.target + ', ' + stack.fallbacks\n  }));\n\n  // Create rule for when font is loading\n\n  var loadingRule = postcss.rule({\n    selectors: rule.selectors.map(function (selector) {\n      return 'html:not(.' + stack.activeClassName + ') ' + selector;\n    })\n  });\n\n  // Apply configured adjustments\n\n  Object.keys(adjustments).forEach(function (adjustment) {\n    if (null === stack.adjustments[adjustment]) {\n      return;\n    }\n\n    loadingRule.append(postcss.decl({\n      prop: adjustments[adjustment],\n      value: '' + stack.adjustments[adjustment]\n    }));\n  });\n\n  rule.after(loadingRule);\n}\n\nexports.default = postcss.plugin(\"postcss-font-stacks\", function () {\n  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n  var opts = Object.assign({}, defaults, config);\n  return function (root) {\n    return root.walkRules(function (rule) {\n      return rule.walkDecls(opts.decl, function (decl) {\n        return fontStackDecl(rule, decl, opts);\n      });\n    });\n  };\n});"]}