marko 6.1.17 → 6.1.20
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/debug/dom.js +38 -39
- package/dist/debug/dom.mjs +38 -39
- package/dist/debug/html.js +37 -25
- package/dist/debug/html.mjs +37 -25
- package/dist/dom/compat.d.ts +1 -0
- package/dist/dom/event.d.ts +1 -1
- package/dist/dom.js +21 -30
- package/dist/dom.mjs +21 -30
- package/dist/html/attrs.d.ts +6 -6
- package/dist/html.js +29 -26
- package/dist/html.mjs +29 -26
- package/dist/translator/index.js +66 -43
- package/dist/translator/visitors/tag/dynamic-tag.d.ts +10 -0
- package/package.json +1 -1
package/dist/dom.js
CHANGED
|
@@ -4,7 +4,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
4
4
|
else if (Array.isArray(val)) for (let v of val) part = toDelimitedString(v, delimiter, stringify), part && (str += sep + part, sep = delimiter);
|
|
5
5
|
else for (let name in val) part = stringify(name, val[name]), part && (str += sep + part, sep = delimiter);
|
|
6
6
|
return str;
|
|
7
|
-
}, decodeAccessor = (num) => (num + (num < 26 ? 10 : num < 962 ? 334 : 11998)).toString(36),
|
|
7
|
+
}, decodeAccessor = (num) => (num + (num < 26 ? 10 : num < 962 ? 334 : 11998)).toString(36), delegate = (type, handler) => handler[type] ||= (document.addEventListener(type, handler, !0), 1), R = /[^\p{L}\p{N}]/gu, parsers = {}, nextScopeId = 1e6, collectingScopes, destroyNestedScopes = function destroyNestedScopes(scope) {
|
|
8
8
|
scope.H = 0, scope.D?.forEach(destroyNestedScopes), scope.B?.forEach(resetControllers);
|
|
9
9
|
}, isScheduled, channel, _return = (scope, value) => scope.T?.(value), _var_change = (scope, value) => scope.U?.(value), tagIdsByGlobal = /* @__PURE__ */ new WeakMap(), walker = /* @__PURE__ */ document.createTreeWalker(document), walkInternal = function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
10
10
|
let value, currentMultiplier, storedMultiplier = 0, currentScopeIndex = 0;
|
|
@@ -20,7 +20,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
20
20
|
for (value = 10 * currentMultiplier + value - 107; value--;) walker.parentNode();
|
|
21
21
|
walker.nextSibling();
|
|
22
22
|
} else storedMultiplier = currentMultiplier * 10 + value - 117;
|
|
23
|
-
}, cloneCache = {}, registeredValues = {}, curRenders, branchesEnabled, embedRenders, readyIds, isResuming, inputType = "",
|
|
23
|
+
}, cloneCache = {}, registeredValues = {}, curRenders, branchesEnabled, embedRenders, readyIds, isResuming, inputType = "", _dynamic_tag = function(nodeAccessor, getContent, getTagVar, inputIsArgs) {
|
|
24
24
|
nodeAccessor = decodeAccessor(nodeAccessor);
|
|
25
25
|
let childScopeAccessor = "A" + nodeAccessor, rendererAccessor = "D" + nodeAccessor;
|
|
26
26
|
return enableBranches(), (scope, newRenderer, getInput) => {
|
|
@@ -74,6 +74,9 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
74
74
|
getStartNode(branch) {
|
|
75
75
|
return branch.S;
|
|
76
76
|
},
|
|
77
|
+
getEndNode(branch) {
|
|
78
|
+
return branch.K;
|
|
79
|
+
},
|
|
77
80
|
setScopeNodes(branch, startNode, endNode) {
|
|
78
81
|
branch.S = startNode, branch.K = endNode;
|
|
79
82
|
},
|
|
@@ -95,7 +98,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
95
98
|
},
|
|
96
99
|
render(out, component, renderer, args) {
|
|
97
100
|
let branch = component.scope, created = 0;
|
|
98
|
-
if (!branch && (branch = classIdToBranch.get(component.id)) && (component.scope = branch, classIdToBranch.delete(component.id)), typeof args[0] == "object" && "renderBody" in args[0]) {
|
|
101
|
+
if (!branch && (branch = classIdToBranch.get(component.id)) && (component.scope = branch, classIdToBranch.delete(component.id)), args[0] && typeof args[0] == "object" && "renderBody" in args[0]) {
|
|
99
102
|
let input = args[0], normalizedInput = args[0] = {};
|
|
100
103
|
for (let key in input) normalizedInput[key === "renderBody" ? "content" : key] = input[key];
|
|
101
104
|
}
|
|
@@ -179,14 +182,7 @@ function push(opt, item) {
|
|
|
179
182
|
//#endregion
|
|
180
183
|
//#region src/dom/event.ts
|
|
181
184
|
function _on(element, type, handler) {
|
|
182
|
-
element["$" + type] === void 0 &&
|
|
183
|
-
}
|
|
184
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
185
|
-
function createDelegator() {
|
|
186
|
-
let kEvents = Symbol();
|
|
187
|
-
return function(node, type, handler) {
|
|
188
|
-
((node = node.getRootNode())[kEvents] ||= {})[type] ||= (node.addEventListener(type, handler, !0), 1);
|
|
189
|
-
};
|
|
185
|
+
element["$" + type] === void 0 && delegate(type, handleDelegated), element["$" + type] = handler || null;
|
|
190
186
|
}
|
|
191
187
|
function handleDelegated(ev) {
|
|
192
188
|
let target = !rendering && ev.target;
|
|
@@ -574,7 +570,7 @@ function _attr_input_checkedValue_script(scope, nodeAccessor) {
|
|
|
574
570
|
let checkedValueChange = scope["E" + nodeAccessor];
|
|
575
571
|
if (checkedValueChange) {
|
|
576
572
|
let oldValue = scope["G" + nodeAccessor], newValue = Array.isArray(oldValue) ? updateList(oldValue, el.value, el.checked) : el.checked ? el.value : void 0;
|
|
577
|
-
if (el.name && el.type[0] === "r") for (let radio of
|
|
573
|
+
if (el.name && el.type[0] === "r") for (let radio of document.querySelectorAll(`[type=radio][name=${CSS.escape(el.name)}]`)) radio.form === el.form && (radio.checked = Array.isArray(oldValue) ? oldValue.includes(radio.value) : oldValue === radio.value);
|
|
578
574
|
else el.checked = !el.checked;
|
|
579
575
|
checkedValueChange(newValue), run();
|
|
580
576
|
}
|
|
@@ -600,7 +596,7 @@ function _attr_input_value_script(scope, nodeAccessor) {
|
|
|
600
596
|
}
|
|
601
597
|
function setInputValue(el, value) {
|
|
602
598
|
if (el.value !== value) {
|
|
603
|
-
let updatedPosition = resolveCursorPosition(inputType,
|
|
599
|
+
let updatedPosition = resolveCursorPosition(inputType, document.activeElement === el && el.selectionStart, el.value, el.value = value);
|
|
604
600
|
~updatedPosition && el.setSelectionRange(updatedPosition, updatedPosition);
|
|
605
601
|
}
|
|
606
602
|
}
|
|
@@ -672,7 +668,7 @@ function _attr_details_or_dialog_open_script(scope, nodeAccessor) {
|
|
|
672
668
|
});
|
|
673
669
|
}
|
|
674
670
|
function syncControllableFormInput(el, hasChanged, onChange) {
|
|
675
|
-
el._ = onChange,
|
|
671
|
+
el._ = onChange, delegate("input", handleChange), el.form && delegate("reset", handleFormReset), isResuming && hasChanged(el) && queueMicrotask(onChange);
|
|
676
672
|
}
|
|
677
673
|
function handleChange(ev) {
|
|
678
674
|
ev.target._?.(ev);
|
|
@@ -777,11 +773,10 @@ function attrsInternal(scope, nodeAccessor, nextAttrs) {
|
|
|
777
773
|
for (let name in events) events[name] = 0;
|
|
778
774
|
switch (scope["F" + nodeAccessor] = 5, scope["E" + nodeAccessor] = 0, el.tagName) {
|
|
779
775
|
case "INPUT":
|
|
780
|
-
if ("checked" in nextAttrs || "checkedChange" in nextAttrs) _attr_input_checked(scope, nodeAccessor, nextAttrs.checked, nextAttrs.checkedChange)
|
|
781
|
-
else if ("checkedValue" in nextAttrs || "checkedValueChange" in nextAttrs) _attr_input_checkedValue(scope, nodeAccessor, nextAttrs.checkedValue, nextAttrs.checkedValueChange, nextAttrs.value)
|
|
782
|
-
else if ("value" in nextAttrs || "valueChange" in nextAttrs) _attr_input_value(scope, nodeAccessor, nextAttrs.value, nextAttrs.valueChange)
|
|
776
|
+
if ("checked" in nextAttrs || "checkedChange" in nextAttrs) _attr_input_checked(scope, nodeAccessor, nextAttrs.checked, nextAttrs.checkedChange), skip = /^checked(?:Value)?(?:Change)?$/;
|
|
777
|
+
else if ("checkedValue" in nextAttrs || "checkedValueChange" in nextAttrs) _attr_input_checkedValue(scope, nodeAccessor, nextAttrs.checkedValue, nextAttrs.checkedValueChange, nextAttrs.value), skip = /^(?:value|checked(?:Value)?)(?:Change)?$/;
|
|
778
|
+
else if ("value" in nextAttrs || "valueChange" in nextAttrs) _attr_input_value(scope, nodeAccessor, nextAttrs.value, nextAttrs.valueChange), skip = /^value(?:Change)?$/;
|
|
783
779
|
else break;
|
|
784
|
-
skip = /^(?:value|checked(?:Value)?)(?:Change)?$/;
|
|
785
780
|
break;
|
|
786
781
|
case "SELECT":
|
|
787
782
|
("value" in nextAttrs || "valueChange" in nextAttrs) && (_attr_select_value(scope, nodeAccessor, nextAttrs.value, nextAttrs.valueChange), skip = /^value(?:Change)?$/);
|
|
@@ -1228,25 +1223,21 @@ function _load_setup(nodeAccessor, childScopeAccessor, load) {
|
|
|
1228
1223
|
};
|
|
1229
1224
|
}
|
|
1230
1225
|
function insertLoaded(renderer, branch, marker, awaitCounter) {
|
|
1231
|
-
let parent = marker.parentNode
|
|
1232
|
-
syncGen(branch), renderer.b(branch, parent.namespaceURI), setupBranch(renderer, branch), applyLoad(branch, () => {
|
|
1226
|
+
let parent = marker.parentNode, values = branch.X, insert = () => {
|
|
1233
1227
|
insertBranchBefore(branch, parent, marker), marker.remove(), awaitCounter?.c();
|
|
1234
|
-
}
|
|
1228
|
+
}, remaining;
|
|
1229
|
+
if (syncGen(branch), renderer.b(branch, parent.namespaceURI), branch.X = 0, remaining = values?.size) for (let [promise, entry] of values) promise.then((signal) => {
|
|
1230
|
+
entry.b = signal, --remaining || queueAsyncRender(branch, (branch) => {
|
|
1231
|
+
syncGen(branch), renderer.c?.(branch), values.forEach((e) => e.b._(branch, e.a)), insert();
|
|
1232
|
+
});
|
|
1233
|
+
}, () => 0);
|
|
1234
|
+
else setupBranch(renderer, branch), insert();
|
|
1235
1235
|
}
|
|
1236
1236
|
function loadFailed(scope, awaitCounter) {
|
|
1237
1237
|
return (error) => {
|
|
1238
1238
|
awaitCounter && (awaitCounter.i = 0), queueAsyncRender(scope, renderCatch, error);
|
|
1239
1239
|
};
|
|
1240
1240
|
}
|
|
1241
|
-
function applyLoad(scope, insert) {
|
|
1242
|
-
let values = scope.X, remaining;
|
|
1243
|
-
if (scope.X = 0, remaining = values?.size) for (let [promise, entry] of values) promise.then((signal) => {
|
|
1244
|
-
entry.b = signal, --remaining || queueAsyncRender(scope, (scope) => {
|
|
1245
|
-
syncGen(scope), values.forEach((e) => e.b._(scope, e.a)), insert();
|
|
1246
|
-
});
|
|
1247
|
-
}, () => 0);
|
|
1248
|
-
else insert();
|
|
1249
|
-
}
|
|
1250
1241
|
function _load_signal(load) {
|
|
1251
1242
|
let pending, signal;
|
|
1252
1243
|
return (scope, value) => {
|
package/dist/dom.mjs
CHANGED
|
@@ -4,7 +4,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
4
4
|
else if (Array.isArray(val)) for (let v of val) part = toDelimitedString(v, delimiter, stringify), part && (str += sep + part, sep = delimiter);
|
|
5
5
|
else for (let name in val) part = stringify(name, val[name]), part && (str += sep + part, sep = delimiter);
|
|
6
6
|
return str;
|
|
7
|
-
}, decodeAccessor = (num) => (num + (num < 26 ? 10 : num < 962 ? 334 : 11998)).toString(36),
|
|
7
|
+
}, decodeAccessor = (num) => (num + (num < 26 ? 10 : num < 962 ? 334 : 11998)).toString(36), delegate = (type, handler) => handler[type] ||= (document.addEventListener(type, handler, !0), 1), R = /[^\p{L}\p{N}]/gu, parsers = {}, nextScopeId = 1e6, collectingScopes, destroyNestedScopes = function destroyNestedScopes(scope) {
|
|
8
8
|
scope.H = 0, scope.D?.forEach(destroyNestedScopes), scope.B?.forEach(resetControllers);
|
|
9
9
|
}, isScheduled, channel, _return = (scope, value) => scope.T?.(value), _var_change = (scope, value) => scope.U?.(value), tagIdsByGlobal = /* @__PURE__ */ new WeakMap(), walker = /* @__PURE__ */ document.createTreeWalker(document), walkInternal = function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
10
10
|
let value, currentMultiplier, storedMultiplier = 0, currentScopeIndex = 0;
|
|
@@ -20,7 +20,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
20
20
|
for (value = 10 * currentMultiplier + value - 107; value--;) walker.parentNode();
|
|
21
21
|
walker.nextSibling();
|
|
22
22
|
} else storedMultiplier = currentMultiplier * 10 + value - 117;
|
|
23
|
-
}, cloneCache = {}, registeredValues = {}, curRenders, branchesEnabled, embedRenders, readyIds, isResuming, inputType = "",
|
|
23
|
+
}, cloneCache = {}, registeredValues = {}, curRenders, branchesEnabled, embedRenders, readyIds, isResuming, inputType = "", _dynamic_tag = function(nodeAccessor, getContent, getTagVar, inputIsArgs) {
|
|
24
24
|
nodeAccessor = decodeAccessor(nodeAccessor);
|
|
25
25
|
let childScopeAccessor = "A" + nodeAccessor, rendererAccessor = "D" + nodeAccessor;
|
|
26
26
|
return enableBranches(), (scope, newRenderer, getInput) => {
|
|
@@ -74,6 +74,9 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
74
74
|
getStartNode(branch) {
|
|
75
75
|
return branch.S;
|
|
76
76
|
},
|
|
77
|
+
getEndNode(branch) {
|
|
78
|
+
return branch.K;
|
|
79
|
+
},
|
|
77
80
|
setScopeNodes(branch, startNode, endNode) {
|
|
78
81
|
branch.S = startNode, branch.K = endNode;
|
|
79
82
|
},
|
|
@@ -95,7 +98,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
95
98
|
},
|
|
96
99
|
render(out, component, renderer, args) {
|
|
97
100
|
let branch = component.scope, created = 0;
|
|
98
|
-
if (!branch && (branch = classIdToBranch.get(component.id)) && (component.scope = branch, classIdToBranch.delete(component.id)), typeof args[0] == "object" && "renderBody" in args[0]) {
|
|
101
|
+
if (!branch && (branch = classIdToBranch.get(component.id)) && (component.scope = branch, classIdToBranch.delete(component.id)), args[0] && typeof args[0] == "object" && "renderBody" in args[0]) {
|
|
99
102
|
let input = args[0], normalizedInput = args[0] = {};
|
|
100
103
|
for (let key in input) normalizedInput[key === "renderBody" ? "content" : key] = input[key];
|
|
101
104
|
}
|
|
@@ -178,14 +181,7 @@ function push(opt, item) {
|
|
|
178
181
|
//#endregion
|
|
179
182
|
//#region src/dom/event.ts
|
|
180
183
|
function _on(element, type, handler) {
|
|
181
|
-
element["$" + type] === void 0 &&
|
|
182
|
-
}
|
|
183
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
184
|
-
function createDelegator() {
|
|
185
|
-
let kEvents = Symbol();
|
|
186
|
-
return function(node, type, handler) {
|
|
187
|
-
((node = node.getRootNode())[kEvents] ||= {})[type] ||= (node.addEventListener(type, handler, !0), 1);
|
|
188
|
-
};
|
|
184
|
+
element["$" + type] === void 0 && delegate(type, handleDelegated), element["$" + type] = handler || null;
|
|
189
185
|
}
|
|
190
186
|
function handleDelegated(ev) {
|
|
191
187
|
let target = !rendering && ev.target;
|
|
@@ -573,7 +569,7 @@ function _attr_input_checkedValue_script(scope, nodeAccessor) {
|
|
|
573
569
|
let checkedValueChange = scope["E" + nodeAccessor];
|
|
574
570
|
if (checkedValueChange) {
|
|
575
571
|
let oldValue = scope["G" + nodeAccessor], newValue = Array.isArray(oldValue) ? updateList(oldValue, el.value, el.checked) : el.checked ? el.value : void 0;
|
|
576
|
-
if (el.name && el.type[0] === "r") for (let radio of
|
|
572
|
+
if (el.name && el.type[0] === "r") for (let radio of document.querySelectorAll(`[type=radio][name=${CSS.escape(el.name)}]`)) radio.form === el.form && (radio.checked = Array.isArray(oldValue) ? oldValue.includes(radio.value) : oldValue === radio.value);
|
|
577
573
|
else el.checked = !el.checked;
|
|
578
574
|
checkedValueChange(newValue), run();
|
|
579
575
|
}
|
|
@@ -599,7 +595,7 @@ function _attr_input_value_script(scope, nodeAccessor) {
|
|
|
599
595
|
}
|
|
600
596
|
function setInputValue(el, value) {
|
|
601
597
|
if (el.value !== value) {
|
|
602
|
-
let updatedPosition = resolveCursorPosition(inputType,
|
|
598
|
+
let updatedPosition = resolveCursorPosition(inputType, document.activeElement === el && el.selectionStart, el.value, el.value = value);
|
|
603
599
|
~updatedPosition && el.setSelectionRange(updatedPosition, updatedPosition);
|
|
604
600
|
}
|
|
605
601
|
}
|
|
@@ -671,7 +667,7 @@ function _attr_details_or_dialog_open_script(scope, nodeAccessor) {
|
|
|
671
667
|
});
|
|
672
668
|
}
|
|
673
669
|
function syncControllableFormInput(el, hasChanged, onChange) {
|
|
674
|
-
el._ = onChange,
|
|
670
|
+
el._ = onChange, delegate("input", handleChange), el.form && delegate("reset", handleFormReset), isResuming && hasChanged(el) && queueMicrotask(onChange);
|
|
675
671
|
}
|
|
676
672
|
function handleChange(ev) {
|
|
677
673
|
ev.target._?.(ev);
|
|
@@ -776,11 +772,10 @@ function attrsInternal(scope, nodeAccessor, nextAttrs) {
|
|
|
776
772
|
for (let name in events) events[name] = 0;
|
|
777
773
|
switch (scope["F" + nodeAccessor] = 5, scope["E" + nodeAccessor] = 0, el.tagName) {
|
|
778
774
|
case "INPUT":
|
|
779
|
-
if ("checked" in nextAttrs || "checkedChange" in nextAttrs) _attr_input_checked(scope, nodeAccessor, nextAttrs.checked, nextAttrs.checkedChange)
|
|
780
|
-
else if ("checkedValue" in nextAttrs || "checkedValueChange" in nextAttrs) _attr_input_checkedValue(scope, nodeAccessor, nextAttrs.checkedValue, nextAttrs.checkedValueChange, nextAttrs.value)
|
|
781
|
-
else if ("value" in nextAttrs || "valueChange" in nextAttrs) _attr_input_value(scope, nodeAccessor, nextAttrs.value, nextAttrs.valueChange)
|
|
775
|
+
if ("checked" in nextAttrs || "checkedChange" in nextAttrs) _attr_input_checked(scope, nodeAccessor, nextAttrs.checked, nextAttrs.checkedChange), skip = /^checked(?:Value)?(?:Change)?$/;
|
|
776
|
+
else if ("checkedValue" in nextAttrs || "checkedValueChange" in nextAttrs) _attr_input_checkedValue(scope, nodeAccessor, nextAttrs.checkedValue, nextAttrs.checkedValueChange, nextAttrs.value), skip = /^(?:value|checked(?:Value)?)(?:Change)?$/;
|
|
777
|
+
else if ("value" in nextAttrs || "valueChange" in nextAttrs) _attr_input_value(scope, nodeAccessor, nextAttrs.value, nextAttrs.valueChange), skip = /^value(?:Change)?$/;
|
|
782
778
|
else break;
|
|
783
|
-
skip = /^(?:value|checked(?:Value)?)(?:Change)?$/;
|
|
784
779
|
break;
|
|
785
780
|
case "SELECT":
|
|
786
781
|
("value" in nextAttrs || "valueChange" in nextAttrs) && (_attr_select_value(scope, nodeAccessor, nextAttrs.value, nextAttrs.valueChange), skip = /^value(?:Change)?$/);
|
|
@@ -1227,25 +1222,21 @@ function _load_setup(nodeAccessor, childScopeAccessor, load) {
|
|
|
1227
1222
|
};
|
|
1228
1223
|
}
|
|
1229
1224
|
function insertLoaded(renderer, branch, marker, awaitCounter) {
|
|
1230
|
-
let parent = marker.parentNode
|
|
1231
|
-
syncGen(branch), renderer.b(branch, parent.namespaceURI), setupBranch(renderer, branch), applyLoad(branch, () => {
|
|
1225
|
+
let parent = marker.parentNode, values = branch.X, insert = () => {
|
|
1232
1226
|
insertBranchBefore(branch, parent, marker), marker.remove(), awaitCounter?.c();
|
|
1233
|
-
}
|
|
1227
|
+
}, remaining;
|
|
1228
|
+
if (syncGen(branch), renderer.b(branch, parent.namespaceURI), branch.X = 0, remaining = values?.size) for (let [promise, entry] of values) promise.then((signal) => {
|
|
1229
|
+
entry.b = signal, --remaining || queueAsyncRender(branch, (branch) => {
|
|
1230
|
+
syncGen(branch), renderer.c?.(branch), values.forEach((e) => e.b._(branch, e.a)), insert();
|
|
1231
|
+
});
|
|
1232
|
+
}, () => 0);
|
|
1233
|
+
else setupBranch(renderer, branch), insert();
|
|
1234
1234
|
}
|
|
1235
1235
|
function loadFailed(scope, awaitCounter) {
|
|
1236
1236
|
return (error) => {
|
|
1237
1237
|
awaitCounter && (awaitCounter.i = 0), queueAsyncRender(scope, renderCatch, error);
|
|
1238
1238
|
};
|
|
1239
1239
|
}
|
|
1240
|
-
function applyLoad(scope, insert) {
|
|
1241
|
-
let values = scope.X, remaining;
|
|
1242
|
-
if (scope.X = 0, remaining = values?.size) for (let [promise, entry] of values) promise.then((signal) => {
|
|
1243
|
-
entry.b = signal, --remaining || queueAsyncRender(scope, (scope) => {
|
|
1244
|
-
syncGen(scope), values.forEach((e) => e.b._(scope, e.a)), insert();
|
|
1245
|
-
});
|
|
1246
|
-
}, () => 0);
|
|
1247
|
-
else insert();
|
|
1248
|
-
}
|
|
1249
1240
|
function _load_signal(load) {
|
|
1250
1241
|
let pending, signal;
|
|
1251
1242
|
return (scope, value) => {
|
package/dist/html/attrs.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ import { type Accessor } from "../common/types";
|
|
|
2
2
|
export declare function _attr_class(value: unknown): string;
|
|
3
3
|
export declare function _attr_style(value: unknown): string;
|
|
4
4
|
export declare function _attr_option_value(value: unknown): string;
|
|
5
|
-
export declare function _attr_select_value(scopeId: number, nodeAccessor: Accessor, value: unknown, valueChange: unknown, content?: () => void): void;
|
|
6
|
-
export declare function _attr_textarea_value(scopeId: number, nodeAccessor: Accessor, value: unknown, valueChange: unknown): string;
|
|
7
|
-
export declare function _attr_input_value(scopeId: number, nodeAccessor: Accessor, value: unknown, valueChange: unknown): string;
|
|
8
|
-
export declare function _attr_input_checked(scopeId: number, nodeAccessor: Accessor, checked: unknown, checkedChange: unknown): "" | " checked";
|
|
9
|
-
export declare function _attr_input_checkedValue(scopeId: number, nodeAccessor: Accessor, checkedValue: unknown, checkedValueChange: unknown, value: unknown): string;
|
|
10
|
-
export declare function _attr_details_or_dialog_open(scopeId: number, nodeAccessor: Accessor, open: unknown, openChange: unknown): "" | " open";
|
|
5
|
+
export declare function _attr_select_value(scopeId: number, nodeAccessor: Accessor, value: unknown, valueChange: unknown, content?: () => void, serializeType?: 1): void;
|
|
6
|
+
export declare function _attr_textarea_value(scopeId: number, nodeAccessor: Accessor, value: unknown, valueChange: unknown, serializeType?: 1): string;
|
|
7
|
+
export declare function _attr_input_value(scopeId: number, nodeAccessor: Accessor, value: unknown, valueChange: unknown, serializeType?: 1): string;
|
|
8
|
+
export declare function _attr_input_checked(scopeId: number, nodeAccessor: Accessor, checked: unknown, checkedChange: unknown, serializeType?: 1): "" | " checked";
|
|
9
|
+
export declare function _attr_input_checkedValue(scopeId: number, nodeAccessor: Accessor, checkedValue: unknown, checkedValueChange: unknown, value: unknown, serializeType?: 1): string;
|
|
10
|
+
export declare function _attr_details_or_dialog_open(scopeId: number, nodeAccessor: Accessor, open: unknown, openChange: unknown, serializeType?: 1): "" | " open";
|
|
11
11
|
export declare function _attr_nonce(): string;
|
|
12
12
|
export declare function _attr(name: string, value: unknown): string;
|
|
13
13
|
export declare function _attrs(data: Record<string, unknown>, nodeAccessor: Accessor, scopeId: number, tagName: string): string;
|
package/dist/html.js
CHANGED
|
@@ -238,7 +238,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
238
238
|
[JSON, "JSON"],
|
|
239
239
|
[Math, "Math"],
|
|
240
240
|
[Reflect, "Reflect"]
|
|
241
|
-
]), $chunk, NOOP$2 = () => {}, kPendingContexts = Symbol("Pending Contexts"), kBranchId = Symbol("Branch Id"), kIsAsync = Symbol("Is Async"), writeScope = (scopeId, partialScope) => {
|
|
241
|
+
]), unsafeRegExpSourceReg = /\\[\s\S]|</g, replaceUnsafeRegExpSourceChar = (match) => match === "<" || match === "\\<" ? "\\x3C" : match, $chunk, NOOP$2 = () => {}, kPendingContexts = Symbol("Pending Contexts"), kBranchId = Symbol("Branch Id"), kIsAsync = Symbol("Is Async"), writeScope = (scopeId, partialScope) => {
|
|
242
242
|
let { state } = $chunk.boundary, target = $chunk.serializeState, scope = scopeWithId(state, scopeId), pending = target.writeScopes[scopeId];
|
|
243
243
|
return state.needsMainRuntime = !0, Object.assign(scope, partialScope), pending && pending !== partialScope ? Object.assign(pending, partialScope) : target.writeScopes[scopeId] = partialScope, target.flushScopes = !0, scope;
|
|
244
244
|
}, tick = globalThis.setImmediate || globalThis.setTimeout || globalThis.queueMicrotask || ((cb) => Promise.resolve().then(cb)), tickQueue, kSelectedValue = Symbol("selectedValue"), checkedValuesRefs = /* @__PURE__ */ new WeakMap(), singleQuoteAttrReplacements = /'|&(?=#?\w+;)/g, doubleQuoteAttrReplacements = /"|&(?=#?\w+;)/g, needsQuotedAttr = /["'>\s]|&#?\w+;|\/$/g, voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/, _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, serializeReason) => {
|
|
@@ -247,10 +247,10 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
247
247
|
let input = (inputIsArgs ? inputOrArgs[0] : inputOrArgs) || {};
|
|
248
248
|
if (rendered = !0, _scope_id(), _html(`<${renderer}${_attrs(input, "a", branchId, renderer)}>`), !voidElementsReg.test(renderer)) {
|
|
249
249
|
let renderContent = content || normalizeDynamicRenderer(input.content);
|
|
250
|
-
if (renderer === "textarea") _html(_attr_textarea_value(branchId, "a", input.value, input.valueChange));
|
|
250
|
+
if (renderer === "textarea") _html(_attr_textarea_value(branchId, "a", input.value, input.valueChange, 1));
|
|
251
251
|
else if (renderContent) {
|
|
252
252
|
if (typeof renderContent != "function") throw Error(`Body content is not supported for the \`<${renderer}>\` tag.`);
|
|
253
|
-
renderer === "select" && ("value" in input || "valueChange" in input) ? _attr_select_value(branchId, "a", input.value, input.valueChange, renderContent) : _dynamic_tag(branchId, "a", renderContent, void 0, 0, void 0, serializeReason);
|
|
253
|
+
renderer === "select" && ("value" in input || "valueChange" in input) ? _attr_select_value(branchId, "a", input.value, input.valueChange, renderContent, 1) : _dynamic_tag(branchId, "a", renderContent, void 0, 0, void 0, serializeReason);
|
|
254
254
|
}
|
|
255
255
|
_html(`</${renderer}>`);
|
|
256
256
|
}
|
|
@@ -691,7 +691,8 @@ function writeDate(state, val) {
|
|
|
691
691
|
return state.buf.push("new Date(" + +val + ")"), !0;
|
|
692
692
|
}
|
|
693
693
|
function writeRegExp(state, val) {
|
|
694
|
-
|
|
694
|
+
let { source } = val;
|
|
695
|
+
return state.buf.push("/" + (source.includes("<") ? source.replace(unsafeRegExpSourceReg, replaceUnsafeRegExpSourceChar) : source) + "/" + val.flags), !0;
|
|
695
696
|
}
|
|
696
697
|
function writePromise(state, val, ref) {
|
|
697
698
|
let { boundary, channel } = state;
|
|
@@ -760,7 +761,7 @@ function writeWeakMap(state) {
|
|
|
760
761
|
}
|
|
761
762
|
function writeError(state, val, ref) {
|
|
762
763
|
let result = "new " + val.constructor.name + "(" + quote(val.message + "", 0);
|
|
763
|
-
return val.cause ? (state.buf.push(result + ",{cause:"), writeProp(state, val.cause, ref, "cause"), state.buf.push("})"))
|
|
764
|
+
return val.cause === void 0 ? state.buf.push(result + ")") : (state.buf.push(result + ",{cause:"), writeProp(state, val.cause, ref, "cause"), state.buf.push("})")), !0;
|
|
764
765
|
}
|
|
765
766
|
function writeAggregateError(state, val, ref) {
|
|
766
767
|
return state.buf.push("new AggregateError("), writeProp(state, val.errors, ref, "errors"), val.message ? state.buf.push("," + quote(val.message + "", 0) + ")") : state.buf.push(")"), !0;
|
|
@@ -1611,24 +1612,24 @@ function _attr_style(value) {
|
|
|
1611
1612
|
return stringAttr("style", toDelimitedString(value, ";", stringifyStyleObject));
|
|
1612
1613
|
}
|
|
1613
1614
|
function _attr_option_value(value) {
|
|
1614
|
-
let valueAttr = _attr("value", value);
|
|
1615
|
-
return normalizedValueMatches(
|
|
1615
|
+
let valueAttr = _attr("value", value), selectedValue = getContext(kSelectedValue);
|
|
1616
|
+
return selectedValue !== void 0 && normalizedValueMatches(selectedValue, value) ? valueAttr + " selected" : valueAttr;
|
|
1616
1617
|
}
|
|
1617
|
-
function _attr_select_value(scopeId, nodeAccessor, value, valueChange, content) {
|
|
1618
|
-
valueChange && writeControlledScope(3, scopeId, nodeAccessor, void 0, valueChange), content && withContext(kSelectedValue, value, content);
|
|
1618
|
+
function _attr_select_value(scopeId, nodeAccessor, value, valueChange, content, serializeType) {
|
|
1619
|
+
valueChange && writeControlledScope(3, scopeId, nodeAccessor, void 0, valueChange, serializeType), content && withContext(kSelectedValue, value, content);
|
|
1619
1620
|
}
|
|
1620
|
-
function _attr_textarea_value(scopeId, nodeAccessor, value, valueChange) {
|
|
1621
|
-
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange), _escape(value);
|
|
1621
|
+
function _attr_textarea_value(scopeId, nodeAccessor, value, valueChange, serializeType) {
|
|
1622
|
+
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange, serializeType), _escape(value);
|
|
1622
1623
|
}
|
|
1623
|
-
function _attr_input_value(scopeId, nodeAccessor, value, valueChange) {
|
|
1624
|
-
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange), _attr("value", value);
|
|
1624
|
+
function _attr_input_value(scopeId, nodeAccessor, value, valueChange, serializeType) {
|
|
1625
|
+
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange, serializeType), _attr("value", value);
|
|
1625
1626
|
}
|
|
1626
|
-
function _attr_input_checked(scopeId, nodeAccessor, checked, checkedChange) {
|
|
1627
|
-
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange), isNotVoid(checked) ? " checked" : "";
|
|
1627
|
+
function _attr_input_checked(scopeId, nodeAccessor, checked, checkedChange, serializeType) {
|
|
1628
|
+
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange, serializeType), isNotVoid(checked) ? " checked" : "";
|
|
1628
1629
|
}
|
|
1629
|
-
function _attr_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {
|
|
1630
|
+
function _attr_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value, serializeType) {
|
|
1630
1631
|
let valueAttr = _attr("value", value);
|
|
1631
|
-
return checkedValueChange && writeControlledScope(1, scopeId, nodeAccessor, getCheckedValueRef(checkedValue), checkedValueChange), normalizedValueMatches(checkedValue, value) ? valueAttr + " checked" : valueAttr;
|
|
1632
|
+
return checkedValueChange && writeControlledScope(1, scopeId, nodeAccessor, getCheckedValueRef(checkedValue), checkedValueChange, serializeType), normalizedValueMatches(checkedValue, value) ? valueAttr + " checked" : valueAttr;
|
|
1632
1633
|
}
|
|
1633
1634
|
function getCheckedValueRef(checkedValue) {
|
|
1634
1635
|
if (Array.isArray(checkedValue)) {
|
|
@@ -1636,9 +1637,9 @@ function getCheckedValueRef(checkedValue) {
|
|
|
1636
1637
|
return ref || (ref = [], checkedValuesRefs.set(checkedValue, ref)), ref;
|
|
1637
1638
|
}
|
|
1638
1639
|
}
|
|
1639
|
-
function _attr_details_or_dialog_open(scopeId, nodeAccessor, open, openChange) {
|
|
1640
|
+
function _attr_details_or_dialog_open(scopeId, nodeAccessor, open, openChange, serializeType) {
|
|
1640
1641
|
let normalizedOpen = isNotVoid(open);
|
|
1641
|
-
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen || void 0, openChange), normalizedOpen ? " open" : "";
|
|
1642
|
+
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen || void 0, openChange, serializeType), normalizedOpen ? " open" : "";
|
|
1642
1643
|
}
|
|
1643
1644
|
function _attr_nonce() {
|
|
1644
1645
|
return getChunk().boundary.state.nonceAttr;
|
|
@@ -1650,11 +1651,10 @@ function _attrs(data, nodeAccessor, scopeId, tagName) {
|
|
|
1650
1651
|
let result = "", skip = /[\s/>"'=]/, events;
|
|
1651
1652
|
switch (tagName) {
|
|
1652
1653
|
case "input":
|
|
1653
|
-
if (data.checkedChange) result += _attr_input_checked(scopeId, nodeAccessor, data.checked, data.checkedChange)
|
|
1654
|
-
else if ("checkedValue" in data || data.checkedValueChange) result += _attr_input_checkedValue(scopeId, nodeAccessor, data.checkedValue, data.checkedValueChange, data.value)
|
|
1655
|
-
else if (data.valueChange) result += _attr_input_value(scopeId, nodeAccessor, data.value, data.valueChange)
|
|
1654
|
+
if (data.checkedChange) result += _attr_input_checked(scopeId, nodeAccessor, data.checked, data.checkedChange, 1), skip = /^checked(?:Value)?(?:Change)?$|[\s/>"'=]/;
|
|
1655
|
+
else if ("checkedValue" in data || data.checkedValueChange) result += _attr_input_checkedValue(scopeId, nodeAccessor, data.checkedValue, data.checkedValueChange, data.value, 1), skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\s/>"'=]/;
|
|
1656
|
+
else if (data.valueChange) result += _attr_input_value(scopeId, nodeAccessor, data.value, data.valueChange, 1), skip = /^value(?:Change)?$|[\s/>"'=]/;
|
|
1656
1657
|
else break;
|
|
1657
|
-
skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\s/>"'=]/;
|
|
1658
1658
|
break;
|
|
1659
1659
|
case "select":
|
|
1660
1660
|
case "textarea":
|
|
@@ -1665,7 +1665,7 @@ function _attrs(data, nodeAccessor, scopeId, tagName) {
|
|
|
1665
1665
|
break;
|
|
1666
1666
|
case "details":
|
|
1667
1667
|
case "dialog":
|
|
1668
|
-
data.openChange && (result += _attr_details_or_dialog_open(scopeId, nodeAccessor, data.open, data.openChange), skip = /^open(?:Change)?$|[\s/>"'=]/);
|
|
1668
|
+
data.openChange && (result += _attr_details_or_dialog_open(scopeId, nodeAccessor, data.open, data.openChange, 1), skip = /^open(?:Change)?$|[\s/>"'=]/);
|
|
1669
1669
|
break;
|
|
1670
1670
|
}
|
|
1671
1671
|
for (let name in data) {
|
|
@@ -1698,11 +1698,14 @@ function _attrs_partial(data, skip, nodeAccessor, scopeId, tagName) {
|
|
|
1698
1698
|
function _attrs_partial_content(data, skip, nodeAccessor, scopeId, tagName, serializeReason) {
|
|
1699
1699
|
_html(`${_attrs_partial(data, skip, nodeAccessor, scopeId, tagName)}>`), _attr_content(nodeAccessor, scopeId, data?.content, serializeReason);
|
|
1700
1700
|
}
|
|
1701
|
-
function writeControlledScope(type, scopeId, nodeAccessor, value, valueChange) {
|
|
1702
|
-
writeScope(scopeId, {
|
|
1701
|
+
function writeControlledScope(type, scopeId, nodeAccessor, value, valueChange, serializeType) {
|
|
1702
|
+
writeScope(scopeId, serializeType ? {
|
|
1703
1703
|
["F" + nodeAccessor]: type,
|
|
1704
1704
|
["G" + nodeAccessor]: value,
|
|
1705
1705
|
["E" + nodeAccessor]: valueChange
|
|
1706
|
+
} : {
|
|
1707
|
+
["G" + nodeAccessor]: value,
|
|
1708
|
+
["E" + nodeAccessor]: valueChange
|
|
1706
1709
|
});
|
|
1707
1710
|
}
|
|
1708
1711
|
function stringAttr(name, value) {
|
package/dist/html.mjs
CHANGED
|
@@ -238,7 +238,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
238
238
|
[JSON, "JSON"],
|
|
239
239
|
[Math, "Math"],
|
|
240
240
|
[Reflect, "Reflect"]
|
|
241
|
-
]), $chunk, NOOP$2 = () => {}, kPendingContexts = Symbol("Pending Contexts"), kBranchId = Symbol("Branch Id"), kIsAsync = Symbol("Is Async"), writeScope = (scopeId, partialScope) => {
|
|
241
|
+
]), unsafeRegExpSourceReg = /\\[\s\S]|</g, replaceUnsafeRegExpSourceChar = (match) => match === "<" || match === "\\<" ? "\\x3C" : match, $chunk, NOOP$2 = () => {}, kPendingContexts = Symbol("Pending Contexts"), kBranchId = Symbol("Branch Id"), kIsAsync = Symbol("Is Async"), writeScope = (scopeId, partialScope) => {
|
|
242
242
|
let { state } = $chunk.boundary, target = $chunk.serializeState, scope = scopeWithId(state, scopeId), pending = target.writeScopes[scopeId];
|
|
243
243
|
return state.needsMainRuntime = !0, Object.assign(scope, partialScope), pending && pending !== partialScope ? Object.assign(pending, partialScope) : target.writeScopes[scopeId] = partialScope, target.flushScopes = !0, scope;
|
|
244
244
|
}, tick = globalThis.setImmediate || globalThis.setTimeout || globalThis.queueMicrotask || ((cb) => Promise.resolve().then(cb)), tickQueue, kSelectedValue = Symbol("selectedValue"), checkedValuesRefs = /* @__PURE__ */ new WeakMap(), singleQuoteAttrReplacements = /'|&(?=#?\w+;)/g, doubleQuoteAttrReplacements = /"|&(?=#?\w+;)/g, needsQuotedAttr = /["'>\s]|&#?\w+;|\/$/g, voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/, _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, serializeReason) => {
|
|
@@ -247,10 +247,10 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
247
247
|
let input = (inputIsArgs ? inputOrArgs[0] : inputOrArgs) || {};
|
|
248
248
|
if (rendered = !0, _scope_id(), _html(`<${renderer}${_attrs(input, "a", branchId, renderer)}>`), !voidElementsReg.test(renderer)) {
|
|
249
249
|
let renderContent = content || normalizeDynamicRenderer(input.content);
|
|
250
|
-
if (renderer === "textarea") _html(_attr_textarea_value(branchId, "a", input.value, input.valueChange));
|
|
250
|
+
if (renderer === "textarea") _html(_attr_textarea_value(branchId, "a", input.value, input.valueChange, 1));
|
|
251
251
|
else if (renderContent) {
|
|
252
252
|
if (typeof renderContent != "function") throw Error(`Body content is not supported for the \`<${renderer}>\` tag.`);
|
|
253
|
-
renderer === "select" && ("value" in input || "valueChange" in input) ? _attr_select_value(branchId, "a", input.value, input.valueChange, renderContent) : _dynamic_tag(branchId, "a", renderContent, void 0, 0, void 0, serializeReason);
|
|
253
|
+
renderer === "select" && ("value" in input || "valueChange" in input) ? _attr_select_value(branchId, "a", input.value, input.valueChange, renderContent, 1) : _dynamic_tag(branchId, "a", renderContent, void 0, 0, void 0, serializeReason);
|
|
254
254
|
}
|
|
255
255
|
_html(`</${renderer}>`);
|
|
256
256
|
}
|
|
@@ -690,7 +690,8 @@ function writeDate(state, val) {
|
|
|
690
690
|
return state.buf.push("new Date(" + +val + ")"), !0;
|
|
691
691
|
}
|
|
692
692
|
function writeRegExp(state, val) {
|
|
693
|
-
|
|
693
|
+
let { source } = val;
|
|
694
|
+
return state.buf.push("/" + (source.includes("<") ? source.replace(unsafeRegExpSourceReg, replaceUnsafeRegExpSourceChar) : source) + "/" + val.flags), !0;
|
|
694
695
|
}
|
|
695
696
|
function writePromise(state, val, ref) {
|
|
696
697
|
let { boundary, channel } = state;
|
|
@@ -759,7 +760,7 @@ function writeWeakMap(state) {
|
|
|
759
760
|
}
|
|
760
761
|
function writeError(state, val, ref) {
|
|
761
762
|
let result = "new " + val.constructor.name + "(" + quote(val.message + "", 0);
|
|
762
|
-
return val.cause ? (state.buf.push(result + ",{cause:"), writeProp(state, val.cause, ref, "cause"), state.buf.push("})"))
|
|
763
|
+
return val.cause === void 0 ? state.buf.push(result + ")") : (state.buf.push(result + ",{cause:"), writeProp(state, val.cause, ref, "cause"), state.buf.push("})")), !0;
|
|
763
764
|
}
|
|
764
765
|
function writeAggregateError(state, val, ref) {
|
|
765
766
|
return state.buf.push("new AggregateError("), writeProp(state, val.errors, ref, "errors"), val.message ? state.buf.push("," + quote(val.message + "", 0) + ")") : state.buf.push(")"), !0;
|
|
@@ -1610,24 +1611,24 @@ function _attr_style(value) {
|
|
|
1610
1611
|
return stringAttr("style", toDelimitedString(value, ";", stringifyStyleObject));
|
|
1611
1612
|
}
|
|
1612
1613
|
function _attr_option_value(value) {
|
|
1613
|
-
let valueAttr = _attr("value", value);
|
|
1614
|
-
return normalizedValueMatches(
|
|
1614
|
+
let valueAttr = _attr("value", value), selectedValue = getContext(kSelectedValue);
|
|
1615
|
+
return selectedValue !== void 0 && normalizedValueMatches(selectedValue, value) ? valueAttr + " selected" : valueAttr;
|
|
1615
1616
|
}
|
|
1616
|
-
function _attr_select_value(scopeId, nodeAccessor, value, valueChange, content) {
|
|
1617
|
-
valueChange && writeControlledScope(3, scopeId, nodeAccessor, void 0, valueChange), content && withContext(kSelectedValue, value, content);
|
|
1617
|
+
function _attr_select_value(scopeId, nodeAccessor, value, valueChange, content, serializeType) {
|
|
1618
|
+
valueChange && writeControlledScope(3, scopeId, nodeAccessor, void 0, valueChange, serializeType), content && withContext(kSelectedValue, value, content);
|
|
1618
1619
|
}
|
|
1619
|
-
function _attr_textarea_value(scopeId, nodeAccessor, value, valueChange) {
|
|
1620
|
-
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange), _escape(value);
|
|
1620
|
+
function _attr_textarea_value(scopeId, nodeAccessor, value, valueChange, serializeType) {
|
|
1621
|
+
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange, serializeType), _escape(value);
|
|
1621
1622
|
}
|
|
1622
|
-
function _attr_input_value(scopeId, nodeAccessor, value, valueChange) {
|
|
1623
|
-
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange), _attr("value", value);
|
|
1623
|
+
function _attr_input_value(scopeId, nodeAccessor, value, valueChange, serializeType) {
|
|
1624
|
+
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange, serializeType), _attr("value", value);
|
|
1624
1625
|
}
|
|
1625
|
-
function _attr_input_checked(scopeId, nodeAccessor, checked, checkedChange) {
|
|
1626
|
-
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange), isNotVoid(checked) ? " checked" : "";
|
|
1626
|
+
function _attr_input_checked(scopeId, nodeAccessor, checked, checkedChange, serializeType) {
|
|
1627
|
+
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange, serializeType), isNotVoid(checked) ? " checked" : "";
|
|
1627
1628
|
}
|
|
1628
|
-
function _attr_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {
|
|
1629
|
+
function _attr_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value, serializeType) {
|
|
1629
1630
|
let valueAttr = _attr("value", value);
|
|
1630
|
-
return checkedValueChange && writeControlledScope(1, scopeId, nodeAccessor, getCheckedValueRef(checkedValue), checkedValueChange), normalizedValueMatches(checkedValue, value) ? valueAttr + " checked" : valueAttr;
|
|
1631
|
+
return checkedValueChange && writeControlledScope(1, scopeId, nodeAccessor, getCheckedValueRef(checkedValue), checkedValueChange, serializeType), normalizedValueMatches(checkedValue, value) ? valueAttr + " checked" : valueAttr;
|
|
1631
1632
|
}
|
|
1632
1633
|
function getCheckedValueRef(checkedValue) {
|
|
1633
1634
|
if (Array.isArray(checkedValue)) {
|
|
@@ -1635,9 +1636,9 @@ function getCheckedValueRef(checkedValue) {
|
|
|
1635
1636
|
return ref || (ref = [], checkedValuesRefs.set(checkedValue, ref)), ref;
|
|
1636
1637
|
}
|
|
1637
1638
|
}
|
|
1638
|
-
function _attr_details_or_dialog_open(scopeId, nodeAccessor, open, openChange) {
|
|
1639
|
+
function _attr_details_or_dialog_open(scopeId, nodeAccessor, open, openChange, serializeType) {
|
|
1639
1640
|
let normalizedOpen = isNotVoid(open);
|
|
1640
|
-
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen || void 0, openChange), normalizedOpen ? " open" : "";
|
|
1641
|
+
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen || void 0, openChange, serializeType), normalizedOpen ? " open" : "";
|
|
1641
1642
|
}
|
|
1642
1643
|
function _attr_nonce() {
|
|
1643
1644
|
return getChunk().boundary.state.nonceAttr;
|
|
@@ -1649,11 +1650,10 @@ function _attrs(data, nodeAccessor, scopeId, tagName) {
|
|
|
1649
1650
|
let result = "", skip = /[\s/>"'=]/, events;
|
|
1650
1651
|
switch (tagName) {
|
|
1651
1652
|
case "input":
|
|
1652
|
-
if (data.checkedChange) result += _attr_input_checked(scopeId, nodeAccessor, data.checked, data.checkedChange)
|
|
1653
|
-
else if ("checkedValue" in data || data.checkedValueChange) result += _attr_input_checkedValue(scopeId, nodeAccessor, data.checkedValue, data.checkedValueChange, data.value)
|
|
1654
|
-
else if (data.valueChange) result += _attr_input_value(scopeId, nodeAccessor, data.value, data.valueChange)
|
|
1653
|
+
if (data.checkedChange) result += _attr_input_checked(scopeId, nodeAccessor, data.checked, data.checkedChange, 1), skip = /^checked(?:Value)?(?:Change)?$|[\s/>"'=]/;
|
|
1654
|
+
else if ("checkedValue" in data || data.checkedValueChange) result += _attr_input_checkedValue(scopeId, nodeAccessor, data.checkedValue, data.checkedValueChange, data.value, 1), skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\s/>"'=]/;
|
|
1655
|
+
else if (data.valueChange) result += _attr_input_value(scopeId, nodeAccessor, data.value, data.valueChange, 1), skip = /^value(?:Change)?$|[\s/>"'=]/;
|
|
1655
1656
|
else break;
|
|
1656
|
-
skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\s/>"'=]/;
|
|
1657
1657
|
break;
|
|
1658
1658
|
case "select":
|
|
1659
1659
|
case "textarea":
|
|
@@ -1664,7 +1664,7 @@ function _attrs(data, nodeAccessor, scopeId, tagName) {
|
|
|
1664
1664
|
break;
|
|
1665
1665
|
case "details":
|
|
1666
1666
|
case "dialog":
|
|
1667
|
-
data.openChange && (result += _attr_details_or_dialog_open(scopeId, nodeAccessor, data.open, data.openChange), skip = /^open(?:Change)?$|[\s/>"'=]/);
|
|
1667
|
+
data.openChange && (result += _attr_details_or_dialog_open(scopeId, nodeAccessor, data.open, data.openChange, 1), skip = /^open(?:Change)?$|[\s/>"'=]/);
|
|
1668
1668
|
break;
|
|
1669
1669
|
}
|
|
1670
1670
|
for (let name in data) {
|
|
@@ -1697,11 +1697,14 @@ function _attrs_partial(data, skip, nodeAccessor, scopeId, tagName) {
|
|
|
1697
1697
|
function _attrs_partial_content(data, skip, nodeAccessor, scopeId, tagName, serializeReason) {
|
|
1698
1698
|
_html(`${_attrs_partial(data, skip, nodeAccessor, scopeId, tagName)}>`), _attr_content(nodeAccessor, scopeId, data?.content, serializeReason);
|
|
1699
1699
|
}
|
|
1700
|
-
function writeControlledScope(type, scopeId, nodeAccessor, value, valueChange) {
|
|
1701
|
-
writeScope(scopeId, {
|
|
1700
|
+
function writeControlledScope(type, scopeId, nodeAccessor, value, valueChange, serializeType) {
|
|
1701
|
+
writeScope(scopeId, serializeType ? {
|
|
1702
1702
|
["F" + nodeAccessor]: type,
|
|
1703
1703
|
["G" + nodeAccessor]: value,
|
|
1704
1704
|
["E" + nodeAccessor]: valueChange
|
|
1705
|
+
} : {
|
|
1706
|
+
["G" + nodeAccessor]: value,
|
|
1707
|
+
["E" + nodeAccessor]: valueChange
|
|
1705
1708
|
});
|
|
1706
1709
|
}
|
|
1707
1710
|
function stringAttr(name, value) {
|