JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/panzoom/panzoom.css"
/>
<style>
#myPanzoom {
max-width: 600px;
aspect-ratio: 1;
background: #eee;
}
</style>
</head>
<body>
<div>
<div class="f-panzoom" id="myPanzoom">
<img class="f-panzoom__content" src="https://lipsum.app/id/1/800x600" />
</div>
</div>
<div id="info"></div>
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/panzoom/panzoom.umd.js"></script>
<script>
new Panzoom(document.getElementById("myPanzoom"), {
on: {
click: (panzoom, event) => {
event.preventDefault();
if (panzoom.targetScale > 1) {
panzoom.zoomTo(1);
} else {
panzoom.zoomTo(2, { event });
}
},
},
});
</script>
</body>
</html>