Editor in dialog overlapping another breaks SideMenu and drag-and-drop
Mantenedores costumam responder em até 3 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 50/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- react, typescript
- Domínio
- frontend
Direção de pesquisa
Start in packages/core/src/extensions/SideMenu/SideMenu.ts at findClosestEditorElement, then reproduce the overlapping-editor case using the linked demo. Trace how SideMenu hover detection and drag-and-drop choose an editor; done means the topmost editor handles both interactions without breaking ordinary editor behavior.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What’s broken?
We have a setup with an editor and a button next to it that opens another editor instance in a dialog above it. In areas where the two editors directly overlap, the SideMenu does not appear in the topmost editor. Drag and drop is also not possible in these overlapping areas.
https://github.com/user-attachments/assets/be553b97-812c-487e-9f84-7aa12d7f9e20
The root cause is likely in findClosestEditorElement (in SideMenu.ts) because it does not consider the z-axis stacking order when determining the editor element.
What did you expect to happen?
Option 1
Ensure Sidebar and drag-and-drop interactions only consider the topmost editor.
Option 2
Add an option to exclude specific editors (for example editors behind a dialog) from the hover and drag detection logic.
Steps to reproduce
Having an editor in a dialog above another editor
Demo:
https://react-shadcn-blockno-nf9x.bolt.host
BlockNote version
No response
Environment
No response
Additional context
No response
Contribution
- I'd be interested in contributing a fix for this issue
Sponsor
- I'm a sponsor and would appreciate if you could look into this sooner than later 💖
- Linguagem predominante
- TypeScript
- Estrelas
- 10.2k
- Forks
- 772
- Merge médio
- 6d 17h
- PRs com merge (30d)
- 27
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de TypeCellOS/BlockNote
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
TypeCellOS/BlockNote#2949 · 1 comentário ·
Mantenedores costumam responder em até 3 dias
-
a11y
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
TypeCellOS/BlockNote#2855 ·
Mantenedores costumam responder em até 3 dias
-
a11y
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
TypeCellOS/BlockNote#2829 · 1 comentário ·
Mantenedores costumam responder em até 3 dias
-
a11y
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
TypeCellOS/BlockNote#2824 ·
Mantenedores costumam responder em até 3 dias
-
a11y
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
TypeCellOS/BlockNote#2811 ·
Mantenedores costumam responder em até 3 dias
Todas as issues de TypeCellOS/BlockNote
Issues semelhantes
-
triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
mermaid-js/mermaid-live-editor#2053 ·
Mantenedores costumam responder em até 1 dia
-
factory
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
jessepollak/home#1455 ·
Mantenedores costumam responder em até 1 dia
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
lingdojo/kana-dojo#31227 · 1 comentário · 5 reações ·
Mantenedores costumam responder em até 1 dia
-
mobile: device viewer shows dark status bar icons on its dark backdrop in light mode (Android)Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
appandflow/stim#1838 ·
Mantenedores costumam responder em até 1 dia