import React from 'react'
import { LineDrawingWrapper, thin, dashed } from './shared.mjs'
/*
* This strokeScale factor is used to normalize the stroke across
* designs so we have a consistent look when showing our collection
*/
const strokeScale = 0.15
/**
* A linedrawing component for Simon
*
* @component
* @param {object} props - All component props
* @param {string} props.className - Any CSS classes to apply
* @param {number} props.stroke - The stroke width to apply
* @returns {JSX.Element}
*/
export const Simon = ({ className, stroke = 1 }) => (
)
/**
* A linedrawing component for the front of Simon
*
* @component
* @param {object} props - All component props
* @param {string} props.className - Any CSS classes to apply
* @param {number} props.stroke - The stroke width to apply
* @returns {JSX.Element}
*/
export const SimonFront = ({ className, stroke = 1 }) => (
)
/**
* A linedrawing component for the back of Simon
*
* @component
* @param {object} props - All component props
* @param {string} props.className - Any CSS classes to apply
* @param {number} props.stroke - The stroke width to apply
* @returns {JSX.Element}
*/
export const SimonBack = ({
className = 'w-64', // CSS classes to apply
stroke = 1, // Stroke width to use
}) => {
// Normalize stroke across designs
stroke = stroke * strokeScale
return (
)
}
/*
* Always use an id for defs that is unique to the design because if we have
* multiple linedrawings on the page, they share the same namespace and thus
* IDs will collide
*/
const defs = (
)
/*
* SVG elements for the back
*/
const Front = ({ stroke }) => (
<>
{defs}
>
)
/*
* SVG elements for the back
*/
const Back = ({ stroke }) => (
<>
>
)