@absolutejs/absolute 0.19.0-beta.431 → 0.19.0-beta.432
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/angular/index.js +8 -3
- package/dist/angular/index.js.map +3 -3
- package/dist/angular/server.js +2 -2
- package/dist/angular/server.js.map +1 -1
- package/dist/build.js +2 -2
- package/dist/build.js.map +1 -1
- package/dist/client/index.js +7 -2
- package/dist/client/index.js.map +3 -3
- package/dist/index.js +8 -3
- package/dist/index.js.map +3 -3
- package/dist/react/index.js +7 -2
- package/dist/react/index.js.map +3 -3
- package/dist/svelte/index.js +7 -2
- package/dist/svelte/index.js.map +3 -3
- package/dist/vue/components/index.js +33 -5
- package/dist/vue/components/index.js.map +3 -3
- package/dist/vue/index.js +39 -6
- package/dist/vue/index.js.map +4 -4
- package/package.json +1 -1
package/dist/vue/index.js
CHANGED
|
@@ -1744,7 +1744,9 @@ var Image_default = "../Image-0pe96k20.vue";
|
|
|
1744
1744
|
// src/vue/components/SuspenseSlot.ts
|
|
1745
1745
|
import {
|
|
1746
1746
|
defineComponent,
|
|
1747
|
-
h
|
|
1747
|
+
h,
|
|
1748
|
+
onMounted,
|
|
1749
|
+
ref
|
|
1748
1750
|
} from "vue";
|
|
1749
1751
|
var renderVueNodesToHtml = async (nodes) => {
|
|
1750
1752
|
const { createSSRApp, h: createVNode } = await import("vue");
|
|
@@ -1774,6 +1776,9 @@ var SuspenseSlot = defineComponent({
|
|
|
1774
1776
|
timeoutMs: { default: undefined, type: Number }
|
|
1775
1777
|
},
|
|
1776
1778
|
setup(props, { slots }) {
|
|
1779
|
+
const isResolved = ref(false);
|
|
1780
|
+
const resolvedValue = ref(undefined);
|
|
1781
|
+
const hasError = ref(false);
|
|
1777
1782
|
const usesFrameworkSlots = hasFrameworkSlots(slots.default, slots.fallback, slots.error, props.promise);
|
|
1778
1783
|
if (typeof window === "undefined") {
|
|
1779
1784
|
if (!usesFrameworkSlots && props.resolve) {
|
|
@@ -1790,8 +1795,11 @@ var SuspenseSlot = defineComponent({
|
|
|
1790
1795
|
resolve: async () => {
|
|
1791
1796
|
try {
|
|
1792
1797
|
const value = props.resolve !== undefined ? await props.resolve() : props.promise !== undefined ? await props.promise : undefined;
|
|
1793
|
-
|
|
1794
|
-
|
|
1798
|
+
return {
|
|
1799
|
+
html: "",
|
|
1800
|
+
kind: "vue-suspense",
|
|
1801
|
+
value
|
|
1802
|
+
};
|
|
1795
1803
|
} catch (error) {
|
|
1796
1804
|
const errorNodes = slots.error?.({ error });
|
|
1797
1805
|
if (errorNodes !== undefined) {
|
|
@@ -1807,6 +1815,26 @@ var SuspenseSlot = defineComponent({
|
|
|
1807
1815
|
});
|
|
1808
1816
|
}
|
|
1809
1817
|
}
|
|
1818
|
+
if (typeof window !== "undefined" && usesFrameworkSlots) {
|
|
1819
|
+
const consumers = window.__ABS_SLOT_CONSUMERS__ = window.__ABS_SLOT_CONSUMERS__ ?? {};
|
|
1820
|
+
let runtimeReady = false;
|
|
1821
|
+
consumers[props.id] = (payload) => {
|
|
1822
|
+
if (!runtimeReady)
|
|
1823
|
+
return false;
|
|
1824
|
+
if (!payload || typeof payload !== "object" || payload.kind !== "vue-suspense") {
|
|
1825
|
+
return false;
|
|
1826
|
+
}
|
|
1827
|
+
const candidate = payload;
|
|
1828
|
+
hasError.value = candidate.state === "error";
|
|
1829
|
+
resolvedValue.value = candidate.value;
|
|
1830
|
+
isResolved.value = candidate.state !== "error";
|
|
1831
|
+
return true;
|
|
1832
|
+
};
|
|
1833
|
+
onMounted(() => {
|
|
1834
|
+
runtimeReady = true;
|
|
1835
|
+
window.__ABS_SLOT_FLUSH__?.();
|
|
1836
|
+
});
|
|
1837
|
+
}
|
|
1810
1838
|
return () => {
|
|
1811
1839
|
if (!usesFrameworkSlots) {
|
|
1812
1840
|
return h("div", {
|
|
@@ -1820,7 +1848,7 @@ var SuspenseSlot = defineComponent({
|
|
|
1820
1848
|
class: props.className,
|
|
1821
1849
|
"data-absolute-slot": "true",
|
|
1822
1850
|
id: `slot-${props.id}`
|
|
1823
|
-
}, slots.fallback?.() ?? undefined);
|
|
1851
|
+
}, hasError.value ? slots.error?.({ error: undefined }) ?? slots.fallback?.() ?? undefined : isResolved.value ? slots.default?.({ value: resolvedValue.value }) ?? undefined : slots.fallback?.() ?? undefined);
|
|
1824
1852
|
};
|
|
1825
1853
|
}
|
|
1826
1854
|
});
|
|
@@ -1873,6 +1901,11 @@ var streamSwapRuntime = () => {
|
|
|
1873
1901
|
return false;
|
|
1874
1902
|
return payload.kind === "angular-defer";
|
|
1875
1903
|
};
|
|
1904
|
+
const isVueSuspensePayload = (payload) => {
|
|
1905
|
+
if (!payload || typeof payload !== "object")
|
|
1906
|
+
return false;
|
|
1907
|
+
return payload.kind === "vue-suspense";
|
|
1908
|
+
};
|
|
1876
1909
|
const resolveHtml = (payload) => {
|
|
1877
1910
|
if (!payload || typeof payload !== "object") {
|
|
1878
1911
|
return typeof payload === "string" ? payload : "";
|
|
@@ -1896,7 +1929,7 @@ var streamSwapRuntime = () => {
|
|
|
1896
1929
|
return;
|
|
1897
1930
|
}
|
|
1898
1931
|
}
|
|
1899
|
-
if (isAngularDeferPayload(payload)) {
|
|
1932
|
+
if (isAngularDeferPayload(payload) || isVueSuspensePayload(payload)) {
|
|
1900
1933
|
pending[id] = payload;
|
|
1901
1934
|
return;
|
|
1902
1935
|
}
|
|
@@ -2801,5 +2834,5 @@ export {
|
|
|
2801
2834
|
Image_default as Image
|
|
2802
2835
|
};
|
|
2803
2836
|
|
|
2804
|
-
//# debugId=
|
|
2837
|
+
//# debugId=5E472DCDD9E5F0DA64756E2164756E21
|
|
2805
2838
|
//# sourceMappingURL=index.js.map
|