Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo-mod-jslibs-dist.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'alpinejs/packages/alpinejs/dist/cdn.js')
-rw-r--r--alpinejs/packages/alpinejs/dist/cdn.js124
1 files changed, 88 insertions, 36 deletions
diff --git a/alpinejs/packages/alpinejs/dist/cdn.js b/alpinejs/packages/alpinejs/dist/cdn.js
index 50d3328..800464c 100644
--- a/alpinejs/packages/alpinejs/dist/cdn.js
+++ b/alpinejs/packages/alpinejs/dist/cdn.js
@@ -372,6 +372,24 @@
};
}
+ // packages/alpinejs/src/utils/error.js
+ function tryCatch(el, expression, callback, ...args) {
+ try {
+ return callback(...args);
+ } catch (e) {
+ handleError(e, el, expression);
+ }
+ }
+ function handleError(error2, el, expression = void 0) {
+ Object.assign(error2, {el, expression});
+ console.warn(`Alpine Expression Error: ${error2.message}
+
+${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
+ setTimeout(() => {
+ throw error2;
+ }, 0);
+ }
+
// packages/alpinejs/src/evaluator.js
function evaluate(el, expression, extras = {}) {
let result;
@@ -393,7 +411,7 @@
if (typeof expression === "function") {
return generateEvaluatorFromFunction(dataStack, expression);
}
- let evaluator = generateEvaluatorFromString(dataStack, expression);
+ let evaluator = generateEvaluatorFromString(dataStack, expression, el);
return tryCatch.bind(null, el, expression, evaluator);
}
function generateEvaluatorFromFunction(dataStack, func) {
@@ -404,39 +422,49 @@
};
}
var evaluatorMemo = {};
- function generateFunctionFromString(expression) {
+ function generateFunctionFromString(expression, el) {
if (evaluatorMemo[expression]) {
return evaluatorMemo[expression];
}
let AsyncFunction = Object.getPrototypeOf(async function() {
}).constructor;
- let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression) || /^(let|const)/.test(expression) ? `(() => { ${expression} })()` : expression;
- let func = new AsyncFunction(["__self", "scope"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`);
+ let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression) || /^(let|const)\s/.test(expression) ? `(() => { ${expression} })()` : expression;
+ const safeAsyncFunction = () => {
+ try {
+ return new AsyncFunction(["__self", "scope"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`);
+ } catch (error2) {
+ handleError(error2, el, expression);
+ return Promise.resolve();
+ }
+ };
+ let func = safeAsyncFunction();
evaluatorMemo[expression] = func;
return func;
}
- function generateEvaluatorFromString(dataStack, expression) {
- let func = generateFunctionFromString(expression);
+ function generateEvaluatorFromString(dataStack, expression, el) {
+ let func = generateFunctionFromString(expression, el);
return (receiver = () => {
}, {scope = {}, params = []} = {}) => {
func.result = void 0;
func.finished = false;
let completeScope = mergeProxies([scope, ...dataStack]);
- let promise = func(func, completeScope);
- if (func.finished) {
- runIfTypeOfFunction(receiver, func.result, completeScope, params);
- } else {
- promise.then((result) => {
- runIfTypeOfFunction(receiver, result, completeScope, params);
- });
+ if (typeof func === "function") {
+ let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression));
+ if (func.finished) {
+ runIfTypeOfFunction(receiver, func.result, completeScope, params, el);
+ } else {
+ promise.then((result) => {
+ runIfTypeOfFunction(receiver, result, completeScope, params, el);
+ }).catch((error2) => handleError(error2, el, expression));
+ }
}
};
}
- function runIfTypeOfFunction(receiver, value, scope, params) {
+ function runIfTypeOfFunction(receiver, value, scope, params, el) {
if (typeof value === "function") {
let result = value.apply(scope, params);
if (result instanceof Promise) {
- result.then((i) => runIfTypeOfFunction(receiver, i, scope, params));
+ result.then((i) => runIfTypeOfFunction(receiver, i, scope, params)).catch((error2) => handleError(error2, el, value));
} else {
receiver(result);
}
@@ -444,18 +472,6 @@
receiver(value);
}
}
- function tryCatch(el, expression, callback, ...args) {
- try {
- return callback(...args);
- } catch (e) {
- console.warn(`Alpine Expression Error: ${e.message}
-
-Expression: "${expression}"
-
-`, el);
- throw e;
- }
- }
// packages/alpinejs/src/directives.js
var prefixAsString = "x-";
@@ -911,7 +927,11 @@ Expression: "${expression}"
document.visibilityState === "visible" ? requestAnimationFrame(show) : setTimeout(show);
};
if (value) {
- el._x_transition ? el._x_transition.in(show) : clickAwayCompatibleShow();
+ if (el._x_transition && (el._x_transition.enter || el._x_transition.leave)) {
+ el._x_transition.enter && (Object.entries(el._x_transition.enter.during).length || Object.entries(el._x_transition.enter.start).length || Object.entries(el._x_transition.enter.end).length) ? el._x_transition.in(show) : clickAwayCompatibleShow();
+ } else {
+ el._x_transition ? el._x_transition.in(show) : clickAwayCompatibleShow();
+ }
return;
}
el._x_hidePromise = el._x_transition ? new Promise((resolve, reject) => {
@@ -1109,6 +1129,7 @@ Expression: "${expression}"
if (typeof value === "object" && value !== null && value.hasOwnProperty("init") && typeof value.init === "function") {
stores[name].init();
}
+ initInterceptors(stores[name]);
}
function getStores() {
return stores;
@@ -1116,8 +1137,9 @@ Expression: "${expression}"
// packages/alpinejs/src/clone.js
var isCloning = false;
- function skipDuringClone(callback) {
- return (...args) => isCloning || callback(...args);
+ function skipDuringClone(callback, fallback = () => {
+ }) {
+ return (...args) => isCloning ? fallback(...args) : callback(...args);
}
function clone(oldEl, newEl) {
newEl._x_dataStack = oldEl._x_dataStack;
@@ -1184,16 +1206,18 @@ Expression: "${expression}"
get raw() {
return raw;
},
- version: "3.4.2",
+ version: "3.5.1",
flushAndStopDeferringMutations,
disableEffectScheduling,
stopObservingMutations,
setReactivityEngine,
+ skipDuringClone,
addRootSelector,
deferMutations,
mapAttributes,
evaluateLater,
setEvaluator,
+ mergeProxies,
destroyTree,
closestRoot,
interceptor,
@@ -1926,6 +1950,11 @@ Expression: "${expression}"
// packages/alpinejs/src/magics/$store.js
magic("store", getStores);
+ // packages/alpinejs/src/magics/$data.js
+ magic("data", (el) => {
+ return mergeProxies(closestDataStack(el));
+ });
+
// packages/alpinejs/src/magics/$root.js
magic("root", (el) => closestRoot(el));
@@ -2124,6 +2153,8 @@ Expression: "${expression}"
return;
if (el.offsetWidth < 1 && el.offsetHeight < 1)
return;
+ if (el._x_isShown === false)
+ return;
next(e);
});
}
@@ -2239,6 +2270,18 @@ Expression: "${expression}"
}});
});
cleanup2(() => removeListener());
+ let evaluateSetModel = evaluateLater(el, `${expression} = __placeholder`);
+ el._x_model = {
+ get() {
+ let result;
+ evaluate2((value) => result = value);
+ return result;
+ },
+ set(value) {
+ evaluateSetModel(() => {
+ }, {scope: {__placeholder: value}});
+ }
+ };
el._x_forceModelUpdate = () => {
evaluate2((value) => {
if (value === void 0 && expression.match(/\./))
@@ -2353,11 +2396,18 @@ Expression: "${expression}"
cleanupRunners.pop()();
getBindings((bindings) => {
let attributes = Object.entries(bindings).map(([name, value]) => ({name, value}));
- attributesOnly(attributes).forEach(({name, value}, index) => {
- attributes[index] = {
- name: `x-bind:${name}`,
- value: `"${value}"`
- };
+ attributes = attributes.filter((attr) => {
+ return !(typeof attr.value === "object" && !Array.isArray(attr.value) && attr.value !== null);
+ });
+ let staticAttributes = attributesOnly(attributes);
+ attributes = attributes.map((attribute) => {
+ if (staticAttributes.find((attr) => attr.name === attribute.name)) {
+ return {
+ name: `x-bind:${attribute.name}`,
+ value: `"${attribute.value}"`
+ };
+ }
+ return attribute;
});
directives(el, attributes, original).map((handle) => {
cleanupRunners.push(handle.runCleanups);
@@ -2379,6 +2429,8 @@ Expression: "${expression}"
let dataProviderContext = {};
injectDataProviders(dataProviderContext, magicContext);
let data2 = evaluate(el, expression, {scope: dataProviderContext});
+ if (data2 === void 0)
+ data2 = {};
let cleanup22 = injectMagics(data2, el).cleanup;
let reactiveData = reactive(data2);
initInterceptors(reactiveData);