@aiquants/daily-report 0.11.0 → 0.12.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/dist/client.d.mts +14 -6
- package/dist/client.d.ts +14 -6
- package/dist/client.js +5 -5
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +5 -5
- package/dist/client.mjs.map +1 -1
- package/package.json +4 -4
- package/src/client/components/daily-report-detail-list.tsx +69 -47
- package/src/client/components/daily-report-resolved-content.tsx +1 -1
- package/src/client/components/daily-report-scroll-restoration.spec.tsx +98 -59
package/dist/client.d.mts
CHANGED
|
@@ -90,14 +90,22 @@ declare const DailyReportCommentForm: ({ reportHubId, businessDate, onAddComment
|
|
|
90
90
|
* Scroll restore slot for DailyReportDetailList that survives tab unmounting.
|
|
91
91
|
* タブアンマウントをまたいで DailyReportDetailList のスクロール位置を持ち回る共有スロット。
|
|
92
92
|
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
93
|
+
* topItem は先頭可視カードの**同一性アンカー** (reportHubId + 行内オフセット px + 保存時 index)。
|
|
94
|
+
* ❗ 生の論理 px を保存してはならない: 可変高さでは px→行変換が再マウントの推定空間で行われ、
|
|
95
|
+
* 深い位置で別のカードに着地する (実機で確定した実害バグ)。同一性アンカーは一覧が留守中に
|
|
96
|
+
* 変わっても findIndex で正しいカードへ再解決される。index は該当カードが消えていたときの
|
|
97
|
+
* 近似フォールバック。offsetPx はカード上端がビューポート上端より上に隠れている px (論理座標)。
|
|
98
|
+
* anchorReportHubId は「記録時点の選択日報」。復元はこれが現在の選択と一致するときだけ行う:
|
|
99
|
+
* 選択が他ビューで変わっていたら、復元よりも「選択日報へのスクロール」(既存 UX) を優先する。
|
|
100
|
+
* measuredHeights は実測カード高さ (reportHubId → px)。着地窓の行内オフセットの厳密さと
|
|
101
|
+
* 総高さ推定の質を保つため、実測をアンマウント越しに持ち回る。
|
|
98
102
|
*/
|
|
99
103
|
type DailyReportDetailListScrollRestore = {
|
|
100
|
-
|
|
104
|
+
topItem: {
|
|
105
|
+
reportHubId: number;
|
|
106
|
+
index: number;
|
|
107
|
+
offsetPx: number;
|
|
108
|
+
} | null;
|
|
101
109
|
anchorReportHubId: number | null;
|
|
102
110
|
measuredHeights: Map<number, number>;
|
|
103
111
|
};
|
package/dist/client.d.ts
CHANGED
|
@@ -90,14 +90,22 @@ declare const DailyReportCommentForm: ({ reportHubId, businessDate, onAddComment
|
|
|
90
90
|
* Scroll restore slot for DailyReportDetailList that survives tab unmounting.
|
|
91
91
|
* タブアンマウントをまたいで DailyReportDetailList のスクロール位置を持ち回る共有スロット。
|
|
92
92
|
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
93
|
+
* topItem は先頭可視カードの**同一性アンカー** (reportHubId + 行内オフセット px + 保存時 index)。
|
|
94
|
+
* ❗ 生の論理 px を保存してはならない: 可変高さでは px→行変換が再マウントの推定空間で行われ、
|
|
95
|
+
* 深い位置で別のカードに着地する (実機で確定した実害バグ)。同一性アンカーは一覧が留守中に
|
|
96
|
+
* 変わっても findIndex で正しいカードへ再解決される。index は該当カードが消えていたときの
|
|
97
|
+
* 近似フォールバック。offsetPx はカード上端がビューポート上端より上に隠れている px (論理座標)。
|
|
98
|
+
* anchorReportHubId は「記録時点の選択日報」。復元はこれが現在の選択と一致するときだけ行う:
|
|
99
|
+
* 選択が他ビューで変わっていたら、復元よりも「選択日報へのスクロール」(既存 UX) を優先する。
|
|
100
|
+
* measuredHeights は実測カード高さ (reportHubId → px)。着地窓の行内オフセットの厳密さと
|
|
101
|
+
* 総高さ推定の質を保つため、実測をアンマウント越しに持ち回る。
|
|
98
102
|
*/
|
|
99
103
|
type DailyReportDetailListScrollRestore = {
|
|
100
|
-
|
|
104
|
+
topItem: {
|
|
105
|
+
reportHubId: number;
|
|
106
|
+
index: number;
|
|
107
|
+
offsetPx: number;
|
|
108
|
+
} | null;
|
|
101
109
|
anchorReportHubId: number | null;
|
|
102
110
|
measuredHeights: Map<number, number>;
|
|
103
111
|
};
|