Skip to content

Commit c4e8d8f

Browse files
committed
feat(marko-virtual): option parity, chat-pretext example, e2e suites, type-strict examples
1 parent 850947a commit c4e8d8f

192 files changed

Lines changed: 10941 additions & 1121 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
'@tanstack/marko-virtual': minor
3+
---
4+
5+
Post-release follow-ups for the Marko adapter: full option parity for both tags
6+
(scrollMargin, enabled, isRtl, isScrollingResetDelay, useScrollendEvent,
7+
useAnimationFrameWithResizeObserver, laneAssignmentMode, useCachedMeasurements,
8+
debug, custom measureElement; window tag adds horizontal and initialOffset),
9+
named handle types (VirtualizerHandle / WindowVirtualizerHandle) with committed
10+
.d.marko declarations verified by marko-type-check in CI, a new Chat + Pretext
11+
example (calculated row heights via @chenglou/pretext; streamed replies grow
12+
through resizeItem), browser e2e suites for every example plus option-gate
13+
behavioral proofs, TypeScript-strict cleanups across examples, and chat example
14+
improvements (accurate size estimate, load-ahead history trigger,
15+
overflow-anchor handling).

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,4 @@ vite.config.ts.timestamp-*
4646
test-results/
4747
playwright-report/
4848
*.log
49+
**/*.tsbuildinfo

docs/config.json

Lines changed: 78 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,18 @@
99
{
1010
"label": "Getting Started",
1111
"children": [
12-
{ "label": "Introduction", "to": "introduction" },
13-
{ "label": "Installation", "to": "installation" },
14-
{ "label": "Text Measurement with Pretext", "to": "pretext" }
12+
{
13+
"label": "Introduction",
14+
"to": "introduction"
15+
},
16+
{
17+
"label": "Installation",
18+
"to": "installation"
19+
},
20+
{
21+
"label": "Text Measurement with Pretext",
22+
"to": "pretext"
23+
}
1524
],
1625
"frameworks": [
1726
{
@@ -35,7 +44,10 @@
3544
{
3645
"label": "solid",
3746
"children": [
38-
{ "label": "Solid Virtual", "to": "framework/solid/solid-virtual" }
47+
{
48+
"label": "Solid Virtual",
49+
"to": "framework/solid/solid-virtual"
50+
}
3951
]
4052
},
4153
{
@@ -69,13 +81,24 @@
6981
},
7082
{
7183
"label": "Guides",
72-
"children": [{ "label": "Chat", "to": "chat" }]
84+
"children": [
85+
{
86+
"label": "Chat",
87+
"to": "chat"
88+
}
89+
]
7390
},
7491
{
7592
"label": "Core APIs",
7693
"children": [
77-
{ "label": "Virtualizer", "to": "api/virtualizer" },
78-
{ "label": "VirtualItem", "to": "api/virtual-item" }
94+
{
95+
"label": "Virtualizer",
96+
"to": "api/virtualizer"
97+
},
98+
{
99+
"label": "VirtualItem",
100+
"to": "api/virtual-item"
101+
}
79102
]
80103
},
81104
{
@@ -278,17 +301,65 @@
278301
"to": "framework/marko/examples/grid",
279302
"label": "Grid"
280303
},
304+
{
305+
"to": "framework/marko/examples/pretext",
306+
"label": "Pretext"
307+
},
308+
{
309+
"to": "framework/marko/examples/padding",
310+
"label": "Padding"
311+
},
312+
{
313+
"to": "framework/marko/examples/scroll-padding",
314+
"label": "Scroll Padding"
315+
},
316+
{
317+
"to": "framework/marko/examples/sticky",
318+
"label": "Sticky"
319+
},
281320
{
282321
"to": "framework/marko/examples/infinite-scroll",
283322
"label": "Infinite Scroll"
284323
},
324+
{
325+
"to": "framework/marko/examples/chat",
326+
"label": "Chat"
327+
},
328+
{
329+
"to": "framework/marko/examples/chat-pretext",
330+
"label": "Chat + Pretext"
331+
},
285332
{
286333
"to": "framework/marko/examples/smooth-scroll",
287334
"label": "Smooth Scroll"
288335
},
336+
{
337+
"to": "framework/marko/examples/table",
338+
"label": "Table"
339+
},
289340
{
290341
"to": "framework/marko/examples/window",
291342
"label": "Window"
343+
},
344+
{
345+
"to": "framework/marko/examples/ssr",
346+
"label": "SSR: No Fetch, Rows Render on Client"
347+
},
348+
{
349+
"to": "framework/marko/examples/ssr-fetch",
350+
"label": "SSR: Fetch on Server, Rows Render on Client"
351+
},
352+
{
353+
"to": "framework/marko/examples/ssr-slice",
354+
"label": "SSR: Fetch on Server, Rows Render on Server"
355+
},
356+
{
357+
"to": "framework/marko/examples/ssr-restore",
358+
"label": "SSR: Fetch on Server, Rows Render on Server at Offset"
359+
},
360+
{
361+
"to": "framework/marko/examples/window-ssr-slice",
362+
"label": "SSR Window: Fetch on Server, Rows Render on Server"
292363
}
293364
]
294365
}

0 commit comments

Comments
 (0)