diff --git a/COMPONENT_INDEX.md b/COMPONENT_INDEX.md
index 7d246c9c..34f48e38 100644
--- a/COMPONENT_INDEX.md
+++ b/COMPONENT_INDEX.md
@@ -2603,6 +2603,8 @@ export type NumberInputTranslationId = "increment" | "decrement";
| mouseenter | forwarded | -- |
| mouseleave | forwarded | -- |
| input | forwarded | -- |
+| focus | forwarded | -- |
+| blur | forwarded | -- |
## `NumberInputSkeleton`
diff --git a/docs/src/COMPONENT_API.json b/docs/src/COMPONENT_API.json
index a2128a99..c9e8d2fe 100644
--- a/docs/src/COMPONENT_API.json
+++ b/docs/src/COMPONENT_API.json
@@ -7232,7 +7232,9 @@
{ "type": "forwarded", "name": "mouseover", "element": "div" },
{ "type": "forwarded", "name": "mouseenter", "element": "div" },
{ "type": "forwarded", "name": "mouseleave", "element": "div" },
- { "type": "forwarded", "name": "input", "element": "input" }
+ { "type": "forwarded", "name": "input", "element": "input" },
+ { "type": "forwarded", "name": "focus", "element": "input" },
+ { "type": "forwarded", "name": "blur", "element": "input" }
],
"typedefs": [
{
diff --git a/src/NumberInput/NumberInput.svelte b/src/NumberInput/NumberInput.svelte
index b7674572..d620cc40 100644
--- a/src/NumberInput/NumberInput.svelte
+++ b/src/NumberInput/NumberInput.svelte
@@ -215,6 +215,8 @@
on:input="{({ target }) => {
inputValue = target.value;
}}"
+ on:focus
+ on:blur
/>
{#if invalid}
diff --git a/types/NumberInput/NumberInput.svelte.d.ts b/types/NumberInput/NumberInput.svelte.d.ts
index b05fb9f6..5e63cfda 100644
--- a/types/NumberInput/NumberInput.svelte.d.ts
+++ b/types/NumberInput/NumberInput.svelte.d.ts
@@ -153,6 +153,8 @@ export default class NumberInput extends SvelteComponentTyped<
mouseenter: WindowEventMap["mouseenter"];
mouseleave: WindowEventMap["mouseleave"];
input: WindowEventMap["input"];
+ focus: WindowEventMap["focus"];
+ blur: WindowEventMap["blur"];
},
{ label: {} }
> {