156 lines
9 KiB
JavaScript
156 lines
9 KiB
JavaScript
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 = 1.3
|
|
|
|
/**
|
|
* A linedrawing component for Holmes
|
|
*
|
|
* @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 Holmes = ({ className, stroke = 1 }) => (
|
|
<LineDrawingWrapper viewBox="0 -30 260 260" {...{ className }}>
|
|
<Front stroke={stroke * strokeScale} />
|
|
</LineDrawingWrapper>
|
|
)
|
|
|
|
/**
|
|
* A linedrawing component for the front of Holmes
|
|
*
|
|
* @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 HolmesFront = Holmes
|
|
|
|
/*
|
|
* SVG elements for the front
|
|
*/
|
|
const Front = ({ stroke }) => (
|
|
<>
|
|
<path
|
|
key="stitches"
|
|
{...dashed(stroke)}
|
|
{...thin(stroke)}
|
|
d="m 56.32,60.62
|
|
c 0,0 11.25,-19 32.61,-27.41 0,0 8.19,-3.97 26.34,-6.77
|
|
|
|
m 95.88,107.85
|
|
c 0.11,-1.7 -0.46,-12.97 -0.42,-14.91 -0.37,-15.22 -7.3,-36.84 -14.33,-52.21 -6.3,-13.76 -9.74,-23.61 -28.24,-35.56 -6.01,-2.01 -10.22,-2.82 -15.41,-3.84 -0.56,-0.11 -2.04,-0.47 -2.43,-0.29 -0.84,0.39 -0.69,4.8 -0.6,5.58 1,8.47 4.9,19.57 7.86,27.04 7.27,18.35 6.82,30.71 8.14,48.07 0.43,5.68 -1.35,16.14 -1.52,17.01 -1.48,7.7 -3.78,13.77 -5.55,17.78"
|
|
/>
|
|
<path
|
|
key="folds"
|
|
opacity={0.3}
|
|
d="m 144.73,143.67
|
|
c 0,0 14.89,-42.3 5.3,-97.81 -1.46,-5.69 -1.6,-11.55 -6.71,-16.75
|
|
|
|
M 61.95,114.83
|
|
C 61.57,114.74 72.06,83.32 82.76,64.9 86.74,58.05 89.42,52.8 90.78,50.99 96.77,42.96 105.09,28.97 143.32,29.11
|
|
|
|
m 72.81,103.33
|
|
c 1.43,0.09 2.86,0.22 4.29,0.37 1.43,0.12 2.85,0.38 4.26,0.63 1.41,0.27 2.81,0.56 4.21,0.92 0.7,0.18 1.39,0.36 2.08,0.56 0.68,0.21 1.37,0.41 2.05,0.65
|
|
l -4.21,-0.85
|
|
c -1.41,-0.27 -2.8,-0.55 -4.21,-0.81 -1.4,-0.25 -2.81,-0.52 -4.22,-0.73 -1.41,-0.22 -2.83,-0.45 -4.23,-0.74
|
|
z
|
|
|
|
m 32.91,-3.78
|
|
c 0.88,0.08 1.75,0.22 2.6,0.49 0.41,0.16 0.86,0.34 1.16,0.75 0.15,0.21 0.2,0.52 0.11,0.76 -0.08,0.25 -0.22,0.45 -0.37,0.63 -0.63,0.69 -1.43,1.12 -2.2,1.54 -0.79,0.41 -1.6,0.76 -2.42,1.08 -1.65,0.64 -3.4,1.06 -5.16,1.23 -0.88,0.09 -1.77,0.12 -2.64,0.11 -0.88,-0.03 -1.76,-0.09 -2.63,-0.22 1.76,0.05 3.51,-0.01 5.23,-0.26 1.72,-0.26 3.41,-0.68 5.03,-1.32 0.81,-0.31 1.61,-0.65 2.39,-1.04 0.77,-0.39 1.55,-0.81 2.14,-1.39 0.28,-0.29 0.49,-0.66 0.28,-0.98 -0.2,-0.31 -0.6,-0.53 -0.99,-0.69 -0.79,-0.34 -1.66,-0.53 -2.51,-0.71
|
|
z
|
|
|
|
M 37.2,109.51
|
|
c 0.92,1.96 1.92,3.87 3.03,5.72 1.11,1.85 2.32,3.63 3.66,5.32 1.31,1.71 2.77,3.29 4.32,4.78 0.77,0.75 1.59,1.45 2.43,2.13 0.83,0.69 1.71,1.31 2.61,1.91 -1.91,-1.02 -3.67,-2.33 -5.3,-3.77 -1.62,-1.45 -3.1,-3.05 -4.45,-4.76 -1.32,-1.73 -2.55,-3.52 -3.6,-5.43 -0.52,-0.95 -1.02,-1.92 -1.48,-2.9 -0.44,-0.99 -0.87,-1.99 -1.23,-3.01
|
|
z
|
|
|
|
M 210.73,78.56
|
|
c 0.83,1.54 1.58,3.12 2.27,4.73 0.34,0.81 0.66,1.62 0.97,2.44
|
|
l 0.87,2.48
|
|
c 1.09,3.33 1.86,6.77 2.38,10.23 0.48,3.47 0.74,6.98 0.67,10.48 -0.03,1.75 -0.13,3.5 -0.28,5.25 -0.18,1.74 -0.39,3.48 -0.69,5.2 0.8,-6.94 0.86,-13.97 -0.18,-20.86 -0.48,-3.45 -1.25,-6.86 -2.26,-10.19 -1,-3.34 -2.28,-6.59 -3.76,-9.76
|
|
z
|
|
|
|
M 168.14,33.1
|
|
c 2.68,3.89 5.59,7.63 8.74,11.14 1.58,1.75 3.2,3.47 4.88,5.12 0.84,0.83 1.7,1.63 2.56,2.44 0.87,0.8 1.72,1.64 2.53,2.51 3.17,3.56 5.6,7.71 7.49,12.05 1.9,4.35 3.27,8.9 4.34,13.5 -0.65,-2.27 -1.29,-4.55 -2.08,-6.78 -0.76,-2.24 -1.61,-4.44 -2.6,-6.58 -1.95,-4.29 -4.35,-8.39 -7.51,-11.88 -1.56,-1.74 -3.38,-3.28 -5.05,-4.96 -1.68,-1.67 -3.31,-3.39 -4.85,-5.19 -1.55,-1.79 -3.03,-3.64 -4.45,-5.54 -1.4,-1.91 -2.76,-3.85 -4.01,-5.86
|
|
z
|
|
|
|
M 152.36,142.01
|
|
c 2.9,-0.27 5.79,-0.65 8.64,-1.18 2.86,-0.51 5.7,-1.15 8.5,-1.92 5.59,-1.56 11.11,-3.49 16.2,-6.27 1.27,-0.7 2.48,-1.49 3.75,-2.23 1.27,-0.73 2.57,-1.39 3.91,-1.99 2.67,-1.19 5.44,-2.17 8.27,-2.87 2.83,-0.71 5.72,-1.2 8.62,-1.49 2.9,-0.27 5.82,-0.36 8.73,-0.26 -5.82,0 -11.65,0.62 -17.25,2.11 -2.8,0.76 -5.54,1.71 -8.18,2.92 -1.32,0.6 -2.61,1.26 -3.86,1.99 -1.25,0.73 -2.46,1.54 -3.74,2.25 -2.57,1.41 -5.26,2.56 -7.99,3.58 -2.74,1.01 -5.52,1.9 -8.34,2.63 -5.64,1.46 -11.43,2.4 -17.24,2.74
|
|
z
|
|
|
|
M 40.37,102.77
|
|
c 2.59,2.2 5.46,4.04 8.53,5.46 3.06,1.42 6.31,2.45 9.63,3.06 3.32,0.65 6.71,0.89 10.09,0.83 3.39,-0.05 6.77,-0.39 10.12,-0.94 -1.66,0.38 -3.34,0.66 -5.02,0.89 -0.85,0.1 -1.69,0.2 -2.54,0.26 -0.85,0.08 -1.7,0.12 -2.55,0.16 -3.4,0.14 -6.83,-0.11 -10.19,-0.73 -3.35,-0.65 -6.64,-1.69 -9.7,-3.2 -0.75,-0.41 -1.52,-0.77 -2.25,-1.22 -0.72,-0.46 -1.45,-0.9 -2.16,-1.36 -1.39,-0.98 -2.73,-2.05 -3.95,-3.22
|
|
z
|
|
|
|
m 61.69,57.58
|
|
c 2.66,-0.25 5.31,-0.57 7.93,-1.02 2.62,-0.46 5.23,-1 7.8,-1.69 2.58,-0.66 5.12,-1.46 7.62,-2.36 1.25,-0.45 2.5,-0.92 3.73,-1.43 1.24,-0.49 2.46,-1.03 3.69,-1.56 -2.36,1.26 -4.8,2.37 -7.29,3.34 -2.49,0.98 -5.05,1.78 -7.64,2.48 -2.6,0.66 -5.22,1.21 -7.87,1.59 -1.32,0.19 -2.66,0.34 -3.99,0.46 -1.33,0.1 -2.67,0.18 -4,0.2
|
|
z
|
|
|
|
m -86.03,-33
|
|
c -1.06,0.22 -2.13,0.47 -3.09,0.95 -0.24,0.12 -0.46,0.27 -0.65,0.45 -0.19,0.18 -0.33,0.4 -0.35,0.65 -0.02,0.24 0.12,0.47 0.29,0.66 0.17,0.2 0.37,0.37 0.58,0.54 0.86,0.64 1.82,1.15 2.79,1.63 0.97,0.49 1.96,0.91 2.96,1.34 2,0.84 4.02,1.62 6.04,2.41 2.02,0.78 4.06,1.54 6.11,2.23 4.1,1.41 8.31,2.48 12.61,3.02 4.3,0.56 8.65,0.65 12.98,0.37 -2.16,0.25 -4.33,0.35 -6.51,0.36 -2.18,-0.01 -4.35,-0.13 -6.52,-0.37 -4.34,-0.48 -8.59,-1.55 -12.71,-2.93 -2.06,-0.7 -4.09,-1.48 -6.12,-2.28 -2.02,-0.81 -4.05,-1.58 -6.03,-2.48 -0.99,-0.45 -1.98,-0.9 -2.95,-1.41 -0.96,-0.51 -1.92,-1.04 -2.79,-1.72 -0.21,-0.18 -0.42,-0.37 -0.6,-0.59 -0.17,-0.22 -0.34,-0.49 -0.31,-0.81 0.03,-0.31 0.21,-0.56 0.42,-0.74 0.21,-0.19 0.45,-0.33 0.7,-0.45 1,-0.46 2.08,-0.66 3.15,-0.84
|
|
z
|
|
|
|
M 132.55,35.28
|
|
c 2.29,3.88 4.31,7.91 6.02,12.08 1.66,4.19 3.07,8.48 4.13,12.87 2.14,8.77 2.93,17.84 2.62,26.85 -0.34,9.02 -1.74,17.98 -4.03,26.69 -1.15,4.35 -2.48,8.67 -4.03,12.89 -1.54,4.23 -3.28,8.39 -5.17,12.47 1.82,-4.12 3.48,-8.3 4.95,-12.55 1.5,-4.24 2.78,-8.55 3.89,-12.91 2.2,-8.71 3.6,-17.64 3.9,-26.62 0.34,-8.97 -0.45,-18 -2.5,-26.75 -2.05,-8.74 -5.33,-17.21 -9.79,-25.03
|
|
z"
|
|
/>
|
|
<path
|
|
key="outline"
|
|
d="m 212.5,132.86
|
|
c 0.11,-1.72 0.18,-3.57 0.22,-5.52 0.28,-14.96 -4.59,-40.15 -12.99,-58.16 -6.56,-14.07 -10.04,-24.72 -28.29,-36.98 -1.33,-0.99 -2.86,-1.87 -4.62,-2.63
|
|
|
|
m -15.88,-3.12
|
|
c -1.51,-0.11 -2.84,0.2 -2.82,1.72 0.13,11.82 3.25,21.44 7.47,31.9 8.48,21.02 6.84,32.81 7.93,48.79 0.39,5.68 -1.35,16.14 -1.52,17.01 -1.48,7.7 -3.78,13.77 -5.55,17.78
|
|
|
|
M 147.49,25.42
|
|
c 1.5,0.06 13.89,0.56 13.89,0.56 1.27,0.13 3.12,0.27 5.37,0.22 3.45,-0.07 5.19,-0.13 6.28,-1.24 1.4,-1.43 1.14,-3.71 0.96,-5.22 -0.34,-3 -2.08,-7.24 -4.94,-7.71 -1.62,-0.27 -3.02,0.77 -3.81,1.35 -3.35,2.45 -11.59,8.23 -17.75,12.04
|
|
|
|
m 77.78,89.12
|
|
c -3.71,9.01 -10.18,19.68 -21.4,23.62 -1.45,0.51 -3.92,0.93 -8.86,1.77 -13.6,2.32 -18.66,1.98 -35.63,3.64 -5.88,0.57 -7.73,0.44 -14.65,0.1 -5.28,-0.52 -11.96,-2.56 -17.3,-4.23 -8.44,-3.54 -10.36,-6.23 -34.39,-15.27 -24.5,-9.22 -50.03,-12.48 -55.76,-17.27
|
|
|
|
M 225.32,114.56
|
|
C 222.73,99.86 218.3,88.29 214.59,80.31 210.02,70.47 205.32,63.44 203.25,60.47 196.46,50.71 189.96,44.24 187.53,41.89 181.86,35.93 173.37,32.02 167.83,29.7
|
|
|
|
M 156.17,143.84
|
|
c -3.71,1.19 -23.31,17.6 -37.16,19.23 -38.36,4.5 -79.62,-17.21 -112.43,-27.98 -1,-0.33 -1.38,-1.83 -1.32,-2.88 0.05,-0.9 0.8,-1.65 1.41,-2.31
|
|
C 15.24,120.44 26.41,112.33 37.28,106.9 39.12,89.79 55.1,57.65 74.91,42.73 86.86,33.73 105.13,29.33 120.75,27.17
|
|
l 22.29,-0.02
|
|
c 0,0 0.95,0.02 2.23,-1.03
|
|
|
|
m -24.18,1
|
|
c -4.89,-0.53 -5.69,-0.29 -7.1,-2.16 -1.8,-2.41 -1.16,-5.94 -0.73,-8.26 0.85,-4.65 3.83,-11.06 7.95,-11.44 1.08,-0.1 2.02,0.26 5.24,2.57 6.48,4.64 10.96,9.29 17.13,14.45
|
|
|
|
m 3.85,-0.07
|
|
c 6.56,-4.65 11.34,-8.69 18.18,-12.79 3.4,-2.04 4.37,-2.32 5.44,-2.13 4.08,0.71 6.53,7.34 7,12.05 0.23,2.36 0.59,5.93 -1.4,8.18 -1.55,1.74 -5.04,1.89 -9.95,2.02
|
|
l -15.76,-3.07 -3.44,-1.03
|
|
|
|
M 53.26,66.9
|
|
C 61.22,49.84 73.98,30.46 113.99,24.96
|
|
|
|
m 29.43,0.14
|
|
c -1.5,-0.06 -14.09,-0.42 -14.09,-0.42 -1.28,0.03 -2.91,-0.11 -5.15,-0.34 -3.43,-0.35 -5.17,-0.56 -6.16,-1.75 -1.27,-1.54 -0.83,-3.79 -0.54,-5.28 0.58,-2.96 2.66,-7.05 5.55,-7.28 1.64,-0.13 2.95,1.02 3.69,1.65 3.14,2.71 10.88,9.14 16.72,13.44
|
|
|
|
m 81.88,89.43 30.37,14.63
|
|
c -0.24,0.85 -0.68,2.07 -1.57,3.29 -0.72,0.98 -3.47,4.38 -12.56,5.13 -10.51,0.87 -22.76,-2.35 -29.18,-4.33
|
|
|
|
m -67.11,-107.16 2.84,2.05
|
|
|
|
m -2.65,-6.57 0.93,0.14
|
|
c 0.47,0.07 0.87,0.31 1.14,0.66 0.29,0.37 0.44,0.86 0.36,1.36
|
|
l -0.14,0.93
|
|
c -0.14,0.97 -1.05,1.64 -2.02,1.5
|
|
l -0.93,-0.14
|
|
c -0.97,-0.14 -1.64,-1.05 -1.5,-2.02
|
|
l 0.14,-0.93
|
|
c 0.04,-0.28 0.15,-0.54 0.3,-0.75 0.37,-0.54 1.03,-0.85 1.72,-0.74
|
|
z"
|
|
/>
|
|
</>
|
|
)
|