UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

36 lines (33 loc) 1.19 kB
'use client'; 'use strict'; function getCurves({ size, thickness, sections, renderRoundedLineCaps, rootColor }) { const sum = sections.reduce((acc, current) => acc + current.value, 0); const accumulated = Math.PI * ((size * 0.9 - thickness * 2) / 2) * 2; let offset = accumulated; const curves = []; const curvesInOrder = []; for (let i = 0; i < sections.length; i += 1) { curves.push({ sum, offset, data: sections[i], root: false }); offset -= sections[i].value / 100 * accumulated; } curves.push({ sum, offset, data: { color: rootColor }, root: true }); curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false }); if (curves.length > 2) { curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps }); curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps }); for (let i = 1; i <= curves.length - 3; i += 1) { curvesInOrder.push({ ...curves[i], lineRoundCaps: false }); } } else { curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps }); } return curvesInOrder; } exports.getCurves = getCurves; //# sourceMappingURL=get-curves.cjs.map