1
0
Fork 0
freesewing/sites/shared/components/workbench/draft/svg/index.js

36 lines
769 B
JavaScript
Raw Normal View History

import {forwardRef} from 'react'
2022-01-25 11:22:09 +01:00
const Svg = forwardRef(({
2022-01-25 11:22:09 +01:00
embed = true,
develop = false,
locale = 'en',
2022-01-25 11:22:09 +01:00
className = 'freesewing pattern',
style = {},
viewBox = false,
width,
height,
children
}, ref) => {
2022-03-24 11:35:55 +01:00
if (width < 1) width = 1000
if (height < 1) height = 1000
2022-01-25 11:22:09 +01:00
let attributes = {
xmlns: 'http://www.w3.org/2000/svg',
'xmlns:svg': 'http://www.w3.org/2000/svg',
xmlnsXlink: 'http://www.w3.org/1999/xlink',
xmlLang: locale,
2022-01-25 11:22:09 +01:00
viewBox: viewBox || `0 0 ${width} ${height}`,
className,
style
}
if (!embed) {
attributes.width = width + 'mm'
attributes.height = height + 'mm'
}
if (develop) attributes.className += ' develop'
return <svg {...attributes} ref={ref}>{children}</svg>
})
2022-01-25 11:22:09 +01:00
export default Svg