@jxsuite/runtime 0.33.0 → 0.34.1
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 +86 -11
- package/dist/runtime.js.map +3 -3
- package/package.json +2 -2
- package/src/runtime.ts +166 -11
package/dist/runtime.js
CHANGED
|
@@ -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
|
}
|
|
@@ -3013,6 +3073,14 @@ async function defineElement(source, baseUrl) {
|
|
|
3013
3073
|
} catch {}
|
|
3014
3074
|
delete this.dataset.jxProps;
|
|
3015
3075
|
}
|
|
3076
|
+
const propAttrNames = this.getAttributeNames().filter((name) => name.startsWith("props.") && name.length > "props.".length);
|
|
3077
|
+
for (const name of propAttrNames) {
|
|
3078
|
+
const key = name.slice("props.".length);
|
|
3079
|
+
if (key in (def2.state ?? {})) {
|
|
3080
|
+
state[key] = this.getAttribute(name);
|
|
3081
|
+
this.removeAttribute(name);
|
|
3082
|
+
}
|
|
3083
|
+
}
|
|
3016
3084
|
for (const key of Object.keys(def2.state ?? {})) {
|
|
3017
3085
|
if (key in this && this[key] !== undefined) {
|
|
3018
3086
|
state[key] = this[key];
|
|
@@ -3137,14 +3205,21 @@ function distributeSlots(host, slottedChildren) {
|
|
|
3137
3205
|
}
|
|
3138
3206
|
}
|
|
3139
3207
|
export {
|
|
3208
|
+
transposeCanvasUnits,
|
|
3140
3209
|
toCSSText,
|
|
3141
3210
|
setSkipServerFunctions,
|
|
3142
3211
|
setSkipContentResolution,
|
|
3212
|
+
setRootMedia,
|
|
3213
|
+
setResolveToken,
|
|
3214
|
+
setCanvasViewportTranspose,
|
|
3215
|
+
setCanvasDelinkAnchors,
|
|
3216
|
+
runScoped,
|
|
3143
3217
|
resolveRef,
|
|
3144
3218
|
resolvePrototype,
|
|
3145
3219
|
resolve,
|
|
3146
3220
|
renderNode,
|
|
3147
3221
|
reapplyStyle,
|
|
3222
|
+
observeScope,
|
|
3148
3223
|
isSignal,
|
|
3149
3224
|
hasSchemaKeywords,
|
|
3150
3225
|
elementStyleTags,
|
|
@@ -3156,5 +3231,5 @@ export {
|
|
|
3156
3231
|
Jx
|
|
3157
3232
|
};
|
|
3158
3233
|
|
|
3159
|
-
//# debugId=
|
|
3234
|
+
//# debugId=242E5668DE62643A64756E2164756E21
|
|
3160
3235
|
//# sourceMappingURL=runtime.js.map
|