vue3-zoom-pan-pinch
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

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

Props Default Type
defaultPositionX 0 number
defaultPositionY 0 number
defaultScale 1 number
options {...} object
wheel {...} object
pan {...} object
pinch {...} object

Options prop elements

Props Default Type
disabled false boolean
minPositionX null null, number
maxPositionX null null, number
minPositionY null null, number
maxPositionY null null, number
minScale 1 number
maxScale 8 number
limitToBounds true boolean
centerContent true boolean

Wheel prop elements

Props Default Type
disabled false boolean
step 6.5 number
wheelEnabled true boolean
touchPadEnabled true boolean
disableLimitsOnWheel true boolean

Pan prop elements

Props Default Type
disabled false boolean
lockAxisX false boolean
lockAxisY false boolean
limitToWrapperBounds false boolean

Pinch prop elements

Props Default Type
disabled false boolean
step 1 number

Package Sidebar

Install

npm i vue3-zoom-pan-pinch

Weekly Downloads

1

Version

1.0.2

License

ISC

Unpacked Size

28.1 kB

Total Files

5

Last publish

Collaborators

  • dummy-ekko