From 396fe32c5c0738eeae175a0dbd80c116aa158cab Mon Sep 17 00:00:00 2001 From: Matt DeKok Date: Sun, 23 Nov 2025 16:05:01 -0600 Subject: [PATCH 1/4] fix: improves fields type for generic components --- packages/kit/src/exports/public.d.ts | 14 ++++++++++++-- packages/kit/src/types/private.d.ts | 2 ++ packages/kit/test/types/remote.test.ts | 17 ++++++++++++++++- packages/kit/types/index.d.ts | 13 ++++++++++++- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/packages/kit/src/exports/public.d.ts b/packages/kit/src/exports/public.d.ts index ce45549aa6b3..2b50442ade59 100644 --- a/packages/kit/src/exports/public.d.ts +++ b/packages/kit/src/exports/public.d.ts @@ -15,7 +15,8 @@ import { PrerenderUnseenRoutesHandlerValue, PrerenderOption, RequestOptions, - RouteSegment + RouteSegment, + IsAny } from '../types/private.js'; import { BuildData, SSRNodeLoader, SSRRoute, ValidatedConfig } from 'types'; import { SvelteConfig } from '@sveltejs/vite-plugin-svelte'; @@ -2073,7 +2074,16 @@ export type RemoteForm = { /** The number of pending submissions */ get pending(): number; /** Access form fields using object notation */ - fields: RemoteFormFields; + fields: IsAny extends true + ? RecursiveFormFields + : Input extends void + ? { + /** Validation issues, if any */ + issues(): RemoteFormIssue[] | undefined; + /** Validation issues belonging to this or any of the fields that belong to it, if any */ + allIssues(): RemoteFormIssue[] | undefined; + } + : RemoteFormFields; /** Spread this onto a `