diff --git a/.changeset/update-payload-types.md b/.changeset/update-payload-types.md new file mode 100644 index 00000000..03f388cb --- /dev/null +++ b/.changeset/update-payload-types.md @@ -0,0 +1,5 @@ +--- +"@ainsleydev/sveltekit-helper": patch +--- + +Make `Media.alt` nullable and extend `PayloadMediaProps` with `HTMLVideoAttributes`, `HTMLImgAttributes`, and `HTMLPictureAttributes` to allow video, image, and picture props to be spread onto the rendered element. diff --git a/packages/sveltekit-helper/src/components/payload/types.ts b/packages/sveltekit-helper/src/components/payload/types.ts index 196ade47..7496e9ee 100644 --- a/packages/sveltekit-helper/src/components/payload/types.ts +++ b/packages/sveltekit-helper/src/components/payload/types.ts @@ -1,4 +1,9 @@ -import type { HTMLAttributes } from 'svelte/elements'; +import type { + HTMLAttributes, + HTMLImgAttributes, + HTMLPictureAttributes, + HTMLVideoAttributes, +} from 'svelte/elements'; export type MediaSizes = Record< string, @@ -11,18 +16,21 @@ export type MediaSizes = Record< | undefined >; -export type PayloadMediaProps = HTMLAttributes & { - data: Media; - loading?: 'lazy' | 'eager' | undefined; - className?: string; - breakpointBuffer?: number; - maxWidth?: number | undefined; - onload?: (event: Event) => void; -}; +export type PayloadMediaProps = HTMLAttributes & + HTMLVideoAttributes & + HTMLImgAttributes & + HTMLPictureAttributes & { + data: Media; + loading?: 'lazy' | 'eager' | undefined; + className?: string; + breakpointBuffer?: number; + maxWidth?: number | undefined; + onload?: (event: Event) => void; + }; export type Media = { id: number; - alt?: string; + alt?: string | null; updatedAt: string; createdAt: string; deletedAt?: string | null;