@kudzujs/core 0.17.5 → 0.17.6
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 +1 -1
- package/framework/list-runtime.js +6 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
|
|
|
14
14
|
|
|
15
15
|
> Experimental `0.17.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Current release: [0.17.
|
|
17
|
+
**Current release: [0.17.6](https://github.com/kudzujs/kudzu/releases/tag/v0.17.6).** Item-capturing row handlers retain correctly scoped state and refs after repeated same-key updates. Event templates resolve through existing row ownership before receiving current item captures. Chrome verifies delayed loading, repeated updates, cleanup and fresh clones. Project-app output adds 94 raw bytes; C2 raw JavaScript is unchanged. Generator `create-kudzu@0.1.167` targets core `^0.17.6`. No speed improvement is claimed; startup, restoration and AI-cost/1.0 gates remain unresolved.
|
|
18
18
|
|
|
19
19
|
- [Documentation](https://kudzujs.cloud/docs)
|
|
20
20
|
- [Installation guide](https://kudzujs.cloud/docs#install)
|
|
@@ -630,7 +630,12 @@ function fillListParts(root, parts, item, revision, index = 0, previous) {
|
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
632
|
if (__KUDZU_LIST_EVENTS__) {
|
|
633
|
-
for (
|
|
633
|
+
for (let [node, events] of parts.events) {
|
|
634
|
+
if (__KUDZU_GENERAL_ROW_HOOKS__) {
|
|
635
|
+
let owner = root
|
|
636
|
+
while (owner && !listRowPaths.has(owner)) owner = owner.parentElement
|
|
637
|
+
if (owner && !rowReplacements.has(owner)) events = events.replaceAll("$k", listRowPaths.get(owner))
|
|
638
|
+
}
|
|
634
639
|
for (const [event, native] of JSON.parse(events)) {
|
|
635
640
|
native.scope = Object.fromEntries(Object.entries(native.scope).map(([name, value]) => [name, value?.type === "list-item" ? serializeItem(item) : value?.type === "list-index" ? index : value]))
|
|
636
641
|
node.dataset[`kNative${capitalize(event)}`] = JSON.stringify(native)
|