{
  "version": 3,
  "sources": ["../src/markers.js", "../src/index.js"],
  "sourcesContent": ["// FIXME identical arrow paths for dimensions, cutonfold, and grainline\nexport default `\n<marker orient=\"auto\" refY=\"4.0\" refX=\"10.0\" id=\"grainlineFrom\" style=\"overflow:visible;\" markerWidth=\"12\" markerHeight=\"8\">\n\t<path class=\"note fill-note\" d=\"M 0,4 L 12,0 C 10,2 10,6  12,8 z\" />\n</marker>\n<marker orient=\"auto\" refY=\"4.0\" refX=\"2.0\" id=\"grainlineTo\" style=\"overflow:visible;\" markerWidth=\"12\" markerHeight=\"8\">\n\t<path class=\"note fill-note\" d=\"M 12,4 L 0,0 C 2,2 2,6  0,8 z\" />\n</marker>\n`\n", "import markers from './markers'\nimport pkg from '../package.json'\n\nconst dflts = {\n  text: 'grainline',\n}\n\nexport default {\n  name: pkg.name,\n  version: pkg.version,\n  hooks: {\n    preRender: (svg) => {\n      if (svg.attributes.get('freesewing:plugin-grainline') === false) {\n        svg.attributes.set('freesewing:plugin-grainline', pkg.version)\n        svg.defs += markers\n      }\n    },\n  },\n  macros: {\n    grainline: function (so = {}) {\n      if (so === false) {\n        delete this.points.grainlineFrom\n        delete this.points.grainlineTo\n        delete this.paths.grainline\n        this.setGrain(90) // Restoring default\n        return true\n      }\n      so = {\n        ...dflts,\n        ...so,\n      }\n      const { points, complete } = this.shorthand()\n      this.setGrain(so.from.angle(so.to))\n      if (complete) {\n        points.grainlineFrom = so.from.shiftFractionTowards(so.to, 0.05)\n        points.grainlineTo = so.to.shiftFractionTowards(so.from, 0.05)\n        this.paths.grainline = new this.Path()\n          .move(points.grainlineFrom)\n          .line(points.grainlineTo)\n          .attr('class', 'note')\n          .attr('marker-start', 'url(#grainlineFrom)')\n          .attr('marker-end', 'url(#grainlineTo)')\n          .attr('data-text', so.text)\n          .attr('data-text-class', 'center fill-note')\n      }\n    },\n  },\n}\n"],
  "mappings": ";;;;;;AACA,IAAOA,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;mzCCEf,IAAMC,EAAQ,CACZ,KAAM,WACR,EAEOC,EAAQ,CACb,KAAMC,EAAI,KACV,QAASA,EAAI,QACb,MAAO,CACL,UAAYC,GAAQ,CACdA,EAAI,WAAW,IAAI,6BAA6B,IAAM,KACxDA,EAAI,WAAW,IAAI,8BAA+BD,EAAI,OAAO,EAC7DC,EAAI,MAAQC,EAEhB,CACF,EACA,OAAQ,CACN,UAAW,SAAUC,EAAK,CAAC,EAAG,CAC5B,GAAIA,IAAO,GACT,cAAO,KAAK,OAAO,cACnB,OAAO,KAAK,OAAO,YACnB,OAAO,KAAK,MAAM,UAClB,KAAK,SAAS,EAAE,EACT,GAETA,EAAK,CACH,GAAGL,EACH,GAAGK,CACL,EACA,GAAM,CAAE,OAAAC,EAAQ,SAAAC,CAAS,EAAI,KAAK,UAAU,EAC5C,KAAK,SAASF,EAAG,KAAK,MAAMA,EAAG,EAAE,CAAC,EAC9BE,IACFD,EAAO,cAAgBD,EAAG,KAAK,qBAAqBA,EAAG,GAAI,GAAI,EAC/DC,EAAO,YAAcD,EAAG,GAAG,qBAAqBA,EAAG,KAAM,GAAI,EAC7D,KAAK,MAAM,UAAY,IAAI,KAAK,KAAK,EAClC,KAAKC,EAAO,aAAa,EACzB,KAAKA,EAAO,WAAW,EACvB,KAAK,QAAS,MAAM,EACpB,KAAK,eAAgB,qBAAqB,EAC1C,KAAK,aAAc,mBAAmB,EACtC,KAAK,YAAaD,EAAG,IAAI,EACzB,KAAK,kBAAmB,kBAAkB,EAEjD,CACF,CACF",
  "names": ["markers_default", "dflts", "src_default", "package_default", "svg", "markers_default", "so", "points", "complete"]
}
