Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
199 changes: 103 additions & 96 deletions dist/livewire.esm.js

Large diffs are not rendered by default.

137 changes: 93 additions & 44 deletions dist/livewire.js
Original file line number Diff line number Diff line change
Expand Up @@ -312,14 +312,18 @@
return this.get(key).forEach(callback);
}
};
function dispatch(el, name, detail = {}, bubbles = true) {
el.dispatchEvent(new CustomEvent(name, {
function dispatch(target, name, detail = {}, bubbles = true) {
target.dispatchEvent(new CustomEvent(name, {
detail,
bubbles,
composed: true,
cancelable: true
}));
}
function listen(target, name, handler4) {
target.addEventListener(name, handler4);
return () => target.removeEventListener(name, handler4);
}
function isObjecty(subject) {
return typeof subject === "object" && subject !== null;
}
Expand Down Expand Up @@ -2286,8 +2290,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
}
var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
var isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);
var EMPTY_OBJ = true ? Object.freeze({}) : {};
var EMPTY_ARR = true ? Object.freeze([]) : [];
var EMPTY_OBJ = false ? Object.freeze({}) : {};
var EMPTY_ARR = false ? Object.freeze([]) : [];
var hasOwnProperty = Object.prototype.hasOwnProperty;
var hasOwn = (val, key) => hasOwnProperty.call(val, key);
var isArray2 = Array.isArray;
Expand Down Expand Up @@ -2320,8 +2324,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
var targetMap = /* @__PURE__ */ new WeakMap();
var effectStack = [];
var activeEffect;
var ITERATE_KEY = Symbol(true ? "iterate" : "");
var MAP_KEY_ITERATE_KEY = Symbol(true ? "Map key iterate" : "");
var ITERATE_KEY = Symbol(false ? "iterate" : "");
var MAP_KEY_ITERATE_KEY = Symbol(false ? "Map key iterate" : "");
function isEffect(fn) {
return fn && fn._isEffect === true;
}
Expand Down Expand Up @@ -2411,7 +2415,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
if (!dep.has(activeEffect)) {
dep.add(activeEffect);
activeEffect.deps.push(dep);
if (activeEffect.options.onTrack) {
if (false) {
activeEffect.options.onTrack({
effect: activeEffect,
target,
Expand Down Expand Up @@ -2475,7 +2479,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
}
}
const run = (effect3) => {
if (effect3.options.onTrigger) {
if (false) {
effect3.options.onTrigger({
effect: effect3,
target,
Expand Down Expand Up @@ -2612,13 +2616,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
var readonlyHandlers = {
get: readonlyGet,
set(target, key) {
if (true) {
if (false) {
console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
}
return true;
},
deleteProperty(target, key) {
if (true) {
if (false) {
console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
}
return true;
Expand Down Expand Up @@ -2680,7 +2684,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
if (!hadKey) {
key = toRaw(key);
hadKey = has2.call(target, key);
} else if (true) {
} else if (false) {
checkIdentityKeys(target, has2, key);
}
const oldValue = get3.call(target, key);
Expand All @@ -2699,7 +2703,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
if (!hadKey) {
key = toRaw(key);
hadKey = has2.call(target, key);
} else if (true) {
} else if (false) {
checkIdentityKeys(target, has2, key);
}
const oldValue = get3 ? get3.call(target, key) : void 0;
Expand All @@ -2712,7 +2716,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
function clear() {
const target = toRaw(this);
const hadItems = target.size !== 0;
const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0;
const oldTarget = false ? isMap(target) ? new Map(target) : new Set(target) : void 0;
const result = target.clear();
if (hadItems) {
trigger(target, "clear", void 0, void 0, oldTarget);
Expand Down Expand Up @@ -2757,7 +2761,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
}
function createReadonlyMethod(type) {
return function(...args) {
if (true) {
if (false) {
const key = args[0] ? `on key "${args[0]}" ` : ``;
console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));
}
Expand Down Expand Up @@ -2859,13 +2863,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
var readonlyCollectionHandlers = {
get: /* @__PURE__ */ createInstrumentationGetter(true, false)
};
function checkIdentityKeys(target, has2, key) {
const rawKey = toRaw(key);
if (rawKey !== key && has2.call(target, rawKey)) {
const type = toRawType(target);
console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);
}
}
var reactiveMap = /* @__PURE__ */ new WeakMap();
var shallowReactiveMap = /* @__PURE__ */ new WeakMap();
var readonlyMap = /* @__PURE__ */ new WeakMap();
Expand Down Expand Up @@ -2898,7 +2895,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
}
function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {
if (!isObject2(target)) {
if (true) {
if (false) {
console.warn(`value cannot be made reactive: ${String(target)}`);
}
return target;
Expand Down Expand Up @@ -3775,6 +3772,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
if (!el._x_forwardEvents.includes(value))
el._x_forwardEvents.push(value);
}
if (value === "something") {
console.log("listen for");
}
let removeListener = on(el, value, modifiers, (e) => {
evaluate22(() => {
}, { scope: { "$event": e }, params: [e] });
Expand Down Expand Up @@ -4367,7 +4367,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
});
wireProperty("$refresh", (component) => component.$wire.$commit);
wireProperty("$commit", (component) => async () => await requestCommit(component));
wireProperty("$on", (component) => (...params) => listen(component, ...params));
wireProperty("$on", (component) => (...params) => listen2(component, ...params));
wireProperty("$dispatch", (component) => (...params) => dispatch3(component, ...params));
wireProperty("$dispatchSelf", (component) => (...params) => dispatchSelf(component, ...params));
wireProperty("$dispatchTo", () => (...params) => dispatchTo(...params));
Expand Down Expand Up @@ -4574,7 +4574,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
dispatchEvent(target.el, name, params, false);
});
}
function listen(component, name, callback) {
function listen2(component, name, callback) {
component.el.addEventListener(name, (e) => {
callback(e.detail);
});
Expand Down Expand Up @@ -7132,7 +7132,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
return;
if (snapshotCache.has(alpine.snapshotIdx)) {
let snapshot = snapshotCache.retrieve(alpine.snapshotIdx);
handleHtml(snapshot.html, snapshotCache.currentUrl, snapshotCache.currentKey);
handleHtml(snapshot.html, snapshot.url, snapshotCache.currentUrl, snapshotCache.currentKey);
} else {
fallback2(alpine.url);
}
Expand Down Expand Up @@ -7616,7 +7616,15 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
var autofocus = false;
function navigate_default(Alpine3) {
Alpine3.navigate = (url) => {
navigateTo(createUrlObjectFromString(url));
let destination = createUrlObjectFromString(url);
let prevented = fireEventForOtherLibariesToHookInto("alpine:navigate", {
url: destination,
history: false,
cached: false
});
if (prevented)
return;
navigateTo(destination);
};
Alpine3.navigate.disableProgressBar = () => {
showProgressBar = false;
Expand All @@ -7636,6 +7644,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
storeThePrefetchedHtmlForWhenALinkIsClicked(html, destination, finalDestination);
});
whenItIsReleased(() => {
let prevented = fireEventForOtherLibariesToHookInto("alpine:navigate", {
url: destination,
history: false,
cached: false
});
if (prevented)
return;
navigateTo(destination);
});
});
Expand Down Expand Up @@ -7663,13 +7678,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
unPackPersistedTeleports(persistedEl);
});
restoreScrollPositionOrScrollToTop();
fireEventForOtherLibariesToHookInto("alpine:navigated");
afterNewScriptsAreDoneLoading(() => {
andAfterAllThis(() => {
setTimeout(() => {
autofocus && autofocusElementsWithTheAutofocusAttribute();
});
nowInitializeAlpineOnTheNewPage(Alpine3);
fireEventForOtherLibariesToHookInto("alpine:navigated");
});
});
});
Expand All @@ -7679,10 +7694,25 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
whenTheBackOrForwardButtonIsClicked((ifThePageBeingVisitedHasntBeenCached) => {
ifThePageBeingVisitedHasntBeenCached((url) => {
let destination = createUrlObjectFromString(url);
let prevented = fireEventForOtherLibariesToHookInto("alpine:navigate", {
url: destination,
history: true,
cached: false
});
if (prevented)
return;
let shouldPushToHistoryState = false;
navigateTo(destination, shouldPushToHistoryState);
});
}, (html, currentPageUrl, currentPageKey) => {
}, (html, url, currentPageUrl, currentPageKey) => {
let destination = createUrlObjectFromString(url);
let prevented = fireEventForOtherLibariesToHookInto("alpine:navigate", {
url: destination,
history: true,
cached: true
});
if (prevented)
return;
storeScrollInformationInHtmlBeforeNavigatingAway();
fireEventForOtherLibariesToHookInto("alpine:navigating");
updateCurrentPageHtmlInSnapshotCacheForLaterBackButtonClicks(currentPageUrl, currentPageKey);
Expand All @@ -7696,10 +7726,10 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
unPackPersistedTeleports(persistedEl);
});
restoreScrollPositionOrScrollToTop();
fireEventForOtherLibariesToHookInto("alpine:navigated");
andAfterAllThis(() => {
autofocus && autofocusElementsWithTheAutofocusAttribute();
nowInitializeAlpineOnTheNewPage(Alpine3);
fireEventForOtherLibariesToHookInto("alpine:navigated");
});
});
});
Expand All @@ -7722,8 +7752,14 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
});
});
}
function fireEventForOtherLibariesToHookInto(eventName) {
document.dispatchEvent(new CustomEvent(eventName, { bubbles: true }));
function fireEventForOtherLibariesToHookInto(name, detail) {
let event = new CustomEvent(name, {
cancelable: true,
bubbles: true,
detail
});
document.dispatchEvent(event);
return event.defaultPrevented;
}
function nowInitializeAlpineOnTheNewPage(Alpine3) {
Alpine3.initTree(document.body, void 0, (el, skip) => {
Expand Down Expand Up @@ -8923,12 +8959,16 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);

// js/features/supportNavigate.js
shouldHideProgressBar() && Alpine.navigate.disableProgressBar();
document.addEventListener("alpine:navigated", (e) => {
document.dispatchEvent(new CustomEvent("livewire:navigated", { bubbles: true }));
});
document.addEventListener("alpine:navigating", (e) => {
document.dispatchEvent(new CustomEvent("livewire:navigating", { bubbles: true }));
});
document.addEventListener("alpine:navigate", (e) => forwardEvent("livewire:navigate", e));
document.addEventListener("alpine:navigating", (e) => forwardEvent("livewire:navigating", e));
document.addEventListener("alpine:navigated", (e) => forwardEvent("livewire:navigated", e));
function forwardEvent(name, original) {
let event = new CustomEvent(name, { cancelable: true, bubbles: true, detail: original.detail });
document.dispatchEvent(event);
if (event.defaultPrevented) {
original.preventDefault();
}
}
function shouldRedirectUsingNavigateOr(effects, url, or) {
let forceNavigate = effects.redirectUsingNavigate;
if (forceNavigate) {
Expand Down Expand Up @@ -9226,17 +9266,21 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
});

// js/directives/wire-loading.js
directive2("loading", ({ el, directive: directive3, component }) => {
directive2("loading", ({ el, directive: directive3, component, cleanup: cleanup3 }) => {
let { targets, inverted } = getTargets(el);
let [delay3, abortDelay] = applyDelay(directive3);
whenTargetsArePartOfRequest(component, targets, inverted, [
let cleanupA = whenTargetsArePartOfRequest(component, targets, inverted, [
() => delay3(() => toggleBooleanStateDirective(el, directive3, true)),
() => abortDelay(() => toggleBooleanStateDirective(el, directive3, false))
]);
whenTargetsArePartOfFileUpload(component, targets, [
let cleanupB = whenTargetsArePartOfFileUpload(component, targets, [
() => delay3(() => toggleBooleanStateDirective(el, directive3, true)),
() => abortDelay(() => toggleBooleanStateDirective(el, directive3, false))
]);
cleanup3(() => {
cleanupA();
cleanupB();
});
});
function applyDelay(directive3) {
if (!directive3.modifiers.includes("delay") || directive3.modifiers.includes("none"))
Expand Down Expand Up @@ -9277,7 +9321,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
];
}
function whenTargetsArePartOfRequest(component, targets, inverted, [startLoading, endLoading]) {
on2("commit", ({ component: iComponent, commit: payload, respond }) => {
return on2("commit", ({ component: iComponent, commit: payload, respond }) => {
if (iComponent !== component)
return;
if (targets.length > 0 && containsTargets(payload, targets) === inverted)
Expand All @@ -9297,21 +9341,26 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
return true;
return false;
};
window.addEventListener("livewire-upload-start", (e) => {
let cleanupA = listen(window, "livewire-upload-start", (e) => {
if (eventMismatch(e))
return;
startLoading();
});
window.addEventListener("livewire-upload-finish", (e) => {
let cleanupB = listen(window, "livewire-upload-finish", (e) => {
if (eventMismatch(e))
return;
endLoading();
});
window.addEventListener("livewire-upload-error", (e) => {
let cleanupC = listen(window, "livewire-upload-error", (e) => {
if (eventMismatch(e))
return;
endLoading();
});
return () => {
cleanupA();
cleanupB();
cleanupC();
};
}
function containsTargets(payload, targets) {
let { updates, calls } = payload;
Expand Down
12 changes: 6 additions & 6 deletions dist/livewire.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/livewire.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/manifest.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@

{"/livewire.js":"ce9f0c16"}
{"/livewire.js":"e327ee13"}
Loading