inertiax-svelte 5.0.13 → 5.0.15

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/app.html ADDED
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="%sveltekit.assets%/favicon.png" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ %sveltekit.head%
8
+ </head>
9
+ <body data-sveltekit-preload-data="hover">
10
+ <div>%sveltekit.body%</div>
11
+ </body>
12
+ </html>
@@ -1,10 +1,15 @@
1
- <script>import { getContext } from "svelte";
2
- const { page } = getContext("inertia");
3
- export let data;
4
- const keys = Array.isArray(data) ? data : [data];
5
- if (!$$slots.fallback) {
6
- throw new Error('`<Deferred>` requires a `<svelte:fragment slot="fallback">` slot');
7
- }
1
+ <script lang="ts">
2
+ import { getContext } from 'svelte'
3
+
4
+ const { page } = getContext('inertia')
5
+
6
+ export let data: string | string[]
7
+
8
+ const keys = Array.isArray(data) ? data : [data]
9
+
10
+ if (!$$slots.fallback) {
11
+ throw new Error('`<Deferred>` requires a `<svelte:fragment slot="fallback">` slot')
12
+ }
8
13
  </script>
9
14
 
10
15
  {#if keys.every((key) => $page.props[key] !== undefined)}
@@ -1,21 +1,31 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- data: string | string[];
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
5
11
  };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {
10
- default: {};
11
- fallback: {};
12
- };
13
- exports?: {} | undefined;
14
- bindings?: string | undefined;
15
- };
16
- export type DeferredProps = typeof __propDef.props;
17
- export type DeferredEvents = typeof __propDef.events;
18
- export type DeferredSlots = typeof __propDef.slots;
19
- export default class Deferred extends SvelteComponent<DeferredProps, DeferredEvents, DeferredSlots> {
12
+ z_$$bindings?: Bindings;
20
13
  }
21
- export {};
14
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
15
+ default: any;
16
+ } ? Props extends Record<string, never> ? any : {
17
+ children?: any;
18
+ } : {});
19
+ declare const Deferred: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
+ data: string | string[];
21
+ }, {
22
+ default: {};
23
+ fallback: {};
24
+ }>, {
25
+ [evt: string]: CustomEvent<any>;
26
+ }, {
27
+ default: {};
28
+ fallback: {};
29
+ }, {}, string>;
30
+ type Deferred = InstanceType<typeof Deferred>;
31
+ export default Deferred;
@@ -1,4 +1,5 @@
1
1
  <script>
2
+ import { BROWSER } from 'esm-env';
2
3
  import { onDestroy, onMount, setContext } from 'svelte'
3
4
  import { toStore } from 'svelte/store';
4
5
  import { Router } from 'inertiax-core';
@@ -13,6 +14,7 @@
13
14
  url,
14
15
  makeRequest = true,
15
16
 
17
+ children,
16
18
  version
17
19
  } = $props()
18
20
 
@@ -34,7 +36,8 @@
34
36
  if (url && makeRequest) {
35
37
  router.visit(url, {
36
38
  preserveState: true,
37
- preserveScroll: true
39
+ preserveScroll: true,
40
+ replace: true
38
41
  })
39
42
  }
40
43
 
@@ -108,9 +111,9 @@
108
111
  document.addEventListener('click', clickhandler)
109
112
  })
110
113
 
111
- onDestroy(function() {
112
- if (import.meta.env.SSR) return
114
+ if (BROWSER) onDestroy(function() {
113
115
  document.removeEventListener('click', clickhandler)
116
+ router.destroy()
114
117
  })
115
118
  </script>
116
119
 
@@ -120,7 +123,7 @@
120
123
  {#if resolvedProps}
121
124
  <Render {...resolvedProps} />
122
125
  {:else}
123
- <slot />
126
+ {@render children?.()}
124
127
  {/if}
125
128
  </div>
126
129
 
@@ -1,31 +1,14 @@
1
- /** @typedef {typeof __propDef.props} FrameProps */
2
- /** @typedef {typeof __propDef.events} FrameEvents */
3
- /** @typedef {typeof __propDef.slots} FrameSlots */
4
- export default class Frame extends SvelteComponent<{
5
- router?: Router | undefined;
1
+ export default Frame;
2
+ declare const Frame: import("svelte").Component<{
3
+ name?: unknown;
4
+ renderLayout?: unknown;
5
+ component: unknown;
6
+ props: unknown;
7
+ url: unknown;
8
+ makeRequest?: boolean;
9
+ children: unknown;
10
+ version: unknown;
6
11
  }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- }> {
11
- get router(): Router;
12
- }
13
- export type FrameProps = typeof __propDef.props;
14
- export type FrameEvents = typeof __propDef.events;
15
- export type FrameSlots = typeof __propDef.slots;
12
+ router: Router;
13
+ }, "">;
16
14
  import { Router } from 'inertiax-core';
17
- import { SvelteComponent } from "svelte";
18
- declare const __propDef: {
19
- props: {
20
- router?: Router | undefined;
21
- };
22
- events: {
23
- [evt: string]: CustomEvent<any>;
24
- };
25
- slots: {
26
- default: {};
27
- };
28
- exports?: undefined;
29
- bindings?: undefined;
30
- };
31
- export {};
@@ -1,23 +1,34 @@
1
- <script>import { inertia } from "../index";
2
- export let href;
3
- export let as = "a";
4
- export let data = {};
5
- export let method = "get";
6
- export let replace = false;
7
- export let preserveScroll = false;
8
- export let preserveState = null;
9
- export let only = [];
10
- export let except = [];
11
- export let headers = {};
12
- export let queryStringArrayFormat = "brackets";
13
- export let async = false;
14
- export let prefetch = false;
15
- export let cacheFor = 0;
16
- $: asProp = method !== "get" ? "button" : as.toLowerCase();
17
- $: elProps = {
18
- a: { href },
19
- button: { type: "button" }
20
- }[asProp] || {};
1
+ <script lang="ts">
2
+ import type {
3
+ CacheForOption,
4
+ FormDataConvertible,
5
+ LinkPrefetchOption,
6
+ Method,
7
+ PreserveStateOption,
8
+ } from 'inertiax-core'
9
+ import { inertia } from '../index'
10
+
11
+ export let href: string
12
+ export let as: keyof HTMLElementTagNameMap = 'a'
13
+ export let data: Record<string, FormDataConvertible> = {}
14
+ export let method: Method = 'get'
15
+ export let replace: boolean = false
16
+ export let preserveScroll: PreserveStateOption = false
17
+ export let preserveState: PreserveStateOption | null = null
18
+ export let only: string[] = []
19
+ export let except: string[] = []
20
+ export let headers: Record<string, string> = {}
21
+ export let queryStringArrayFormat: 'brackets' | 'indices' = 'brackets'
22
+ export let async: boolean = false
23
+ export let prefetch: boolean | LinkPrefetchOption | LinkPrefetchOption[] = false
24
+ export let cacheFor: CacheForOption | CacheForOption[] = 0
25
+
26
+ $: asProp = method !== 'get' ? 'button' : as.toLowerCase()
27
+ $: elProps =
28
+ {
29
+ a: { href },
30
+ button: { type: 'button' },
31
+ }[asProp] || {}
21
32
  </script>
22
33
 
23
34
  <!-- svelte-ignore a11y-no-static-element-interactions -->
@@ -1,53 +1,62 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { CacheForOption, FormDataConvertible, LinkPrefetchOption, Method, PreserveStateOption } from 'inertiax-core';
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- href: string;
7
- as?: keyof HTMLElementTagNameMap | undefined;
8
- data?: Record<string, FormDataConvertible> | undefined;
9
- method?: Method | undefined;
10
- replace?: boolean | undefined;
11
- preserveScroll?: PreserveStateOption | undefined;
12
- preserveState?: (PreserveStateOption | null) | undefined;
13
- only?: string[] | undefined;
14
- except?: string[] | undefined;
15
- headers?: Record<string, string> | undefined;
16
- queryStringArrayFormat?: ("brackets" | "indices") | undefined;
17
- async?: boolean | undefined;
18
- prefetch?: (boolean | LinkPrefetchOption | LinkPrefetchOption[]) | undefined;
19
- cacheFor?: (CacheForOption | CacheForOption[]) | undefined;
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
20
12
  };
21
- events: {
22
- focus: FocusEvent;
23
- blur: FocusEvent;
24
- click: MouseEvent;
25
- dblclick: MouseEvent;
26
- mousedown: MouseEvent;
27
- mousemove: MouseEvent;
28
- mouseout: MouseEvent;
29
- mouseover: MouseEvent;
30
- mouseup: MouseEvent;
31
- 'cancel-token': MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
32
- before: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
33
- start: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
34
- progress: ProgressEvent<EventTarget>;
35
- finish: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
36
- cancel: Event;
37
- success: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
38
- error: ErrorEvent;
39
- } & {
40
- [evt: string]: CustomEvent<any>;
41
- };
42
- slots: {
43
- default: {};
44
- };
45
- exports?: undefined;
46
- bindings?: undefined;
47
- };
48
- export type LinkProps = typeof __propDef.props;
49
- export type LinkEvents = typeof __propDef.events;
50
- export type LinkSlots = typeof __propDef.slots;
51
- export default class Link extends SvelteComponent<LinkProps, LinkEvents, LinkSlots> {
13
+ z_$$bindings?: Bindings;
52
14
  }
53
- export {};
15
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
16
+ default: any;
17
+ } ? Props extends Record<string, never> ? any : {
18
+ children?: any;
19
+ } : {});
20
+ declare const Link: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
21
+ [x: string]: any;
22
+ href: string;
23
+ as?: keyof HTMLElementTagNameMap | undefined;
24
+ data?: Record<string, FormDataConvertible> | undefined;
25
+ method?: Method | undefined;
26
+ replace?: boolean | undefined;
27
+ preserveScroll?: PreserveStateOption | undefined;
28
+ preserveState?: (PreserveStateOption | null) | undefined;
29
+ only?: string[] | undefined;
30
+ except?: string[] | undefined;
31
+ headers?: Record<string, string> | undefined;
32
+ queryStringArrayFormat?: ("brackets" | "indices") | undefined;
33
+ async?: boolean | undefined;
34
+ prefetch?: (boolean | LinkPrefetchOption | LinkPrefetchOption[]) | undefined;
35
+ cacheFor?: (CacheForOption | CacheForOption[]) | undefined;
36
+ }, {
37
+ default: {};
38
+ }>, {
39
+ focus: FocusEvent;
40
+ blur: FocusEvent;
41
+ click: MouseEvent;
42
+ dblclick: MouseEvent;
43
+ mousedown: MouseEvent;
44
+ mousemove: MouseEvent;
45
+ mouseout: MouseEvent;
46
+ mouseover: MouseEvent;
47
+ mouseup: MouseEvent;
48
+ 'cancel-token': MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
49
+ before: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
50
+ start: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
51
+ progress: ProgressEvent<EventTarget>;
52
+ finish: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
53
+ cancel: Event;
54
+ success: MouseEvent | UIEvent | Event | KeyboardEvent | AnimationEvent | InputEvent | FocusEvent | CompositionEvent | ClipboardEvent | DragEvent | ErrorEvent | FormDataEvent | PointerEvent | ProgressEvent<EventTarget> | SecurityPolicyViolationEvent | SubmitEvent | TouchEvent | TransitionEvent | WheelEvent;
55
+ error: ErrorEvent;
56
+ } & {
57
+ [evt: string]: CustomEvent<any>;
58
+ }, {
59
+ default: {};
60
+ }, {}, string>;
61
+ type Link = InstanceType<typeof Link>;
62
+ export default Link;
@@ -1,18 +1,46 @@
1
- <script context="module">export const h = (component, propsOrChildren, childrenOrKey, key = null) => {
2
- const hasProps = typeof propsOrChildren === "object" && propsOrChildren !== null && !Array.isArray(propsOrChildren);
3
- return {
4
- component,
5
- key: hasProps ? key : typeof childrenOrKey === "number" ? childrenOrKey : null,
6
- props: hasProps ? propsOrChildren : {},
7
- children: hasProps ? Array.isArray(childrenOrKey) ? childrenOrKey : childrenOrKey !== null ? [childrenOrKey] : [] : Array.isArray(propsOrChildren) ? propsOrChildren : propsOrChildren !== null ? [propsOrChildren] : []
8
- };
9
- };
1
+ <script context="module" lang="ts">
2
+ import type { PageProps } from 'inertiax-core'
3
+ import type { ComponentType } from 'svelte'
4
+
5
+ export type RenderProps = {
6
+ component: ComponentType
7
+ props?: PageProps
8
+ children?: RenderProps[]
9
+ key?: number | null
10
+ } | null
11
+
12
+ export type RenderFunction = {
13
+ (component: ComponentType, props?: PageProps, children?: RenderProps[], key?: number | null): RenderProps
14
+ (component: ComponentType, children?: RenderProps[], key?: number | null): RenderProps
15
+ }
16
+
17
+ export const h: RenderFunction = (component, propsOrChildren, childrenOrKey, key: number | null = null) => {
18
+ const hasProps = typeof propsOrChildren === 'object' && propsOrChildren !== null && !Array.isArray(propsOrChildren)
19
+
20
+ return {
21
+ component,
22
+ key: hasProps ? key : typeof childrenOrKey === 'number' ? childrenOrKey : null,
23
+ props: hasProps ? propsOrChildren : {},
24
+ children: hasProps
25
+ ? ((Array.isArray(childrenOrKey)
26
+ ? childrenOrKey
27
+ : childrenOrKey !== null
28
+ ? [childrenOrKey]
29
+ : []) as RenderProps[])
30
+ : ((Array.isArray(propsOrChildren)
31
+ ? propsOrChildren
32
+ : propsOrChildren !== null
33
+ ? [propsOrChildren]
34
+ : []) as RenderProps[]),
35
+ }
36
+ }
10
37
  </script>
11
38
 
12
- <script>export let component;
13
- export let props = {};
14
- export let children = [];
15
- export let key = null;
39
+ <script lang="ts">
40
+ export let component: ComponentType
41
+ export let props: PageProps = {}
42
+ export let children: RenderProps[] = []
43
+ export let key: number | null = null
16
44
  </script>
17
45
 
18
46
  {#if component}
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { PageProps } from 'inertiax-core';
3
2
  import type { ComponentType } from 'svelte';
4
3
  export type RenderProps = {
@@ -12,23 +11,26 @@ export type RenderFunction = {
12
11
  (component: ComponentType, children?: RenderProps[], key?: number | null): RenderProps;
13
12
  };
14
13
  export declare const h: RenderFunction;
15
- declare const __propDef: {
16
- props: {
17
- component: ComponentType;
18
- props?: PageProps;
19
- children?: RenderProps[];
20
- key?: number | null;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: Props & {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
21
24
  };
22
- events: {
23
- [evt: string]: CustomEvent<any>;
24
- };
25
- slots: {};
26
- exports?: {} | undefined;
27
- bindings?: string | undefined;
28
- };
29
- type RenderProps_ = typeof __propDef.props;
30
- export type RenderEvents = typeof __propDef.events;
31
- export type RenderSlots = typeof __propDef.slots;
32
- export default class Render extends SvelteComponent<RenderProps_, RenderEvents, RenderSlots> {
25
+ z_$$bindings?: Bindings;
33
26
  }
34
- export {};
27
+ declare const Render: $$__sveltets_2_IsomorphicComponent<{
28
+ component: ComponentType;
29
+ props?: PageProps;
30
+ children?: RenderProps[];
31
+ key?: number | null;
32
+ }, {
33
+ [evt: string]: CustomEvent<any>;
34
+ }, {}, {}, string>;
35
+ type Render = InstanceType<typeof Render>;
36
+ export default Render;
@@ -1,65 +1,81 @@
1
- <script>import {} from "inertiax-core";
2
- import { getContext, onDestroy, onMount } from "svelte";
3
- export let data = "";
4
- export let params = {};
5
- export let buffer = 0;
6
- export let as = "div";
7
- export let always = false;
8
- const { router } = getContext("inertia");
9
- let loaded = false;
10
- let fetching = false;
11
- let el;
12
- let observer = null;
13
- onMount(() => {
14
- if (!el) {
15
- return;
16
- }
17
- observer = new IntersectionObserver(
18
- (entries) => {
19
- if (!entries[0].isIntersecting) {
20
- return;
21
- }
22
- if (!always) {
23
- observer?.disconnect();
24
- }
25
- if (fetching) {
26
- return;
27
- }
28
- fetching = true;
29
- const reloadParams = getReloadParams();
30
- router.reload({
31
- ...reloadParams,
32
- onStart: (event) => {
33
- fetching = true;
34
- reloadParams.onStart?.(event);
35
- },
36
- onFinish: (event) => {
37
- loaded = true;
38
- fetching = false;
39
- reloadParams.onFinish?.(event);
1
+ <script lang="ts">
2
+ import { type ReloadOptions } from 'inertiax-core'
3
+ import { getContext, onDestroy, onMount } from 'svelte'
4
+
5
+ export let data: string | string[] = ''
6
+ export let params: ReloadOptions = {}
7
+ export let buffer: number = 0
8
+ export let as: keyof HTMLElementTagNameMap = 'div'
9
+ export let always: boolean = false
10
+
11
+ const { router } = getContext('inertia')
12
+
13
+ let loaded = false
14
+ let fetching = false
15
+ let el: HTMLElement
16
+ let observer: IntersectionObserver | null = null
17
+
18
+ onMount(() => {
19
+ if (!el) {
20
+ return
21
+ }
22
+
23
+ observer = new IntersectionObserver(
24
+ (entries) => {
25
+ if (!entries[0].isIntersecting) {
26
+ return
27
+ }
28
+
29
+ if (!always) {
30
+ observer?.disconnect()
31
+ }
32
+
33
+ if (fetching) {
34
+ return
40
35
  }
41
- });
42
- },
43
- {
44
- rootMargin: `${buffer}px`
36
+
37
+ fetching = true
38
+
39
+ const reloadParams = getReloadParams()
40
+
41
+ router.reload({
42
+ ...reloadParams,
43
+ onStart: (event) => {
44
+ fetching = true
45
+ reloadParams.onStart?.(event)
46
+ },
47
+ onFinish: (event) => {
48
+ loaded = true
49
+ fetching = false
50
+ reloadParams.onFinish?.(event)
51
+ },
52
+ })
53
+ },
54
+ {
55
+ rootMargin: `${buffer}px`,
56
+ },
57
+ )
58
+
59
+ observer.observe(el)
60
+ })
61
+
62
+ onDestroy(() => {
63
+ observer?.disconnect()
64
+ })
65
+
66
+ function getReloadParams(): Partial<ReloadOptions> {
67
+ if (data !== '') {
68
+ return {
69
+ only: (Array.isArray(data) ? data : [data]) as string[],
70
+ }
45
71
  }
46
- );
47
- observer.observe(el);
48
- });
49
- onDestroy(() => {
50
- observer?.disconnect();
51
- });
52
- function getReloadParams() {
53
- if (data !== "") {
54
- return {
55
- only: Array.isArray(data) ? data : [data]
56
- };
57
- }
58
- if (!params.data) {
59
- throw new Error("You must provide either a `data` or `params` prop.");
72
+
73
+ if (!params.data) {
74
+ throw new Error('You must provide either a `data` or `params` prop.')
75
+ }
76
+
77
+ return params
60
78
  }
61
- return params;
62
- }
63
79
  </script>
64
80
 
65
81
  {#if always || !loaded}
@@ -1,26 +1,36 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type ReloadOptions } from 'inertiax-core';
3
- declare const __propDef: {
4
- props: {
5
- data?: string | string[];
6
- params?: ReloadOptions;
7
- buffer?: number;
8
- as?: keyof HTMLElementTagNameMap;
9
- always?: boolean;
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
10
12
  };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {
15
- default: {};
16
- fallback: {};
17
- };
18
- exports?: {} | undefined;
19
- bindings?: string | undefined;
20
- };
21
- export type WhenVisibleProps = typeof __propDef.props;
22
- export type WhenVisibleEvents = typeof __propDef.events;
23
- export type WhenVisibleSlots = typeof __propDef.slots;
24
- export default class WhenVisible extends SvelteComponent<WhenVisibleProps, WhenVisibleEvents, WhenVisibleSlots> {
13
+ z_$$bindings?: Bindings;
25
14
  }
26
- export {};
15
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
16
+ default: any;
17
+ } ? Props extends Record<string, never> ? any : {
18
+ children?: any;
19
+ } : {});
20
+ declare const WhenVisible: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
21
+ data?: string | string[];
22
+ params?: ReloadOptions;
23
+ buffer?: number;
24
+ as?: keyof HTMLElementTagNameMap;
25
+ always?: boolean;
26
+ }, {
27
+ default: {};
28
+ fallback: {};
29
+ }>, {
30
+ [evt: string]: CustomEvent<any>;
31
+ }, {
32
+ default: {};
33
+ fallback: {};
34
+ }, {}, string>;
35
+ type WhenVisible = InstanceType<typeof WhenVisible>;
36
+ export default WhenVisible;
@@ -1,12 +1,13 @@
1
1
  import { setupProgress, Router, History } from 'inertiax-core';
2
2
  import escape from 'html-escape';
3
3
  import Frame from './components/Frame.svelte';
4
+ import { BROWSER } from 'esm-env';
4
5
  export default async function createInertiaApp({ id = 'app', resolve, setup, progress = {}, page, }) {
5
- const el = import.meta.env.SSR ? null : document.getElementById(id);
6
+ const el = BROWSER && document.getElementById(id);
6
7
  const initialState = page || JSON.parse(el?.dataset?.page || '{}');
7
8
  // Router.setVersion(initialState.version);
8
9
  Router.resolveComponent = (name) => Promise.resolve(resolve(name));
9
- if (import.meta.env.SSR) {
10
+ if (!BROWSER) {
10
11
  const { render } = await dynamicImport('svelte/server');
11
12
  const { html, head } = await (async () => {
12
13
  return render(Frame, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inertiax-svelte",
3
- "version": "5.0.13",
3
+ "version": "5.0.15",
4
4
  "license": "MIT",
5
5
  "description": "The Svelte adapter for Inertia X",
6
6
  "contributors": [
@@ -18,10 +18,10 @@
18
18
  "url": "https://github.com/buhrmi/inertiax/issues"
19
19
  },
20
20
  "scripts": {
21
- "dev": "npm run package -- --watch",
22
- "build": "npm run package && publint",
23
- "package": "svelte-kit sync && svelte-package --input src",
24
- "prepublishOnly": "npm run build",
21
+ "dev": "bun run package -- --watch",
22
+ "build": "bun run package && bunx publint",
23
+ "package": "bunx svelte-kit sync && bunx svelte-package --input src",
24
+ "prepublishOnly": "bun run build",
25
25
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
26
26
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
27
27
  },
@@ -52,7 +52,7 @@
52
52
  "@sveltejs/adapter-auto": "^3.2.0",
53
53
  "@sveltejs/kit": "^2.5.26",
54
54
  "@sveltejs/package": "^2.3.5",
55
- "@sveltejs/vite-plugin-svelte": "^3.1.2",
55
+ "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
56
56
  "@types/html-escape": "^2.0.2",
57
57
  "@types/lodash": "^4.17.7",
58
58
  "axios": "^1.7.6",