@inertiajs/vue3 2.2.7 → 2.2.9
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/index.esm.js +75 -49
- package/dist/index.esm.js.map +2 -2
- package/dist/index.js +68 -47
- package/dist/index.js.map +2 -2
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/package.json +7 -7
- package/types/app.d.ts +7 -7
- package/types/createInertiaApp.d.ts +17 -26
- package/types/form.d.ts +42 -44
- package/types/infiniteScroll.d.ts +17 -15
- package/types/types.d.ts +4 -6
- package/types/useForm.d.ts +4 -2
- package/types/whenVisible.d.ts +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
import { progress, router as router10 } from "@inertiajs/core";
|
|
3
3
|
|
|
4
4
|
// src/app.ts
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
createHeadManager,
|
|
7
|
+
router as router3
|
|
8
|
+
} from "@inertiajs/core";
|
|
6
9
|
import {
|
|
7
10
|
computed,
|
|
8
11
|
defineComponent,
|
|
@@ -75,7 +78,7 @@ function useForm(rememberKeyOrData, maybeData) {
|
|
|
75
78
|
const restored = rememberKey ? router2.restore(rememberKey) : null;
|
|
76
79
|
let defaults = typeof data === "function" ? cloneDeep2(data()) : cloneDeep2(data);
|
|
77
80
|
let cancelToken = null;
|
|
78
|
-
let recentlySuccessfulTimeoutId
|
|
81
|
+
let recentlySuccessfulTimeoutId;
|
|
79
82
|
let transform = (data2) => data2;
|
|
80
83
|
let defaultsCalledInOnSuccess = false;
|
|
81
84
|
const form = reactive({
|
|
@@ -151,7 +154,6 @@ function useForm(rememberKeyOrData, maybeData) {
|
|
|
151
154
|
const url = objectPassed ? args[0].url : args[1];
|
|
152
155
|
const options = (objectPassed ? args[1] : args[2]) ?? {};
|
|
153
156
|
defaultsCalledInOnSuccess = false;
|
|
154
|
-
const data2 = transform(this.data());
|
|
155
157
|
const _options = {
|
|
156
158
|
...options,
|
|
157
159
|
onCancelToken: (token) => {
|
|
@@ -218,10 +220,11 @@ function useForm(rememberKeyOrData, maybeData) {
|
|
|
218
220
|
}
|
|
219
221
|
}
|
|
220
222
|
};
|
|
223
|
+
const transformedData = transform(this.data());
|
|
221
224
|
if (method === "delete") {
|
|
222
|
-
router2.delete(url, { ..._options, data:
|
|
225
|
+
router2.delete(url, { ..._options, data: transformedData });
|
|
223
226
|
} else {
|
|
224
|
-
router2[method](url,
|
|
227
|
+
router2[method](url, transformedData, _options);
|
|
225
228
|
}
|
|
226
229
|
},
|
|
227
230
|
get(url, options) {
|
|
@@ -267,11 +270,11 @@ function useForm(rememberKeyOrData, maybeData) {
|
|
|
267
270
|
}
|
|
268
271
|
|
|
269
272
|
// src/app.ts
|
|
270
|
-
var component = ref(
|
|
271
|
-
var page = ref(
|
|
273
|
+
var component = ref(void 0);
|
|
274
|
+
var page = ref();
|
|
272
275
|
var layout = shallowRef(null);
|
|
273
|
-
var key = ref(
|
|
274
|
-
var headManager
|
|
276
|
+
var key = ref(void 0);
|
|
277
|
+
var headManager;
|
|
275
278
|
var App = defineComponent({
|
|
276
279
|
name: "Inertia",
|
|
277
280
|
props: {
|
|
@@ -300,19 +303,20 @@ var App = defineComponent({
|
|
|
300
303
|
}
|
|
301
304
|
},
|
|
302
305
|
setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {
|
|
303
|
-
component.value = initialComponent ? markRaw(initialComponent) :
|
|
306
|
+
component.value = initialComponent ? markRaw(initialComponent) : void 0;
|
|
304
307
|
page.value = initialPage;
|
|
305
|
-
key.value =
|
|
308
|
+
key.value = void 0;
|
|
306
309
|
const isServer = typeof window === "undefined";
|
|
307
|
-
headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)
|
|
310
|
+
headManager = createHeadManager(isServer, titleCallback || ((title) => title), onHeadUpdate || (() => {
|
|
311
|
+
}));
|
|
308
312
|
if (!isServer) {
|
|
309
313
|
router3.init({
|
|
310
314
|
initialPage,
|
|
311
315
|
resolveComponent,
|
|
312
|
-
swapComponent: async (
|
|
313
|
-
component.value = markRaw(
|
|
314
|
-
page.value =
|
|
315
|
-
key.value =
|
|
316
|
+
swapComponent: async (options) => {
|
|
317
|
+
component.value = markRaw(options.component);
|
|
318
|
+
page.value = options.page;
|
|
319
|
+
key.value = options.preserveState ? key.value : Date.now();
|
|
316
320
|
}
|
|
317
321
|
});
|
|
318
322
|
router3.on("navigate", () => headManager.forceUpdate());
|
|
@@ -370,7 +374,10 @@ function usePage() {
|
|
|
370
374
|
}
|
|
371
375
|
|
|
372
376
|
// src/createInertiaApp.ts
|
|
373
|
-
import {
|
|
377
|
+
import {
|
|
378
|
+
router as router4,
|
|
379
|
+
setupProgress
|
|
380
|
+
} from "@inertiajs/core";
|
|
374
381
|
import { createSSRApp, h as h2 } from "vue";
|
|
375
382
|
async function createInertiaApp({
|
|
376
383
|
id = "app",
|
|
@@ -383,7 +390,7 @@ async function createInertiaApp({
|
|
|
383
390
|
}) {
|
|
384
391
|
const isServer = typeof window === "undefined";
|
|
385
392
|
const el = isServer ? null : document.getElementById(id);
|
|
386
|
-
const initialPage = page2 || JSON.parse(el
|
|
393
|
+
const initialPage = page2 || JSON.parse(el?.dataset.page || "{}");
|
|
387
394
|
const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module);
|
|
388
395
|
let head = [];
|
|
389
396
|
const vueApp = await Promise.all([
|
|
@@ -391,23 +398,33 @@ async function createInertiaApp({
|
|
|
391
398
|
router4.decryptHistory().catch(() => {
|
|
392
399
|
})
|
|
393
400
|
]).then(([initialComponent]) => {
|
|
394
|
-
|
|
401
|
+
const props = {
|
|
402
|
+
initialPage,
|
|
403
|
+
initialComponent,
|
|
404
|
+
resolveComponent,
|
|
405
|
+
titleCallback: title
|
|
406
|
+
};
|
|
407
|
+
if (isServer) {
|
|
408
|
+
const ssrSetup = setup;
|
|
409
|
+
return ssrSetup({
|
|
410
|
+
el: null,
|
|
411
|
+
App: app_default,
|
|
412
|
+
props: { ...props, onHeadUpdate: (elements) => head = elements },
|
|
413
|
+
plugin
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
const csrSetup = setup;
|
|
417
|
+
return csrSetup({
|
|
395
418
|
el,
|
|
396
419
|
App: app_default,
|
|
397
|
-
props
|
|
398
|
-
initialPage,
|
|
399
|
-
initialComponent,
|
|
400
|
-
resolveComponent,
|
|
401
|
-
titleCallback: title,
|
|
402
|
-
onHeadUpdate: isServer ? (elements) => head = elements : null
|
|
403
|
-
},
|
|
420
|
+
props,
|
|
404
421
|
plugin
|
|
405
422
|
});
|
|
406
423
|
});
|
|
407
424
|
if (!isServer && progress2) {
|
|
408
425
|
setupProgress(progress2);
|
|
409
426
|
}
|
|
410
|
-
if (isServer) {
|
|
427
|
+
if (isServer && render) {
|
|
411
428
|
const body = await render(
|
|
412
429
|
createSSRApp({
|
|
413
430
|
render: () => h2("div", {
|
|
@@ -436,7 +453,7 @@ var deferred_default = defineComponent2({
|
|
|
436
453
|
if (!this.$slots.fallback) {
|
|
437
454
|
throw new Error("`<Deferred>` requires a `<template #fallback>` slot");
|
|
438
455
|
}
|
|
439
|
-
return keys.every((key2) => this.$page.props[key2] !== void 0) ? this.$slots.default() : this.$slots.fallback();
|
|
456
|
+
return keys.every((key2) => this.$page.props[key2] !== void 0) ? this.$slots.default?.() : this.$slots.fallback();
|
|
440
457
|
}
|
|
441
458
|
});
|
|
442
459
|
|
|
@@ -591,15 +608,15 @@ var Form = defineComponent3({
|
|
|
591
608
|
onFinish: props.onFinish,
|
|
592
609
|
onCancel: props.onCancel,
|
|
593
610
|
onSuccess: (...args) => {
|
|
594
|
-
props.onSuccess(...args);
|
|
595
|
-
props.onSubmitComplete(exposed);
|
|
611
|
+
props.onSuccess?.(...args);
|
|
612
|
+
props.onSubmitComplete?.(exposed);
|
|
596
613
|
maybeReset(props.resetOnSuccess);
|
|
597
614
|
if (props.setDefaultsOnSuccess === true) {
|
|
598
615
|
defaults();
|
|
599
616
|
}
|
|
600
617
|
},
|
|
601
618
|
onError: (...args) => {
|
|
602
|
-
props.onError(...args);
|
|
619
|
+
props.onError?.(...args);
|
|
603
620
|
maybeReset(props.resetOnError);
|
|
604
621
|
},
|
|
605
622
|
...props.options
|
|
@@ -688,7 +705,7 @@ var Head = defineComponent4({
|
|
|
688
705
|
},
|
|
689
706
|
methods: {
|
|
690
707
|
isUnaryTag(node) {
|
|
691
|
-
return [
|
|
708
|
+
return typeof node.type === "string" && [
|
|
692
709
|
"area",
|
|
693
710
|
"base",
|
|
694
711
|
"br",
|
|
@@ -719,10 +736,19 @@ var Head = defineComponent4({
|
|
|
719
736
|
return carry + ` ${name}="${escape(value)}"`;
|
|
720
737
|
}
|
|
721
738
|
}, "");
|
|
722
|
-
return `<${node.type}${attrs}>`;
|
|
739
|
+
return `<${String(node.type)}${attrs}>`;
|
|
723
740
|
},
|
|
724
741
|
renderTagChildren(node) {
|
|
725
|
-
|
|
742
|
+
const { children } = node;
|
|
743
|
+
if (typeof children === "string") {
|
|
744
|
+
return children;
|
|
745
|
+
}
|
|
746
|
+
if (Array.isArray(children)) {
|
|
747
|
+
return children.reduce((html, child) => {
|
|
748
|
+
return html + this.renderTag(child);
|
|
749
|
+
}, "");
|
|
750
|
+
}
|
|
751
|
+
return "";
|
|
726
752
|
},
|
|
727
753
|
isFunctionNode(node) {
|
|
728
754
|
return typeof node.type === "function";
|
|
@@ -741,7 +767,7 @@ var Head = defineComponent4({
|
|
|
741
767
|
},
|
|
742
768
|
renderTag(node) {
|
|
743
769
|
if (this.isTextNode(node)) {
|
|
744
|
-
return node.children;
|
|
770
|
+
return String(node.children);
|
|
745
771
|
} else if (this.isFragmentNode(node)) {
|
|
746
772
|
return "";
|
|
747
773
|
} else if (this.isCommentNode(node)) {
|
|
@@ -752,7 +778,7 @@ var Head = defineComponent4({
|
|
|
752
778
|
html += this.renderTagChildren(node);
|
|
753
779
|
}
|
|
754
780
|
if (!this.isUnaryTag(node)) {
|
|
755
|
-
html += `</${node.type}>`;
|
|
781
|
+
html += `</${String(node.type)}>`;
|
|
756
782
|
}
|
|
757
783
|
return html;
|
|
758
784
|
},
|
|
@@ -763,9 +789,8 @@ var Head = defineComponent4({
|
|
|
763
789
|
return elements;
|
|
764
790
|
},
|
|
765
791
|
renderNodes(nodes) {
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
);
|
|
792
|
+
const elements = nodes.flatMap((node) => this.resolveNode(node)).map((node) => this.renderTag(node)).filter((node) => node);
|
|
793
|
+
return this.addTitleElement(elements);
|
|
769
794
|
},
|
|
770
795
|
resolveNode(node) {
|
|
771
796
|
if (this.isFunctionNode(node)) {
|
|
@@ -813,7 +838,8 @@ var InfiniteScroll = defineComponent5({
|
|
|
813
838
|
slots: Object,
|
|
814
839
|
props: {
|
|
815
840
|
data: {
|
|
816
|
-
type: String
|
|
841
|
+
type: String,
|
|
842
|
+
required: true
|
|
817
843
|
},
|
|
818
844
|
buffer: {
|
|
819
845
|
type: Number,
|
|
@@ -973,7 +999,7 @@ var InfiniteScroll = defineComponent5({
|
|
|
973
999
|
h4(
|
|
974
1000
|
"div",
|
|
975
1001
|
{ ref: startElementRef },
|
|
976
|
-
slots.previous ? slots.previous(exposedPrevious) : loadingPrevious.value ? slots.loading?.(exposedPrevious) :
|
|
1002
|
+
slots.previous ? slots.previous(exposedPrevious) : loadingPrevious.value ? slots.loading?.(exposedPrevious) : void 0
|
|
977
1003
|
)
|
|
978
1004
|
);
|
|
979
1005
|
}
|
|
@@ -1002,7 +1028,7 @@ var InfiniteScroll = defineComponent5({
|
|
|
1002
1028
|
h4(
|
|
1003
1029
|
"div",
|
|
1004
1030
|
{ ref: endElementRef },
|
|
1005
|
-
slots.next ? slots.next(exposedNext) : loadingNext.value ? slots.loading?.(exposedNext) :
|
|
1031
|
+
slots.next ? slots.next(exposedNext) : loadingNext.value ? slots.loading?.(exposedNext) : void 0
|
|
1006
1032
|
)
|
|
1007
1033
|
);
|
|
1008
1034
|
}
|
|
@@ -1133,7 +1159,7 @@ var Link = defineComponent6({
|
|
|
1133
1159
|
},
|
|
1134
1160
|
setup(props, { slots, attrs }) {
|
|
1135
1161
|
const inFlightCount = ref4(0);
|
|
1136
|
-
const hoverTimeout = ref4(
|
|
1162
|
+
const hoverTimeout = ref4();
|
|
1137
1163
|
const prefetchModes = computed4(() => {
|
|
1138
1164
|
if (props.prefetch === true) {
|
|
1139
1165
|
return ["hover"];
|
|
@@ -1164,7 +1190,7 @@ var Link = defineComponent6({
|
|
|
1164
1190
|
clearTimeout(hoverTimeout.value);
|
|
1165
1191
|
});
|
|
1166
1192
|
const method = computed4(
|
|
1167
|
-
() => isUrlMethodPair2(props.href) ? props.href.method : props.method.toLowerCase()
|
|
1193
|
+
() => isUrlMethodPair2(props.href) ? props.href.method : (props.method ?? "get").toLowerCase()
|
|
1168
1194
|
);
|
|
1169
1195
|
const as = computed4(() => {
|
|
1170
1196
|
if (typeof props.as !== "string" || props.as.toLowerCase() !== "a") {
|
|
@@ -1176,7 +1202,7 @@ var Link = defineComponent6({
|
|
|
1176
1202
|
() => mergeDataIntoQueryString2(
|
|
1177
1203
|
method.value,
|
|
1178
1204
|
isUrlMethodPair2(props.href) ? props.href.url : props.href,
|
|
1179
|
-
props.data,
|
|
1205
|
+
props.data || {},
|
|
1180
1206
|
props.queryStringArrayFormat
|
|
1181
1207
|
)
|
|
1182
1208
|
);
|
|
@@ -1209,12 +1235,12 @@ var Link = defineComponent6({
|
|
|
1209
1235
|
onBefore: props.onBefore,
|
|
1210
1236
|
onStart: (visit) => {
|
|
1211
1237
|
inFlightCount.value++;
|
|
1212
|
-
props.onStart(visit);
|
|
1238
|
+
props.onStart?.(visit);
|
|
1213
1239
|
},
|
|
1214
1240
|
onProgress: props.onProgress,
|
|
1215
1241
|
onFinish: (visit) => {
|
|
1216
1242
|
inFlightCount.value--;
|
|
1217
|
-
props.onFinish(visit);
|
|
1243
|
+
props.onFinish?.(visit);
|
|
1218
1244
|
},
|
|
1219
1245
|
onCancel: props.onCancel,
|
|
1220
1246
|
onSuccess: props.onSuccess,
|
|
@@ -1261,7 +1287,7 @@ var Link = defineComponent6({
|
|
|
1261
1287
|
}
|
|
1262
1288
|
},
|
|
1263
1289
|
onKeydown: (event) => {
|
|
1264
|
-
if (
|
|
1290
|
+
if (shouldNavigate(event)) {
|
|
1265
1291
|
event.preventDefault();
|
|
1266
1292
|
prefetch();
|
|
1267
1293
|
}
|
|
@@ -1434,7 +1460,7 @@ var whenVisible_default = defineComponent7({
|
|
|
1434
1460
|
return;
|
|
1435
1461
|
}
|
|
1436
1462
|
if (!this.$props.always) {
|
|
1437
|
-
this.observer
|
|
1463
|
+
this.observer?.disconnect();
|
|
1438
1464
|
}
|
|
1439
1465
|
if (this.fetching) {
|
|
1440
1466
|
return;
|