From 5b4b29f5b5c560ab76a286123803c35e4230d6b6 Mon Sep 17 00:00:00 2001 From: Tyler Jones Date: Fri, 9 Jan 2026 18:21:12 +0000 Subject: [PATCH 1/6] init commit --- package-lock.json | 22 +++++++++---------- packages/react/package.json | 2 +- .../FilteredActionList/FilteredActionList.tsx | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 27cea364646..a2a8666b9ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@primer/react": "38.6.2", + "@primer/react": "38.7.0", "@primer/styled-react": "1.0.2", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", @@ -95,7 +95,7 @@ "name": "example-nextjs", "version": "0.0.0", "dependencies": { - "@primer/react": "38.6.2", + "@primer/react": "38.7.0", "@primer/styled-react": "1.0.2", "next": "^16.0.10", "react": "^19.2.0", @@ -138,7 +138,7 @@ "version": "0.0.0", "dependencies": { "@primer/octicons-react": "^19.21.0", - "@primer/react": "38.6.2", + "@primer/react": "38.7.0", "@primer/styled-react": "1.0.2", "clsx": "^2.1.1", "next": "^16.0.10", @@ -6395,12 +6395,6 @@ "prettier": "*" } }, - "node_modules/@primer/behaviors": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.9.1.tgz", - "integrity": "sha512-wssAE1ezYP3rZjt/dOPju3E7s3wsNkM08QoX33yA6hXUfuXTbGkEKsYnnbLT691/S/sNoZR2GMAkSkIyNDDyJA==", - "license": "MIT" - }, "node_modules/@primer/css": { "version": "21.5.1", "dev": true, @@ -26413,7 +26407,7 @@ }, "packages/react": { "name": "@primer/react", - "version": "38.6.2", + "version": "38.7.0", "license": "MIT", "dependencies": { "@github/mini-throttle": "^2.1.1", @@ -26421,7 +26415,7 @@ "@github/tab-container-element": "^4.8.2", "@lit-labs/react": "1.2.1", "@oddbird/popover-polyfill": "^0.5.2", - "@primer/behaviors": "^1.9.1", + "@primer/behaviors": "0.0.0-20260109180928", "@primer/live-region-element": "^0.7.1", "@primer/octicons-react": "^19.21.0", "@primer/primitives": "10.x || 11.x", @@ -26554,6 +26548,12 @@ "version": "0.5.2", "license": "BSD-3-Clause" }, + "packages/react/node_modules/@primer/behaviors": { + "version": "0.0.0-20260109180928", + "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-0.0.0-20260109180928.tgz", + "integrity": "sha512-EFXe8rC+nIQ39h8TBTSLhcVhIvMD4SHtPJlwYez3GM8YyjjrZaNC89l5lPc+w242hkgkDVi3E1MU9zyIRSLJyQ==", + "license": "MIT" + }, "packages/react/node_modules/dotenv": { "version": "16.6.1", "dev": true, diff --git a/packages/react/package.json b/packages/react/package.json index 0b4bb398488..934f375cfd0 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -79,7 +79,7 @@ "@github/tab-container-element": "^4.8.2", "@lit-labs/react": "1.2.1", "@oddbird/popover-polyfill": "^0.5.2", - "@primer/behaviors": "^1.9.1", + "@primer/behaviors": "0.0.0-20260109180928", "@primer/live-region-element": "^0.7.1", "@primer/octicons-react": "^19.21.0", "@primer/primitives": "10.x || 11.x", diff --git a/packages/react/src/FilteredActionList/FilteredActionList.tsx b/packages/react/src/FilteredActionList/FilteredActionList.tsx index 90983ec2a75..33b243872b2 100644 --- a/packages/react/src/FilteredActionList/FilteredActionList.tsx +++ b/packages/react/src/FilteredActionList/FilteredActionList.tsx @@ -258,7 +258,7 @@ export function FilteredActionList({ activeDescendantFocus: inputRef, onActiveDescendantChanged: (current, previous, directlyActivated) => { activeDescendantRef.current = current - if (current && scrollContainerRef.current && directlyActivated) { + if (current && scrollContainerRef.current && (directlyActivated || focusPrependedElements)) { scrollIntoView(current, scrollContainerRef.current, menuScrollMargins) } From 05d3f7546e79b8e09175fd8bbb68f1d73ca51259 Mon Sep 17 00:00:00 2001 From: Tyler Jones Date: Mon, 12 Jan 2026 17:00:56 +0000 Subject: [PATCH 2/6] Change scroll behavior --- packages/react/src/FilteredActionList/FilteredActionList.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react/src/FilteredActionList/FilteredActionList.tsx b/packages/react/src/FilteredActionList/FilteredActionList.tsx index 33b243872b2..07ff21ac981 100644 --- a/packages/react/src/FilteredActionList/FilteredActionList.tsx +++ b/packages/react/src/FilteredActionList/FilteredActionList.tsx @@ -276,10 +276,10 @@ export function FilteredActionList({ if (activeDescendantRef.current && scrollContainerRef.current) { scrollIntoView(activeDescendantRef.current, scrollContainerRef.current, { ...menuScrollMargins, - behavior: 'auto', + behavior: focusPrependedElements ? 'instant' : 'auto', // TODO: Change to prop }) } - }, [items, inputRef, scrollContainerRef]) + }, [items, inputRef, scrollContainerRef, focusPrependedElements]) useEffect(() => { if (usingRovingTabindex) { From 6a2cc312e06004d1e2962294c879df880554c36d Mon Sep 17 00:00:00 2001 From: Tyler Jones Date: Mon, 12 Jan 2026 18:29:57 +0000 Subject: [PATCH 3/6] Add for `onActiveDescendantChanged` --- packages/react/src/FilteredActionList/FilteredActionList.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react/src/FilteredActionList/FilteredActionList.tsx b/packages/react/src/FilteredActionList/FilteredActionList.tsx index 07ff21ac981..4944bf7b572 100644 --- a/packages/react/src/FilteredActionList/FilteredActionList.tsx +++ b/packages/react/src/FilteredActionList/FilteredActionList.tsx @@ -259,7 +259,10 @@ export function FilteredActionList({ onActiveDescendantChanged: (current, previous, directlyActivated) => { activeDescendantRef.current = current if (current && scrollContainerRef.current && (directlyActivated || focusPrependedElements)) { - scrollIntoView(current, scrollContainerRef.current, menuScrollMargins) + scrollIntoView(current, scrollContainerRef.current, { + ...menuScrollMargins, + behavior: focusPrependedElements ? 'instant' : 'auto', + }) } onActiveDescendantChanged?.(current, previous, directlyActivated) From b3849c7e96d643fb83a9f46dd3e23c704e7e56db Mon Sep 17 00:00:00 2001 From: Tyler Jones Date: Mon, 12 Jan 2026 21:05:12 +0000 Subject: [PATCH 4/6] Add new prop `scrollBehavior` to `FilteredActionList` --- .../src/FilteredActionList/FilteredActionList.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/react/src/FilteredActionList/FilteredActionList.tsx b/packages/react/src/FilteredActionList/FilteredActionList.tsx index 4944bf7b572..b356e07f71b 100644 --- a/packages/react/src/FilteredActionList/FilteredActionList.tsx +++ b/packages/react/src/FilteredActionList/FilteredActionList.tsx @@ -106,6 +106,12 @@ export interface FilteredActionListProps extends Partial { if (usingRovingTabindex) { From 3454798dcfe6e14cba8982d56fe4a4191d6d917c Mon Sep 17 00:00:00 2001 From: Tyler Jones Date: Wed, 14 Jan 2026 18:08:57 +0000 Subject: [PATCH 5/6] Bump to `1.10.0` --- package-lock.json | 14 +++++++------- packages/react/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index a2a8666b9ca..4019ee3da7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6395,6 +6395,12 @@ "prettier": "*" } }, + "node_modules/@primer/behaviors": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.10.0.tgz", + "integrity": "sha512-+GaAqCJuoYVf0Sy67mJfhw7k17nrCnfanI4H6NFEyToDC1ghrOC9Yl7627WTWpqGg+1lPhjF7OHF7VClLz52oA==", + "license": "MIT" + }, "node_modules/@primer/css": { "version": "21.5.1", "dev": true, @@ -26415,7 +26421,7 @@ "@github/tab-container-element": "^4.8.2", "@lit-labs/react": "1.2.1", "@oddbird/popover-polyfill": "^0.5.2", - "@primer/behaviors": "0.0.0-20260109180928", + "@primer/behaviors": "^1.10.0", "@primer/live-region-element": "^0.7.1", "@primer/octicons-react": "^19.21.0", "@primer/primitives": "10.x || 11.x", @@ -26548,12 +26554,6 @@ "version": "0.5.2", "license": "BSD-3-Clause" }, - "packages/react/node_modules/@primer/behaviors": { - "version": "0.0.0-20260109180928", - "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-0.0.0-20260109180928.tgz", - "integrity": "sha512-EFXe8rC+nIQ39h8TBTSLhcVhIvMD4SHtPJlwYez3GM8YyjjrZaNC89l5lPc+w242hkgkDVi3E1MU9zyIRSLJyQ==", - "license": "MIT" - }, "packages/react/node_modules/dotenv": { "version": "16.6.1", "dev": true, diff --git a/packages/react/package.json b/packages/react/package.json index 934f375cfd0..af22abd888c 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -79,7 +79,7 @@ "@github/tab-container-element": "^4.8.2", "@lit-labs/react": "1.2.1", "@oddbird/popover-polyfill": "^0.5.2", - "@primer/behaviors": "0.0.0-20260109180928", + "@primer/behaviors": "^1.10.0", "@primer/live-region-element": "^0.7.1", "@primer/octicons-react": "^19.21.0", "@primer/primitives": "10.x || 11.x", From f1d6be8cf06934d8c9bc3365195bcf8c67a478b0 Mon Sep 17 00:00:00 2001 From: Tyler Jones Date: Wed, 14 Jan 2026 18:33:34 +0000 Subject: [PATCH 6/6] Add changeset --- .changeset/slow-seas-design.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/slow-seas-design.md diff --git a/.changeset/slow-seas-design.md b/.changeset/slow-seas-design.md new file mode 100644 index 00000000000..d9c6196e31d --- /dev/null +++ b/.changeset/slow-seas-design.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +FilteredActionList: Adds new prop `scrollBehavior` to allow customization of scroll behavior