@react-x11/components 0.2.1 → 0.4.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/README.md +6 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/heights.d.ts +26 -1
- package/dist/internal/heights.d.ts.map +1 -1
- package/dist/internal/heights.js +57 -6
- package/dist/internal/heights.js.map +1 -1
- package/dist/internal/scroll.d.ts +11 -0
- package/dist/internal/scroll.d.ts.map +1 -1
- package/dist/internal/scroll.js +43 -3
- package/dist/internal/scroll.js.map +1 -1
- package/dist/internal/timers.d.ts +8 -0
- package/dist/internal/timers.d.ts.map +1 -1
- package/dist/internal/timers.js +10 -0
- package/dist/internal/timers.js.map +1 -1
- package/dist/internal/window.d.ts +161 -0
- package/dist/internal/window.d.ts.map +1 -0
- package/dist/internal/window.js +417 -0
- package/dist/internal/window.js.map +1 -0
- package/dist/qml/containers.d.ts +3 -0
- package/dist/qml/containers.d.ts.map +1 -0
- package/dist/qml/containers.js +331 -0
- package/dist/qml/containers.js.map +1 -0
- package/dist/qml/controls.d.ts +12 -0
- package/dist/qml/controls.d.ts.map +1 -0
- package/dist/qml/controls.js +21 -0
- package/dist/qml/controls.js.map +1 -0
- package/dist/qml/globals.d.ts +6 -0
- package/dist/qml/globals.d.ts.map +1 -0
- package/dist/qml/globals.js +25 -0
- package/dist/qml/globals.js.map +1 -0
- package/dist/qml/index.d.ts +15 -0
- package/dist/qml/index.d.ts.map +1 -0
- package/dist/qml/index.js +25 -0
- package/dist/qml/index.js.map +1 -0
- package/dist/qml/interaction.d.ts +12 -0
- package/dist/qml/interaction.d.ts.map +1 -0
- package/dist/qml/interaction.js +246 -0
- package/dist/qml/interaction.js.map +1 -0
- package/dist/qml/ir.d.ts +106 -0
- package/dist/qml/ir.d.ts.map +1 -0
- package/dist/qml/ir.js +7 -0
- package/dist/qml/ir.js.map +1 -0
- package/dist/qml/layouts.d.ts +3 -0
- package/dist/qml/layouts.d.ts.map +1 -0
- package/dist/qml/layouts.js +122 -0
- package/dist/qml/layouts.js.map +1 -0
- package/dist/qml/models.d.ts +14 -0
- package/dist/qml/models.d.ts.map +1 -0
- package/dist/qml/models.js +80 -0
- package/dist/qml/models.js.map +1 -0
- package/dist/qml/objects.d.ts +228 -0
- package/dist/qml/objects.d.ts.map +1 -0
- package/dist/qml/objects.js +1103 -0
- package/dist/qml/objects.js.map +1 -0
- package/dist/qml/parse.d.ts +10 -0
- package/dist/qml/parse.d.ts.map +1 -0
- package/dist/qml/parse.js +607 -0
- package/dist/qml/parse.js.map +1 -0
- package/dist/qml/qtquick.d.ts +7 -0
- package/dist/qml/qtquick.d.ts.map +1 -0
- package/dist/qml/qtquick.js +347 -0
- package/dist/qml/qtquick.js.map +1 -0
- package/dist/qml/react.d.ts +83 -0
- package/dist/qml/react.d.ts.map +1 -0
- package/dist/qml/react.js +323 -0
- package/dist/qml/react.js.map +1 -0
- package/dist/qml/resolver.d.ts +38 -0
- package/dist/qml/resolver.d.ts.map +1 -0
- package/dist/qml/resolver.js +64 -0
- package/dist/qml/resolver.js.map +1 -0
- package/dist/qml/slots.d.ts +65 -0
- package/dist/qml/slots.d.ts.map +1 -0
- package/dist/qml/slots.js +230 -0
- package/dist/qml/slots.js.map +1 -0
- package/dist/qml/states.d.ts +5 -0
- package/dist/qml/states.d.ts.map +1 -0
- package/dist/qml/states.js +276 -0
- package/dist/qml/states.js.map +1 -0
- package/dist/qml/view-utils.d.ts +42 -0
- package/dist/qml/view-utils.d.ts.map +1 -0
- package/dist/qml/view-utils.js +121 -0
- package/dist/qml/view-utils.js.map +1 -0
- package/dist/table/index.d.ts +73 -2
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +405 -161
- package/dist/table/index.js.map +1 -1
- package/dist/tabs/hx.d.ts +18 -0
- package/dist/tabs/hx.d.ts.map +1 -0
- package/dist/tabs/hx.js +10 -0
- package/dist/tabs/hx.js.map +1 -0
- package/dist/tabs/index.d.ts +143 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +602 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/terminal/vt/index.d.ts +1 -1
- package/dist/terminal/vt/index.d.ts.map +1 -1
- package/dist/terminal/vt/index.js +3 -3
- package/dist/terminal/vt/index.js.map +1 -1
- package/dist/terminal/vt/pty.d.ts +16 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -1
- package/dist/terminal/vt/pty.js +186 -0
- package/dist/terminal/vt/pty.js.map +1 -1
- package/dist/tree/index.d.ts +65 -5
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +446 -189
- package/dist/tree/index.js.map +1 -1
- package/package.json +11 -1
- package/src/index.ts +44 -0
- package/src/internal/heights.ts +57 -6
- package/src/internal/scroll.ts +59 -3
- package/src/internal/timers.ts +13 -0
- package/src/internal/window.ts +570 -0
- package/src/qml/containers.tsx +380 -0
- package/src/qml/controls.tsx +47 -0
- package/src/qml/globals.ts +33 -0
- package/src/qml/index.ts +67 -0
- package/src/qml/interaction.tsx +317 -0
- package/src/qml/ir.ts +80 -0
- package/src/qml/layouts.tsx +141 -0
- package/src/qml/models.ts +101 -0
- package/src/qml/objects.ts +1431 -0
- package/src/qml/parse.ts +624 -0
- package/src/qml/qtquick.tsx +413 -0
- package/src/qml/react.tsx +454 -0
- package/src/qml/resolver.ts +99 -0
- package/src/qml/slots.ts +249 -0
- package/src/qml/states.ts +318 -0
- package/src/qml/view-utils.ts +140 -0
- package/src/table/index.ts +599 -178
- package/src/tabs/hx.ts +31 -0
- package/src/tabs/index.ts +850 -0
- package/src/terminal/vt/index.ts +4 -2
- package/src/terminal/vt/pty.ts +243 -0
- package/src/tree/index.ts +687 -260
package/README.md
CHANGED
|
@@ -891,6 +891,12 @@ app installed may drag in. So an app installs the one it wants:
|
|
|
891
891
|
npm i node-pty # or: npm i @lydell/node-pty
|
|
892
892
|
```
|
|
893
893
|
|
|
894
|
+
**Under Bun 1.4 or newer, install neither.** Bun ships a pty of its own
|
|
895
|
+
(`Bun.spawn(argv, { terminal })`), so the vt backend uses it and no native
|
|
896
|
+
module is probed, loaded or installed — the terminal works on a machine with
|
|
897
|
+
no C toolchain. An app that wants node-pty back under Bun passes
|
|
898
|
+
`pty={nodePtyHost()}`.
|
|
899
|
+
|
|
894
900
|
With neither present, `status` is `'unavailable'` and `fallback` renders — an
|
|
895
901
|
ordinary state of a healthy machine, never a throw. `onError` says _which_
|
|
896
902
|
half is missing, and separates "nothing installed" from "installed but it
|
package/dist/index.d.ts
CHANGED
|
@@ -35,6 +35,8 @@ export { Terminal, TERMINAL_BACKENDS, backendsFor as terminalBackendsFor, alacri
|
|
|
35
35
|
export type { TerminalBackend, TerminalBackendName, TerminalColors, TerminalHandle, TerminalLaunch, TerminalProps, } from './terminal/index.js';
|
|
36
36
|
export { Timeline, TimelineConnector, TimelineContent, TimelineDescription, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle, } from './timeline/index.js';
|
|
37
37
|
export type { TimelineConnectorProps, TimelineContentProps, TimelineDescriptionProps, TimelineIndicatorProps, TimelineItemProps, TimelineProps, TimelineSeparatorProps, TimelineSize, TimelineTitleProps, TimelineVariant, } from './timeline/index.js';
|
|
38
|
+
export { Tabs, TabsContent, TabsIndicator, TabsList, TabsTrigger, } from './tabs/index.js';
|
|
39
|
+
export type { TabsContentProps, TabsIndicatorProps, TabsListProps, TabsProps, TabsSize, TabsTriggerProps, TabsValueChange, TabsVariant, } from './tabs/index.js';
|
|
38
40
|
export { TrayHost, TrayManager, BalloonAssembler, BalloonNotifier, ORIENTATION_HORIZONTAL, ORIENTATION_VERTICAL, SYSTEM_TRAY_BEGIN_MESSAGE, SYSTEM_TRAY_CANCEL_MESSAGE, SYSTEM_TRAY_REQUEST_DOCK, argbVisualOf, orientationValue, selectionNameFor, } from './tray-host/index.js';
|
|
39
41
|
export type { TrayApp, TrayConflict, TrayHostHandle, TrayHostProps, TrayIcon, TrayManagerHandlers, TrayManagerStartOptions, TrayMessage, TrayOrientation, TrayStatus, } from './tray-host/index.js';
|
|
40
42
|
export { MediaPlayer, MEDIA_BACKENDS, mediaBackendsFor, mpv, vlc, } from './media-player/index.js';
|
|
@@ -45,4 +47,6 @@ export { DesktopCalendar, IcalUnavailableError, byDay, parseKeyFile, useDesktopC
|
|
|
45
47
|
export type { DesktopCalendarChange, DesktopCalendarError, DesktopCalendarInfo, DesktopCalendarStatus, DesktopEvent, EventsResult, UseDesktopCalendarEventsOptions, UseDesktopCalendarEventsResult, } from './desktop-calendar/index.js';
|
|
46
48
|
export { Canvas, useFrame, useThree, extend, Color, Euler, Vector3, AmbientLight, Camera, DirectionalLight, Group, InstancedMesh, Light, Line, LineLoop, LineSegments, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, PointLight, Points, Scene, SpotLight, BoxGeometry, BufferGeometry, ConeGeometry, CylinderGeometry, PlaneGeometry, SphereGeometry, TorusGeometry, LineBasicMaterial, Material, MeshBasicMaterial, MeshLambertMaterial, MeshPhongMaterial, MeshStandardMaterial, PointsMaterial, RawShaderMaterial, ShaderMaterial, BloomPass, EffectComposer, FxaaPass, Pass, ShaderPass, VignettePass, } from './three/index.js';
|
|
47
49
|
export type { CanvasProps, FrameCallback, GeometryData, InstanceSpec, MaterialSide, RayHit, RootState, TextureImage, ThreeElements, ThreeEvent, ThreeSize, ThreeViewport, } from './three/index.js';
|
|
50
|
+
export { QmlView, QmlNode, Qt, parseQml, instantiateDocument, registerQmlModule, registerReactComponent, registerControls, createFileResolver, geometryStyle, captureNode, qmlColor, } from './qml/index.js';
|
|
51
|
+
export type { QmlViewProps, QmlViewHandle, QmlDocument, QmlTypeDef, QmlFacade, QmlInstance, QmlResolver, } from './qml/index.js';
|
|
48
52
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -78,6 +78,10 @@ export { Terminal, TERMINAL_BACKENDS, backendsFor as terminalBackendsFor, alacri
|
|
|
78
78
|
// A run of events. Chakra UI's Timeline with the parts spelled flat, which is
|
|
79
79
|
// how `/charts` names a composition too — `Timeline.Root` is `<Timeline>`.
|
|
80
80
|
export { Timeline, TimelineConnector, TimelineContent, TimelineDescription, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle, } from './timeline/index.js';
|
|
81
|
+
// One visible panel at a time. Chakra UI's Tabs with the parts spelled flat,
|
|
82
|
+
// like `<Timeline>` — `Tabs.Root` is `<Tabs>`, `Tabs.Trigger` is
|
|
83
|
+
// `<TabsTrigger>`. Successor to react-x11's own items-array `<Tabs>`.
|
|
84
|
+
export { Tabs, TabsContent, TabsIndicator, TabsList, TabsTrigger, } from './tabs/index.js';
|
|
81
85
|
export { TrayHost, TrayManager, BalloonAssembler, BalloonNotifier, ORIENTATION_HORIZONTAL, ORIENTATION_VERTICAL, SYSTEM_TRAY_BEGIN_MESSAGE, SYSTEM_TRAY_CANCEL_MESSAGE, SYSTEM_TRAY_REQUEST_DOCK, argbVisualOf, orientationValue, selectionNameFor, } from './tray-host/index.js';
|
|
82
86
|
export { MediaPlayer, MEDIA_BACKENDS, mediaBackendsFor, mpv, vlc, } from './media-player/index.js';
|
|
83
87
|
// The lifecycle both XEmbed wrappers are built on. Public because
|
|
@@ -89,4 +93,5 @@ export { DesktopCalendar, IcalUnavailableError, byDay, parseKeyFile, useDesktopC
|
|
|
89
93
|
// `<primitive object>` takes one, and ported code writes `new Vector3()` —
|
|
90
94
|
// but the renderers stay on the subpath: a `<Canvas>` picks its own.
|
|
91
95
|
export { Canvas, useFrame, useThree, extend, Color, Euler, Vector3, AmbientLight, Camera, DirectionalLight, Group, InstancedMesh, Light, Line, LineLoop, LineSegments, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, PointLight, Points, Scene, SpotLight, BoxGeometry, BufferGeometry, ConeGeometry, CylinderGeometry, PlaneGeometry, SphereGeometry, TorusGeometry, LineBasicMaterial, Material, MeshBasicMaterial, MeshLambertMaterial, MeshPhongMaterial, MeshStandardMaterial, PointsMaterial, RawShaderMaterial, ShaderMaterial, BloomPass, EffectComposer, FxaaPass, Pass, ShaderPass, VignettePass, } from './three/index.js';
|
|
96
|
+
export { QmlView, QmlNode, Qt, parseQml, instantiateDocument, registerQmlModule, registerReactComponent, registerControls, createFileResolver, geometryStyle, captureNode, qmlColor, } from './qml/index.js';
|
|
92
97
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,14 @@ export declare class RowHeights {
|
|
|
24
24
|
private rows;
|
|
25
25
|
/** Fenwick tree over the heights, 1-based. */
|
|
26
26
|
private tree;
|
|
27
|
-
/** What an unmeasured row is assumed to be
|
|
27
|
+
/** What an unmeasured row is assumed to be, effectively: the caller's
|
|
28
|
+
* `base`, until `adapt` has seen enough real rows to know better. */
|
|
28
29
|
private estimate;
|
|
30
|
+
/** The estimate the caller declared. A caller changing it is a caller
|
|
31
|
+
* changing their mind, and it wins back over adaptation. */
|
|
32
|
+
private base;
|
|
33
|
+
/** Running sum of the measured map's values, so `adapt` is O(1). */
|
|
34
|
+
private sum;
|
|
29
35
|
/** Largest power of two <= n, for the O(log n) descent in `indexAt`. */
|
|
30
36
|
private power;
|
|
31
37
|
/** Set when a measurement could not be applied in place, so the next
|
|
@@ -42,6 +48,8 @@ export declare class RowHeights {
|
|
|
42
48
|
* arrive, when a sort flips, when a filter runs, all O(n) events already.
|
|
43
49
|
*/
|
|
44
50
|
sync(rows: readonly Keyed[], estimate: number): void;
|
|
51
|
+
/** Rebuild the tree from the measured map and the current estimate. */
|
|
52
|
+
private rebuild;
|
|
45
53
|
/**
|
|
46
54
|
* Record what a row actually laid out at. Returns whether this changed
|
|
47
55
|
* anything — which is what tells the component whether to re-render, and
|
|
@@ -73,6 +81,23 @@ export declare class RowHeights {
|
|
|
73
81
|
hasMeasurements(): boolean;
|
|
74
82
|
/** How many of the current rows have a real measurement. */
|
|
75
83
|
measuredCount(): number;
|
|
84
|
+
/**
|
|
85
|
+
* Let the estimate learn from the rows that have been measured.
|
|
86
|
+
*
|
|
87
|
+
* The fixed guess is why a measured list converges slowly: every row not
|
|
88
|
+
* yet seen is assumed `estimate`, the scrollbar believes the sum, and each
|
|
89
|
+
* newly measured row moves everything. Once enough rows have real numbers,
|
|
90
|
+
* their mean is a far better guess for the rest — one O(n) rebuild brings
|
|
91
|
+
* every unmeasured offset close to where measuring will find it, so the
|
|
92
|
+
* corrections that follow are small.
|
|
93
|
+
*
|
|
94
|
+
* Returns whether anything changed. **Every offset of every unmeasured row
|
|
95
|
+
* moves when it does** — the caller owns keeping what is on screen still,
|
|
96
|
+
* the same anchor arithmetic a measurement pass does. Deliberately not
|
|
97
|
+
* called from `measure`: the caller decides when a wholesale move is safe
|
|
98
|
+
* to make, which is while nothing is scrolling.
|
|
99
|
+
*/
|
|
100
|
+
adapt(): boolean;
|
|
76
101
|
/**
|
|
77
102
|
* Forget every measurement, keeping the row list.
|
|
78
103
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heights.d.ts","sourceRoot":"","sources":["../../src/internal/heights.ts"],"names":[],"mappings":"AA0CA;;sBAEsB;AACtB,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC;;qEAEqE;AACrE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,iDAAiD;IACjD,OAAO,CAAC,IAAI,CAAwB;IACpC,8CAA8C;IAC9C,OAAO,CAAC,IAAI,CAAiB;IAC7B
|
|
1
|
+
{"version":3,"file":"heights.d.ts","sourceRoot":"","sources":["../../src/internal/heights.ts"],"names":[],"mappings":"AA0CA;;sBAEsB;AACtB,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC;;qEAEqE;AACrE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,iDAAiD;IACjD,OAAO,CAAC,IAAI,CAAwB;IACpC,8CAA8C;IAC9C,OAAO,CAAC,IAAI,CAAiB;IAC7B;0EACsE;IACtE,OAAO,CAAC,QAAQ,CAAK;IACrB;iEAC6D;IAC7D,OAAO,CAAC,IAAI,CAAK;IACjB,oEAAoE;IACpE,OAAO,CAAC,GAAG,CAAK;IAChB,wEAAwE;IACxE,OAAO,CAAC,KAAK,CAAK;IAClB;uEACmE;IACnE,OAAO,CAAC,KAAK,CAAS;IAEtB,YAAY,QAAQ,EAAE,MAAM,EAG3B;IAED,OAAO,CAAC,QAAQ;IAKhB;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAanD;IAED,uEAAuE;IACvE,OAAO,CAAC,OAAO;IAgBf;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAmB1D;IAED,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9B;IAED,uEAAuE;IACvE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGjC;IAED,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU9B;IAED,gEAAgE;IAChE,KAAK,IAAI,MAAM,CAEd;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa9B;IAED;;;;;OAKG;IACH,eAAe,IAAI,OAAO,CAEzB;IAED,4DAA4D;IAC5D,aAAa,IAAI,MAAM,CAItB;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,IAAI,OAAO,CAUf;IAED;;;;;;;;OAQG;IACH,KAAK,IAAI,IAAI,CAMZ;CACF"}
|
package/dist/internal/heights.js
CHANGED
|
@@ -55,15 +55,22 @@ export class RowHeights {
|
|
|
55
55
|
rows = [];
|
|
56
56
|
/** Fenwick tree over the heights, 1-based. */
|
|
57
57
|
tree = [0];
|
|
58
|
-
/** What an unmeasured row is assumed to be
|
|
58
|
+
/** What an unmeasured row is assumed to be, effectively: the caller's
|
|
59
|
+
* `base`, until `adapt` has seen enough real rows to know better. */
|
|
59
60
|
estimate = 1;
|
|
61
|
+
/** The estimate the caller declared. A caller changing it is a caller
|
|
62
|
+
* changing their mind, and it wins back over adaptation. */
|
|
63
|
+
base = 1;
|
|
64
|
+
/** Running sum of the measured map's values, so `adapt` is O(1). */
|
|
65
|
+
sum = 0;
|
|
60
66
|
/** Largest power of two <= n, for the O(log n) descent in `indexAt`. */
|
|
61
67
|
power = 0;
|
|
62
68
|
/** Set when a measurement could not be applied in place, so the next
|
|
63
69
|
* `sync` must rebuild even though the row list did not change. */
|
|
64
70
|
dirty = false;
|
|
65
71
|
constructor(estimate) {
|
|
66
|
-
this.
|
|
72
|
+
this.base = Math.max(1, estimate);
|
|
73
|
+
this.estimate = this.base;
|
|
67
74
|
}
|
|
68
75
|
heightOf(index) {
|
|
69
76
|
const measured = this.measured.get(this.rows[index].id);
|
|
@@ -79,12 +86,23 @@ export class RowHeights {
|
|
|
79
86
|
*/
|
|
80
87
|
sync(rows, estimate) {
|
|
81
88
|
const next = Math.max(1, estimate);
|
|
82
|
-
if (
|
|
89
|
+
if (next !== this.base) {
|
|
90
|
+
// The caller changed their declared estimate: that wins back over
|
|
91
|
+
// whatever `adapt` had learnt — it is the same caller telling us the
|
|
92
|
+
// rows changed character.
|
|
93
|
+
this.base = next;
|
|
94
|
+
this.estimate = next;
|
|
95
|
+
this.dirty = true;
|
|
96
|
+
}
|
|
97
|
+
if (!this.dirty && this.rows === rows)
|
|
83
98
|
return;
|
|
84
|
-
this.dirty = false;
|
|
85
99
|
this.rows = rows;
|
|
86
|
-
this.
|
|
87
|
-
|
|
100
|
+
this.rebuild();
|
|
101
|
+
}
|
|
102
|
+
/** Rebuild the tree from the measured map and the current estimate. */
|
|
103
|
+
rebuild() {
|
|
104
|
+
this.dirty = false;
|
|
105
|
+
const n = this.rows.length;
|
|
88
106
|
// Build in O(n): write each height at its own slot, then push every slot
|
|
89
107
|
// into its parent. The textbook loop of point-updates is O(n log n) and
|
|
90
108
|
// arrives at the same tree.
|
|
@@ -111,6 +129,7 @@ export class RowHeights {
|
|
|
111
129
|
if (before === height)
|
|
112
130
|
return false;
|
|
113
131
|
this.measured.set(id, height);
|
|
132
|
+
this.sum += height - (before ?? 0);
|
|
114
133
|
if (this.rows[index]?.id !== id) {
|
|
115
134
|
// The caller's index is stale — the rows moved under a measurement
|
|
116
135
|
// that was already in flight. Applying a delta at the wrong slot would
|
|
@@ -186,6 +205,35 @@ export class RowHeights {
|
|
|
186
205
|
count++;
|
|
187
206
|
return count;
|
|
188
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Let the estimate learn from the rows that have been measured.
|
|
210
|
+
*
|
|
211
|
+
* The fixed guess is why a measured list converges slowly: every row not
|
|
212
|
+
* yet seen is assumed `estimate`, the scrollbar believes the sum, and each
|
|
213
|
+
* newly measured row moves everything. Once enough rows have real numbers,
|
|
214
|
+
* their mean is a far better guess for the rest — one O(n) rebuild brings
|
|
215
|
+
* every unmeasured offset close to where measuring will find it, so the
|
|
216
|
+
* corrections that follow are small.
|
|
217
|
+
*
|
|
218
|
+
* Returns whether anything changed. **Every offset of every unmeasured row
|
|
219
|
+
* moves when it does** — the caller owns keeping what is on screen still,
|
|
220
|
+
* the same anchor arithmetic a measurement pass does. Deliberately not
|
|
221
|
+
* called from `measure`: the caller decides when a wholesale move is safe
|
|
222
|
+
* to make, which is while nothing is scrolling.
|
|
223
|
+
*/
|
|
224
|
+
adapt() {
|
|
225
|
+
const n = this.measured.size;
|
|
226
|
+
if (n < 8)
|
|
227
|
+
return false; // too few rows to say anything about the rest
|
|
228
|
+
const mean = Math.round(this.sum / n);
|
|
229
|
+
// ±1 is noise — the mean drifts by that much as single rows arrive, and
|
|
230
|
+
// a rebuild per drift would run at the measure rate for no visible gain.
|
|
231
|
+
if (Math.abs(mean - this.estimate) <= 1)
|
|
232
|
+
return false;
|
|
233
|
+
this.estimate = Math.max(1, mean);
|
|
234
|
+
this.rebuild();
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
189
237
|
/**
|
|
190
238
|
* Forget every measurement, keeping the row list.
|
|
191
239
|
*
|
|
@@ -197,6 +245,9 @@ export class RowHeights {
|
|
|
197
245
|
*/
|
|
198
246
|
reset() {
|
|
199
247
|
this.measured.clear();
|
|
248
|
+
this.sum = 0;
|
|
249
|
+
// adaptation came from the measurements just forgotten
|
|
250
|
+
this.estimate = this.base;
|
|
200
251
|
this.dirty = true;
|
|
201
252
|
}
|
|
202
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heights.js","sourceRoot":"","sources":["../../src/internal/heights.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM;AACN,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,kEAAkE;AAClE,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,gEAAgE;AAChE,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,uEAAuE;AACvE,cAAc;AACd,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AACvE,2EAA2E;AAC3E,uEAAuE;AACvE,iEAAiE;AACjE,EAAE;AACF,yEAAyE;AACzE,iDAAiD;AACjD,EAAE;AACF,qDAAqD;AACrD,oDAAoD;AACpD,kDAAkD;AAClD,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,8DAA8D;AAc9D;;;;;;;;GAQG;AACH,MAAM,OAAO,UAAU;IACrB,oDAAoD;IACnC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,iDAAiD;IACzC,IAAI,GAAqB,EAAE,CAAC;IACpC,8CAA8C;IACtC,IAAI,GAAa,CAAC,CAAC,CAAC,CAAC;IAC7B
|
|
1
|
+
{"version":3,"file":"heights.js","sourceRoot":"","sources":["../../src/internal/heights.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM;AACN,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,kEAAkE;AAClE,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,gEAAgE;AAChE,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,uEAAuE;AACvE,cAAc;AACd,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AACvE,2EAA2E;AAC3E,uEAAuE;AACvE,iEAAiE;AACjE,EAAE;AACF,yEAAyE;AACzE,iDAAiD;AACjD,EAAE;AACF,qDAAqD;AACrD,oDAAoD;AACpD,kDAAkD;AAClD,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,8DAA8D;AAc9D;;;;;;;;GAQG;AACH,MAAM,OAAO,UAAU;IACrB,oDAAoD;IACnC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,iDAAiD;IACzC,IAAI,GAAqB,EAAE,CAAC;IACpC,8CAA8C;IACtC,IAAI,GAAa,CAAC,CAAC,CAAC,CAAC;IAC7B;0EACsE;IAC9D,QAAQ,GAAG,CAAC,CAAC;IACrB;iEAC6D;IACrD,IAAI,GAAG,CAAC,CAAC;IACjB,oEAAoE;IAC5D,GAAG,GAAG,CAAC,CAAC;IAChB,wEAAwE;IAChE,KAAK,GAAG,CAAC,CAAC;IAClB;uEACmE;IAC3D,KAAK,GAAG,KAAK,CAAC;IAEtB,YAAY,QAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,IAAsB,EAAE,QAAgB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,kEAAkE;YAClE,qEAAqE;YACrE,0BAA0B;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,uEAAuE;IAC/D,OAAO;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,yEAAyE;QACzE,wEAAwE;QACxE,4BAA4B;QAC5B,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,EAAU,EAAE,KAAa,EAAE,MAAc;QAC/C,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,IAAI,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YAChC,mEAAmE;YACnE,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,QAAQ,CAAC,KAAa;QACpB,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,uEAAuE;IACvE,UAAU,CAAC,KAAa;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mEAAmE;IACnE,QAAQ,CAAC,KAAa;QACpB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KACE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EACtD,CAAC,GAAG,CAAC,EACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACX,CAAC;YACD,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gEAAgE;IAChE,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAc;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,MAAM,CAAC;QACvB,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;YAC1B,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC9C,KAAK,GAAG,IAAI,CAAC;gBACb,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,4DAA4D;IAC5D,aAAa;QACX,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,KAAK,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,8CAA8C;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACtC,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,uDAAuD;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -32,6 +32,17 @@ export interface RevealSources {
|
|
|
32
32
|
export interface Reveal {
|
|
33
33
|
/** Owe a scroll to this row, and try to pay it now. */
|
|
34
34
|
to(id: RowKey): void;
|
|
35
|
+
/**
|
|
36
|
+
* The content above the viewport just changed size by `px` — measurements
|
|
37
|
+
* came in — and the offset must absorb the difference or what is on screen
|
|
38
|
+
* jumps. A debt rather than a one-shot for the same reason a reveal is:
|
|
39
|
+
* the pane clamps against the content height of the *last* layout, so a
|
|
40
|
+
* nudge made just after rows above grew taller lands short — near the
|
|
41
|
+
* bottom of the list, all of it lands short — and the remainder must be
|
|
42
|
+
* re-tried once the layout that admits the growth has run. Retried by
|
|
43
|
+
* `retry`, dropped by `heard`: a user mid-scroll keeps the pane.
|
|
44
|
+
*/
|
|
45
|
+
nudge(px: number): void;
|
|
35
46
|
/**
|
|
36
47
|
* Try again: after a layout, or when the content changed size.
|
|
37
48
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/internal/scroll.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAIvD,+EAA+E;AAC/E,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;qDACqD;AACrD,UAAU,KAAK;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;6EAC6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,GAAG,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC;IACjD,iCAAiC;IACjC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;KAAE,CAAC;IAC7C,iCAAiC;IACjC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAAE,CAAC;IACxD;iDAC6C;IAC7C,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;yDACqD;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/internal/scroll.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAIvD,+EAA+E;AAC/E,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;qDACqD;AACrD,UAAU,KAAK;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;6EAC6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,GAAG,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC;IACjD,iCAAiC;IACjC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;KAAE,CAAC;IAC7C,iCAAiC;IACjC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAAE,CAAC;IACxD;iDAC6C;IAC7C,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;yDACqD;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAsOxD"}
|
package/dist/internal/scroll.js
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
// `useReveal` does not do that itself, because what a component *does* with
|
|
38
38
|
// the offset differs (a slice to rebuild, a header to shift), but it is the
|
|
39
39
|
// other half of the same fix and both components run it on the same tick.
|
|
40
|
-
import { useCallback, useEffect, useRef } from 'react';
|
|
40
|
+
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
41
41
|
import { afterLayout, cancelAfterLayout } from './timers.js';
|
|
42
42
|
/**
|
|
43
43
|
* The scroll a component owes a row, and the bookkeeping that pays it.
|
|
@@ -76,6 +76,9 @@ export function useReveal(sources) {
|
|
|
76
76
|
const stuck = useRef(null);
|
|
77
77
|
const look = useRef(null);
|
|
78
78
|
useEffect(() => () => cancelAfterLayout(look.current), []);
|
|
79
|
+
/** Pixels the pane still owes the content that grew or shrank above the
|
|
80
|
+
* viewport — the unpaid remainder of `nudge`. */
|
|
81
|
+
const owedShift = useRef(0);
|
|
79
82
|
const scrollTo = useCallback((y) => {
|
|
80
83
|
const box = src.current.box.current;
|
|
81
84
|
if (!box)
|
|
@@ -88,9 +91,38 @@ export function useReveal(sources) {
|
|
|
88
91
|
asked.current = to;
|
|
89
92
|
box.scrollTo({ y: to });
|
|
90
93
|
}, []);
|
|
94
|
+
/** Pay as much of the owed shift as the pane will take right now. What it
|
|
95
|
+
* refuses — a clamp still measuring the last layout's content — stays
|
|
96
|
+
* owed, and the `retry` after the next layout tries again. */
|
|
97
|
+
const payShift = useCallback(() => {
|
|
98
|
+
const box = src.current.box.current;
|
|
99
|
+
const want = owedShift.current;
|
|
100
|
+
if (!box || want === 0)
|
|
101
|
+
return;
|
|
102
|
+
const was = box.scrollY;
|
|
103
|
+
scrollTo(was + want);
|
|
104
|
+
owedShift.current = want - (box.scrollY - was);
|
|
105
|
+
}, [scrollTo]);
|
|
106
|
+
const nudge = useCallback((px) => {
|
|
107
|
+
// Either the reveal owns the pane or the anchor does. While a row is
|
|
108
|
+
// owed — or settled and still being confirmed — the reveal re-places
|
|
109
|
+
// it against the heights as they settle, so preserving the anchor
|
|
110
|
+
// would fight it: a remainder paid out after the reveal has already
|
|
111
|
+
// put its row where it belongs scrolls straight past it.
|
|
112
|
+
if (owed.current !== null || settled.current !== null)
|
|
113
|
+
return;
|
|
114
|
+
if (px === 0)
|
|
115
|
+
return;
|
|
116
|
+
owedShift.current += px;
|
|
117
|
+
payShift();
|
|
118
|
+
}, [payShift]);
|
|
91
119
|
const retry = useCallback((provisional) => {
|
|
92
120
|
const { box: boxRef, rows: rowsRef, nodes, heights } = src.current;
|
|
93
121
|
const box = boxRef.current;
|
|
122
|
+
// The shift first: the reveal below judges placement from the offset,
|
|
123
|
+
// and an offset still owing the content above it is the wrong one to
|
|
124
|
+
// judge anything from.
|
|
125
|
+
payShift();
|
|
94
126
|
// The heights just moved, so what the last reveal settled on was settled
|
|
95
127
|
// against numbers that have changed: owe it again until it can be
|
|
96
128
|
// confirmed at the new ones.
|
|
@@ -197,7 +229,7 @@ export function useReveal(sources) {
|
|
|
197
229
|
look.current = null;
|
|
198
230
|
retryRef.current?.();
|
|
199
231
|
});
|
|
200
|
-
}, [scrollTo]);
|
|
232
|
+
}, [scrollTo, payShift]);
|
|
201
233
|
/** `retry` referring to itself through a ref, so the queued look calls the
|
|
202
234
|
* current one rather than closing over the render that queued it. */
|
|
203
235
|
const retryRef = useRef(null);
|
|
@@ -208,6 +240,8 @@ export function useReveal(sources) {
|
|
|
208
240
|
owed.current = id;
|
|
209
241
|
settled.current = null;
|
|
210
242
|
stuck.current = null;
|
|
243
|
+
// the reveal owns the pane now — see `nudge`
|
|
244
|
+
owedShift.current = 0;
|
|
211
245
|
retry();
|
|
212
246
|
}, [retry]);
|
|
213
247
|
const heard = useCallback((scrollY) => {
|
|
@@ -216,9 +250,15 @@ export function useReveal(sources) {
|
|
|
216
250
|
if (scrollY !== asked.current) {
|
|
217
251
|
owed.current = null;
|
|
218
252
|
settled.current = null;
|
|
253
|
+
owedShift.current = 0;
|
|
219
254
|
}
|
|
220
255
|
asked.current = null;
|
|
221
256
|
}, []);
|
|
222
|
-
|
|
257
|
+
// One stable object, not a fresh literal per render: callbacks built on
|
|
258
|
+
// this handle (`revealAt`, and the row handlers behind it) keep their
|
|
259
|
+
// identity, which is what lets a memoized row bail out of a scroll
|
|
260
|
+
// render. A literal here made every row re-render on every notch — the
|
|
261
|
+
// exact cost the memo exists to remove — with nothing anywhere naming it.
|
|
262
|
+
return useMemo(() => ({ to, retry, scrollTo, nudge, heard }), [to, retry, scrollTo, nudge, heard]);
|
|
223
263
|
}
|
|
224
264
|
//# sourceMappingURL=scroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/internal/scroll.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yBAAyB;AACzB,EAAE;AACF,mEAAmE;AACnE,2EAA2E;AAC3E,2EAA2E;AAC3E,sEAAsE;AACtE,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,kEAAkE;AAClE,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,kEAAkE;AAClE,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,uEAAuE;AACvE,iBAAiB;AACjB,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,yDAAyD;AACzD,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAE1E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/internal/scroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,12 @@ export type LayoutTick = {
|
|
|
5
5
|
/** Run `fn` after the layout pass this commit will cause. */
|
|
6
6
|
export declare function afterLayout(fn: () => void): LayoutTick;
|
|
7
7
|
export declare function cancelAfterLayout(tick: LayoutTick): void;
|
|
8
|
+
export type DelayTick = {
|
|
9
|
+
id: unknown;
|
|
10
|
+
} | null;
|
|
11
|
+
/** Run `fn` after `ms` — the idle clock prefetch paces itself on. Typed here
|
|
12
|
+
* for the same reason `afterLayout` is: `src/` compiles with `types: []`,
|
|
13
|
+
* and a bare `setTimeout` would demand `@types/node`. */
|
|
14
|
+
export declare function later(fn: () => void, ms: number): DelayTick;
|
|
15
|
+
export declare function cancelLater(tick: DelayTick): void;
|
|
8
16
|
//# sourceMappingURL=timers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../src/internal/timers.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,UAAU,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAEpE,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,UAAU,CAQtD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAIxD"}
|
|
1
|
+
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../src/internal/timers.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,UAAU,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAEpE,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,UAAU,CAQtD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAIxD;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAE/C;;0DAE0D;AAC1D,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAE3D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAEjD"}
|
package/dist/internal/timers.js
CHANGED
|
@@ -19,4 +19,14 @@ export function cancelAfterLayout(tick) {
|
|
|
19
19
|
else
|
|
20
20
|
g.clearTimeout?.(tick.id);
|
|
21
21
|
}
|
|
22
|
+
/** Run `fn` after `ms` — the idle clock prefetch paces itself on. Typed here
|
|
23
|
+
* for the same reason `afterLayout` is: `src/` compiles with `types: []`,
|
|
24
|
+
* and a bare `setTimeout` would demand `@types/node`. */
|
|
25
|
+
export function later(fn, ms) {
|
|
26
|
+
return g.setTimeout ? { id: g.setTimeout(fn, ms) } : null;
|
|
27
|
+
}
|
|
28
|
+
export function cancelLater(tick) {
|
|
29
|
+
if (tick)
|
|
30
|
+
g.clearTimeout?.(tick.id);
|
|
31
|
+
}
|
|
22
32
|
//# sourceMappingURL=timers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timers.js","sourceRoot":"","sources":["../../src/internal/timers.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,GAAG,UAAsB,CAAC;AAIjC,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,EAAc;IACxC,yEAAyE;IACzE,2EAA2E;IAC3E,oEAAoE;IACpE,wEAAwE;IACxE,IAAI,CAAC,CAAC,YAAY;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,IAAI,CAAC,SAAS;QAAE,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;QAC3C,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"timers.js","sourceRoot":"","sources":["../../src/internal/timers.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,GAAG,UAAsB,CAAC;AAIjC,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,EAAc;IACxC,yEAAyE;IACzE,2EAA2E;IAC3E,oEAAoE;IACpE,wEAAwE;IACxE,IAAI,CAAC,CAAC,YAAY;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,IAAI,CAAC,SAAS;QAAE,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;QAC3C,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAID;;0DAE0D;AAC1D,MAAM,UAAU,KAAK,CAAC,EAAc,EAAE,EAAU;IAC9C,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,IAAI,IAAI;QAAE,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC"}
|