diff --git a/.changeset/five-wasps-hunt.md b/.changeset/five-wasps-hunt.md
new file mode 100644
index 000000000..ff71cfcac
--- /dev/null
+++ b/.changeset/five-wasps-hunt.md
@@ -0,0 +1,5 @@
+---
+'@kitajs/html': minor
+---
+
+Add missing on\* events on select jsx element type definition
diff --git a/packages/html/jsx.d.ts b/packages/html/jsx.d.ts
index 471ac0121..f15ad8e8b 100644
--- a/packages/html/jsx.d.ts
+++ b/packages/html/jsx.d.ts
@@ -279,9 +279,9 @@ declare namespace JSX {
ismap?: undefined | string;
width?: undefined | number | string;
height?: undefined | number | string;
- decoding?: 'sync' | 'async' | 'auto' | AnyString;
- loading?: 'eager' | 'lazy' | AnyString;
- srcset?: string;
+ decoding?: undefined | 'sync' | 'async' | 'auto' | AnyString;
+ loading?: undefined | 'eager' | 'lazy' | AnyString;
+ srcset?: undefined | string;
}
interface HtmlInputTag extends HtmlTag {
@@ -459,7 +459,7 @@ declare namespace JSX {
onclose?: undefined | string;
}
- interface HtmlSelectTag extends HtmlTag {
+ interface HtmlSelectTag extends HtmlTag, FormEvents {
autofocus?: undefined | boolean;
disabled?: undefined | boolean;
form?: undefined | string;
@@ -467,6 +467,7 @@ declare namespace JSX {
name?: undefined | string;
required?: undefined | boolean;
size?: undefined | string;
+ autocomplete?: undefined | string;
}
interface HtmlSourceTag extends HtmlTag {
@@ -653,7 +654,7 @@ declare namespace JSX {
*
* @see https://github.com/reactjs/rfcs/pull/107
*/
- key?: never;
+ key?: undefined | never;
}
interface ElementChildrenAttribute {
diff --git a/packages/html/test/html-standards.test.tsx b/packages/html/test/html-standards.test.tsx
new file mode 100644
index 000000000..0fd9c02ed
--- /dev/null
+++ b/packages/html/test/html-standards.test.tsx
@@ -0,0 +1,14 @@
+import assert from 'node:assert';
+import test, { describe } from 'node:test';
+
+describe('Expose correct html standards types', () => {
+ test('Select', () => {
+ assert.equal(
+ '',
+
+ );
+ });
+});