marko 6.1.9 → 6.1.11
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/common/accessor.d.ts +3 -1
- package/dist/common/accessor.debug.d.ts +3 -1
- package/dist/common/helpers.d.ts +1 -0
- package/dist/debug/dom.js +34 -35
- package/dist/debug/dom.mjs +34 -35
- package/dist/debug/html.js +15 -12
- package/dist/debug/html.mjs +15 -12
- package/dist/dom/queue.d.ts +2 -0
- package/dist/dom.js +30 -26
- package/dist/dom.mjs +30 -26
- package/dist/html.js +18 -14
- package/dist/html.mjs +18 -14
- package/dist/translator/index.js +95 -18
- package/dist/translator/util/references.d.ts +4 -0
- package/dist/translator/util/sections.d.ts +1 -1
- package/package.json +1 -1
package/dist/dom.js
CHANGED
|
@@ -49,7 +49,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
49
49
|
};
|
|
50
50
|
}, _for_of = /* @__PURE__ */ loop(([all, by = bySecondArg], cb) => {
|
|
51
51
|
typeof by == "string" ? forOf(all, (item, i) => cb(item[by], [item, i])) : forOf(all, (item, i) => cb(by(item, i), [item, i]));
|
|
52
|
-
}), _for_in = /* @__PURE__ */ loop(([obj, by = byFirstArg], cb) => forIn(obj, (key, value) => cb(by(key, value), [key, value]))), _for_to = /* @__PURE__ */ loop(([to, from, step, by = byFirstArg], cb) => forTo(to, from, step, (v) => cb(by(v), [v]))), _for_until = /* @__PURE__ */ loop(([until, from, step, by = byFirstArg], cb) => forUntil(until, from, step, (v) => cb(by(v), [v]))),
|
|
52
|
+
}), _for_in = /* @__PURE__ */ loop(([obj, by = byFirstArg], cb) => forIn(obj, (key, value) => cb(by(key, value), [key, value]))), _for_to = /* @__PURE__ */ loop(([to, from, step, by = byFirstArg], cb) => forTo(to, from, step, (v) => cb(by(v), [v]))), _for_until = /* @__PURE__ */ loop(([until, from, step, by = byFirstArg], cb) => forUntil(until, from, step, (v) => cb(by(v), [v]))), runId = 1, pendingRenders = [], caughtError = /* @__PURE__ */ new WeakSet(), placeholderShown = /* @__PURE__ */ new WeakSet(), pendingEffects = [], pendingScopes = [], rendering, scopeKeyOffset = 1e3, runEffects = ((effects) => {
|
|
53
53
|
for (let i = 0; i < effects.length;) effects[i++](effects[i++]);
|
|
54
54
|
}), runRender = (render) => render.c(render.b, render.d), catchEnabled, classIdToBranch = /* @__PURE__ */ new Map(), scopesByRender = /* @__PURE__ */ new WeakMap(), getRenderScopes = ($global) => {
|
|
55
55
|
let render = self[$global.runtimeId]?.[$global.renderId], scopes = render && scopesByRender.get(render);
|
|
@@ -158,6 +158,9 @@ function isEventHandler(name) {
|
|
|
158
158
|
function getEventHandlerName(name) {
|
|
159
159
|
return name[2] === "-" ? name.slice(3) : name.slice(2).toLowerCase();
|
|
160
160
|
}
|
|
161
|
+
function isNotVoid(value) {
|
|
162
|
+
return value != null && value !== !1;
|
|
163
|
+
}
|
|
161
164
|
function normalizeDynamicRenderer(value) {
|
|
162
165
|
if (value) {
|
|
163
166
|
if (typeof value == "string") return value;
|
|
@@ -522,14 +525,14 @@ function _el(id, accessor) {
|
|
|
522
525
|
//#endregion
|
|
523
526
|
//#region src/dom/controllable.ts
|
|
524
527
|
function _attr_input_checked_default(scope, nodeAccessor, checked) {
|
|
525
|
-
let el = scope[nodeAccessor], normalizedChecked =
|
|
528
|
+
let el = scope[nodeAccessor], normalizedChecked = isNotVoid(checked);
|
|
526
529
|
if (el.defaultChecked !== normalizedChecked) {
|
|
527
530
|
let restoreValue = scope.H ? normalizedChecked : el.checked;
|
|
528
531
|
el.defaultChecked = normalizedChecked, restoreValue !== normalizedChecked && (el.checked = restoreValue);
|
|
529
532
|
}
|
|
530
533
|
}
|
|
531
534
|
function _attr_input_checked(scope, nodeAccessor, checked, checkedChange) {
|
|
532
|
-
let el = scope[nodeAccessor], normalizedChecked =
|
|
535
|
+
let el = scope[nodeAccessor], normalizedChecked = isNotVoid(checked);
|
|
533
536
|
scope["E" + nodeAccessor] = checkedChange, scope["F" + nodeAccessor] = checkedChange ? 0 : 5, checkedChange && !scope.H ? el.checked = normalizedChecked : _attr_input_checked_default(scope, nodeAccessor, normalizedChecked);
|
|
534
537
|
}
|
|
535
538
|
function _attr_input_checked_script(scope, nodeAccessor) {
|
|
@@ -544,11 +547,11 @@ function _attr_input_checked_script(scope, nodeAccessor) {
|
|
|
544
547
|
}
|
|
545
548
|
function _attr_input_checkedValue_default(scope, nodeAccessor, checkedValue, value) {
|
|
546
549
|
let multiple = Array.isArray(checkedValue), normalizedValue = normalizeStrProp(value), normalizedCheckedValue = multiple ? checkedValue.map(normalizeStrProp) : normalizeStrProp(checkedValue);
|
|
547
|
-
_attr(scope[nodeAccessor], "value",
|
|
550
|
+
_attr(scope[nodeAccessor], "value", value), _attr_input_checked_default(scope, nodeAccessor, multiple ? normalizedCheckedValue.includes(normalizedValue) : normalizedValue === normalizedCheckedValue);
|
|
548
551
|
}
|
|
549
552
|
function _attr_input_checkedValue(scope, nodeAccessor, checkedValue, checkedValueChange, value) {
|
|
550
|
-
let el = scope[nodeAccessor], multiple = Array.isArray(checkedValue),
|
|
551
|
-
|
|
553
|
+
let el = scope[nodeAccessor], multiple = Array.isArray(checkedValue), normalizedCheckedValue = scope["G" + nodeAccessor] = multiple ? checkedValue.map(normalizeStrProp) : normalizeStrProp(checkedValue);
|
|
554
|
+
scope["E" + nodeAccessor] = checkedValueChange, scope["F" + nodeAccessor] = checkedValueChange ? 1 : 5, checkedValueChange && !scope.H ? (el.checked = multiple ? normalizedCheckedValue.includes(normalizeStrProp(value)) : normalizeStrProp(value) === normalizedCheckedValue, _attr(el, "value", value)) : _attr_input_checkedValue_default(scope, nodeAccessor, checkedValue, value);
|
|
552
555
|
}
|
|
553
556
|
function _attr_input_checkedValue_script(scope, nodeAccessor) {
|
|
554
557
|
let el = scope[nodeAccessor];
|
|
@@ -563,14 +566,14 @@ function _attr_input_checkedValue_script(scope, nodeAccessor) {
|
|
|
563
566
|
});
|
|
564
567
|
}
|
|
565
568
|
function _attr_input_value_default(scope, nodeAccessor, value) {
|
|
566
|
-
let el = scope[nodeAccessor], normalizedValue =
|
|
569
|
+
let el = scope[nodeAccessor], normalizedValue = normalizeAttrValue(value) || "";
|
|
567
570
|
if (el.defaultValue !== normalizedValue) {
|
|
568
571
|
let restoreValue = scope.H ? normalizedValue : el.value;
|
|
569
572
|
el.defaultValue = normalizedValue, setInputValue(el, restoreValue);
|
|
570
573
|
}
|
|
571
574
|
}
|
|
572
575
|
function _attr_input_value(scope, nodeAccessor, value, valueChange) {
|
|
573
|
-
let el = scope[nodeAccessor], normalizedValue =
|
|
576
|
+
let el = scope[nodeAccessor], normalizedValue = normalizeAttrValue(value) || "";
|
|
574
577
|
scope["E" + nodeAccessor] = valueChange, scope["G" + nodeAccessor] = normalizedValue, scope["F" + nodeAccessor] = valueChange ? 2 : 5, valueChange && !scope.H ? setInputValue(el, normalizedValue) : _attr_input_value_default(scope, nodeAccessor, normalizedValue);
|
|
575
578
|
}
|
|
576
579
|
function _attr_input_value_script(scope, nodeAccessor) {
|
|
@@ -634,10 +637,10 @@ function getSelectValue(el, multiple) {
|
|
|
634
637
|
return multiple ? Array.from(el.selectedOptions, (opt) => opt.value) : el.value;
|
|
635
638
|
}
|
|
636
639
|
function _attr_details_or_dialog_open_default(scope, nodeAccessor, open) {
|
|
637
|
-
scope.H && (scope[nodeAccessor].open =
|
|
640
|
+
scope.H && (scope[nodeAccessor].open = isNotVoid(open));
|
|
638
641
|
}
|
|
639
642
|
function _attr_details_or_dialog_open(scope, nodeAccessor, open, openChange) {
|
|
640
|
-
let normalizedOpen = scope["G" + nodeAccessor] =
|
|
643
|
+
let normalizedOpen = scope["G" + nodeAccessor] = isNotVoid(open);
|
|
641
644
|
scope["E" + nodeAccessor] = openChange, scope["F" + nodeAccessor] = openChange ? 4 : 5, openChange && !scope.H ? scope[nodeAccessor].open = normalizedOpen : _attr_details_or_dialog_open_default(scope, nodeAccessor, normalizedOpen);
|
|
642
645
|
}
|
|
643
646
|
function _attr_details_or_dialog_open_script(scope, nodeAccessor) {
|
|
@@ -681,9 +684,6 @@ function hasFormElementChanged(el) {
|
|
|
681
684
|
function normalizeStrProp(value) {
|
|
682
685
|
return normalizeAttrValue(value) || "";
|
|
683
686
|
}
|
|
684
|
-
function normalizeBoolProp(value) {
|
|
685
|
-
return value != null && value !== !1;
|
|
686
|
-
}
|
|
687
687
|
function updateList(arr, val, push) {
|
|
688
688
|
let index = arr.indexOf(val);
|
|
689
689
|
return (push ? !~index && [...arr, val] : ~index && arr.slice(0, index).concat(arr.slice(index + 1))) || arr;
|
|
@@ -828,7 +828,7 @@ function normalizeClientRender(value) {
|
|
|
828
828
|
if (renderer && renderer.a) return renderer;
|
|
829
829
|
}
|
|
830
830
|
function normalizeAttrValue(value) {
|
|
831
|
-
if (value
|
|
831
|
+
if (isNotVoid(value)) return value === !0 ? "" : value + "";
|
|
832
832
|
}
|
|
833
833
|
function _lifecycle(scope, thisObj, index = 0) {
|
|
834
834
|
let accessor = "K" + index, instance = scope[accessor];
|
|
@@ -1008,13 +1008,18 @@ function byFirstArg(name) {
|
|
|
1008
1008
|
//#endregion
|
|
1009
1009
|
//#region src/dom/queue.ts
|
|
1010
1010
|
function queueRender(scope, signal, signalKey, value, scopeKey = scope.L) {
|
|
1011
|
-
let
|
|
1012
|
-
|
|
1013
|
-
|
|
1011
|
+
let render;
|
|
1012
|
+
if (signalKey >= 0 && (render = scope[signalKey + scopeKeyOffset])) {
|
|
1013
|
+
if (render.d = value, render.e === runId || catchEnabled && render.f) return;
|
|
1014
|
+
render.e = runId;
|
|
1015
|
+
} else render = {
|
|
1016
|
+
a: scopeKey * scopeKeyOffset + signalKey,
|
|
1014
1017
|
b: scope,
|
|
1015
1018
|
c: signal,
|
|
1016
|
-
d: value
|
|
1017
|
-
|
|
1019
|
+
d: value,
|
|
1020
|
+
e: runId
|
|
1021
|
+
}, signalKey >= 0 && (scope[signalKey + scopeKeyOffset] = render);
|
|
1022
|
+
queuePendingRender(render);
|
|
1018
1023
|
}
|
|
1019
1024
|
function queuePendingRender(render) {
|
|
1020
1025
|
let i = pendingRenders.push(render) - 1;
|
|
@@ -1030,11 +1035,10 @@ function queueEffect(scope, fn) {
|
|
|
1030
1035
|
}
|
|
1031
1036
|
function run() {
|
|
1032
1037
|
let effects = pendingEffects;
|
|
1033
|
-
asyncRendersLookup = {};
|
|
1034
1038
|
try {
|
|
1035
1039
|
rendering = 1, runRenders();
|
|
1036
1040
|
} finally {
|
|
1037
|
-
|
|
1041
|
+
runId++, rendering = 0, pendingRenders = [], pendingEffects = [];
|
|
1038
1042
|
}
|
|
1039
1043
|
runEffects(effects);
|
|
1040
1044
|
}
|
|
@@ -1042,12 +1046,12 @@ function queueAsyncRender(scope, signal, value) {
|
|
|
1042
1046
|
queueRender(scope, signal, -1, value), queueMicrotask(run);
|
|
1043
1047
|
}
|
|
1044
1048
|
function prepareEffects(fn) {
|
|
1045
|
-
let prevRenders = pendingRenders, prevEffects = pendingEffects,
|
|
1046
|
-
pendingRenders = []
|
|
1049
|
+
let prevRenders = pendingRenders, prevEffects = pendingEffects, preparedEffects = pendingEffects = [];
|
|
1050
|
+
pendingRenders = [];
|
|
1047
1051
|
try {
|
|
1048
1052
|
rendering = 1, fn(), runRenders();
|
|
1049
1053
|
} finally {
|
|
1050
|
-
rendering = 0,
|
|
1054
|
+
runId++, rendering = 0, pendingRenders = prevRenders, pendingEffects = prevEffects;
|
|
1051
1055
|
}
|
|
1052
1056
|
return preparedEffects;
|
|
1053
1057
|
}
|
|
@@ -1091,10 +1095,10 @@ function _enable_catch() {
|
|
|
1091
1095
|
try {
|
|
1092
1096
|
let branch = render.b.F;
|
|
1093
1097
|
for (; branch;) {
|
|
1094
|
-
if (branch.W) return
|
|
1098
|
+
if (branch.W) return render.f = 1, branch.W.push(render);
|
|
1095
1099
|
branch = branch.N;
|
|
1096
1100
|
}
|
|
1097
|
-
runRender(render);
|
|
1101
|
+
render.f = 0, runRender(render);
|
|
1098
1102
|
} catch (error) {
|
|
1099
1103
|
renderCatch(render.b, error);
|
|
1100
1104
|
}
|
package/dist/dom.mjs
CHANGED
|
@@ -49,7 +49,7 @@ let empty = [], rest = Symbol(), toDelimitedString = function toDelimitedString(
|
|
|
49
49
|
};
|
|
50
50
|
}, _for_of = /* @__PURE__ */ loop(([all, by = bySecondArg], cb) => {
|
|
51
51
|
typeof by == "string" ? forOf(all, (item, i) => cb(item[by], [item, i])) : forOf(all, (item, i) => cb(by(item, i), [item, i]));
|
|
52
|
-
}), _for_in = /* @__PURE__ */ loop(([obj, by = byFirstArg], cb) => forIn(obj, (key, value) => cb(by(key, value), [key, value]))), _for_to = /* @__PURE__ */ loop(([to, from, step, by = byFirstArg], cb) => forTo(to, from, step, (v) => cb(by(v), [v]))), _for_until = /* @__PURE__ */ loop(([until, from, step, by = byFirstArg], cb) => forUntil(until, from, step, (v) => cb(by(v), [v]))),
|
|
52
|
+
}), _for_in = /* @__PURE__ */ loop(([obj, by = byFirstArg], cb) => forIn(obj, (key, value) => cb(by(key, value), [key, value]))), _for_to = /* @__PURE__ */ loop(([to, from, step, by = byFirstArg], cb) => forTo(to, from, step, (v) => cb(by(v), [v]))), _for_until = /* @__PURE__ */ loop(([until, from, step, by = byFirstArg], cb) => forUntil(until, from, step, (v) => cb(by(v), [v]))), runId = 1, pendingRenders = [], caughtError = /* @__PURE__ */ new WeakSet(), placeholderShown = /* @__PURE__ */ new WeakSet(), pendingEffects = [], pendingScopes = [], rendering, scopeKeyOffset = 1e3, runEffects = ((effects) => {
|
|
53
53
|
for (let i = 0; i < effects.length;) effects[i++](effects[i++]);
|
|
54
54
|
}), runRender = (render) => render.c(render.b, render.d), catchEnabled, classIdToBranch = /* @__PURE__ */ new Map(), scopesByRender = /* @__PURE__ */ new WeakMap(), getRenderScopes = ($global) => {
|
|
55
55
|
let render = self[$global.runtimeId]?.[$global.renderId], scopes = render && scopesByRender.get(render);
|
|
@@ -157,6 +157,9 @@ function isEventHandler(name) {
|
|
|
157
157
|
function getEventHandlerName(name) {
|
|
158
158
|
return name[2] === "-" ? name.slice(3) : name.slice(2).toLowerCase();
|
|
159
159
|
}
|
|
160
|
+
function isNotVoid(value) {
|
|
161
|
+
return value != null && value !== !1;
|
|
162
|
+
}
|
|
160
163
|
function normalizeDynamicRenderer(value) {
|
|
161
164
|
if (value) {
|
|
162
165
|
if (typeof value == "string") return value;
|
|
@@ -521,14 +524,14 @@ function _el(id, accessor) {
|
|
|
521
524
|
//#endregion
|
|
522
525
|
//#region src/dom/controllable.ts
|
|
523
526
|
function _attr_input_checked_default(scope, nodeAccessor, checked) {
|
|
524
|
-
let el = scope[nodeAccessor], normalizedChecked =
|
|
527
|
+
let el = scope[nodeAccessor], normalizedChecked = isNotVoid(checked);
|
|
525
528
|
if (el.defaultChecked !== normalizedChecked) {
|
|
526
529
|
let restoreValue = scope.H ? normalizedChecked : el.checked;
|
|
527
530
|
el.defaultChecked = normalizedChecked, restoreValue !== normalizedChecked && (el.checked = restoreValue);
|
|
528
531
|
}
|
|
529
532
|
}
|
|
530
533
|
function _attr_input_checked(scope, nodeAccessor, checked, checkedChange) {
|
|
531
|
-
let el = scope[nodeAccessor], normalizedChecked =
|
|
534
|
+
let el = scope[nodeAccessor], normalizedChecked = isNotVoid(checked);
|
|
532
535
|
scope["E" + nodeAccessor] = checkedChange, scope["F" + nodeAccessor] = checkedChange ? 0 : 5, checkedChange && !scope.H ? el.checked = normalizedChecked : _attr_input_checked_default(scope, nodeAccessor, normalizedChecked);
|
|
533
536
|
}
|
|
534
537
|
function _attr_input_checked_script(scope, nodeAccessor) {
|
|
@@ -543,11 +546,11 @@ function _attr_input_checked_script(scope, nodeAccessor) {
|
|
|
543
546
|
}
|
|
544
547
|
function _attr_input_checkedValue_default(scope, nodeAccessor, checkedValue, value) {
|
|
545
548
|
let multiple = Array.isArray(checkedValue), normalizedValue = normalizeStrProp(value), normalizedCheckedValue = multiple ? checkedValue.map(normalizeStrProp) : normalizeStrProp(checkedValue);
|
|
546
|
-
_attr(scope[nodeAccessor], "value",
|
|
549
|
+
_attr(scope[nodeAccessor], "value", value), _attr_input_checked_default(scope, nodeAccessor, multiple ? normalizedCheckedValue.includes(normalizedValue) : normalizedValue === normalizedCheckedValue);
|
|
547
550
|
}
|
|
548
551
|
function _attr_input_checkedValue(scope, nodeAccessor, checkedValue, checkedValueChange, value) {
|
|
549
|
-
let el = scope[nodeAccessor], multiple = Array.isArray(checkedValue),
|
|
550
|
-
|
|
552
|
+
let el = scope[nodeAccessor], multiple = Array.isArray(checkedValue), normalizedCheckedValue = scope["G" + nodeAccessor] = multiple ? checkedValue.map(normalizeStrProp) : normalizeStrProp(checkedValue);
|
|
553
|
+
scope["E" + nodeAccessor] = checkedValueChange, scope["F" + nodeAccessor] = checkedValueChange ? 1 : 5, checkedValueChange && !scope.H ? (el.checked = multiple ? normalizedCheckedValue.includes(normalizeStrProp(value)) : normalizeStrProp(value) === normalizedCheckedValue, _attr(el, "value", value)) : _attr_input_checkedValue_default(scope, nodeAccessor, checkedValue, value);
|
|
551
554
|
}
|
|
552
555
|
function _attr_input_checkedValue_script(scope, nodeAccessor) {
|
|
553
556
|
let el = scope[nodeAccessor];
|
|
@@ -562,14 +565,14 @@ function _attr_input_checkedValue_script(scope, nodeAccessor) {
|
|
|
562
565
|
});
|
|
563
566
|
}
|
|
564
567
|
function _attr_input_value_default(scope, nodeAccessor, value) {
|
|
565
|
-
let el = scope[nodeAccessor], normalizedValue =
|
|
568
|
+
let el = scope[nodeAccessor], normalizedValue = normalizeAttrValue(value) || "";
|
|
566
569
|
if (el.defaultValue !== normalizedValue) {
|
|
567
570
|
let restoreValue = scope.H ? normalizedValue : el.value;
|
|
568
571
|
el.defaultValue = normalizedValue, setInputValue(el, restoreValue);
|
|
569
572
|
}
|
|
570
573
|
}
|
|
571
574
|
function _attr_input_value(scope, nodeAccessor, value, valueChange) {
|
|
572
|
-
let el = scope[nodeAccessor], normalizedValue =
|
|
575
|
+
let el = scope[nodeAccessor], normalizedValue = normalizeAttrValue(value) || "";
|
|
573
576
|
scope["E" + nodeAccessor] = valueChange, scope["G" + nodeAccessor] = normalizedValue, scope["F" + nodeAccessor] = valueChange ? 2 : 5, valueChange && !scope.H ? setInputValue(el, normalizedValue) : _attr_input_value_default(scope, nodeAccessor, normalizedValue);
|
|
574
577
|
}
|
|
575
578
|
function _attr_input_value_script(scope, nodeAccessor) {
|
|
@@ -633,10 +636,10 @@ function getSelectValue(el, multiple) {
|
|
|
633
636
|
return multiple ? Array.from(el.selectedOptions, (opt) => opt.value) : el.value;
|
|
634
637
|
}
|
|
635
638
|
function _attr_details_or_dialog_open_default(scope, nodeAccessor, open) {
|
|
636
|
-
scope.H && (scope[nodeAccessor].open =
|
|
639
|
+
scope.H && (scope[nodeAccessor].open = isNotVoid(open));
|
|
637
640
|
}
|
|
638
641
|
function _attr_details_or_dialog_open(scope, nodeAccessor, open, openChange) {
|
|
639
|
-
let normalizedOpen = scope["G" + nodeAccessor] =
|
|
642
|
+
let normalizedOpen = scope["G" + nodeAccessor] = isNotVoid(open);
|
|
640
643
|
scope["E" + nodeAccessor] = openChange, scope["F" + nodeAccessor] = openChange ? 4 : 5, openChange && !scope.H ? scope[nodeAccessor].open = normalizedOpen : _attr_details_or_dialog_open_default(scope, nodeAccessor, normalizedOpen);
|
|
641
644
|
}
|
|
642
645
|
function _attr_details_or_dialog_open_script(scope, nodeAccessor) {
|
|
@@ -680,9 +683,6 @@ function hasFormElementChanged(el) {
|
|
|
680
683
|
function normalizeStrProp(value) {
|
|
681
684
|
return normalizeAttrValue(value) || "";
|
|
682
685
|
}
|
|
683
|
-
function normalizeBoolProp(value) {
|
|
684
|
-
return value != null && value !== !1;
|
|
685
|
-
}
|
|
686
686
|
function updateList(arr, val, push) {
|
|
687
687
|
let index = arr.indexOf(val);
|
|
688
688
|
return (push ? !~index && [...arr, val] : ~index && arr.slice(0, index).concat(arr.slice(index + 1))) || arr;
|
|
@@ -827,7 +827,7 @@ function normalizeClientRender(value) {
|
|
|
827
827
|
if (renderer && renderer.a) return renderer;
|
|
828
828
|
}
|
|
829
829
|
function normalizeAttrValue(value) {
|
|
830
|
-
if (value
|
|
830
|
+
if (isNotVoid(value)) return value === !0 ? "" : value + "";
|
|
831
831
|
}
|
|
832
832
|
function _lifecycle(scope, thisObj, index = 0) {
|
|
833
833
|
let accessor = "K" + index, instance = scope[accessor];
|
|
@@ -1007,13 +1007,18 @@ function byFirstArg(name) {
|
|
|
1007
1007
|
//#endregion
|
|
1008
1008
|
//#region src/dom/queue.ts
|
|
1009
1009
|
function queueRender(scope, signal, signalKey, value, scopeKey = scope.L) {
|
|
1010
|
-
let
|
|
1011
|
-
|
|
1012
|
-
|
|
1010
|
+
let render;
|
|
1011
|
+
if (signalKey >= 0 && (render = scope[signalKey + scopeKeyOffset])) {
|
|
1012
|
+
if (render.d = value, render.e === runId || catchEnabled && render.f) return;
|
|
1013
|
+
render.e = runId;
|
|
1014
|
+
} else render = {
|
|
1015
|
+
a: scopeKey * scopeKeyOffset + signalKey,
|
|
1013
1016
|
b: scope,
|
|
1014
1017
|
c: signal,
|
|
1015
|
-
d: value
|
|
1016
|
-
|
|
1018
|
+
d: value,
|
|
1019
|
+
e: runId
|
|
1020
|
+
}, signalKey >= 0 && (scope[signalKey + scopeKeyOffset] = render);
|
|
1021
|
+
queuePendingRender(render);
|
|
1017
1022
|
}
|
|
1018
1023
|
function queuePendingRender(render) {
|
|
1019
1024
|
let i = pendingRenders.push(render) - 1;
|
|
@@ -1029,11 +1034,10 @@ function queueEffect(scope, fn) {
|
|
|
1029
1034
|
}
|
|
1030
1035
|
function run() {
|
|
1031
1036
|
let effects = pendingEffects;
|
|
1032
|
-
asyncRendersLookup = {};
|
|
1033
1037
|
try {
|
|
1034
1038
|
rendering = 1, runRenders();
|
|
1035
1039
|
} finally {
|
|
1036
|
-
|
|
1040
|
+
runId++, rendering = 0, pendingRenders = [], pendingEffects = [];
|
|
1037
1041
|
}
|
|
1038
1042
|
runEffects(effects);
|
|
1039
1043
|
}
|
|
@@ -1041,12 +1045,12 @@ function queueAsyncRender(scope, signal, value) {
|
|
|
1041
1045
|
queueRender(scope, signal, -1, value), queueMicrotask(run);
|
|
1042
1046
|
}
|
|
1043
1047
|
function prepareEffects(fn) {
|
|
1044
|
-
let prevRenders = pendingRenders, prevEffects = pendingEffects,
|
|
1045
|
-
pendingRenders = []
|
|
1048
|
+
let prevRenders = pendingRenders, prevEffects = pendingEffects, preparedEffects = pendingEffects = [];
|
|
1049
|
+
pendingRenders = [];
|
|
1046
1050
|
try {
|
|
1047
1051
|
rendering = 1, fn(), runRenders();
|
|
1048
1052
|
} finally {
|
|
1049
|
-
rendering = 0,
|
|
1053
|
+
runId++, rendering = 0, pendingRenders = prevRenders, pendingEffects = prevEffects;
|
|
1050
1054
|
}
|
|
1051
1055
|
return preparedEffects;
|
|
1052
1056
|
}
|
|
@@ -1090,10 +1094,10 @@ function _enable_catch() {
|
|
|
1090
1094
|
try {
|
|
1091
1095
|
let branch = render.b.F;
|
|
1092
1096
|
for (; branch;) {
|
|
1093
|
-
if (branch.W) return
|
|
1097
|
+
if (branch.W) return render.f = 1, branch.W.push(render);
|
|
1094
1098
|
branch = branch.N;
|
|
1095
1099
|
}
|
|
1096
|
-
runRender(render);
|
|
1100
|
+
render.f = 0, runRender(render);
|
|
1097
1101
|
} catch (error) {
|
|
1098
1102
|
renderCatch(render.b, error);
|
|
1099
1103
|
}
|
package/dist/html.js
CHANGED
|
@@ -713,7 +713,11 @@ function writeArrayBuffer(state, val) {
|
|
|
713
713
|
return state.buf.push(result), !0;
|
|
714
714
|
}
|
|
715
715
|
function writeTypedArray(state, val, ref) {
|
|
716
|
-
|
|
716
|
+
if (val.byteOffset || state.refs.has(val.buffer)) {
|
|
717
|
+
let needsLength = val.byteOffset + val.byteLength < val.buffer.byteLength;
|
|
718
|
+
state.buf.push("new " + val.constructor.name + "("), writeProp(state, val.buffer, ref, "buffer"), state.buf.push((val.byteOffset || needsLength ? "," + val.byteOffset + (needsLength ? "," + val.length : "") : "") + ")");
|
|
719
|
+
} else state.refs.set(val.buffer, new Reference(ref, "buffer", state.flush, null)), state.buf.push("new " + val.constructor.name + (val.length === 0 ? "" : "(" + (hasOnlyZeros(val) ? val.length : typedArrayToInitString(val)) + ")"));
|
|
720
|
+
return !0;
|
|
717
721
|
}
|
|
718
722
|
function writeWeakSet(state) {
|
|
719
723
|
return state.buf.push("new WeakSet"), !0;
|
|
@@ -742,15 +746,15 @@ function writeHeaders(state, val) {
|
|
|
742
746
|
function writeFormData(state, val) {
|
|
743
747
|
let sep = "[", valStr = "";
|
|
744
748
|
for (let [key, value] of val) typeof value == "string" && (valStr += sep + quote(key, 0) + "," + quote(value, 0), sep = ",");
|
|
745
|
-
return sep === "[" ? state.buf.push("new FormData") : state.buf.push(valStr + "].reduce((f,v,i,a)=>i%2&&f.append(
|
|
749
|
+
return sep === "[" ? state.buf.push("new FormData") : state.buf.push(valStr + "].reduce((f,v,i,a)=>i%2&&f.append(a[i-1],v)||f,new FormData)"), !0;
|
|
746
750
|
}
|
|
747
751
|
function writeRequest(state, val, ref) {
|
|
748
|
-
let sep = "", hasBody = val.body && !val.bodyUsed && val.duplex === "half";
|
|
749
|
-
state.buf.push("new Request(" + quote(val.url, 0)), hasBody && (state.buf.push(",{body:"), writeProp(state, val.body, ref, "body") ? (state.buf.push(",duplex:\"half\""), sep = ",") : state.buf.pop());
|
|
752
|
+
let sep = "", bodySerialized = !1, hasBody = val.body && !val.bodyUsed && val.duplex === "half";
|
|
753
|
+
state.buf.push("new Request(" + quote(val.url, 0)), hasBody && (state.buf.push(",{body:"), writeProp(state, val.body, ref, "body") ? (state.buf.push(",duplex:\"half\""), sep = ",", bodySerialized = !0) : state.buf.pop());
|
|
750
754
|
let options = "";
|
|
751
755
|
val.cache !== "default" && (options += sep + "cache:" + quote(val.cache, 0), sep = ","), val.credentials !== "same-origin" && (options += sep + "credentials:" + quote(val.credentials, 0), sep = ",");
|
|
752
756
|
let headers = stringEntriesToProps(val.headers);
|
|
753
|
-
return state.refs.set(val.headers, new Reference(ref, "headers", state.flush, null)), headers && (options += sep + "headers:{" + headers + "}", sep = ","), val.integrity && (options += sep + "integrity:" + quote(val.integrity, 0), sep = ","), val.keepalive && (options += sep + "keepalive:true", sep = ","), val.method !== "GET" && (options += sep + "method:" + quote(val.method, 0), sep = ","), val.mode !== "cors" && (options += sep + "mode:" + quote(val.mode, 0), sep = ","), val.redirect !== "follow" && (options += sep + "redirect:" + quote(val.redirect, 0), sep = ","), val.referrer !== "about:client" && (options += sep + "referrer:" + quote(val.referrer, 0), sep = ","), val.referrerPolicy && (options += sep + "referrerPolicy:" + quote(val.referrerPolicy, 0)), state.buf.push(
|
|
757
|
+
return state.refs.set(val.headers, new Reference(ref, "headers", state.flush, null)), headers && (options += sep + "headers:{" + headers + "}", sep = ","), val.integrity && (options += sep + "integrity:" + quote(val.integrity, 0), sep = ","), val.keepalive && (options += sep + "keepalive:true", sep = ","), val.method !== "GET" && (options += sep + "method:" + quote(val.method, 0), sep = ","), val.mode !== "cors" && (options += sep + "mode:" + quote(val.mode, 0), sep = ","), val.redirect !== "follow" && (options += sep + "redirect:" + quote(val.redirect, 0), sep = ","), val.referrer !== "about:client" && (options += sep + "referrer:" + quote(val.referrer, 0), sep = ","), val.referrerPolicy && (options += sep + "referrerPolicy:" + quote(val.referrerPolicy, 0)), state.buf.push(bodySerialized ? options + "})" : options ? ",{" + options + "})" : ")"), !0;
|
|
754
758
|
}
|
|
755
759
|
function writeResponse(state, val, ref) {
|
|
756
760
|
let sep = "", options = "";
|
|
@@ -978,6 +982,9 @@ function getEventHandlerName(name) {
|
|
|
978
982
|
function isVoid(value) {
|
|
979
983
|
return value == null || value === !1;
|
|
980
984
|
}
|
|
985
|
+
function isNotVoid(value) {
|
|
986
|
+
return value != null && value !== !1;
|
|
987
|
+
}
|
|
981
988
|
function normalizeDynamicRenderer(value) {
|
|
982
989
|
if (value) {
|
|
983
990
|
if (typeof value == "string") return value;
|
|
@@ -1607,7 +1614,7 @@ function _attr_input_value(scopeId, nodeAccessor, value, valueChange) {
|
|
|
1607
1614
|
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange), _attr("value", value);
|
|
1608
1615
|
}
|
|
1609
1616
|
function _attr_input_checked(scopeId, nodeAccessor, checked, checkedChange) {
|
|
1610
|
-
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange),
|
|
1617
|
+
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange), isNotVoid(checked) ? " checked" : "";
|
|
1611
1618
|
}
|
|
1612
1619
|
function _attr_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {
|
|
1613
1620
|
let valueAttr = _attr("value", value);
|
|
@@ -1620,8 +1627,8 @@ function getCheckedValueRef(checkedValue) {
|
|
|
1620
1627
|
}
|
|
1621
1628
|
}
|
|
1622
1629
|
function _attr_details_or_dialog_open(scopeId, nodeAccessor, open, openChange) {
|
|
1623
|
-
let normalizedOpen =
|
|
1624
|
-
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen, openChange), normalizedOpen ? " open" : "";
|
|
1630
|
+
let normalizedOpen = isNotVoid(open);
|
|
1631
|
+
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen || void 0, openChange), normalizedOpen ? " open" : "";
|
|
1625
1632
|
}
|
|
1626
1633
|
function _attr_nonce() {
|
|
1627
1634
|
return getChunk().boundary.state.nonceAttr;
|
|
@@ -1634,17 +1641,17 @@ function _attrs(data, nodeAccessor, scopeId, tagName) {
|
|
|
1634
1641
|
switch (tagName) {
|
|
1635
1642
|
case "input":
|
|
1636
1643
|
if (data.checkedChange) result += _attr_input_checked(scopeId, nodeAccessor, data.checked, data.checkedChange);
|
|
1637
|
-
else if (
|
|
1644
|
+
else if ("checkedValue" in data || data.checkedValueChange) result += _attr_input_checkedValue(scopeId, nodeAccessor, data.checkedValue, data.checkedValueChange, data.value);
|
|
1638
1645
|
else if (data.valueChange) result += _attr_input_value(scopeId, nodeAccessor, data.value, data.valueChange);
|
|
1639
1646
|
else break;
|
|
1640
1647
|
skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\s/>"'=]/;
|
|
1641
1648
|
break;
|
|
1642
1649
|
case "select":
|
|
1643
1650
|
case "textarea":
|
|
1644
|
-
(
|
|
1651
|
+
("value" in data || data.valueChange) && (skip = /^value(?:Change)?$|[\s/>"'=]/);
|
|
1645
1652
|
break;
|
|
1646
1653
|
case "option":
|
|
1647
|
-
|
|
1654
|
+
"value" in data && (result += _attr_option_value(data.value), skip = /^value$|[\s/>"'=]/);
|
|
1648
1655
|
break;
|
|
1649
1656
|
case "details":
|
|
1650
1657
|
case "dialog":
|
|
@@ -1727,9 +1734,6 @@ function normalizedValueMatches(a, b) {
|
|
|
1727
1734
|
function normalizeStrAttrValue(value) {
|
|
1728
1735
|
return value && value !== !0 || value === 0 ? value + "" : "";
|
|
1729
1736
|
}
|
|
1730
|
-
function normalizeBoolAttrValue(value) {
|
|
1731
|
-
if (value != null && value !== !1) return !0;
|
|
1732
|
-
}
|
|
1733
1737
|
//#endregion
|
|
1734
1738
|
//#region src/html/dynamic-tag.ts
|
|
1735
1739
|
function _content(id, fn) {
|
package/dist/html.mjs
CHANGED
|
@@ -712,7 +712,11 @@ function writeArrayBuffer(state, val) {
|
|
|
712
712
|
return state.buf.push(result), !0;
|
|
713
713
|
}
|
|
714
714
|
function writeTypedArray(state, val, ref) {
|
|
715
|
-
|
|
715
|
+
if (val.byteOffset || state.refs.has(val.buffer)) {
|
|
716
|
+
let needsLength = val.byteOffset + val.byteLength < val.buffer.byteLength;
|
|
717
|
+
state.buf.push("new " + val.constructor.name + "("), writeProp(state, val.buffer, ref, "buffer"), state.buf.push((val.byteOffset || needsLength ? "," + val.byteOffset + (needsLength ? "," + val.length : "") : "") + ")");
|
|
718
|
+
} else state.refs.set(val.buffer, new Reference(ref, "buffer", state.flush, null)), state.buf.push("new " + val.constructor.name + (val.length === 0 ? "" : "(" + (hasOnlyZeros(val) ? val.length : typedArrayToInitString(val)) + ")"));
|
|
719
|
+
return !0;
|
|
716
720
|
}
|
|
717
721
|
function writeWeakSet(state) {
|
|
718
722
|
return state.buf.push("new WeakSet"), !0;
|
|
@@ -741,15 +745,15 @@ function writeHeaders(state, val) {
|
|
|
741
745
|
function writeFormData(state, val) {
|
|
742
746
|
let sep = "[", valStr = "";
|
|
743
747
|
for (let [key, value] of val) typeof value == "string" && (valStr += sep + quote(key, 0) + "," + quote(value, 0), sep = ",");
|
|
744
|
-
return sep === "[" ? state.buf.push("new FormData") : state.buf.push(valStr + "].reduce((f,v,i,a)=>i%2&&f.append(
|
|
748
|
+
return sep === "[" ? state.buf.push("new FormData") : state.buf.push(valStr + "].reduce((f,v,i,a)=>i%2&&f.append(a[i-1],v)||f,new FormData)"), !0;
|
|
745
749
|
}
|
|
746
750
|
function writeRequest(state, val, ref) {
|
|
747
|
-
let sep = "", hasBody = val.body && !val.bodyUsed && val.duplex === "half";
|
|
748
|
-
state.buf.push("new Request(" + quote(val.url, 0)), hasBody && (state.buf.push(",{body:"), writeProp(state, val.body, ref, "body") ? (state.buf.push(",duplex:\"half\""), sep = ",") : state.buf.pop());
|
|
751
|
+
let sep = "", bodySerialized = !1, hasBody = val.body && !val.bodyUsed && val.duplex === "half";
|
|
752
|
+
state.buf.push("new Request(" + quote(val.url, 0)), hasBody && (state.buf.push(",{body:"), writeProp(state, val.body, ref, "body") ? (state.buf.push(",duplex:\"half\""), sep = ",", bodySerialized = !0) : state.buf.pop());
|
|
749
753
|
let options = "";
|
|
750
754
|
val.cache !== "default" && (options += sep + "cache:" + quote(val.cache, 0), sep = ","), val.credentials !== "same-origin" && (options += sep + "credentials:" + quote(val.credentials, 0), sep = ",");
|
|
751
755
|
let headers = stringEntriesToProps(val.headers);
|
|
752
|
-
return state.refs.set(val.headers, new Reference(ref, "headers", state.flush, null)), headers && (options += sep + "headers:{" + headers + "}", sep = ","), val.integrity && (options += sep + "integrity:" + quote(val.integrity, 0), sep = ","), val.keepalive && (options += sep + "keepalive:true", sep = ","), val.method !== "GET" && (options += sep + "method:" + quote(val.method, 0), sep = ","), val.mode !== "cors" && (options += sep + "mode:" + quote(val.mode, 0), sep = ","), val.redirect !== "follow" && (options += sep + "redirect:" + quote(val.redirect, 0), sep = ","), val.referrer !== "about:client" && (options += sep + "referrer:" + quote(val.referrer, 0), sep = ","), val.referrerPolicy && (options += sep + "referrerPolicy:" + quote(val.referrerPolicy, 0)), state.buf.push(
|
|
756
|
+
return state.refs.set(val.headers, new Reference(ref, "headers", state.flush, null)), headers && (options += sep + "headers:{" + headers + "}", sep = ","), val.integrity && (options += sep + "integrity:" + quote(val.integrity, 0), sep = ","), val.keepalive && (options += sep + "keepalive:true", sep = ","), val.method !== "GET" && (options += sep + "method:" + quote(val.method, 0), sep = ","), val.mode !== "cors" && (options += sep + "mode:" + quote(val.mode, 0), sep = ","), val.redirect !== "follow" && (options += sep + "redirect:" + quote(val.redirect, 0), sep = ","), val.referrer !== "about:client" && (options += sep + "referrer:" + quote(val.referrer, 0), sep = ","), val.referrerPolicy && (options += sep + "referrerPolicy:" + quote(val.referrerPolicy, 0)), state.buf.push(bodySerialized ? options + "})" : options ? ",{" + options + "})" : ")"), !0;
|
|
753
757
|
}
|
|
754
758
|
function writeResponse(state, val, ref) {
|
|
755
759
|
let sep = "", options = "";
|
|
@@ -977,6 +981,9 @@ function getEventHandlerName(name) {
|
|
|
977
981
|
function isVoid(value) {
|
|
978
982
|
return value == null || value === !1;
|
|
979
983
|
}
|
|
984
|
+
function isNotVoid(value) {
|
|
985
|
+
return value != null && value !== !1;
|
|
986
|
+
}
|
|
980
987
|
function normalizeDynamicRenderer(value) {
|
|
981
988
|
if (value) {
|
|
982
989
|
if (typeof value == "string") return value;
|
|
@@ -1606,7 +1613,7 @@ function _attr_input_value(scopeId, nodeAccessor, value, valueChange) {
|
|
|
1606
1613
|
return valueChange && writeControlledScope(2, scopeId, nodeAccessor, void 0, valueChange), _attr("value", value);
|
|
1607
1614
|
}
|
|
1608
1615
|
function _attr_input_checked(scopeId, nodeAccessor, checked, checkedChange) {
|
|
1609
|
-
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange),
|
|
1616
|
+
return checkedChange && writeControlledScope(0, scopeId, nodeAccessor, void 0, checkedChange), isNotVoid(checked) ? " checked" : "";
|
|
1610
1617
|
}
|
|
1611
1618
|
function _attr_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {
|
|
1612
1619
|
let valueAttr = _attr("value", value);
|
|
@@ -1619,8 +1626,8 @@ function getCheckedValueRef(checkedValue) {
|
|
|
1619
1626
|
}
|
|
1620
1627
|
}
|
|
1621
1628
|
function _attr_details_or_dialog_open(scopeId, nodeAccessor, open, openChange) {
|
|
1622
|
-
let normalizedOpen =
|
|
1623
|
-
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen, openChange), normalizedOpen ? " open" : "";
|
|
1629
|
+
let normalizedOpen = isNotVoid(open);
|
|
1630
|
+
return openChange && writeControlledScope(4, scopeId, nodeAccessor, normalizedOpen || void 0, openChange), normalizedOpen ? " open" : "";
|
|
1624
1631
|
}
|
|
1625
1632
|
function _attr_nonce() {
|
|
1626
1633
|
return getChunk().boundary.state.nonceAttr;
|
|
@@ -1633,17 +1640,17 @@ function _attrs(data, nodeAccessor, scopeId, tagName) {
|
|
|
1633
1640
|
switch (tagName) {
|
|
1634
1641
|
case "input":
|
|
1635
1642
|
if (data.checkedChange) result += _attr_input_checked(scopeId, nodeAccessor, data.checked, data.checkedChange);
|
|
1636
|
-
else if (
|
|
1643
|
+
else if ("checkedValue" in data || data.checkedValueChange) result += _attr_input_checkedValue(scopeId, nodeAccessor, data.checkedValue, data.checkedValueChange, data.value);
|
|
1637
1644
|
else if (data.valueChange) result += _attr_input_value(scopeId, nodeAccessor, data.value, data.valueChange);
|
|
1638
1645
|
else break;
|
|
1639
1646
|
skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\s/>"'=]/;
|
|
1640
1647
|
break;
|
|
1641
1648
|
case "select":
|
|
1642
1649
|
case "textarea":
|
|
1643
|
-
(
|
|
1650
|
+
("value" in data || data.valueChange) && (skip = /^value(?:Change)?$|[\s/>"'=]/);
|
|
1644
1651
|
break;
|
|
1645
1652
|
case "option":
|
|
1646
|
-
|
|
1653
|
+
"value" in data && (result += _attr_option_value(data.value), skip = /^value$|[\s/>"'=]/);
|
|
1647
1654
|
break;
|
|
1648
1655
|
case "details":
|
|
1649
1656
|
case "dialog":
|
|
@@ -1726,9 +1733,6 @@ function normalizedValueMatches(a, b) {
|
|
|
1726
1733
|
function normalizeStrAttrValue(value) {
|
|
1727
1734
|
return value && value !== !0 || value === 0 ? value + "" : "";
|
|
1728
1735
|
}
|
|
1729
|
-
function normalizeBoolAttrValue(value) {
|
|
1730
|
-
if (value != null && value !== !1) return !0;
|
|
1731
|
-
}
|
|
1732
1736
|
//#endregion
|
|
1733
1737
|
//#region src/html/dynamic-tag.ts
|
|
1734
1738
|
function _content(id, fn) {
|