{"version":3,"file":"module-a8a75f99.js","sources":["../../node_modules/figma-squircle/dist/module.js"],"sourcesContent":["function $8164c72eb32cbbfc$export$3d870b97f7a56ca3({ topLeftCornerRadius: topLeftCornerRadius , topRightCornerRadius: topRightCornerRadius , bottomRightCornerRadius: bottomRightCornerRadius , bottomLeftCornerRadius: bottomLeftCornerRadius , width: width , height: height }) {\n const roundingAndSmoothingBudgetMap = {\n topLeft: -1,\n topRight: -1,\n bottomLeft: -1,\n bottomRight: -1\n };\n const cornerRadiusMap = {\n topLeft: topLeftCornerRadius,\n topRight: topRightCornerRadius,\n bottomLeft: bottomLeftCornerRadius,\n bottomRight: bottomRightCornerRadius\n };\n Object.entries(cornerRadiusMap)// Let the bigger corners choose first\n .sort(([, radius1], [, radius2])=>{\n return radius2 - radius1;\n }).forEach(([cornerName, radius])=>{\n const corner = cornerName;\n const adjacents = $8164c72eb32cbbfc$var$adjacentsByCorner[corner];\n // Look at the 2 adjacent sides, figure out how much space we can have on both sides,\n // then take the smaller one\n const budget = Math.min(...adjacents.map((adjacent)=>{\n const adjacentCornerRadius = cornerRadiusMap[adjacent.corner];\n if (radius === 0 && adjacentCornerRadius === 0) return 0;\n const adjacentCornerBudget = roundingAndSmoothingBudgetMap[adjacent.corner];\n const sideLength = adjacent.side === \"top\" || adjacent.side === \"bottom\" ? width : height;\n // If the adjacent corner's already been given the rounding and smoothing budget,\n // we'll just take the rest\n if (adjacentCornerBudget >= 0) return sideLength - roundingAndSmoothingBudgetMap[adjacent.corner];\n else return radius / (radius + adjacentCornerRadius) * sideLength;\n }));\n roundingAndSmoothingBudgetMap[corner] = budget;\n cornerRadiusMap[corner] = Math.min(radius, budget);\n });\n return {\n topLeft: {\n radius: cornerRadiusMap.topLeft,\n roundingAndSmoothingBudget: roundingAndSmoothingBudgetMap.topLeft\n },\n topRight: {\n radius: cornerRadiusMap.topRight,\n roundingAndSmoothingBudget: roundingAndSmoothingBudgetMap.topRight\n },\n bottomLeft: {\n radius: cornerRadiusMap.bottomLeft,\n roundingAndSmoothingBudget: roundingAndSmoothingBudgetMap.bottomLeft\n },\n bottomRight: {\n radius: cornerRadiusMap.bottomRight,\n roundingAndSmoothingBudget: roundingAndSmoothingBudgetMap.bottomRight\n }\n };\n}\nconst $8164c72eb32cbbfc$var$adjacentsByCorner = {\n topLeft: [\n {\n corner: \"topRight\",\n side: \"top\"\n },\n {\n corner: \"bottomLeft\",\n side: \"left\"\n }, \n ],\n topRight: [\n {\n corner: \"topLeft\",\n side: \"top\"\n },\n {\n corner: \"bottomRight\",\n side: \"right\"\n }, \n ],\n bottomLeft: [\n {\n corner: \"bottomRight\",\n side: \"bottom\"\n },\n {\n corner: \"topLeft\",\n side: \"left\"\n }, \n ],\n bottomRight: [\n {\n corner: \"bottomLeft\",\n side: \"bottom\"\n },\n {\n corner: \"topRight\",\n side: \"right\"\n }, \n ]\n};\n\n\nfunction $be0670f6a5a657f9$export$a2f9a538d41e7bd0({ cornerRadius: cornerRadius , cornerSmoothing: cornerSmoothing , preserveSmoothing: preserveSmoothing , roundingAndSmoothingBudget: roundingAndSmoothingBudget }) {\n // From figure 12.2 in the article\n // p = (1 + cornerSmoothing) * q\n // in this case q = R because theta = 90deg\n let p = (1 + cornerSmoothing) * cornerRadius;\n // When there's not enough space left (p > roundingAndSmoothingBudget), there are 2 options:\n //\n // 1. What figma's currently doing: limit the smoothing value to make sure p <= roundingAndSmoothingBudget\n // But what this means is that at some point when cornerRadius is large enough,\n // increasing the smoothing value wouldn't do anything\n //\n // 2. Keep the original smoothing value and use it to calculate the bezier curve normally,\n // then adjust the control points to achieve similar curvature profile\n //\n // preserveSmoothing is a new option I added\n //\n // If preserveSmoothing is on then we'll just keep using the original smoothing value\n // and adjust the bezier curve later\n if (!preserveSmoothing) {\n const maxCornerSmoothing = roundingAndSmoothingBudget / cornerRadius - 1;\n cornerSmoothing = Math.min(cornerSmoothing, maxCornerSmoothing);\n p = Math.min(p, roundingAndSmoothingBudget);\n }\n // In a normal rounded rectangle (cornerSmoothing = 0), this is 90\n // The larger the smoothing, the smaller the arc\n const arcMeasure = 90 * (1 - cornerSmoothing);\n const arcSectionLength = Math.sin($be0670f6a5a657f9$var$toRadians(arcMeasure / 2)) * cornerRadius * Math.sqrt(2);\n // In the article this is the distance between 2 control points: P3 and P4\n const angleAlpha = (90 - arcMeasure) / 2;\n const p3ToP4Distance = cornerRadius * Math.tan($be0670f6a5a657f9$var$toRadians(angleAlpha / 2));\n // a, b, c and d are from figure 11.1 in the article\n const angleBeta = 45 * cornerSmoothing;\n const c = p3ToP4Distance * Math.cos($be0670f6a5a657f9$var$toRadians(angleBeta));\n const d = c * Math.tan($be0670f6a5a657f9$var$toRadians(angleBeta));\n let b = (p - arcSectionLength - c - d) / 3;\n let a = 2 * b;\n // Adjust the P1 and P2 control points if there's not enough space left\n if (preserveSmoothing && p > roundingAndSmoothingBudget) {\n const p1ToP3MaxDistance = roundingAndSmoothingBudget - d - arcSectionLength - c;\n // Try to maintain some distance between P1 and P2 so the curve wouldn't look weird\n const minA = p1ToP3MaxDistance / 6;\n const maxB = p1ToP3MaxDistance - minA;\n b = Math.min(b, maxB);\n a = p1ToP3MaxDistance - b;\n p = Math.min(p, roundingAndSmoothingBudget);\n }\n return {\n a: a,\n b: b,\n c: c,\n d: d,\n p: p,\n arcSectionLength: arcSectionLength,\n cornerRadius: cornerRadius\n };\n}\nfunction $be0670f6a5a657f9$export$a4b62df84ac6ef86({ width: width , height: height , topLeftPathParams: topLeftPathParams , topRightPathParams: topRightPathParams , bottomLeftPathParams: bottomLeftPathParams , bottomRightPathParams: bottomRightPathParams }) {\n return `\n M ${width - topRightPathParams.p} 0\n ${$be0670f6a5a657f9$var$drawTopRightPath(topRightPathParams)}\n L ${width} ${height - bottomRightPathParams.p}\n ${$be0670f6a5a657f9$var$drawBottomRightPath(bottomRightPathParams)}\n L ${bottomLeftPathParams.p} ${height}\n ${$be0670f6a5a657f9$var$drawBottomLeftPath(bottomLeftPathParams)}\n L 0 ${topLeftPathParams.p}\n ${$be0670f6a5a657f9$var$drawTopLeftPath(topLeftPathParams)}\n Z\n `.replace(/[\\t\\s\\n]+/g, \" \").trim();\n}\nfunction $be0670f6a5a657f9$var$drawTopRightPath({ cornerRadius: cornerRadius , a: a , b: b , c: c , d: d , p: p , arcSectionLength: arcSectionLength }) {\n if (cornerRadius) return $be0670f6a5a657f9$var$rounded`\n c ${a} 0 ${a + b} 0 ${a + b + c} ${d}\n a ${cornerRadius} ${cornerRadius} 0 0 1 ${arcSectionLength} ${arcSectionLength}\n c ${d} ${c}\n ${d} ${b + c}\n ${d} ${a + b + c}`;\n else return $be0670f6a5a657f9$var$rounded`l ${p} 0`;\n}\nfunction $be0670f6a5a657f9$var$drawBottomRightPath({ cornerRadius: cornerRadius , a: a , b: b , c: c , d: d , p: p , arcSectionLength: arcSectionLength }) {\n if (cornerRadius) return $be0670f6a5a657f9$var$rounded`\n c 0 ${a}\n 0 ${a + b}\n ${-d} ${a + b + c}\n a ${cornerRadius} ${cornerRadius} 0 0 1 -${arcSectionLength} ${arcSectionLength}\n c ${-c} ${d}\n ${-(b + c)} ${d}\n ${-(a + b + c)} ${d}`;\n else return $be0670f6a5a657f9$var$rounded`l 0 ${p}`;\n}\nfunction $be0670f6a5a657f9$var$drawBottomLeftPath({ cornerRadius: cornerRadius , a: a , b: b , c: c , d: d , p: p , arcSectionLength: arcSectionLength }) {\n if (cornerRadius) return $be0670f6a5a657f9$var$rounded`\n c ${-a} 0\n ${-(a + b)} 0\n ${-(a + b + c)} ${-d}\n a ${cornerRadius} ${cornerRadius} 0 0 1 -${arcSectionLength} -${arcSectionLength}\n c ${-d} ${-c}\n ${-d} ${-(b + c)}\n ${-d} ${-(a + b + c)}`;\n else return $be0670f6a5a657f9$var$rounded`l ${-p} 0`;\n}\nfunction $be0670f6a5a657f9$var$drawTopLeftPath({ cornerRadius: cornerRadius , a: a , b: b , c: c , d: d , p: p , arcSectionLength: arcSectionLength }) {\n if (cornerRadius) return $be0670f6a5a657f9$var$rounded`\n c 0 ${-a}\n 0 ${-(a + b)}\n ${d} ${-(a + b + c)}\n a ${cornerRadius} ${cornerRadius} 0 0 1 ${arcSectionLength} -${arcSectionLength}\n c ${c} ${-d}\n ${b + c} ${-d}\n ${a + b + c} ${-d}`;\n else return $be0670f6a5a657f9$var$rounded`l 0 ${-p}`;\n}\nfunction $be0670f6a5a657f9$var$toRadians(degrees) {\n return degrees * Math.PI / 180;\n}\nfunction $be0670f6a5a657f9$var$rounded(strings, ...values) {\n return strings.reduce((acc, str, i)=>{\n let value = values[i];\n if (typeof value === \"number\") return acc + str + value.toFixed(4);\n else return acc + str + (value ?? \"\");\n }, \"\");\n}\n\n\nfunction $6424334e4a2a8c1c$export$4d0751d7849c93f6({ cornerRadius: cornerRadius = 0 , topLeftCornerRadius: topLeftCornerRadius , topRightCornerRadius: topRightCornerRadius , bottomRightCornerRadius: bottomRightCornerRadius , bottomLeftCornerRadius: bottomLeftCornerRadius , cornerSmoothing: cornerSmoothing , width: width , height: height , preserveSmoothing: preserveSmoothing = false }) {\n topLeftCornerRadius = topLeftCornerRadius ?? cornerRadius;\n topRightCornerRadius = topRightCornerRadius ?? cornerRadius;\n bottomLeftCornerRadius = bottomLeftCornerRadius ?? cornerRadius;\n bottomRightCornerRadius = bottomRightCornerRadius ?? cornerRadius;\n if (topLeftCornerRadius === topRightCornerRadius && topRightCornerRadius === bottomRightCornerRadius && bottomRightCornerRadius === bottomLeftCornerRadius && bottomLeftCornerRadius === topLeftCornerRadius) {\n const roundingAndSmoothingBudget = Math.min(width, height) / 2;\n const cornerRadius = Math.min(topLeftCornerRadius, roundingAndSmoothingBudget);\n const pathParams = (0, $be0670f6a5a657f9$export$a2f9a538d41e7bd0)({\n cornerRadius: cornerRadius,\n cornerSmoothing: cornerSmoothing,\n preserveSmoothing: preserveSmoothing,\n roundingAndSmoothingBudget: roundingAndSmoothingBudget\n });\n return (0, $be0670f6a5a657f9$export$a4b62df84ac6ef86)({\n width: width,\n height: height,\n topLeftPathParams: pathParams,\n topRightPathParams: pathParams,\n bottomLeftPathParams: pathParams,\n bottomRightPathParams: pathParams\n });\n }\n const { topLeft: topLeft , topRight: topRight , bottomLeft: bottomLeft , bottomRight: bottomRight } = (0, $8164c72eb32cbbfc$export$3d870b97f7a56ca3)({\n topLeftCornerRadius: topLeftCornerRadius,\n topRightCornerRadius: topRightCornerRadius,\n bottomRightCornerRadius: bottomRightCornerRadius,\n bottomLeftCornerRadius: bottomLeftCornerRadius,\n width: width,\n height: height\n });\n return (0, $be0670f6a5a657f9$export$a4b62df84ac6ef86)({\n width: width,\n height: height,\n topLeftPathParams: (0, $be0670f6a5a657f9$export$a2f9a538d41e7bd0)({\n cornerSmoothing: cornerSmoothing,\n preserveSmoothing: preserveSmoothing,\n cornerRadius: topLeft.radius,\n roundingAndSmoothingBudget: topLeft.roundingAndSmoothingBudget\n }),\n topRightPathParams: (0, $be0670f6a5a657f9$export$a2f9a538d41e7bd0)({\n cornerSmoothing: cornerSmoothing,\n preserveSmoothing: preserveSmoothing,\n cornerRadius: topRight.radius,\n roundingAndSmoothingBudget: topRight.roundingAndSmoothingBudget\n }),\n bottomRightPathParams: (0, $be0670f6a5a657f9$export$a2f9a538d41e7bd0)({\n cornerSmoothing: cornerSmoothing,\n preserveSmoothing: preserveSmoothing,\n cornerRadius: bottomRight.radius,\n roundingAndSmoothingBudget: bottomRight.roundingAndSmoothingBudget\n }),\n bottomLeftPathParams: (0, $be0670f6a5a657f9$export$a2f9a538d41e7bd0)({\n cornerSmoothing: cornerSmoothing,\n preserveSmoothing: preserveSmoothing,\n cornerRadius: bottomLeft.radius,\n roundingAndSmoothingBudget: bottomLeft.roundingAndSmoothingBudget\n })\n });\n}\n\n\nexport {$6424334e4a2a8c1c$export$4d0751d7849c93f6 as getSvgPath};\n//# sourceMappingURL=module.js.map\n"],"names":["$8164c72eb32cbbfc$export$3d870b97f7a56ca3","topLeftCornerRadius","topRightCornerRadius","bottomRightCornerRadius","bottomLeftCornerRadius","width","height","roundingAndSmoothingBudgetMap","cornerRadiusMap","radius1","radius2","cornerName","radius","corner","adjacents","$8164c72eb32cbbfc$var$adjacentsByCorner","budget","adjacent","adjacentCornerRadius","adjacentCornerBudget","sideLength","$be0670f6a5a657f9$export$a2f9a538d41e7bd0","cornerRadius","cornerSmoothing","preserveSmoothing","roundingAndSmoothingBudget","p","maxCornerSmoothing","arcMeasure","arcSectionLength","$be0670f6a5a657f9$var$toRadians","angleAlpha","p3ToP4Distance","angleBeta","c","d","b","a","p1ToP3MaxDistance","minA","maxB","$be0670f6a5a657f9$export$a4b62df84ac6ef86","topLeftPathParams","topRightPathParams","bottomLeftPathParams","bottomRightPathParams","$be0670f6a5a657f9$var$drawTopRightPath","$be0670f6a5a657f9$var$drawBottomRightPath","$be0670f6a5a657f9$var$drawBottomLeftPath","$be0670f6a5a657f9$var$drawTopLeftPath","$be0670f6a5a657f9$var$rounded","degrees","strings","values","acc","str","i","value","$6424334e4a2a8c1c$export$4d0751d7849c93f6","pathParams","topLeft","topRight","bottomLeft","bottomRight"],"mappings":"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","x_google_ignoreList":[0]}