1.0.2 • Published 5 months ago

vue3-zoom-pan-pinch v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

vue3-zoom-pan-pinch

Super fast and light vue3 npm package for zooming, panning and pinching html elements in easy way

Install

npm install --save vue3-zoom-pan-pinch

or

yarn add vue3-zoom-pan-pinch

Usage

import {
  defineComponent,
  ref,
  shallowRef,
  watch,
  unref,
  reactive,
  onMounted,
} from "vue";
import { TransformComponent } from "vue3-zoom-pan-pinch";
import car from "./assets/images/car.png";
import "./App.scss";

export default defineComponent({
  name: "App",
  setup() {
    const transformComponentRef = ref(null);
    return () => (
      <div>
        <TransformComponent
          ref={transformComponentRef}
          defaultScale={1.2}
          defaultPositionX={10}
          defaultPositionY={20}
          wheel={{
            step: 1,
          }}
        >
          <div class="content">
            <img src={car} />
          </div>
        </TransformComponent>
        <footer>
          <button onClick={transformComponentRef.value?.resetTransform}>reset</button>
        </footer>
      </div>
    );
  },
});
<script setup lang="ts">
import { TransformComponent } from 'vue3-zoom-pan-pinch'
import car from './assets/car.png'
</script>

<template>
  <div>
    <TransformComponent
      :wheel="{
        step: 1
      }"
    >
      <div class="content">
        <img :src="car" alt="" srcset="" />
      </div>
    </TransformComponent>
  </div>
</template>

Props of TransformComponent

PropsDefaultType
defaultPositionX0number
defaultPositionY0number
defaultScale1number
options{...}object
wheel{...}object
pan{...}object
pinch{...}object

Options prop elements

PropsDefaultType
disabledfalseboolean
minPositionXnullnull, number
maxPositionXnullnull, number
minPositionYnullnull, number
maxPositionYnullnull, number
minScale1number
maxScale8number
limitToBoundstrueboolean
centerContenttrueboolean

Wheel prop elements

PropsDefaultType
disabledfalseboolean
step6.5number
wheelEnabledtrueboolean
touchPadEnabledtrueboolean
disableLimitsOnWheeltrueboolean

Pan prop elements

PropsDefaultType
disabledfalseboolean
lockAxisXfalseboolean
lockAxisYfalseboolean
limitToWrapperBoundsfalseboolean

Pinch prop elements

PropsDefaultType
disabledfalseboolean
step1number
1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago