fix(background): start patterns at 0,0 (#1666)

* fix(background): start patterns at 0,0

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
Braks
2024-11-01 13:36:31 +01:00
parent cfc2332370
commit 900850d3ae
3 changed files with 13 additions and 9 deletions

View File

@@ -0,0 +1,5 @@
---
"@vue-flow/background": patch
---
Start patterns at 0,0

View File

@@ -25,19 +25,18 @@ const { id: vueFlowId, viewport } = useVueFlow()
const background = computed(() => {
const [gapX, gapY] = Array.isArray(gap) ? gap : [gap, gap]
const scaledGap: [number, number] = [gapX * viewport.value.zoom || 1, gapY * viewport.value.zoom || 1]
const scaledSize = size * viewport.value.zoom
const [offsetX, offsetY]: [number, number] = Array.isArray(offset) ? offset : [offset, offset]
const patternOffset =
variant === BackgroundVariant.Dots
? [scaledSize / offset, scaledSize / offset]
: [scaledGap[0] / offset, scaledGap[1] / offset]
const scaledOffset: [number, number] = [
offsetX * viewport.value.zoom || 1 + scaledGap[0] / 2,
offsetY * viewport.value.zoom || 1 + scaledGap[1] / 2,
]
return {
scaledGap,
offset: patternOffset,
offset: scaledOffset,
size: scaledSize,
}
})
@@ -79,7 +78,7 @@ export default {
</template>
<template v-else-if="variant === BackgroundVariant.Dots">
<DotPattern :color="patternColor" :radius="background.size / offset" />
<DotPattern :color="patternColor" :radius="background.size / 2" />
</template>
<svg v-if="bgColor" height="100" width="100">

View File

@@ -38,5 +38,5 @@ export interface BackgroundProps {
/** Background y-coordinate (offset y) */
y?: number
/** Background offset */
offset?: number
offset?: number | [number, number]
}