@aiquants/virtualscroll 2.6.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -0
- package/README.md +17 -13
- package/dist/ScrollPane.d.cts +15 -0
- package/dist/ScrollPane.d.ts +15 -0
- package/dist/ScrollPane.d.ts.map +1 -1
- package/dist/VirtualScroll.d.cts +20 -9
- package/dist/VirtualScroll.d.ts +20 -9
- package/dist/VirtualScroll.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1205 -1210
- package/package.json +1 -1
- package/src/ScrollPane.tsx +44 -9
- package/src/VirtualScroll.tsx +28 -42
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,62 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@aiquants/virtualscroll` are documented here.
|
|
4
4
|
|
|
5
|
+
## 3.0.0 (2026-08-20)
|
|
6
|
+
|
|
7
|
+
**💥 BREAKING: `horizontalKeyInputs` から `"shift-arrow"` を撤去。** `Shift + ←/→` による横キーボード
|
|
8
|
+
スクロールは実装取りやめとなり、Shift 併用の矢印キーは**無条件で**ブラウザへ返ります (選択範囲の伸縮)。
|
|
9
|
+
型は `readonly ("arrow" | "shift-arrow")[]` → `readonly "arrow"[]` に狭まります。
|
|
10
|
+
|
|
11
|
+
**撤去の理由** — 2.x の「行内に選択があるときだけ譲る」検出 (`getSelection()` + 交差判定) には実測で
|
|
12
|
+
確認された構造的欠陥が残り、どの改良案も別の正しいユーザー意図を誤判定するため、機能ごと撤去しました:
|
|
13
|
+
|
|
14
|
+
- **Shadow DOM 内の選択が検出できない**: Chrome は `document.getSelection()` を retarget するため
|
|
15
|
+
保護が無言にすり抜け、選択中でも `Shift + →` が横スクロールへ奪われる (実測・chromium 148)。
|
|
16
|
+
可搬な代替 API が存在しない (`ShadowRoot.getSelection()` は非標準、`getComposedRanges()` は対応限定)。
|
|
17
|
+
- **`Ctrl+A` で全面ロックアウト**: ページ全体の選択は全行と交差するため、選択を解くまで一覧全体で
|
|
18
|
+
`Shift + ←/→` が死ぬ (実測・chromium 148)。
|
|
19
|
+
- **選択を畳むキーボード手段が無い**: 非編集領域の選択を Chrome は矢印キーで畳まないため、
|
|
20
|
+
一度ドラッグ選択すると `Shift + ←/→` がクリックまで復帰しない。
|
|
21
|
+
|
|
22
|
+
**移行**: `["shift-arrow"]` / `["arrow", "shift-arrow"]` を渡していた場合は `["arrow"]` へ変更して
|
|
23
|
+
ください。型を迂回して実行時に旧語彙の配列を渡しても**不活性** (何も消費しない) であり、旧挙動への
|
|
24
|
+
フォールバックはありません。Shift 系の横入力が必要な場合は `shift + ホイール` が引き続き使えます
|
|
25
|
+
(選択と衝突しません)。なお撤去は横矢印のみで、縦の `Shift + ↑/↓` によるフォーカス走査は従来どおりです
|
|
26
|
+
(ファイラ型のレンジ選択が消費側で成立するための意図的な非対称)。
|
|
27
|
+
素の `←/→` の挙動・`horizontalKeyStep`・発火条件 (行フォーカス前提、`preventDefault` のみで伝播は
|
|
28
|
+
止めない、等) はすべて従来どおりです。あわせて内部の選択検出 (`hasTextSelectionWithin`) を削除しました。
|
|
29
|
+
|
|
30
|
+
## 2.7.0 (2026-08-20)
|
|
31
|
+
|
|
32
|
+
**端でホイールがページへ連鎖する。** ネイティブのスクロール領域と同じく、その向きへ**もう動けない**
|
|
33
|
+
縦ホイールは消費されず祖先 (ページ) のスクロールへ連鎖します (A-2、スクロールトラップの解消)。
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- **端でのスクロールトラップ (A-2)** — `isScrollable` が「そもそもスクロールできる寸法か」という静的
|
|
38
|
+
判定だったため、位置 0 / 最大に貼り付いていてもホイールを消費し、背後のページが動かなかった
|
|
39
|
+
(2.6.0 の既知の限界。実測: ペイン外では 400px 動くページが最大到達済みペイン上では 0px)。
|
|
40
|
+
「実効 delta の向き × 現在の位置 vs committed 寸法由来の端」の判定を `applyWheel` に追加。端に**達する**ノッチは部分消費
|
|
41
|
+
して端でちょうど止まり、**次の**ノッチから連鎖する — ネイティブと同じ段付き。
|
|
42
|
+
`useWheelBridge` 経由 (ペイン外の帯) も同じシームを通るため自動的に一貫する。
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- ❗ **既定挙動の変更**: 端に達した後のホイールは preventDefault されなくなった。従来のトラップに
|
|
47
|
+
依存していた消費側 (モーダル内の一覧など背後を絶対に動かしたくない場合) は
|
|
48
|
+
**`behaviorOptions.overscrollBehavior: "contain"`** (ScrollPane 直接なら `overscrollBehavior` prop) で
|
|
49
|
+
明示的に維持できる (CSS `overscroll-behavior` に合わせた語彙)。
|
|
50
|
+
- 対象は**縦ホイールのみ**。横成分は `onWheelHorizontal` の所有者 (消費側) の責務、ポインタドラッグ /
|
|
51
|
+
タッチの連鎖は慣性譲渡が別問題のため対象外 (既知の限界として残る)。
|
|
52
|
+
|
|
53
|
+
### Notes
|
|
54
|
+
|
|
55
|
+
- デモに `/overscroll` (ページに縦あふれを持つ連鎖検証ルート) を追加。
|
|
56
|
+
- ❗ E2E 作者向けの罠 (テスト仕様書 §6 に詳細): 離散的な合成ホイールを**ペインより上**のページ要素で
|
|
57
|
+
打つと、compositor が先にページをスクロールし、イベント配送時の hit-test が「ずり上がってきた行」に
|
|
58
|
+
当たって 1 ノッチがページとペインの両方へ入る (実測: listener 内の rect が移動済みの座標を示す)。
|
|
59
|
+
実ジェスチャはスクロールラッチで保護される。陽性コントロールの打点は**ペインより下**に取ること。
|
|
60
|
+
|
|
5
61
|
## 2.6.0 (2026-08-20)
|
|
6
62
|
|
|
7
63
|
**中断されたトランジションでもスクロールが壊れない。** `startTransition` + `Suspense` で一覧の行数を
|
package/README.md
CHANGED
|
@@ -238,9 +238,12 @@ element until the element itself is garbage-collected.
|
|
|
238
238
|
The ledger is keyed **per element**, so one hook can serve several bands (a header and a footer) without
|
|
239
239
|
them fighting over a single slot.
|
|
240
240
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
241
|
+
**Wheel scrolling chains to the page at the edges** (like a native scroll container). A vertical wheel
|
|
242
|
+
that cannot move the list any further in its own direction is left to the ancestors, so a user wheeling
|
|
243
|
+
down a long page passes through the list instead of getting trapped. The notch that *reaches* the edge
|
|
244
|
+
is consumed (partial movement, stops exactly at the edge); the *next* notch chains — the same stepping a
|
|
245
|
+
native scroller has. Set `behaviorOptions.overscrollBehavior: "contain"` to keep the pre-2.7.0 trapping
|
|
246
|
+
(e.g. a list inside a modal where the page behind must never move).
|
|
244
247
|
|
|
245
248
|
⚠️ **`onWheel` cannot do this.** React 19 registers `onWheel` as a passive listener, so `preventDefault()`
|
|
246
249
|
is ignored and the page scrolls instead. The hook attaches a `{ passive: false }` listener itself.
|
|
@@ -263,14 +266,15 @@ With `onWheelHorizontal` wired **and `behaviorOptions.enableKeyboardNavigation`
|
|
|
263
266
|
| Value | Keys | Use it when |
|
|
264
267
|
| --- | --- | --- |
|
|
265
268
|
| `[]` (default) | — | Never steal the row's own arrow handling |
|
|
266
|
-
| `["
|
|
267
|
-
| `["arrow"]` | `←/→` | Grids that bind `Shift + ←/→` to range selection |
|
|
268
|
-
| `["arrow", "shift-arrow"]` | both | Rows that use no arrow keys at all |
|
|
269
|
+
| `["arrow"]` | `←/→` | Lists that want keyboard access to the horizontal axis |
|
|
269
270
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
`Shift + ←/→` is **never** consumed (the `"shift-arrow"` input was removed in 3.0.0): in the browser it
|
|
272
|
+
extends the text selection, and the 2.x "yield only while a selection exists" detection had structural
|
|
273
|
+
defects — selections inside Shadow DOM are invisible to `document.getSelection()` (the guard silently
|
|
274
|
+
fails), and `Ctrl+A` makes every row intersect the selection, locking horizontal keys out until the
|
|
275
|
+
selection is cleared. Shift-flavored horizontal input remains available via `shift + wheel`, which does
|
|
276
|
+
not conflict with selection. The prop stays an array (one vocabulary entry today) to match
|
|
277
|
+
`behaviorOptions.pointerDragInputs` and to keep future additions non-breaking.
|
|
274
278
|
|
|
275
279
|
The default is empty on purpose: the package's row key handler runs in the **capture** phase, ahead of
|
|
276
280
|
your row's own handler. When it consumes a key it calls `preventDefault()` only and deliberately does
|
|
@@ -282,8 +286,7 @@ It also fires only when the row **itself** is the event target. Focus sitting on
|
|
|
282
286
|
row — a `role="slider"` cell, a link, a nested `overflow-x:auto` region — is never hijacked, so you do
|
|
283
287
|
not have to avoid `["arrow"]` just because your rows contain arrow-key widgets.
|
|
284
288
|
|
|
285
|
-
`
|
|
286
|
-
can still extend a selection. `horizontalKeyStep` (default 40) must be finite and positive; anything
|
|
289
|
+
`horizontalKeyStep` (default 40) must be finite and positive; anything
|
|
287
290
|
else logs a warning and leaves the key untouched rather than silently substituting the default.
|
|
288
291
|
|
|
289
292
|
⚠️ **This does nothing when `enableKeyboardNavigation` is `false`** — the row key handler is what reads
|
|
@@ -368,7 +371,7 @@ exists in the DOM.
|
|
|
368
371
|
| `onScroll` | `(position: number, totalHeight: number) => void` | ❌ | Scroll event handler |
|
|
369
372
|
| `onRangeChange` | `(range: VirtualScrollRange) => void` | ❌ | Range change handler |
|
|
370
373
|
| `onWheelHorizontal` | `(deltaX: number) => void` | ❌ | Opt-in horizontal delegation. Horizontal-dominant wheel / trackpad gestures (and shift+wheel) are delegated to this handler so the parent can implement horizontal scrolling. ⚠️ **Keyboard deltas arrive here too** when `horizontalKeyInputs` is set. When omitted, horizontal gestures bypass vertical scrolling so parent native scrolling works. See [Horizontal Scrolling](#horizontal-scrolling). |
|
|
371
|
-
| `horizontalKeyInputs` | `readonly
|
|
374
|
+
| `horizontalKeyInputs` | `readonly "arrow"[]` | ❌ | Keyboard gestures that emit a horizontal delta through `onWheelHorizontal` (default: `[]`, so row-level arrow handling is never stolen). `Shift + ←/→` is never consumed. Fires only when the row itself is the event target. ⚠️ Requires `behaviorOptions.enableKeyboardNavigation` (default `true`) — with it off the rows have no key handler at all and this prop does nothing (the package warns) |
|
|
372
375
|
| `horizontalKeyStep` | `number` | ❌ | Pixels per horizontal arrow press (default: 40). Must be finite and positive; anything else warns and leaves the key untouched |
|
|
373
376
|
| `background` | `ReactNode` | ❌ | Background element |
|
|
374
377
|
| `initialScrollIndex` | `number` | ❌ | Initial scroll index |
|
|
@@ -402,6 +405,7 @@ exists in the DOM.
|
|
|
402
405
|
| `enableKeyboardNavigation` | `boolean` | Enable keyboard navigation (default: true). Arrow / Page keys move row focus. ⚠️ They fire **only when the row wrapper itself is the event target** — focus inside a row (a `role="slider"` cell, a link, a nested scroll region) keeps its own keys |
|
|
403
406
|
| `wheelSpeedMultiplier` | `number` | Multiplier for mouse wheel scrolling speed (default: 1) |
|
|
404
407
|
| `inertiaOptions` | `ScrollPaneInertiaOptions` | Physics tuning for drag inertia |
|
|
408
|
+
| `overscrollBehavior` | `"auto" \| "contain"` | Wheel behavior at the edges (default `"auto"` = chain to ancestors like a native scroller; `"contain"` = keep consuming, pre-2.7.0 trapping) |
|
|
405
409
|
| `clipItemHeight` | `boolean` | Whether to clip item height (default: false) |
|
|
406
410
|
| `resetOnGetItemHeightChange` | `boolean` | Whether to reset internal height cache when `getItemHeight` changes (default: false) |
|
|
407
411
|
|
package/dist/ScrollPane.d.cts
CHANGED
|
@@ -91,6 +91,21 @@ export type ScrollPaneProps = {
|
|
|
91
91
|
renderThumbOverlay?: (props: ScrollBarThumbOverlayRenderProps) => React.ReactNode;
|
|
92
92
|
/** Multiplier applied to wheel delta for faster or slower scrolling. / スクロール速度を調整するためのホイールデルタの倍率。 */
|
|
93
93
|
wheelSpeedMultiplier?: number;
|
|
94
|
+
/**
|
|
95
|
+
* How wheel input behaves at the pane's edges (default: "auto").
|
|
96
|
+
* ペインの端でホイールがどう振る舞うか (既定: "auto")。
|
|
97
|
+
*
|
|
98
|
+
* - `"auto"` (既定): その向きへ**もう動けない**縦ホイールは消費せず、祖先 (ページ) の
|
|
99
|
+
* スクロールへ連鎖させる。ネイティブのスクロール領域と同じ挙動
|
|
100
|
+
* (CSS `overscroll-behavior: auto` 相当)。端に**達する**ノッチは部分消費して端で止まり、
|
|
101
|
+
* **次の**ノッチから連鎖する (ネイティブと同じ段付き)。
|
|
102
|
+
* - `"contain"`: 端でも消費し続け、ページへ連鎖させない (2.6.0 以前の挙動)。
|
|
103
|
+
* モーダル内の一覧など「背後を絶対に動かしたくない」消費側向け。
|
|
104
|
+
*
|
|
105
|
+
* ❗ 対象は**縦ホイールのみ**。横成分は `onWheelHorizontal` の所有者 (消費側) の責務であり、
|
|
106
|
+
* ポインタドラッグ / タッチの連鎖はネイティブ相当の慣性譲渡が別問題のため対象外。
|
|
107
|
+
*/
|
|
108
|
+
overscrollBehavior?: "auto" | "contain";
|
|
94
109
|
/**
|
|
95
110
|
* Callback delegating horizontal wheel/trackpad delta to an upstream owner.
|
|
96
111
|
* When provided, horizontal-dominant (or shift+wheel) gestures are consumed here
|
package/dist/ScrollPane.d.ts
CHANGED
|
@@ -91,6 +91,21 @@ export type ScrollPaneProps = {
|
|
|
91
91
|
renderThumbOverlay?: (props: ScrollBarThumbOverlayRenderProps) => React.ReactNode;
|
|
92
92
|
/** Multiplier applied to wheel delta for faster or slower scrolling. / スクロール速度を調整するためのホイールデルタの倍率。 */
|
|
93
93
|
wheelSpeedMultiplier?: number;
|
|
94
|
+
/**
|
|
95
|
+
* How wheel input behaves at the pane's edges (default: "auto").
|
|
96
|
+
* ペインの端でホイールがどう振る舞うか (既定: "auto")。
|
|
97
|
+
*
|
|
98
|
+
* - `"auto"` (既定): その向きへ**もう動けない**縦ホイールは消費せず、祖先 (ページ) の
|
|
99
|
+
* スクロールへ連鎖させる。ネイティブのスクロール領域と同じ挙動
|
|
100
|
+
* (CSS `overscroll-behavior: auto` 相当)。端に**達する**ノッチは部分消費して端で止まり、
|
|
101
|
+
* **次の**ノッチから連鎖する (ネイティブと同じ段付き)。
|
|
102
|
+
* - `"contain"`: 端でも消費し続け、ページへ連鎖させない (2.6.0 以前の挙動)。
|
|
103
|
+
* モーダル内の一覧など「背後を絶対に動かしたくない」消費側向け。
|
|
104
|
+
*
|
|
105
|
+
* ❗ 対象は**縦ホイールのみ**。横成分は `onWheelHorizontal` の所有者 (消費側) の責務であり、
|
|
106
|
+
* ポインタドラッグ / タッチの連鎖はネイティブ相当の慣性譲渡が別問題のため対象外。
|
|
107
|
+
*/
|
|
108
|
+
overscrollBehavior?: "auto" | "contain";
|
|
94
109
|
/**
|
|
95
110
|
* Callback delegating horizontal wheel/trackpad delta to an upstream owner.
|
|
96
111
|
* When provided, horizontal-dominant (or shift+wheel) gestures are consumed here
|
package/dist/ScrollPane.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollPane.d.ts","sourceRoot":"","sources":["../src/ScrollPane.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ScrollPane.d.ts","sourceRoot":"","sources":["../src/ScrollPane.tsx"],"names":[],"mappings":"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"}
|
package/dist/VirtualScroll.d.cts
CHANGED
|
@@ -152,6 +152,11 @@ export type VirtualScrollBehaviorOptions = {
|
|
|
152
152
|
enableKeyboardNavigation?: boolean;
|
|
153
153
|
wheelSpeedMultiplier?: number;
|
|
154
154
|
inertiaOptions?: ScrollPaneProps["inertiaOptions"];
|
|
155
|
+
/**
|
|
156
|
+
* How wheel input behaves at the list's edges (default: "auto" = chain to ancestors).
|
|
157
|
+
* 一覧の端でホイールがどう振る舞うか (既定: "auto" = 祖先へ連鎖)。`ScrollPaneProps["overscrollBehavior"]` 参照。
|
|
158
|
+
*/
|
|
159
|
+
overscrollBehavior?: ScrollPaneProps["overscrollBehavior"];
|
|
155
160
|
clipItemHeight?: boolean;
|
|
156
161
|
/**
|
|
157
162
|
* When `true`, the underlying Fenwick tree fully re-samples on every `getItemHeight` change
|
|
@@ -252,15 +257,21 @@ export type VirtualScrollProps<T> = {
|
|
|
252
257
|
* `onWheelHorizontal` へ横スクロール量を流すキーボード操作の種別 (既定: 無効)。
|
|
253
258
|
*
|
|
254
259
|
* - `[]` / 未指定 (既定): 横キーボードスクロールを行わない。
|
|
255
|
-
* - `["
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
260
|
+
* - `["arrow"]`: 素の `←/→` のみ。
|
|
261
|
+
*
|
|
262
|
+
* ❗ **`Shift + ←/→` は常に消費しない (3.0.0 で `"shift-arrow"` 入力を撤去)。** ブラウザ標準では
|
|
263
|
+
* Shift+矢印は選択範囲の伸縮であり、横取りすると行内テキストを選び直す手段がキーボードから消える。
|
|
264
|
+
* 2.x では「選択があるときだけ譲る」検出 (`getSelection` の交差判定) で共存させていたが、
|
|
265
|
+
* (a) Shadow DOM 内では選択が可搬に検出できない (Chromium の `window.getSelection()` は shadow root
|
|
266
|
+
* 内部を見せず、内部選択は非標準 API でしか取れない)、(b) `Ctrl+A` の全選択では全行が選択と交差して
|
|
267
|
+
* 横キーボードスクロールが選択解除まで全面ロックアウトする、という構造的欠陥が残った。検出の
|
|
268
|
+
* 精度を上げる案はどれも別の正しいユーザー意図を誤判定するため、機能ごと撤去して Shift 側を
|
|
269
|
+
* 無条件でブラウザへ返す。横スクロールの Shift 系入力が必要なら `shift+ホイール` が引き続き使える
|
|
270
|
+
* (`resolveWheelAxes` の軸規則。こちらは選択と衝突しない)。
|
|
259
271
|
*
|
|
260
|
-
* ❗
|
|
261
|
-
*
|
|
262
|
-
* `
|
|
263
|
-
* 同じ理由で種別配列を採るのが `pointerDragInputs` であり、本パッケージの既存の作法に揃えてある。
|
|
272
|
+
* ❗ **語彙が 1 つでも配列なのは意図的である。** 種別配列は `pointerDragInputs` と同じ本パッケージの
|
|
273
|
+
* 作法であり、将来の入力種別追加が型の破壊なしにできる。boolean へ畳むと prop 名が変わり、横軸を
|
|
274
|
+
* `Omit<>` で封じているラッパー (例: `@aiquants/directory-tree`) の封印リストまで連鎖破壊する。
|
|
264
275
|
*
|
|
265
276
|
* ❗ **既定が無効なのは、行ハンドラを奪わないためである。** 本パッケージの行キーハンドラは
|
|
266
277
|
* capture フェーズに付くため、消費側の行 (bubble) より先に走る。既定で `←/→` を消費すると
|
|
@@ -293,7 +304,7 @@ export type VirtualScrollProps<T> = {
|
|
|
293
304
|
* `Omit<VirtualScrollProps, "onWheelHorizontal">` で横軸を封じている) が `behaviorOptions` を
|
|
294
305
|
* そのまま素通しするため、封じたはずのシームへ横から到達できてしまう。
|
|
295
306
|
*/
|
|
296
|
-
horizontalKeyInputs?: readonly
|
|
307
|
+
horizontalKeyInputs?: readonly "arrow"[];
|
|
297
308
|
/**
|
|
298
309
|
* Pixels emitted per horizontal arrow key press (default: 40, matching browser arrow scrolling).
|
|
299
310
|
* 横矢印キー 1 回あたりの移動量 (px。既定 40 = ブラウザの矢印スクロール相当)。
|
package/dist/VirtualScroll.d.ts
CHANGED
|
@@ -152,6 +152,11 @@ export type VirtualScrollBehaviorOptions = {
|
|
|
152
152
|
enableKeyboardNavigation?: boolean;
|
|
153
153
|
wheelSpeedMultiplier?: number;
|
|
154
154
|
inertiaOptions?: ScrollPaneProps["inertiaOptions"];
|
|
155
|
+
/**
|
|
156
|
+
* How wheel input behaves at the list's edges (default: "auto" = chain to ancestors).
|
|
157
|
+
* 一覧の端でホイールがどう振る舞うか (既定: "auto" = 祖先へ連鎖)。`ScrollPaneProps["overscrollBehavior"]` 参照。
|
|
158
|
+
*/
|
|
159
|
+
overscrollBehavior?: ScrollPaneProps["overscrollBehavior"];
|
|
155
160
|
clipItemHeight?: boolean;
|
|
156
161
|
/**
|
|
157
162
|
* When `true`, the underlying Fenwick tree fully re-samples on every `getItemHeight` change
|
|
@@ -252,15 +257,21 @@ export type VirtualScrollProps<T> = {
|
|
|
252
257
|
* `onWheelHorizontal` へ横スクロール量を流すキーボード操作の種別 (既定: 無効)。
|
|
253
258
|
*
|
|
254
259
|
* - `[]` / 未指定 (既定): 横キーボードスクロールを行わない。
|
|
255
|
-
* - `["
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
260
|
+
* - `["arrow"]`: 素の `←/→` のみ。
|
|
261
|
+
*
|
|
262
|
+
* ❗ **`Shift + ←/→` は常に消費しない (3.0.0 で `"shift-arrow"` 入力を撤去)。** ブラウザ標準では
|
|
263
|
+
* Shift+矢印は選択範囲の伸縮であり、横取りすると行内テキストを選び直す手段がキーボードから消える。
|
|
264
|
+
* 2.x では「選択があるときだけ譲る」検出 (`getSelection` の交差判定) で共存させていたが、
|
|
265
|
+
* (a) Shadow DOM 内では選択が可搬に検出できない (Chromium の `window.getSelection()` は shadow root
|
|
266
|
+
* 内部を見せず、内部選択は非標準 API でしか取れない)、(b) `Ctrl+A` の全選択では全行が選択と交差して
|
|
267
|
+
* 横キーボードスクロールが選択解除まで全面ロックアウトする、という構造的欠陥が残った。検出の
|
|
268
|
+
* 精度を上げる案はどれも別の正しいユーザー意図を誤判定するため、機能ごと撤去して Shift 側を
|
|
269
|
+
* 無条件でブラウザへ返す。横スクロールの Shift 系入力が必要なら `shift+ホイール` が引き続き使える
|
|
270
|
+
* (`resolveWheelAxes` の軸規則。こちらは選択と衝突しない)。
|
|
259
271
|
*
|
|
260
|
-
* ❗
|
|
261
|
-
*
|
|
262
|
-
* `
|
|
263
|
-
* 同じ理由で種別配列を採るのが `pointerDragInputs` であり、本パッケージの既存の作法に揃えてある。
|
|
272
|
+
* ❗ **語彙が 1 つでも配列なのは意図的である。** 種別配列は `pointerDragInputs` と同じ本パッケージの
|
|
273
|
+
* 作法であり、将来の入力種別追加が型の破壊なしにできる。boolean へ畳むと prop 名が変わり、横軸を
|
|
274
|
+
* `Omit<>` で封じているラッパー (例: `@aiquants/directory-tree`) の封印リストまで連鎖破壊する。
|
|
264
275
|
*
|
|
265
276
|
* ❗ **既定が無効なのは、行ハンドラを奪わないためである。** 本パッケージの行キーハンドラは
|
|
266
277
|
* capture フェーズに付くため、消費側の行 (bubble) より先に走る。既定で `←/→` を消費すると
|
|
@@ -293,7 +304,7 @@ export type VirtualScrollProps<T> = {
|
|
|
293
304
|
* `Omit<VirtualScrollProps, "onWheelHorizontal">` で横軸を封じている) が `behaviorOptions` を
|
|
294
305
|
* そのまま素通しするため、封じたはずのシームへ横から到達できてしまう。
|
|
295
306
|
*/
|
|
296
|
-
horizontalKeyInputs?: readonly
|
|
307
|
+
horizontalKeyInputs?: readonly "arrow"[];
|
|
297
308
|
/**
|
|
298
309
|
* Pixels emitted per horizontal arrow key press (default: 40, matching browser arrow scrolling).
|
|
299
310
|
* 横矢印キー 1 回あたりの移動量 (px。既定 40 = ブラウザの矢印スクロール相当)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualScroll.d.ts","sourceRoot":"","sources":["../src/VirtualScroll.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VirtualScroll.d.ts","sourceRoot":"","sources":["../src/VirtualScroll.tsx"],"names":[],"mappings":"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"}
|