[breaking]: FreeSewing v4 (#7297)
Refer to the CHANGELOG for all info. --------- Co-authored-by: Wouter van Wageningen <wouter.vdub@yahoo.com> Co-authored-by: Josh Munic <jpmunic@gmail.com> Co-authored-by: Jonathan Haas <haasjona@gmail.com>
This commit is contained in:
parent
d22fbe78d9
commit
51dc1d9732
6626 changed files with 142053 additions and 150606 deletions
29
packages/react/components/Pattern/snippet.mjs
Normal file
29
packages/react/components/Pattern/snippet.mjs
Normal file
|
@ -0,0 +1,29 @@
|
|||
// __SDEFILE__ - This file is a dependency for the stand-alone environment
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
import React from 'react'
|
||||
import { getProps } from './utils.mjs'
|
||||
|
||||
export const Snippet = ({ snippet, settings }) => {
|
||||
if (!snippet?.anchor || !snippet.def) return null
|
||||
if (!settings[0].complete && !snippet.attributes.list?.['data-force']?.[0]) 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" />
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue