From a2fc90d41c98c7c721eee8ec010b3ba5da318c0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jesper=20M=C3=B8ller=20Jensen?=
<26099018+JesmoDev@users.noreply.github.com>
Date: Wed, 18 Oct 2023 23:21:54 +1300
Subject: [PATCH] make focalpoint responsive
---
.../image-cropper-focus-setter.element.ts | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-image-cropper/image-cropper-focus-setter.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-image-cropper/image-cropper-focus-setter.element.ts
index 04d7fa0a9d..6824788261 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-image-cropper/image-cropper-focus-setter.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-image-cropper/image-cropper-focus-setter.element.ts
@@ -59,7 +59,6 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
#onSetFocalPoint(event: MouseEvent) {
event.preventDefault();
- const viewport = this.getBoundingClientRect();
const image = this.imageElement.getBoundingClientRect();
const x = clamp(event.clientX - image.left, 0, image.width);
@@ -68,8 +67,8 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
const left = clamp(x / image.width, 0, 1);
const top = clamp(y / image.height, 0, 1);
- this.focalPointElement.style.left = `${x + image.left - viewport.left - this.#DOT_RADIUS}px`;
- this.focalPointElement.style.top = `${y + image.top - viewport.top - this.#DOT_RADIUS}px`;
+ this.focalPointElement.style.left = `calc(${left * 100}% - ${this.#DOT_RADIUS}px)`;
+ this.focalPointElement.style.top = `calc(${top * 100}% - ${this.#DOT_RADIUS}px)`;
this.dispatchEvent(
new CustomEvent('change', {
@@ -84,8 +83,10 @@ export class UmbImageCropperFocusSetterElement extends LitElement {
if (!this.src) return nothing;
return html`
- nothing} src=${this.src} alt="" />
-