Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 34x 34x 34x 34x 34x 34x 34x 34x 34x 34x 34x 34x 34x 34x 34x 102x 34x 9x 9x 34x 4x 34x 34x 34x 3x | import { DOMVisualElementOptions } from "../../dom/types" import { buildHTMLStyles } from "../../html/utils/build-styles" import { ResolvedValues } from "../../types" import { calcSVGTransformOrigin } from "./transform-origin" import { buildSVGPath } from "./path" import { MotionProps } from "../../../motion/types" import { SVGRenderState } from "../types" /** * Build SVG visual attrbutes, like cx and style.transform */ export function buildSVGAttrs( state: SVGRenderState, { attrX, attrY, originX, originY, pathLength, pathSpacing = 1, pathOffset = 0, // This is object creation, which we try to avoid per-frame. ...latest }: ResolvedValues, options: DOMVisualElementOptions, transformTemplate?: MotionProps["transformTemplate"] ) { buildHTMLStyles(state, latest, options, transformTemplate) state.attrs = state.style state.style = {} const { attrs, style, dimensions } = state /** * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs * and copy it into style. */ if (attrs.transform) { if (dimensions) style.transform = attrs.transform delete attrs.transform } // Parse transformOrigin if ( dimensions && (originX !== undefined || originY !== undefined || style.transform) ) { style.transformOrigin = calcSVGTransformOrigin( dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5 ) } // Treat x/y not as shortcuts but as actual attributes if (attrX !== undefined) attrs.x = attrX if (attrY !== undefined) attrs.y = attrY // Build SVG path if one has been defined if (pathLength !== undefined) { buildSVGPath( attrs, pathLength as number, pathSpacing as number, pathOffset as number, false ) } } |