From 79771886fe4e9100c335f154fca18f2ca044887a Mon Sep 17 00:00:00 2001 From: Hector Garcia Date: Mon, 28 Jul 2025 17:26:08 +0000 Subject: [PATCH 1/2] Announce loading prop changes --- packages/react/src/SelectPanel/SelectPanel.tsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/react/src/SelectPanel/SelectPanel.tsx b/packages/react/src/SelectPanel/SelectPanel.tsx index 4543c80111a..5f175aca368 100644 --- a/packages/react/src/SelectPanel/SelectPanel.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.tsx @@ -397,6 +397,23 @@ function Panel({ } }, [inputRef, open]) + // Manage loading announcements when loadingManagedExternally + useEffect(() => { + if (loadingManagedExternally) { + if (isLoading) { + // Delay the announcement a bit, just in case the loading is quick + loadingDelayTimeoutId.current = safeSetTimeout(() => { + announceLoading() + }, LONG_DELAY_MS) + } else { + // If loading is done, we can clear the loading announcement + if (loadingDelayTimeoutId.current) { + safeClearTimeout(loadingDelayTimeoutId.current) + } + } + } + }, [isLoading, loadingManagedExternally, safeSetTimeout, safeClearTimeout]) + // Populate panel with items on first open useEffect(() => { if (loadingManagedExternally) return From 56779a3a7114edca024f5fe9d353176bb638d6b1 Mon Sep 17 00:00:00 2001 From: Hector Garcia Date: Mon, 28 Jul 2025 17:28:56 +0000 Subject: [PATCH 2/2] Add changeset --- .changeset/thin-badgers-struggle.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thin-badgers-struggle.md diff --git a/.changeset/thin-badgers-struggle.md b/.changeset/thin-badgers-struggle.md new file mode 100644 index 00000000000..4d88dc1a64d --- /dev/null +++ b/.changeset/thin-badgers-struggle.md @@ -0,0 +1,5 @@ +--- +"@primer/react": patch +--- + +SelectPanel announces loading prop changes