ActionMenu: add preventFocusOnClose
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Empieza leyendo la implementación de ActionMenu.Overlay y sus pruebas de gestión del foco. Añade el comportamiento solicitado de preventFocusOnClose para que quienes lo invoquen puedan omitir la restauración del foco en el ancla del menú, manteniendo el comportamiento actual de forma predeterminada. La tarea estará terminada cuando la prop esté cubierta por pruebas y el caso de uso del editor Markdown pueda gestionar el foco y la selección después de que se cierre el menú.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature request
👋🏾 Hi team! We have a markdown editor use case where it would be helpful to handle focus ourselves when an ActionMenu closes.
Motivation
Repro of our bug (selecting a Preview card option makes the cursor jump back to the start of the doc) is in this PR: https://github.com/github/github-ui/pull/36135
The default behaviour is sensible for most menus, however in our case, selecting an item converts the menu anchor from an inline link into a block Preview node. ActionMenu then closes and restores focus to the original anchor, which has been replaced. Because the Preview is not an editable text position, the browser falls back to the nearest editable text, sometimes at the start of the document. We've worked around it with a double requestAnimationFrame, but ideally we'd like ActionMenu.Overlay to support a preventFocusOnClose prop which we'd use to skip restoring focus to the anchor, then return focus and restore the editor selection ourselves.
Thank you!
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.9k
- Forks
- 691
- Merge medio
- 3 d 6 h
- PR fusionados (30 d)
- 42
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de primer/react
-
FormControl renders duplicate non-choice inputs when layout="horizontal"Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 2 días
-
PageHeader.Title does not seem to accept id propPosiblemente ocupada @minwookshin la tomó hace 6 días. Abiertocomponent: PageHeader react staff
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
primer/react#8474 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
The padding prop seems to have no effect with PageLayout.SidebarPosiblemente ocupada @minwookshin la tomó hace 6 días. Abiertocomponent: PageLayout react staff
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
primer/react#8470 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
bug component: Spinner react
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
primer/react#8423 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Low contrast in SelectAbiertowaiting for author response
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
primer/react#8172 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de primer/react
Issues similares
-
Add: Channel 5 (Singapore) SDAbiertocheck:passed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
OpenSlides/OpenSlides#7180 ·
-
area:claude-code-web area:docs bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anthropics/claude-code#100184 ·
Los mantenedores suelen responder en 1 día
-
Thumbnail generation from video buffers frames at source resolution: 2–3 GB per upload for 4K+ HEVCAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Chocobozzz/PeerTube#7817 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
open-telemetry/opentelemetry-js-contrib#3808 ·
Los mantenedores suelen responder en 2 días