fix: controlled details and dialog elements

This commit is contained in:
dpiercey 2025-02-04 14:49:07 -07:00 committed by Dylan Piercey
parent 27e65800a1
commit 07f97f187a
4 changed files with 12 additions and 4 deletions

View File

@ -0,0 +1,5 @@
---
"@marko/runtime-tags": patch
---
Fix issue where details and dialog elements were incorrectly running change handlers when the value had not changed.

View File

@ -7,7 +7,7 @@
{
"name": "*",
"total": {
"min": 18364,
"min": 18373,
"brotli": 6749
}
},

View File

@ -1,4 +1,4 @@
// size: 18364 (min) 6749 (brotli)
// size: 18373 (min) 6749 (brotli)
var empty = [],
rest = Symbol();
function attrTag(attrs2) {
@ -446,7 +446,8 @@ function controllable_detailsOrDialog_open(
) {
(scope[nodeAccessor + ";"] = openChange),
(scope[nodeAccessor + "="] = openChange ? 4 : 5),
(scope[nodeAccessor].open = normalizeBoolProp(open));
(scope[nodeAccessor].open = scope[nodeAccessor + ":"] =
normalizeBoolProp(open));
}
function controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {
let el = scope[nodeAccessor],

View File

@ -259,7 +259,9 @@ export function controllable_detailsOrDialog_open(
scope[nodeAccessor + AccessorChar.ControlledType] = ControlledType.None;
}
(scope[nodeAccessor] as HTMLDetailsElement).open = normalizeBoolProp(open);
(scope[nodeAccessor] as HTMLDetailsElement).open = scope[
nodeAccessor + AccessorChar.ControlledValue
] = normalizeBoolProp(open);
}
export function controllable_detailsOrDialog_open_effect(
scope: Scope,