1
0
Fork 0

feat(react-components): Added Pattern component

This commit is contained in:
joostdecock 2023-06-01 18:28:22 +02:00
parent c95ebd5934
commit e146e55c69
20 changed files with 868 additions and 0 deletions

View file

@ -0,0 +1,26 @@
import React from 'react'
import { getProps } from './utils.mjs'
export const Snippet = ({ snippet }) => {
if (!snippet?.anchor || !snippet.def) return null
const snippetProps = {
xlinkHref: '#' + snippet.def,
x: snippet.anchor.x,
y: snippet.anchor.y,
}
const scale = snippet.attributes.list['data-scale']?.[0] || false
const rotate = snippet.attributes.list['data-rotate']?.[0] || false
if (scale || rotate) {
snippetProps.transform = ''
if (scale) {
snippetProps.transform += `translate(${snippetProps.x}, ${snippetProps.y}) `
snippetProps.transform += `scale(${scale}) `
snippetProps.transform += `translate(${snippetProps.x * -1}, ${snippetProps.y * -1}) `
}
if (rotate) {
snippetProps.transform += `rotate(${rotate}, ${snippetProps.x}, ${snippetProps.y}) `
}
}
return <use {...snippetProps} {...getProps(snippet)} color="currentColor" />
}