@aiquants/virtualscroll 3.4.0 → 3.5.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 +39 -0
- package/README.md +23 -3
- package/dist/TapScrollCircle.d.cts +1 -1
- package/dist/TapScrollCircle.d.ts +1 -1
- package/dist/TapScrollCircle.d.ts.map +1 -1
- package/dist/VirtualGrid.d.cts +105 -3
- package/dist/VirtualGrid.d.ts +105 -3
- package/dist/VirtualGrid.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2067 -1984
- package/dist/styles/virtualscroll.css +1 -1
- package/dist/styles/virtualscroll.standalone.css +1 -1
- package/package.json +1 -1
- package/src/TapScrollCircle.tsx +1 -1
- package/src/VirtualGrid.tsx +408 -72
- package/src/index.ts +14 -1
- package/src/styles/virtualscroll.css +59 -1
package/src/index.ts
CHANGED
|
@@ -15,7 +15,20 @@ export { useHeightCache } from "./useHeightCache.ts"
|
|
|
15
15
|
export { useLruCache } from "./useLruCache.ts"
|
|
16
16
|
export { useWheelBridge, type WheelBridgeOptions, type WheelBridgeTarget } from "./useWheelBridge.ts"
|
|
17
17
|
export { minmax } from "./utils.ts"
|
|
18
|
-
export {
|
|
18
|
+
export {
|
|
19
|
+
MAX_FROZEN_LEADING_COLS,
|
|
20
|
+
MAX_FROZEN_LEADING_ROWS,
|
|
21
|
+
MAX_FROZEN_TRAILING_COLS,
|
|
22
|
+
MAX_FROZEN_TRAILING_ROWS,
|
|
23
|
+
MAX_RENDERED_CELLS,
|
|
24
|
+
MAX_TRACK_SIZE,
|
|
25
|
+
VirtualGrid,
|
|
26
|
+
type VirtualGridBehaviorOptions,
|
|
27
|
+
type VirtualGridHandle,
|
|
28
|
+
type VirtualGridLiveRegionOptions,
|
|
29
|
+
type VirtualGridProps,
|
|
30
|
+
type VirtualGridRange,
|
|
31
|
+
} from "./VirtualGrid.tsx"
|
|
19
32
|
export {
|
|
20
33
|
VirtualScroll,
|
|
21
34
|
type VirtualScrollBehaviorOptions,
|
|
@@ -372,6 +372,16 @@
|
|
|
372
372
|
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
373
373
|
}
|
|
374
374
|
|
|
375
|
+
/* 末尾行帯 (3.5.0): T > 0 のときだけ最終 hbar 行の直前に auto 行を足す。テンプレート合成は
|
|
376
|
+
* 4 通り — 基本 / 先頭のみ (既存) / 末尾のみ / 両方。行高そのものはインライン H_T_vis
|
|
377
|
+
* (高さの CSS 変数は存在しない — 帯寸の変数は幅 2 つのみ。残差 var --aqvs-grid-hx-residual は別系)。 */
|
|
378
|
+
.aqvs-grid-has-trailing-rows {
|
|
379
|
+
grid-template-rows: minmax(0, 1fr) auto auto;
|
|
380
|
+
}
|
|
381
|
+
.aqvs-grid-has-frozen-rows.aqvs-grid-has-trailing-rows {
|
|
382
|
+
grid-template-rows: auto minmax(0, 1fr) auto auto;
|
|
383
|
+
}
|
|
384
|
+
|
|
375
385
|
.aqvs-grid-frozen-rows {
|
|
376
386
|
position: relative;
|
|
377
387
|
min-width: 0;
|
|
@@ -388,6 +398,29 @@
|
|
|
388
398
|
overflow: hidden;
|
|
389
399
|
}
|
|
390
400
|
|
|
401
|
+
/* 末尾行帯のクリップ (テンプレート行 = H_T_vis インライン) と bottom 定着 inner (木高 H_T
|
|
402
|
+
* インライン)。inner の bottom: 0 が「帯上端 = extent − H_T_vis」を全構成で成立させ、
|
|
403
|
+
* 重複縮退では帯の末尾行が可視に残る (フロー配置帯の誤登録クラスの構造的封鎖)。 */
|
|
404
|
+
.aqvs-grid-trailing-rows {
|
|
405
|
+
position: relative;
|
|
406
|
+
min-width: 0;
|
|
407
|
+
overflow: hidden;
|
|
408
|
+
}
|
|
409
|
+
.aqvs-grid-trailing-rows-inner {
|
|
410
|
+
position: absolute;
|
|
411
|
+
bottom: 0;
|
|
412
|
+
left: 0;
|
|
413
|
+
right: 0;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/* 帯行の実クリップ器 (先頭帯行 .aqvs-grid-frozen-band-row の転置 — right はインライン
|
|
417
|
+
* scrollBarWidth のコーナー予約)。 */
|
|
418
|
+
.aqvs-grid-trailing-band-row {
|
|
419
|
+
position: absolute;
|
|
420
|
+
left: 0;
|
|
421
|
+
overflow: hidden;
|
|
422
|
+
}
|
|
423
|
+
|
|
391
424
|
.aqvs-grid-main {
|
|
392
425
|
position: relative;
|
|
393
426
|
min-width: 0;
|
|
@@ -432,7 +465,9 @@
|
|
|
432
465
|
top: 0;
|
|
433
466
|
height: 100%;
|
|
434
467
|
left: var(--aqvs-grid-frozen-width, 0px);
|
|
435
|
-
|
|
468
|
+
/* 末尾凍結 (3.5.0): 右インセット = W_T。変数不在 (T = 0) は 0px フォールバックで
|
|
469
|
+
* 計算結果・出力ともバイト恒等 (T = 0 恒等契約)。 */
|
|
470
|
+
right: var(--aqvs-grid-trailing-width, 0px);
|
|
436
471
|
overflow: hidden;
|
|
437
472
|
}
|
|
438
473
|
|
|
@@ -447,6 +482,29 @@
|
|
|
447
482
|
transform: translateX(calc(var(--aqvs-grid-hx-residual, 0px) - var(--aqvs-grid-frozen-width, 0px)));
|
|
448
483
|
}
|
|
449
484
|
|
|
485
|
+
/* 末尾列クリップ (3.5.0 — ADR-19-3): left の max() は先頭優先の CSS エンコード。
|
|
486
|
+
* ❗ この max() 形は trailingVisibleSize の calc() 版そのもの (クリップ左端 = extent − W_T_vis
|
|
487
|
+
* が恒等) — CSS は JS ヘルパーを読めないための登記済み例外 (単一情報源レジスタのエントリ 1)。 */
|
|
488
|
+
.aqvs-grid-row-trailing {
|
|
489
|
+
position: absolute;
|
|
490
|
+
top: 0;
|
|
491
|
+
height: 100%;
|
|
492
|
+
left: max(var(--aqvs-grid-frozen-width, 0px), calc(100% - var(--aqvs-grid-trailing-width, 0px)));
|
|
493
|
+
right: 0;
|
|
494
|
+
overflow: hidden;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
/* 右アンカーの座標ホルダー — 末尾セルは帯ローカル left で置かれ、inner の右定着が
|
|
498
|
+
* 「末尾が 2 番目に潰れる」を幾何で成立させる (クリップ / transform 分離の恒久契約に従い
|
|
499
|
+
* transform は持たない)。 */
|
|
500
|
+
.aqvs-grid-row-trailing-inner {
|
|
501
|
+
position: absolute;
|
|
502
|
+
top: 0;
|
|
503
|
+
height: 100%;
|
|
504
|
+
right: 0;
|
|
505
|
+
width: var(--aqvs-grid-trailing-width, 0px);
|
|
506
|
+
}
|
|
507
|
+
|
|
450
508
|
/* 横バー帯。 */
|
|
451
509
|
.aqvs-grid-hbar-strip {
|
|
452
510
|
position: relative;
|