![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
@coddicat/vue-pinch-scroll-zoom
Advanced tools
Vue component enabling scroll and zoom functionalities for content, leveraging mouse interactions on desktop and two-finger pinch gestures on mobile devices
Vue component that provides content scrolling and zooming using mouse events or two fingers pinch on a mobile devices
As of the current version, this component is compatible and fully tested with Vue "^3.2.47". Please ensure that you are using this version of Vue or later for optimal performance and compatibility. We will continue to maintain and update this component to support later versions of Vue as they become available.
npm i @coddicat/vue-pinch-scroll-zoom
main.ts:
import '@coddicat/vue-pinch-scroll-zoom/style.css';
<PinchScrollZoom
ref="zoomer"
within
centered
key-actions
:width="300"
:height="400"
:min-scale="0.3"
:max-scale="6"
@scaling="e => onEvent('scaling', e)"
@startDrag="e => onEvent('startDrag', e)"
@stopDrag="e => onEvent('stopDrag', e)"
@dragging="e => onEvent('dragging', e)"
style="border: 1px solid black"
:content-width="500"
:content-height="500"
>
<img src="https://picsum.photos/500/500" width="500" height="500" />
</PinchScrollZoom>
<script setup lang="ts">
import { ref, reactive } from 'vue';
import PinchScrollZoom, {
type PinchScrollZoomEmitData,
type PinchScrollZoomExposed
} from '@coddicat/vue-pinch-scroll-zoom';
const zoomer = ref<PinchScrollZoomExposed>();
function onEvent(name: string, e: PinchScrollZoomEmitData): void {
state.eventName = name;
state.eventData = e;
state.scale = e.scale;
state.originX = e.originX;
state.originY = e.originY;
state.translateX = e.translateX;
state.translateY = e.translateY;
}
function reset(): void {
zoomer.value?.setData({
scale: 1,
originX: 150,
originY: 200,
translateX: -100,
translateY: -50
});
}
the following properties don't support the ".async" modifier
name | required | description | default |
---|---|---|---|
width | yes | visible area width | |
height | yes | visible area height | |
content-width | no | should be defined when content width is different from container width | |
content-height | no | should be defined when content height is different from container height | |
minScale | no | minimum allowable scaling | 0.3 |
maxScale | no | maximum allowable scaling | 5 |
within | no | limit scrolling of content to its borders | true |
wheelVelocity | no | zoom velocity when mouse wheel | 0.001 |
scale | no | scale of the content | 1 |
origin-x | no | transform-origin-x | width/2 |
origin-y | no | transform-origin-y | height/2 |
translate-x | no | transform: translateX | 0 |
translate-y | no | transform: translateY | 0 |
throttleDelay | no | rendering delay (milliseconds) | 25 |
draggable | no | draggable of/off | true |
centered | no | centralize content in visible area | false |
key-actions | no | enable key press events(focused) for zooming and moving | false |
tabindex | no | tabindex attribute for the visible area | 0 if keyActions enabled, value is required for key events |
key-zoom-velocity | no | zoom velocity when zooming by key events | 0.2 |
key-move-velocity | no | move velocity when moving by key events | 10 |
key-controls | no | Records of keyCode and actions | See PinchScrollZoomDefaultControls ('+', '-', arrows) |
translate3d | no | Toggle between 'translate' and 'translate3d' transformation | true |
the following events are emitted with the argument:
export interface PinchScrollZoomEmitData {
x: number;
y: number;
scale: number;
originX: number;
originY: number;
translateX: number;
translateY: number;
}
.setData(data: PinchScrollZoomSetData);
export interface PinchScrollZoomSetData {
scale: number;
originX: number;
originY: number;
translateX: number;
translateY: number;
}
.centralize();
.manualMove(deltaX: number, deltaY: number);
.manualZoom(factor: number); //factor relative to the current value, so if current scale is 2 and execute .manualZoom(2) the new scale value will be 4
FAQs
Vue component enabling scroll and zoom functionalities for content, leveraging mouse interactions on desktop and two-finger pinch gestures on mobile devices
The npm package @coddicat/vue-pinch-scroll-zoom receives a total of 2,228 weekly downloads. As such, @coddicat/vue-pinch-scroll-zoom popularity was classified as popular.
We found that @coddicat/vue-pinch-scroll-zoom demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.