{ "version": 3, "sources": ["../../../../../src/lib/shapes/geo/components/SolidStyleOval.tsx"], "sourcesContent": ["import { TLDefaultColorTheme, TLGeoShape } from '@tldraw/editor'\nimport * as React from 'react'\nimport {\n\tShapeFill,\n\tgetShapeFillSvg,\n\tgetSvgWithShapeFill,\n\tuseDefaultColorTheme,\n} from '../../shared/ShapeFill'\n\nexport const SolidStyleOval = React.memo(function SolidStyleOval({\n\tw,\n\th,\n\tstrokeWidth: sw,\n\tfill,\n\tcolor,\n}: Pick & {\n\tstrokeWidth: number\n}) {\n\tconst theme = useDefaultColorTheme()\n\tconst d = getOvalIndicatorPath(w, h)\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\n\t)\n})\n\nexport function SolidStyleOvalSvg({\n\tw,\n\th,\n\tstrokeWidth: sw,\n\tfill,\n\tcolor,\n\ttheme,\n}: Pick & {\n\tstrokeWidth: number\n\ttheme: TLDefaultColorTheme\n}) {\n\tconst d = getOvalIndicatorPath(w, h)\n\tconst strokeElement = document.createElementNS('http://www.w3.org/2000/svg', 'path')\n\tstrokeElement.setAttribute('d', d)\n\tstrokeElement.setAttribute('stroke-width', sw.toString())\n\tstrokeElement.setAttribute('width', w.toString())\n\tstrokeElement.setAttribute('height', h.toString())\n\tstrokeElement.setAttribute('fill', 'none')\n\tstrokeElement.setAttribute('stroke', theme[color].solid)\n\n\t// Get the fill element, if any\n\tconst fillElement = getShapeFillSvg({\n\t\td,\n\t\tfill,\n\t\tcolor,\n\t\ttheme,\n\t})\n\n\treturn getSvgWithShapeFill(strokeElement, fillElement)\n}\n\nexport function getOvalIndicatorPath(w: number, h: number) {\n\tlet d: string\n\n\tif (h > w) {\n\t\tconst offset = w / 2\n\t\td = `\n M0,${offset}\n a${offset},${offset},0,1,1,${offset * 2},0\n L${w},${h - offset}\n a${offset},${offset},0,1,1,-${offset * 2},0\n Z`\n\t} else {\n\t\tconst offset = h / 2\n\t\td = `\n M${offset},0\n L${w - offset},0\n a${offset},${offset},0,1,1,0,${offset * 2}\n L${offset},${h}\n a${offset},${offset},0,1,1,0,${-offset * 2}\n Z`\n\t}\n\n\treturn d\n}\n"], "mappings": "AAqBE,mBACC,KADD;AApBF,YAAY,WAAW;AACvB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,MAAM,iBAAiB,MAAM,KAAK,SAASA,gBAAe;AAAA,EAChE;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AACD,GAEG;AACF,QAAM,QAAQ,qBAAqB;AACnC,QAAM,IAAI,qBAAqB,GAAG,CAAC;AACnC,SACC,iCACC;AAAA,wBAAC,aAAU,GAAM,OAAc,MAAY,OAAc;AAAA,IACzD,oBAAC,UAAK,GAAM,QAAQ,MAAM,KAAK,EAAE,OAAO,aAAa,IAAI,MAAK,QAAO;AAAA,KACtE;AAEF,CAAC;AAEM,SAAS,kBAAkB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AACD,GAGG;AACF,QAAM,IAAI,qBAAqB,GAAG,CAAC;AACnC,QAAM,gBAAgB,SAAS,gBAAgB,8BAA8B,MAAM;AACnF,gBAAc,aAAa,KAAK,CAAC;AACjC,gBAAc,aAAa,gBAAgB,GAAG,SAAS,CAAC;AACxD,gBAAc,aAAa,SAAS,EAAE,SAAS,CAAC;AAChD,gBAAc,aAAa,UAAU,EAAE,SAAS,CAAC;AACjD,gBAAc,aAAa,QAAQ,MAAM;AACzC,gBAAc,aAAa,UAAU,MAAM,KAAK,EAAE,KAAK;AAGvD,QAAM,cAAc,gBAAgB;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,SAAO,oBAAoB,eAAe,WAAW;AACtD;AAEO,SAAS,qBAAqB,GAAW,GAAW;AAC1D,MAAI;AAEJ,MAAI,IAAI,GAAG;AACV,UAAM,SAAS,IAAI;AACnB,QAAI;AAAA,SACG,MAAM;AAAA,OACR,MAAM,IAAI,MAAM,UAAU,SAAS,CAAC;AAAA,OACpC,CAAC,IAAI,IAAI,MAAM;AAAA,OACf,MAAM,IAAI,MAAM,WAAW,SAAS,CAAC;AAAA;AAAA,EAE3C,OAAO;AACN,UAAM,SAAS,IAAI;AACnB,QAAI;AAAA,OACC,MAAM;AAAA,OACN,IAAI,MAAM;AAAA,OACV,MAAM,IAAI,MAAM,YAAY,SAAS,CAAC;AAAA,OACtC,MAAM,IAAI,CAAC;AAAA,OACX,MAAM,IAAI,MAAM,YAAY,CAAC,SAAS,CAAC;AAAA;AAAA,EAE7C;AAEA,SAAO;AACR;", "names": ["SolidStyleOval"] }