import React from 'react'
import { withinPartBounds } from './utils.mjs'
/**
* A component to render a FreeSewing Point in a pattern
*
* @component
* @param {object} props - All component props
* @param {string} props.stackName - The name of the stack the part belongs to
* @param {string} props.partName - The name of the part
* @param {string} props.pointName - The name of the point
* @param {object} props.point - The point object itself
* @param {object} props.components - An object holding the pattern compnents to use
* @param {object} props.strings - An object holding translations
* @returns {JSX.Element}
*/
export const Point = ({ stackName, partName, pointName, part, point, components, strings }) => {
/*
* Don't include points outside the part bounding box
* Unless the `data-render-always` attribute is set
*
* FIXME: This is undocumented
*/
if (!withinPartBounds(point, part) && !point.attributes.list['data-render-always']) return null
// Get potentially swizzled components
const { Circle, Text } = components
return point.attributes ? (
<>
{point.attributes.text ? (
) : null}
{point.attributes.circle ? : null}
>
) : null
}