diff --git a/.changeset/eight-swans-occur.md b/.changeset/eight-swans-occur.md new file mode 100644 index 0000000000..f2436dd5fe --- /dev/null +++ b/.changeset/eight-swans-occur.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: add types for popover attributes and events diff --git a/packages/svelte/elements.d.ts b/packages/svelte/elements.d.ts index 93949b59d7..25342b07d1 100644 --- a/packages/svelte/elements.d.ts +++ b/packages/svelte/elements.d.ts @@ -59,6 +59,7 @@ export type WheelEventHandler = EventHandler = EventHandler; export type TransitionEventHandler = EventHandler; export type MessageEventHandler = EventHandler; +export type ToggleEventHandler = EventHandler; // // DOM Attributes @@ -94,8 +95,9 @@ export interface DOMAttributes { 'on:load'?: EventHandler | undefined | null; 'on:error'?: EventHandler | undefined | null; // also a Media Event - // Detail Events - 'on:toggle'?: EventHandler | undefined | null; + // Popover Events + 'on:beforetoggle'?: ToggleEventHandler | undefined | null; + 'on:toggle'?: ToggleEventHandler | undefined | null; // Keyboard Events 'on:keydown'?: KeyboardEventHandler | undefined | null; @@ -517,6 +519,7 @@ export interface HTMLAttributes extends AriaAttributes, D title?: string | undefined | null; translate?: 'yes' | 'no' | '' | undefined | null; inert?: boolean | undefined | null; + popover?: 'auto' | 'manual' | '' | undefined | null; // Unknown radiogroup?: string | undefined | null; // , @@ -584,9 +587,9 @@ export interface HTMLAttributes extends AriaAttributes, D 'bind:innerText'?: string | undefined | null; readonly 'bind:contentRect'?: DOMRectReadOnly | undefined | null; - readonly 'bind:contentBoxSize'?: Array | undefined | null; - readonly 'bind:borderBoxSize'?: Array | undefined | null; - readonly 'bind:devicePixelContentBoxSize'?: Array | undefined | null; + readonly 'bind:contentBoxSize'?: ResizeObserverSize[] | undefined | null; + readonly 'bind:borderBoxSize'?: ResizeObserverSize[] | undefined | null; + readonly 'bind:devicePixelContentBoxSize'?: ResizeObserverSize[] | undefined | null; // SvelteKit 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null; @@ -663,6 +666,8 @@ export interface HTMLButtonAttributes extends HTMLAttributes name?: string | undefined | null; type?: 'submit' | 'reset' | 'button' | undefined | null; value?: string | string[] | number | undefined | null; + popovertarget?: string | undefined | null; + popovertargetaction?: 'toggle' | 'show' | 'hide' | undefined | null; } export interface HTMLCanvasAttributes extends HTMLAttributes { @@ -687,6 +692,8 @@ export interface HTMLDetailsAttributes extends HTMLAttributes | undefined | null; } export interface HTMLDelAttributes extends HTMLAttributes {