add kirby-loop plugin with French translations
All checks were successful
Deploy / Deploy to Production (push) Successful in 6s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-03-23 21:41:50 +01:00
parent 8ea5f0c462
commit ab7fd8b2ea
74 changed files with 16423 additions and 2 deletions

View file

@ -0,0 +1,39 @@
import { getDocumentHeight } from "./getDocumentHeight";
import { getDocumentWidth } from "./getDocumentWidth";
export const getDialogPosition = (marker: { pagePositionX: number, pagePositionY: number } | null,
dialogElement: HTMLDialogElement | null): { left: number, top: number } => {
// Default position (fallback)
let left = 0;
let top = 0;
if (!marker || !dialogElement) return { left, top };
// Get marker position
left = marker.pagePositionX;
top = marker.pagePositionY;
// Get dialog dimensions
const dialogWidth = dialogElement.offsetWidth;
const dialogHeight = dialogElement.offsetHeight;
// Get document dimensions
const documentWidth = getDocumentWidth();
const documentHeight = getDocumentHeight();
// Ensure dialog doesn't go off-screen to the right
if (left + dialogWidth > documentWidth) {
left = documentWidth - dialogWidth;
}
// Ensure dialog doesn't go off-screen to the bottom
if (top + dialogHeight > documentHeight) {
top = documentHeight - dialogHeight;
}
// Ensure dialog doesn't go off-screen to the left or top
left = Math.max(0, left);
top = Math.max(0, top);
return { left, top };
}