diff --git a/src/lib/components/description/Description.svelte b/src/lib/components/description/Description.svelte index cdcbae9..5558d98 100644 --- a/src/lib/components/description/Description.svelte +++ b/src/lib/components/description/Description.svelte @@ -10,7 +10,7 @@ ); } - onMount(() => $contextStore.register(id)); + onMount(() => $contextStore?.register(id));

diff --git a/src/lib/components/dialog/Dialog.svelte b/src/lib/components/dialog/Dialog.svelte index ba6eacb..e5870da 100644 --- a/src/lib/components/dialog/Dialog.svelte +++ b/src/lib/components/dialog/Dialog.svelte @@ -66,7 +66,7 @@ $: { open = open === undefined && openClosedState !== undefined - ? match($openClosedState, { + ? match($openClosedState!, { [State.Open]: true, [State.Closed]: false, }) diff --git a/src/lib/components/label/Label.svelte b/src/lib/components/label/Label.svelte index 3d757c1..2723869 100644 --- a/src/lib/components/label/Label.svelte +++ b/src/lib/components/label/Label.svelte @@ -11,9 +11,9 @@ ); } - onMount(() => $contextStore.register(id)); + onMount(() => $contextStore!.register(id)); - let allProps = { ...$$restProps, ...$contextStore.props, id }; + let allProps = { ...$$restProps, ...$contextStore!.props, id } as any; if (passive) delete allProps["onClick"]; diff --git a/src/lib/hooks/use-portal.ts b/src/lib/hooks/use-portal.ts index e86593b..1e07b22 100644 --- a/src/lib/hooks/use-portal.ts +++ b/src/lib/hooks/use-portal.ts @@ -1,12 +1,14 @@ -export function portal(element: HTMLElement, target: HTMLElement) { - target.append(element); +export function portal(element: HTMLElement, target: HTMLElement | null | undefined) { + if (target) { + target.append(element); + } return { update(newTarget: HTMLElement) { target = newTarget; newTarget.append(element); }, destroy() { - if (target.childNodes.length <= 0) { + if (target && target.childNodes.length <= 0) { target.parentElement?.removeChild(target); } }, diff --git a/tsconfig.json b/tsconfig.json index b74bddb..3bc99b6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "module": "es2020", "lib": ["es2020", "DOM"], "target": "es2020", + "strict": true, /** svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript to enforce using \`import type\` instead of \`import\` for Types.