Commit a5b16c29c25 for woocommerce
commit a5b16c29c25f24655598e35fbd85782acbf6618a
Author: Luigi Teschio <gigitux@gmail.com>
Date: Mon Oct 12 14:38:58 2026 +0200
Restore async filter callback TypeScript compatibility (#69602)
* Restore async filter callback type compatibility
* Add changelog entry for async filter callback compatibility
diff --git a/packages/js/components/changelog/wooairr-480-async-filter-callback-types b/packages/js/components/changelog/wooairr-480-async-filter-callback-types
new file mode 100644
index 00000000000..304b4ea2de5
--- /dev/null
+++ b/packages/js/components/changelog/wooairr-480-async-filter-callback-types
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Restore TypeScript compatibility for existing async select filter callbacks.
diff --git a/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx b/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx
index 78ccd81578a..b379b3e76a7 100644
--- a/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx
+++ b/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx
@@ -66,13 +66,15 @@ export default function useAsyncFilter< T >( {
};
}
+/* eslint-disable @typescript-eslint/method-signature-style -- Preserve callback parameter variance for existing TypeScript consumers. */
export type UseAsyncFilterInput< T > = {
- filter: ( value?: string ) => Promise< T[] >;
- onFilterStart?: ( value?: string ) => void;
- onFilterEnd?: ( filteredItems: T[], value?: string ) => void;
- onFilterError?: ( error: Error, value?: string ) => void;
+ filter( value?: string ): Promise< T[] >;
+ onFilterStart?( value?: string ): void;
+ onFilterEnd?( filteredItems: T[], value?: string ): void;
+ onFilterError?( error: Error, value?: string ): void;
debounceTime?: number;
};
+/* eslint-enable @typescript-eslint/method-signature-style */
export type UseAsyncFilterOutput< T > = Pick<
SelectControlProps< T >,