aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Image
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Image')
-rw-r--r--src/lib/Image/FallbackImage.svelte15
-rw-r--r--src/lib/Image/ParallaxImage.svelte37
2 files changed, 29 insertions, 23 deletions
diff --git a/src/lib/Image/FallbackImage.svelte b/src/lib/Image/FallbackImage.svelte
index 27c427be..8ff6f6c3 100644
--- a/src/lib/Image/FallbackImage.svelte
+++ b/src/lib/Image/FallbackImage.svelte
@@ -4,20 +4,21 @@ export let alternative: string | undefined | null;
export let fallback: string | undefined | null;
export let maxReplaceCount = 1;
export let replaceDelay = 1000;
-export let error = 'https://i2.kym-cdn.com/photos/images/newsfeed/000/290/992/0aa.jpg';
+export let error =
+ "https://i2.kym-cdn.com/photos/images/newsfeed/000/290/992/0aa.jpg";
export let hideOnError = false;
-export let style = '';
+export let style = "";
let replaceCount = 0;
const delayedReplace = (event: Event, image: string | undefined | null) => {
- if (replaceCount >= maxReplaceCount) return;
+ if (replaceCount >= maxReplaceCount) return;
- setTimeout(() => {
- (event.target as HTMLImageElement).src = image || '';
+ setTimeout(() => {
+ (event.target as HTMLImageElement).src = image || "";
- replaceCount += 1;
- }, replaceDelay);
+ replaceCount += 1;
+ }, replaceDelay);
};
</script>
diff --git a/src/lib/Image/ParallaxImage.svelte b/src/lib/Image/ParallaxImage.svelte
index 66906cbc..9b15d990 100644
--- a/src/lib/Image/ParallaxImage.svelte
+++ b/src/lib/Image/ParallaxImage.svelte
@@ -1,18 +1,18 @@
<script lang="ts">
-import { cubicOut } from 'svelte/easing';
-import { tweened } from 'svelte/motion';
+import { cubicOut } from "svelte/easing";
+import { tweened } from "svelte/motion";
export let source: string;
export let duration = 300 * 1.75;
export let easing = cubicOut;
export let alternativeText: string;
-export let classList = '';
-export let style = '';
+export let classList = "";
+export let style = "";
export let factor = 1.25;
export let limit = 300 * 1.75;
-export let borderRadius = '8px';
-export let loading: 'lazy' | 'eager' = 'lazy';
-export let fetchpriority: 'high' | 'low' | 'auto' | undefined = undefined;
+export let borderRadius = "8px";
+export let loading: "lazy" | "eager" = "lazy";
+export let fetchpriority: "high" | "low" | "auto" | undefined = undefined;
export let width: number | undefined = undefined;
export let height: number | undefined = undefined;
@@ -20,20 +20,25 @@ let badgeReference: HTMLImageElement;
const mouse = tweened({ x: 0, y: 0 }, { duration, easing });
const handleMouseMove = (event: MouseEvent) => {
- const boundingRectangle = badgeReference.getBoundingClientRect();
+ const boundingRectangle = badgeReference.getBoundingClientRect();
- if ($mouse.x === 0 && $mouse.y === 0) $mouse = { x: event.clientX, y: event.clientY };
+ if ($mouse.x === 0 && $mouse.y === 0)
+ $mouse = { x: event.clientX, y: event.clientY };
- $mouse.x +=
- (-(event.clientX - boundingRectangle.left - boundingRectangle.width / 2) - $mouse.x) * factor;
- $mouse.y +=
- (-(event.clientY - boundingRectangle.top - boundingRectangle.height / 2) - $mouse.y) * factor;
- $mouse.x = Math.max(Math.min($mouse.x, limit), -limit);
- $mouse.y = Math.max(Math.min($mouse.y, limit), -limit);
+ $mouse.x +=
+ (-(event.clientX - boundingRectangle.left - boundingRectangle.width / 2) -
+ $mouse.x) *
+ factor;
+ $mouse.y +=
+ (-(event.clientY - boundingRectangle.top - boundingRectangle.height / 2) -
+ $mouse.y) *
+ factor;
+ $mouse.x = Math.max(Math.min($mouse.x, limit), -limit);
+ $mouse.y = Math.max(Math.min($mouse.y, limit), -limit);
};
const handleMouseLeave = () => {
- $mouse = { x: 0, y: 0 };
+ $mouse = { x: 0, y: 0 };
};
</script>