@inertiajs/vue3 2.2.8 → 2.2.10

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.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -101,7 +102,7 @@ function useForm(rememberKeyOrData, maybeData) {
101
102
  const restored = rememberKey ? import_core2.router.restore(rememberKey) : null;
102
103
  let defaults = typeof data === "function" ? (0, import_lodash_es2.cloneDeep)(data()) : (0, import_lodash_es2.cloneDeep)(data);
103
104
  let cancelToken = null;
104
- let recentlySuccessfulTimeoutId = null;
105
+ let recentlySuccessfulTimeoutId;
105
106
  let transform = (data2) => data2;
106
107
  let defaultsCalledInOnSuccess = false;
107
108
  const form = (0, import_vue.reactive)({
@@ -177,7 +178,6 @@ function useForm(rememberKeyOrData, maybeData) {
177
178
  const url = objectPassed ? args[0].url : args[1];
178
179
  const options = (objectPassed ? args[1] : args[2]) ?? {};
179
180
  defaultsCalledInOnSuccess = false;
180
- const data2 = transform(this.data());
181
181
  const _options = {
182
182
  ...options,
183
183
  onCancelToken: (token) => {
@@ -244,10 +244,11 @@ function useForm(rememberKeyOrData, maybeData) {
244
244
  }
245
245
  }
246
246
  };
247
+ const transformedData = transform(this.data());
247
248
  if (method === "delete") {
248
- import_core2.router.delete(url, { ..._options, data: data2 });
249
+ import_core2.router.delete(url, { ..._options, data: transformedData });
249
250
  } else {
250
- import_core2.router[method](url, data2, _options);
251
+ import_core2.router[method](url, transformedData, _options);
251
252
  }
252
253
  },
253
254
  get(url, options) {
@@ -293,11 +294,11 @@ function useForm(rememberKeyOrData, maybeData) {
293
294
  }
294
295
 
295
296
  // src/app.ts
296
- var component = (0, import_vue2.ref)(null);
297
- var page = (0, import_vue2.ref)(null);
297
+ var component = (0, import_vue2.ref)(void 0);
298
+ var page = (0, import_vue2.ref)();
298
299
  var layout = (0, import_vue2.shallowRef)(null);
299
- var key = (0, import_vue2.ref)(null);
300
- var headManager = null;
300
+ var key = (0, import_vue2.ref)(void 0);
301
+ var headManager;
301
302
  var App = (0, import_vue2.defineComponent)({
302
303
  name: "Inertia",
303
304
  props: {
@@ -326,19 +327,20 @@ var App = (0, import_vue2.defineComponent)({
326
327
  }
327
328
  },
328
329
  setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {
329
- component.value = initialComponent ? (0, import_vue2.markRaw)(initialComponent) : null;
330
+ component.value = initialComponent ? (0, import_vue2.markRaw)(initialComponent) : void 0;
330
331
  page.value = initialPage;
331
- key.value = null;
332
+ key.value = void 0;
332
333
  const isServer = typeof window === "undefined";
333
- headManager = (0, import_core3.createHeadManager)(isServer, titleCallback, onHeadUpdate);
334
+ headManager = (0, import_core3.createHeadManager)(isServer, titleCallback || ((title) => title), onHeadUpdate || (() => {
335
+ }));
334
336
  if (!isServer) {
335
337
  import_core3.router.init({
336
338
  initialPage,
337
339
  resolveComponent,
338
- swapComponent: async (args) => {
339
- component.value = (0, import_vue2.markRaw)(args.component);
340
- page.value = args.page;
341
- key.value = args.preserveState ? key.value : Date.now();
340
+ swapComponent: async (options) => {
341
+ component.value = (0, import_vue2.markRaw)(options.component);
342
+ page.value = options.page;
343
+ key.value = options.preserveState ? key.value : Date.now();
342
344
  }
343
345
  });
344
346
  import_core3.router.on("navigate", () => headManager.forceUpdate());
@@ -409,7 +411,7 @@ async function createInertiaApp({
409
411
  }) {
410
412
  const isServer = typeof window === "undefined";
411
413
  const el = isServer ? null : document.getElementById(id);
412
- const initialPage = page2 || JSON.parse(el.dataset.page);
414
+ const initialPage = page2 || JSON.parse(el?.dataset.page || "{}");
413
415
  const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module2) => module2.default || module2);
414
416
  let head = [];
415
417
  const vueApp = await Promise.all([
@@ -417,23 +419,33 @@ async function createInertiaApp({
417
419
  import_core4.router.decryptHistory().catch(() => {
418
420
  })
419
421
  ]).then(([initialComponent]) => {
420
- return setup({
422
+ const props = {
423
+ initialPage,
424
+ initialComponent,
425
+ resolveComponent,
426
+ titleCallback: title
427
+ };
428
+ if (isServer) {
429
+ const ssrSetup = setup;
430
+ return ssrSetup({
431
+ el: null,
432
+ App: app_default,
433
+ props: { ...props, onHeadUpdate: (elements) => head = elements },
434
+ plugin
435
+ });
436
+ }
437
+ const csrSetup = setup;
438
+ return csrSetup({
421
439
  el,
422
440
  App: app_default,
423
- props: {
424
- initialPage,
425
- initialComponent,
426
- resolveComponent,
427
- titleCallback: title,
428
- onHeadUpdate: isServer ? (elements) => head = elements : null
429
- },
441
+ props,
430
442
  plugin
431
443
  });
432
444
  });
433
445
  if (!isServer && progress2) {
434
446
  (0, import_core4.setupProgress)(progress2);
435
447
  }
436
- if (isServer) {
448
+ if (isServer && render) {
437
449
  const body = await render(
438
450
  (0, import_vue3.createSSRApp)({
439
451
  render: () => (0, import_vue3.h)("div", {
@@ -462,7 +474,7 @@ var deferred_default = (0, import_vue4.defineComponent)({
462
474
  if (!this.$slots.fallback) {
463
475
  throw new Error("`<Deferred>` requires a `<template #fallback>` slot");
464
476
  }
465
- return keys.every((key2) => this.$page.props[key2] !== void 0) ? this.$slots.default() : this.$slots.fallback();
477
+ return keys.every((key2) => this.$page.props[key2] !== void 0) ? this.$slots.default?.() : this.$slots.fallback();
466
478
  }
467
479
  });
468
480
 
@@ -612,15 +624,15 @@ var Form = (0, import_vue5.defineComponent)({
612
624
  onFinish: props.onFinish,
613
625
  onCancel: props.onCancel,
614
626
  onSuccess: (...args) => {
615
- props.onSuccess(...args);
616
- props.onSubmitComplete(exposed);
627
+ props.onSuccess?.(...args);
628
+ props.onSubmitComplete?.(exposed);
617
629
  maybeReset(props.resetOnSuccess);
618
630
  if (props.setDefaultsOnSuccess === true) {
619
631
  defaults();
620
632
  }
621
633
  },
622
634
  onError: (...args) => {
623
- props.onError(...args);
635
+ props.onError?.(...args);
624
636
  maybeReset(props.resetOnError);
625
637
  },
626
638
  ...props.options
@@ -709,7 +721,7 @@ var Head = (0, import_vue6.defineComponent)({
709
721
  },
710
722
  methods: {
711
723
  isUnaryTag(node) {
712
- return [
724
+ return typeof node.type === "string" && [
713
725
  "area",
714
726
  "base",
715
727
  "br",
@@ -740,10 +752,19 @@ var Head = (0, import_vue6.defineComponent)({
740
752
  return carry + ` ${name}="${(0, import_lodash_es4.escape)(value)}"`;
741
753
  }
742
754
  }, "");
743
- return `<${node.type}${attrs}>`;
755
+ return `<${String(node.type)}${attrs}>`;
744
756
  },
745
757
  renderTagChildren(node) {
746
- return typeof node.children === "string" ? node.children : node.children.reduce((html, child) => html + this.renderTag(child), "");
758
+ const { children } = node;
759
+ if (typeof children === "string") {
760
+ return children;
761
+ }
762
+ if (Array.isArray(children)) {
763
+ return children.reduce((html, child) => {
764
+ return html + this.renderTag(child);
765
+ }, "");
766
+ }
767
+ return "";
747
768
  },
748
769
  isFunctionNode(node) {
749
770
  return typeof node.type === "function";
@@ -762,7 +783,7 @@ var Head = (0, import_vue6.defineComponent)({
762
783
  },
763
784
  renderTag(node) {
764
785
  if (this.isTextNode(node)) {
765
- return node.children;
786
+ return String(node.children);
766
787
  } else if (this.isFragmentNode(node)) {
767
788
  return "";
768
789
  } else if (this.isCommentNode(node)) {
@@ -773,7 +794,7 @@ var Head = (0, import_vue6.defineComponent)({
773
794
  html += this.renderTagChildren(node);
774
795
  }
775
796
  if (!this.isUnaryTag(node)) {
776
- html += `</${node.type}>`;
797
+ html += `</${String(node.type)}>`;
777
798
  }
778
799
  return html;
779
800
  },
@@ -784,9 +805,8 @@ var Head = (0, import_vue6.defineComponent)({
784
805
  return elements;
785
806
  },
786
807
  renderNodes(nodes) {
787
- return this.addTitleElement(
788
- nodes.flatMap((node) => this.resolveNode(node)).map((node) => this.renderTag(node)).filter((node) => node)
789
- );
808
+ const elements = nodes.flatMap((node) => this.resolveNode(node)).map((node) => this.renderTag(node)).filter((node) => node);
809
+ return this.addTitleElement(elements);
790
810
  },
791
811
  resolveNode(node) {
792
812
  if (this.isFunctionNode(node)) {
@@ -831,7 +851,8 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
831
851
  slots: Object,
832
852
  props: {
833
853
  data: {
834
- type: String
854
+ type: String,
855
+ required: true
835
856
  },
836
857
  buffer: {
837
858
  type: Number,
@@ -991,7 +1012,7 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
991
1012
  (0, import_vue7.h)(
992
1013
  "div",
993
1014
  { ref: startElementRef },
994
- slots.previous ? slots.previous(exposedPrevious) : loadingPrevious.value ? slots.loading?.(exposedPrevious) : null
1015
+ slots.previous ? slots.previous(exposedPrevious) : loadingPrevious.value ? slots.loading?.(exposedPrevious) : void 0
995
1016
  )
996
1017
  );
997
1018
  }
@@ -1020,7 +1041,7 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
1020
1041
  (0, import_vue7.h)(
1021
1042
  "div",
1022
1043
  { ref: endElementRef },
1023
- slots.next ? slots.next(exposedNext) : loadingNext.value ? slots.loading?.(exposedNext) : null
1044
+ slots.next ? slots.next(exposedNext) : loadingNext.value ? slots.loading?.(exposedNext) : void 0
1024
1045
  )
1025
1046
  );
1026
1047
  }
@@ -1145,7 +1166,7 @@ var Link = (0, import_vue8.defineComponent)({
1145
1166
  },
1146
1167
  setup(props, { slots, attrs }) {
1147
1168
  const inFlightCount = (0, import_vue8.ref)(0);
1148
- const hoverTimeout = (0, import_vue8.ref)(null);
1169
+ const hoverTimeout = (0, import_vue8.ref)();
1149
1170
  const prefetchModes = (0, import_vue8.computed)(() => {
1150
1171
  if (props.prefetch === true) {
1151
1172
  return ["hover"];
@@ -1176,7 +1197,7 @@ var Link = (0, import_vue8.defineComponent)({
1176
1197
  clearTimeout(hoverTimeout.value);
1177
1198
  });
1178
1199
  const method = (0, import_vue8.computed)(
1179
- () => (0, import_core7.isUrlMethodPair)(props.href) ? props.href.method : props.method.toLowerCase()
1200
+ () => (0, import_core7.isUrlMethodPair)(props.href) ? props.href.method : (props.method ?? "get").toLowerCase()
1180
1201
  );
1181
1202
  const as = (0, import_vue8.computed)(() => {
1182
1203
  if (typeof props.as !== "string" || props.as.toLowerCase() !== "a") {
@@ -1188,7 +1209,7 @@ var Link = (0, import_vue8.defineComponent)({
1188
1209
  () => (0, import_core7.mergeDataIntoQueryString)(
1189
1210
  method.value,
1190
1211
  (0, import_core7.isUrlMethodPair)(props.href) ? props.href.url : props.href,
1191
- props.data,
1212
+ props.data || {},
1192
1213
  props.queryStringArrayFormat
1193
1214
  )
1194
1215
  );
@@ -1221,12 +1242,12 @@ var Link = (0, import_vue8.defineComponent)({
1221
1242
  onBefore: props.onBefore,
1222
1243
  onStart: (visit) => {
1223
1244
  inFlightCount.value++;
1224
- props.onStart(visit);
1245
+ props.onStart?.(visit);
1225
1246
  },
1226
1247
  onProgress: props.onProgress,
1227
1248
  onFinish: (visit) => {
1228
1249
  inFlightCount.value--;
1229
- props.onFinish(visit);
1250
+ props.onFinish?.(visit);
1230
1251
  },
1231
1252
  onCancel: props.onCancel,
1232
1253
  onSuccess: props.onSuccess,
@@ -1273,7 +1294,7 @@ var Link = (0, import_vue8.defineComponent)({
1273
1294
  }
1274
1295
  },
1275
1296
  onKeydown: (event) => {
1276
- if ((0, import_core7.shouldIntercept)(event) && (0, import_core7.shouldNavigate)(event)) {
1297
+ if ((0, import_core7.shouldNavigate)(event)) {
1277
1298
  event.preventDefault();
1278
1299
  prefetch();
1279
1300
  }
@@ -1446,7 +1467,7 @@ var whenVisible_default = (0, import_vue12.defineComponent)({
1446
1467
  return;
1447
1468
  }
1448
1469
  if (!this.$props.always) {
1449
- this.observer.disconnect();
1470
+ this.observer?.disconnect();
1450
1471
  }
1451
1472
  if (this.fetching) {
1452
1473
  return;