{ "version": 3, "sources": ["../../../../../src/lib/shapes/geo/components/SolidStylePolygon.tsx"], "sourcesContent": ["import { TLDefaultColorTheme, TLGeoShape, VecLike } from '@tldraw/editor'\nimport * as React from 'react'\nimport {\n\tShapeFill,\n\tgetShapeFillSvg,\n\tgetSvgWithShapeFill,\n\tuseDefaultColorTheme,\n} from '../../shared/ShapeFill'\n\nexport const SolidStylePolygon = React.memo(function SolidStylePolygon({\n\toutline,\n\tlines,\n\tfill,\n\tcolor,\n\tstrokeWidth,\n}: Pick & {\n\toutline: VecLike[]\n\tlines?: VecLike[][]\n\tstrokeWidth: number\n}) {\n\tconst theme = useDefaultColorTheme()\n\tlet path = 'M' + outline[0] + 'L' + outline.slice(1) + 'Z'\n\n\tif (lines) {\n\t\tfor (const [A, B] of lines) {\n\t\t\tpath += `M${A.x},${A.y}L${B.x},${B.y}`\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\n\t)\n})\n\nexport function SolidStylePolygonSvg({\n\toutline,\n\tlines,\n\tfill,\n\tcolor,\n\tstrokeWidth,\n\ttheme,\n}: Pick & {\n\toutline: VecLike[]\n\tstrokeWidth: number\n\ttheme: TLDefaultColorTheme\n\tlines?: VecLike[][]\n}) {\n\tconst pathData = 'M' + outline[0] + 'L' + outline.slice(1) + 'Z'\n\n\tconst fillPathData = pathData\n\tlet strokePathData = pathData\n\n\tif (lines) {\n\t\tfor (const [A, B] of lines) {\n\t\t\tstrokePathData += `M${A.x},${A.y}L${B.x},${B.y}`\n\t\t}\n\t}\n\n\tconst strokeElement = document.createElementNS('http://www.w3.org/2000/svg', 'path')\n\tstrokeElement.setAttribute('d', strokePathData)\n\tstrokeElement.setAttribute('stroke-width', strokeWidth.toString())\n\tstrokeElement.setAttribute('stroke', theme[color].solid)\n\tstrokeElement.setAttribute('fill', 'none')\n\n\t// Get the fill element, if any\n\tconst fillElement = getShapeFillSvg({\n\t\td: fillPathData,\n\t\tfill,\n\t\tcolor,\n\t\ttheme,\n\t})\n\n\treturn getSvgWithShapeFill(strokeElement, fillElement)\n}\n"], "mappings": "AA8BE,mBACC,KADD;AA7BF,YAAY,WAAW;AACvB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,MAAM,oBAAoB,MAAM,KAAK,SAASA,mBAAkB;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,QAAM,QAAQ,qBAAqB;AACnC,MAAI,OAAO,MAAM,QAAQ,CAAC,IAAI,MAAM,QAAQ,MAAM,CAAC,IAAI;AAEvD,MAAI,OAAO;AACV,eAAW,CAAC,GAAG,CAAC,KAAK,OAAO;AAC3B,cAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,IACrC;AAAA,EACD;AAEA,SACC,iCACC;AAAA,wBAAC,aAAU,GAAG,MAAM,MAAY,OAAc,OAAc;AAAA,IAC5D,oBAAC,UAAK,GAAG,MAAM,QAAQ,MAAM,KAAK,EAAE,OAAO,aAA0B,MAAK,QAAO;AAAA,KAClF;AAEF,CAAC;AAEM,SAAS,qBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKG;AACF,QAAM,WAAW,MAAM,QAAQ,CAAC,IAAI,MAAM,QAAQ,MAAM,CAAC,IAAI;AAE7D,QAAM,eAAe;AACrB,MAAI,iBAAiB;AAErB,MAAI,OAAO;AACV,eAAW,CAAC,GAAG,CAAC,KAAK,OAAO;AAC3B,wBAAkB,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,IAC/C;AAAA,EACD;AAEA,QAAM,gBAAgB,SAAS,gBAAgB,8BAA8B,MAAM;AACnF,gBAAc,aAAa,KAAK,cAAc;AAC9C,gBAAc,aAAa,gBAAgB,YAAY,SAAS,CAAC;AACjE,gBAAc,aAAa,UAAU,MAAM,KAAK,EAAE,KAAK;AACvD,gBAAc,aAAa,QAAQ,MAAM;AAGzC,QAAM,cAAc,gBAAgB;AAAA,IACnC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,SAAO,oBAAoB,eAAe,WAAW;AACtD;", "names": ["SolidStylePolygon"] }