Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Component-selection dropdown/popover doesn't lock background scroll while open

オープン
#1,634 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
frontend

調査の方向性

Start by locating the component-selection dropdown/listbox used for inserting blocks in Keystatic and the related @keystar/ui popover behavior; the issue also mentions UserInterface in @keystatic/core 0.6.9 config.d.ts as a configuration boundary. Reproduce the behavior with the page scrolled, then verify that wheel input scrolls the open dropdown when needed or leaves the background stationary.

索引モデルが issue の本文から書いたものです。

説明

Installed: @keystatic/[email protected], @keystar/[email protected].

Repro steps

  1. Open an entry with a content/blocks field that supports inserting components (an "insert component" or "add block" control that opens a dropdown/listbox of component types).
  2. Scroll the underlying page/form so the insertion point is no longer at the very top, then open that dropdown.
  3. Scroll the mouse wheel or trackpad while the dropdown is open.

Expected: scrolling while the dropdown is open either scrolls the dropdown's own content (if it's long) or does nothing to the background; the underlying page does not scroll behind the open dropdown.

Actual: the underlying page scrolls behind the open dropdown instead of the dropdown owning the scroll, so the dropdown does not lock background scroll while open. Observed during a live editing session while inserting a component into a content field.

Note: this was observed in a live editing session, not reproduced in a separate local setup.

Why this looks like a genuine gap rather than app misconfiguration: the dropdown/listbox is Keystatic's own @keystar/ui component, not something the consuming app supplies. The only UI customization surface in Keystatic's config (UserInterface in @keystatic/core 0.6.9 config.d.ts) is brand and navigation; there is no CSS/theme hook and no way to reach the popover internals from config. Scroll-lock is JS behavior, not stylesheet-overridable, so a consuming app can't add it without depending on uncontracted internal DOM.

Context: multi-locale marketing site; editors regularly insert components (e.g. embeds) into long-form content and lose their place when the page scrolls unexpectedly behind the open menu.

Related but distinct: #1376 (closed) reported the component menu failing to open when the page is scrolled down. Here the menu opens fine but doesn't lock/own scroll while open.

主要言語
TypeScript
スター
2.4k
フォーク
164
平均マージ
5時間 46分
マージ済み PR(30日)
3

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Thinkmill/keystatic のほかの issue

Thinkmill/keystatic の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。