import React, { forwardRef } from 'react' import { defaultComponents as patternComponents } from '@freesewing/react/components/Pattern' import { PointXray } from './point.mjs' import { PathXray } from './path.mjs' /* * Allow people to override these components */ const defaultComponents = { Point: PointXray, Path: PathXray, } export const Xray = forwardRef((props, ref) => { if (!props.renderProps) return null // desctructure props const { renderProps = false, children = false, className = 'freesewing pattern', components = {}, drillProps = {}, strings = [], } = props // Merge pattern, default, and custom components const mergedComponents = { ...patternComponents, ...defaultComponents, ...components, } const { Svg, Defs, Stack, Group } = mergedComponents const optionalProps = {} if (className) optionalProps.className = className return ( {children ? children : Object.keys(renderProps.stacks).map((stackName) => ( ))} ) })