diff --git a/src/components/AdSlot/adScripts/bootstrap.ts b/src/components/AdSlot/adScripts/bootstrap.ts
index 9b57504a..86a4f59a 100644
--- a/src/components/AdSlot/adScripts/bootstrap.ts
+++ b/src/components/AdSlot/adScripts/bootstrap.ts
@@ -30,7 +30,7 @@ export const loadBootstrap = () => {
getParameterByName(ONETRUST_GEOLOCATION_MOCK) || 'default',
onetrust_script_id: ONETRUST_SCRIPT_ID,
},
- (onetrustResponse) => {
+ (onetrustResponse: any) => {
const iasPromise = Ias();
return Promise.all([iasPromise]).then((responses) => {
const [iasResponse] = responses;
diff --git a/src/components/AdSlot/adScripts/loadScript.ts b/src/components/AdSlot/adScripts/loadScript.ts
index 5af6e25f..5c3c8e64 100644
--- a/src/components/AdSlot/adScripts/loadScript.ts
+++ b/src/components/AdSlot/adScripts/loadScript.ts
@@ -10,7 +10,7 @@ export const loadScript = (src: string, attributes?: attributesInterface) => {
if (existingScript) return;
const script = document.createElement('script');
- script.addEventListener('load', onload);
+ if (onload) script.addEventListener('load', onload);
script.async = async;
script.src = src;
document.head.append(script);
diff --git a/src/components/BeforeAfter/BeforeAfter.svelte b/src/components/BeforeAfter/BeforeAfter.svelte
index aef61fae..69a6a7a2 100644
--- a/src/components/BeforeAfter/BeforeAfter.svelte
+++ b/src/components/BeforeAfter/BeforeAfter.svelte
@@ -68,13 +68,13 @@
*/
export let id: string = 'before-after-' + random4() + random4();
- let img;
- let imgOffset = null;
+ let img: HTMLImageElement;
+ let imgOffset: DOMRect | null = null;
let sliding = false;
- let figure;
+ let figure: HTMLElement;
let beforeOverlayWidth = 0;
let isFocused = false;
- let containerWidth;
+ let containerWidth: number;
$: containerHeight =
containerWidth && heightRatio ? containerWidth * heightRatio : height;
@@ -88,7 +88,7 @@
const onFocus = () => (isFocused = true);
const onBlur = () => (isFocused = false);
- const handleKeyDown = (e) => {
+ const handleKeyDown = (e: KeyboardEvent) => {
if (!isFocused) return;
const { keyCode } = e;
const margin = handleMargin / w;
@@ -107,15 +107,16 @@
measureImage();
};
- const measureLoadedImage = (e) => {
+ const measureLoadedImage = (e: Event) => {
if (e.type === 'load') {
- imgOffset = e.target.getBoundingClientRect();
+ imgOffset = (e.target as HTMLImageElement).getBoundingClientRect();
}
};
- const move = (e) => {
+ const move = (e: MouseEvent | TouchEvent) => {
if (sliding && imgOffset) {
- const el = e.touches ? e.touches[0] : e;
+ const el =
+ e instanceof TouchEvent && e.touches ? e.touches[0] : (e as MouseEvent);
const figureOffset =
figure ?
parseInt(window.getComputedStyle(figure).marginLeft.slice(0, -2))
@@ -128,7 +129,7 @@
offset = x / w;
}
};
- const start = (e) => {
+ const start = (e: MouseEvent | TouchEvent) => {
sliding = true;
move(e);
};
@@ -171,7 +172,7 @@
on:touchstart="{start}"
on:mousedown="{start}"
bind:this="{figure}"
- aria-labelledby="{$$slots.caption && `${id}-caption`}"
+ aria-labelledby="{($$slots.caption && `${id}-caption`) || undefined}"
>
![]()
{#if $$slots.beforeOverlay}
{
+ const handleActiveChange = (e?: CustomEvent) => {
+ if (!e) return;
activeImageIndex = e.detail.dest;
};
diff --git a/src/components/PhotoPack/PhotoPack.svelte b/src/components/PhotoPack/PhotoPack.svelte
index f003f022..fa0550e5 100644
--- a/src/components/PhotoPack/PhotoPack.svelte
+++ b/src/components/PhotoPack/PhotoPack.svelte
@@ -59,9 +59,9 @@
import PaddingReset from '../PaddingReset/PaddingReset.svelte';
import Markdown from '../Markdown/Markdown.svelte';
- let containerWidth;
+ let containerWidth: number;
- const groupRows = (images, layout) => {
+ const groupRows = (images: Image[], layout?: Layout) => {
// Default layout, one img per row
if (!layout) return images.map((img) => [img]);
// Otherwise, chunk into rows according to layout scheme
diff --git a/src/components/ReferralBlock/ReferralBlock.svelte b/src/components/ReferralBlock/ReferralBlock.svelte
index de72ffd4..6d7c3e0e 100644
--- a/src/components/ReferralBlock/ReferralBlock.svelte
+++ b/src/components/ReferralBlock/ReferralBlock.svelte
@@ -50,7 +50,7 @@
import { onMount } from 'svelte';
import { getTime } from '../SiteHeader/NavBar/NavDropdown/StoryCard/time';
- let clientWidth;
+ let clientWidth: number;
const SECTION_API = 'recent-stories-by-sections-v1';
const COLLECTION_API = 'articles-by-collection-alias-or-id-v1';