@jxsuite/runtime 0.32.0 → 0.34.0
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/runtime.js +79 -12
- package/dist/runtime.js.map +5 -5
- package/package.json +3 -3
- package/src/runtime.ts +151 -11
package/dist/runtime.js
CHANGED
|
@@ -958,7 +958,7 @@ class MutableReactiveHandler extends BaseReactiveHandler {
|
|
|
958
958
|
}
|
|
959
959
|
const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
|
|
960
960
|
const result = Reflect.set(target, key, value, isRef(target) ? target : receiver);
|
|
961
|
-
if (target === toRaw(receiver)) {
|
|
961
|
+
if (target === toRaw(receiver) && result) {
|
|
962
962
|
if (!hadKey) {
|
|
963
963
|
trigger(target, "add", key, value);
|
|
964
964
|
} else if (hasChanged(value, oldValue)) {
|
|
@@ -1781,7 +1781,60 @@ var _serverFnConfig = { skip: false };
|
|
|
1781
1781
|
function setSkipServerFunctions(v) {
|
|
1782
1782
|
_serverFnConfig.skip = v;
|
|
1783
1783
|
}
|
|
1784
|
+
var _resolveToken = null;
|
|
1785
|
+
function setResolveToken(token) {
|
|
1786
|
+
_resolveToken = token || null;
|
|
1787
|
+
}
|
|
1788
|
+
function resolveProxyPath(path) {
|
|
1789
|
+
return _resolveToken ? `${path}?token=${encodeURIComponent(_resolveToken)}` : path;
|
|
1790
|
+
}
|
|
1784
1791
|
function setSkipContentResolution(_v) {}
|
|
1792
|
+
function observeScope(fn) {
|
|
1793
|
+
const scope = effectScope(true);
|
|
1794
|
+
scope.run(() => {
|
|
1795
|
+
effect(fn);
|
|
1796
|
+
});
|
|
1797
|
+
return () => scope.stop();
|
|
1798
|
+
}
|
|
1799
|
+
function runScoped(fn) {
|
|
1800
|
+
const scope = effectScope(true);
|
|
1801
|
+
try {
|
|
1802
|
+
const result = scope.run(fn);
|
|
1803
|
+
return { result, stop: () => scope.stop() };
|
|
1804
|
+
} catch (error) {
|
|
1805
|
+
scope.stop();
|
|
1806
|
+
throw error;
|
|
1807
|
+
}
|
|
1808
|
+
}
|
|
1809
|
+
var _canvasViewportTranspose = false;
|
|
1810
|
+
function setCanvasViewportTranspose(on) {
|
|
1811
|
+
_canvasViewportTranspose = on;
|
|
1812
|
+
}
|
|
1813
|
+
var VIEWPORT_UNIT_RE = /(-?\d*\.?\d+)(?:s|l|d)?v(h|w|min|max|i|b)\b/gi;
|
|
1814
|
+
var VIEWPORT_UNIT_MAP = {
|
|
1815
|
+
b: "cqb",
|
|
1816
|
+
h: "cqh",
|
|
1817
|
+
i: "cqi",
|
|
1818
|
+
max: "cqmax",
|
|
1819
|
+
min: "cqmin",
|
|
1820
|
+
w: "cqw"
|
|
1821
|
+
};
|
|
1822
|
+
function transposeCanvasUnits(value) {
|
|
1823
|
+
if (!_canvasViewportTranspose || !value.includes("v")) {
|
|
1824
|
+
return value;
|
|
1825
|
+
}
|
|
1826
|
+
return value.replace(VIEWPORT_UNIT_RE, (_m, num, dim) => `${num}${VIEWPORT_UNIT_MAP[dim.toLowerCase()] ?? `cq${dim}`}`);
|
|
1827
|
+
}
|
|
1828
|
+
var _canvasDelinkAnchors = false;
|
|
1829
|
+
function setCanvasDelinkAnchors(on) {
|
|
1830
|
+
_canvasDelinkAnchors = on;
|
|
1831
|
+
}
|
|
1832
|
+
function canvasAttrName(el, key) {
|
|
1833
|
+
if (_canvasDelinkAnchors && key === "href" && (el.tagName === "A" || el.tagName === "AREA")) {
|
|
1834
|
+
return "data-jx-href";
|
|
1835
|
+
}
|
|
1836
|
+
return key;
|
|
1837
|
+
}
|
|
1785
1838
|
async function buildScope(doc, parentScope = {}, base = location.href) {
|
|
1786
1839
|
const raw = {};
|
|
1787
1840
|
for (const [key, val] of Object.entries(parentScope)) {
|
|
@@ -2140,19 +2193,19 @@ function applyStyle(el, styleDef, mediaQueries = {}, state = {}) {
|
|
|
2140
2193
|
if (prop.startsWith("--")) {
|
|
2141
2194
|
if (isTemplateString(val)) {
|
|
2142
2195
|
effect(() => {
|
|
2143
|
-
el.style.setProperty(prop, evaluateTemplate(val, state));
|
|
2196
|
+
el.style.setProperty(prop, transposeCanvasUnits(evaluateTemplate(val, state)));
|
|
2144
2197
|
});
|
|
2145
2198
|
} else {
|
|
2146
|
-
el.style.setProperty(prop, scalar);
|
|
2199
|
+
el.style.setProperty(prop, transposeCanvasUnits(scalar));
|
|
2147
2200
|
}
|
|
2148
2201
|
} else if (isTemplateString(val)) {
|
|
2149
2202
|
effect(() => {
|
|
2150
|
-
el.style[prop] = evaluateTemplate(val, state);
|
|
2203
|
+
el.style[prop] = transposeCanvasUnits(evaluateTemplate(val, state));
|
|
2151
2204
|
});
|
|
2152
2205
|
} else if (mediaOverriddenProps.has(prop)) {
|
|
2153
2206
|
baseDecls[prop] = scalar;
|
|
2154
2207
|
} else {
|
|
2155
|
-
el.style[prop] = scalar;
|
|
2208
|
+
el.style[prop] = transposeCanvasUnits(scalar);
|
|
2156
2209
|
}
|
|
2157
2210
|
}
|
|
2158
2211
|
const hasNested = Object.keys(nested).length > 0;
|
|
@@ -2236,12 +2289,13 @@ function reapplyStyle(el, styleDef, mediaQueries = {}, state = {}) {
|
|
|
2236
2289
|
}
|
|
2237
2290
|
function applyAttributes(el, attrs, state) {
|
|
2238
2291
|
for (const [k, v] of Object.entries(attrs)) {
|
|
2292
|
+
const attr = canvasAttrName(el, k);
|
|
2239
2293
|
if (isRefObj(v)) {
|
|
2240
|
-
effect(() => el.setAttribute(
|
|
2294
|
+
effect(() => el.setAttribute(attr, String(resolveRef(v.$ref, state) ?? "")));
|
|
2241
2295
|
} else if (isTemplateString(v)) {
|
|
2242
|
-
effect(() => el.setAttribute(
|
|
2296
|
+
effect(() => el.setAttribute(attr, String(evaluateTemplate(v, state))));
|
|
2243
2297
|
} else {
|
|
2244
|
-
el.setAttribute(
|
|
2298
|
+
el.setAttribute(attr, String(v));
|
|
2245
2299
|
}
|
|
2246
2300
|
}
|
|
2247
2301
|
}
|
|
@@ -2717,7 +2771,7 @@ async function resolveViaDevProxy(def2, state, key, base) {
|
|
|
2717
2771
|
}
|
|
2718
2772
|
}
|
|
2719
2773
|
const hasTemplates = Object.values(config).some((v) => isTemplateString(v));
|
|
2720
|
-
const doResolve = (resolvedConfig) => fetch("/__jx_resolve__", {
|
|
2774
|
+
const doResolve = (resolvedConfig) => fetch(resolveProxyPath("/__jx_resolve__"), {
|
|
2721
2775
|
body: JSON.stringify({
|
|
2722
2776
|
$base: base,
|
|
2723
2777
|
$export: def2.$export,
|
|
@@ -2815,7 +2869,7 @@ async function resolveServerFunctionViaProxy(def2, state, key, base) {
|
|
|
2815
2869
|
}
|
|
2816
2870
|
return args;
|
|
2817
2871
|
};
|
|
2818
|
-
const doResolve = (args) => fetch("/__jx_server__", {
|
|
2872
|
+
const doResolve = (args) => fetch(resolveProxyPath("/__jx_server__"), {
|
|
2819
2873
|
body: JSON.stringify({
|
|
2820
2874
|
$base: base,
|
|
2821
2875
|
$export: def2.$export,
|
|
@@ -2903,10 +2957,13 @@ function camelToKebab(s) {
|
|
|
2903
2957
|
return s.replaceAll(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
|
|
2904
2958
|
}
|
|
2905
2959
|
function toCSSText(rules) {
|
|
2906
|
-
return Object.entries(rules).filter(([k, v]) => !isNestedSelector(k) && (v === null || typeof v !== "object")).map(([p, v]) => `${camelToKebab(p)}: ${v}`).join("; ");
|
|
2960
|
+
return Object.entries(rules).filter(([k, v]) => !isNestedSelector(k) && (v === null || typeof v !== "object")).map(([p, v]) => `${camelToKebab(p)}: ${transposeCanvasUnits(String(v))}`).join("; ");
|
|
2907
2961
|
}
|
|
2908
2962
|
var _rootMedia = {};
|
|
2909
2963
|
var _elementDefs = new Map;
|
|
2964
|
+
function setRootMedia(map) {
|
|
2965
|
+
_rootMedia = map ?? {};
|
|
2966
|
+
}
|
|
2910
2967
|
async function registerElements(elements, base) {
|
|
2911
2968
|
for (const entry of elements) {
|
|
2912
2969
|
if (typeof entry === "string") {
|
|
@@ -2996,6 +3053,9 @@ async function defineElement(source, baseUrl) {
|
|
|
2996
3053
|
return observedAttrs;
|
|
2997
3054
|
}
|
|
2998
3055
|
async connectedCallback() {
|
|
3056
|
+
if (this.dataset.jxDefinitionRoot !== undefined) {
|
|
3057
|
+
return;
|
|
3058
|
+
}
|
|
2999
3059
|
if (this._jxInitialized) {
|
|
3000
3060
|
return;
|
|
3001
3061
|
}
|
|
@@ -3137,14 +3197,21 @@ function distributeSlots(host, slottedChildren) {
|
|
|
3137
3197
|
}
|
|
3138
3198
|
}
|
|
3139
3199
|
export {
|
|
3200
|
+
transposeCanvasUnits,
|
|
3140
3201
|
toCSSText,
|
|
3141
3202
|
setSkipServerFunctions,
|
|
3142
3203
|
setSkipContentResolution,
|
|
3204
|
+
setRootMedia,
|
|
3205
|
+
setResolveToken,
|
|
3206
|
+
setCanvasViewportTranspose,
|
|
3207
|
+
setCanvasDelinkAnchors,
|
|
3208
|
+
runScoped,
|
|
3143
3209
|
resolveRef,
|
|
3144
3210
|
resolvePrototype,
|
|
3145
3211
|
resolve,
|
|
3146
3212
|
renderNode,
|
|
3147
3213
|
reapplyStyle,
|
|
3214
|
+
observeScope,
|
|
3148
3215
|
isSignal,
|
|
3149
3216
|
hasSchemaKeywords,
|
|
3150
3217
|
elementStyleTags,
|
|
@@ -3156,5 +3223,5 @@ export {
|
|
|
3156
3223
|
Jx
|
|
3157
3224
|
};
|
|
3158
3225
|
|
|
3159
|
-
//# debugId=
|
|
3226
|
+
//# debugId=5767B0F1F7E1924F64756E2164756E21
|
|
3160
3227
|
//# sourceMappingURL=runtime.js.map
|