inertia-angular 3.7.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inertia-angular.mjs","sources":["../../src/lib/tokens.ts","../../src/lib/renderer.ts","../../src/lib/runtime.ts","../../src/lib/app.ts","../../src/lib/config.ts","../../src/lib/providers.ts","../../src/lib/create-inertia-app.ts","../../src/lib/link.ts","../../src/lib/use-poll.ts","../../src/lib/use-prefetch.ts","../../src/lib/use-remember.ts","../../src/lib/form-state.ts","../../src/lib/use-form.ts","../../src/lib/use-http.ts","../../src/lib/form.ts","../../src/lib/head.ts","../../src/lib/deferred.ts","../../src/lib/when-visible.ts","../../src/lib/infinite-scroll.ts","../../src/inertia-angular.ts"],"sourcesContent":["import { InjectionToken, type ViewContainerRef } from '@angular/core'\nimport type { PageProps } from '@inertiajs/core'\nimport type { InertiaAppProps } from './types'\n\nexport const INERTIA_APP_PROPS = new InjectionToken<InertiaAppProps<PageProps>>('INERTIA_APP_PROPS')\n\nexport const INERTIA_LAYOUT_CHILD = new InjectionToken<(outlet: ViewContainerRef) => void>('INERTIA_LAYOUT_CHILD')\n","import {\n AfterViewInit,\n Component,\n ComponentRef,\n DestroyRef,\n EnvironmentInjector,\n Injectable,\n Type,\n ViewContainerRef,\n createEnvironmentInjector,\n inject,\n reflectComponentType,\n viewChild,\n} from '@angular/core'\nimport { isPropsObject, isPropsObjectOrCallback, normalizeLayouts, type Page } from '@inertiajs/core'\nimport { INERTIA_LAYOUT_CHILD } from './tokens'\nimport type { AngularRenderFunction, AngularRenderNode, ResolvedComponent } from './types'\n\ntype RenderedLayout = {\n component: Type<unknown>\n name?: string\n props: Record<string, unknown>\n}\n\n@Component({\n selector: 'inertia-layout-outlet',\n template: '<ng-container #outlet />',\n})\nexport class LayoutOutlet implements AfterViewInit {\n readonly outlet = viewChild.required('outlet', { read: ViewContainerRef })\n readonly #attach = inject(INERTIA_LAYOUT_CHILD)\n\n ngAfterViewInit(): void {\n this.#attach(this.outlet())\n }\n}\n\nfunction isComponent(value: unknown): value is Type<unknown> {\n return typeof value === 'function' && reflectComponentType(value as Type<unknown>) !== null\n}\n\nfunction isRenderFunction(value: unknown): value is AngularRenderFunction {\n return typeof value === 'function' && value.length >= 2 && !isComponent(value)\n}\n\nexport function h(component: Type<unknown>, children: AngularRenderNode | AngularRenderNode[] = []): AngularRenderNode {\n return {\n component,\n children: Array.isArray(children) ? children : [children],\n }\n}\n\n@Injectable()\nexport class InertiaRenderer {\n readonly #environmentInjector = inject(EnvironmentInjector)\n readonly #destroyRef = inject(DestroyRef)\n readonly #boundInputs = new WeakMap<ComponentRef<unknown>, Set<string>>()\n #root?: ViewContainerRef\n #pageOutlet: ViewContainerRef | undefined\n #page: ComponentRef<unknown> | undefined\n #pageKey: number | null | undefined\n #layouts: Array<ComponentRef<unknown>> = []\n #layoutTypes: Array<Type<unknown>> = []\n #layoutInjectors: EnvironmentInjector[] = []\n readonly #pendingDestroy = new Map<ReturnType<typeof setTimeout>, () => void>()\n\n constructor() {\n this.#destroyRef.onDestroy(() => {\n this.#flushPendingDestroy()\n this.#destroyLayoutInjectors()\n })\n }\n\n render(\n root: ViewContainerRef,\n component: ResolvedComponent,\n page: Page,\n key: number | null,\n dynamicProps: { shared: Record<string, unknown>; named: Record<string, Record<string, unknown>> },\n defaultLayout?: (name: string, page: Page) => unknown,\n ): void {\n this.#root = root\n const layouts = this.#resolveLayouts(component, page, defaultLayout)\n const layoutTypes = layouts.map((layout) => layout.component)\n const canReuseLayouts =\n this.#pageOutlet !== undefined &&\n layoutTypes.length === this.#layoutTypes.length &&\n layoutTypes.every((type, index) => this.#layoutTypes[index] === type)\n\n if (!canReuseLayouts) {\n this.#buildLayoutChain(layouts)\n }\n\n const preservePage = this.#page?.componentType === component && this.#pageKey === key\n\n if (!preservePage) {\n if (this.#page) {\n this.#detachAndDestroyLater(this.#pageOutlet!, this.#page)\n }\n this.#page = this.#pageOutlet!.createComponent(component, {\n environmentInjector: this.#environmentInjector,\n })\n this.#pageKey = key\n }\n\n this.#setInputs(this.#page!, page.props)\n\n this.#layouts.forEach((layoutRef, index) => {\n const layout = layouts[index]\n if (!layout) {\n return\n }\n\n this.#setInputs(layoutRef, {\n ...page.props,\n ...layout.props,\n ...dynamicProps.shared,\n ...(layout.name ? (dynamicProps.named[layout.name] ?? {}) : {}),\n })\n })\n\n this.#layouts.forEach((layout) => layout.changeDetectorRef.detectChanges())\n this.#page!.changeDetectorRef.detectChanges()\n }\n\n #buildLayoutChain(layouts: RenderedLayout[]): void {\n const previousRoot = this.#layouts[0] ?? this.#page\n const previousInjectors = this.#layoutInjectors.splice(0)\n if (previousRoot) {\n this.#detachAndDestroyLater(this.#root!, previousRoot, previousInjectors)\n } else {\n this.#root!.clear()\n previousInjectors.forEach((injector) => injector.destroy())\n }\n this.#layouts = []\n this.#layoutTypes = layouts.map((layout) => layout.component)\n this.#page = undefined\n this.#pageKey = undefined\n\n if (layouts.length === 0) {\n this.#pageOutlet = this.#root!\n return\n }\n\n try {\n this.#createLayout(layouts, 0, this.#root!)\n } catch (error) {\n // A layout that never renders <inertia-layout-outlet /> leaves a half-built chain\n // behind. Roll it back so the next render cannot reuse a dead outlet and instead\n // rebuilds and reports the same error.\n this.#discardLayoutChain()\n throw error\n }\n }\n\n #discardLayoutChain(): void {\n this.#layouts\n .splice(0)\n .reverse()\n .forEach((layoutRef) => layoutRef?.destroy())\n this.#destroyLayoutInjectors()\n this.#root?.clear()\n this.#layoutTypes = []\n this.#pageOutlet = undefined\n this.#page = undefined\n this.#pageKey = undefined\n }\n\n #createLayout(layouts: RenderedLayout[], index: number, outlet: ViewContainerRef): void {\n const layout = layouts[index]\n if (!layout) {\n this.#pageOutlet = outlet\n return\n }\n\n let attached = false\n const injector = createEnvironmentInjector(\n [\n {\n provide: INERTIA_LAYOUT_CHILD,\n useValue: (childOutlet: ViewContainerRef) => {\n attached = true\n this.#createLayout(layouts, index + 1, childOutlet)\n },\n },\n ],\n this.#environmentInjector,\n )\n this.#layoutInjectors.push(injector)\n const layoutRef = outlet.createComponent(layout.component, { environmentInjector: injector })\n this.#layouts[index] = layoutRef\n layoutRef.changeDetectorRef.detectChanges()\n\n if (!attached) {\n throw new Error(\n `${layout.component.name || 'An Inertia layout'} must render <inertia-layout-outlet /> and import LayoutOutlet.`,\n )\n }\n }\n\n #destroyLayoutInjectors(): void {\n this.#layoutInjectors.splice(0).forEach((injector) => injector.destroy())\n }\n\n #detachAndDestroyLater(\n outlet: ViewContainerRef,\n component: ComponentRef<unknown>,\n injectors: EnvironmentInjector[] = [],\n ): void {\n const index = outlet.indexOf(component.hostView)\n if (index >= 0) {\n outlet.detach(index)\n }\n\n const destroy = () => {\n component.destroy()\n injectors.forEach((injector) => injector.destroy())\n }\n\n // Keep destruction out of the render pass that detached the view. Angular can still be\n // unwinding the old view's lifecycle or event stack, so destroy it on the next task.\n const timer = setTimeout(() => {\n this.#pendingDestroy.delete(timer)\n destroy()\n })\n this.#pendingDestroy.set(timer, destroy)\n }\n\n // `detach()` removes the view without destroying it, so a pending timer still owns real\n // cleanup. Cancelling the timers alone would leak every detached view, so run their work\n // synchronously instead.\n #flushPendingDestroy(): void {\n const pending = Array.from(this.#pendingDestroy)\n this.#pendingDestroy.clear()\n\n pending.forEach(([timer, destroy]) => {\n clearTimeout(timer)\n destroy()\n })\n }\n\n #resolveLayouts(\n component: ResolvedComponent,\n page: Page,\n defaultLayout?: (name: string, page: Page) => unknown,\n ): RenderedLayout[] {\n const pageNode = h(component)\n const layoutValue = component.layout\n\n if (isRenderFunction(layoutValue)) {\n const rendered = layoutValue(h, pageNode)\n return this.#flattenRenderTree(rendered, component)\n }\n\n let effectiveLayout: unknown\n let callbackProps: Record<string, unknown> | null = null\n\n if (typeof layoutValue === 'function' && !isComponent(layoutValue)) {\n const result = (layoutValue as (props: Page['props']) => unknown)(page.props)\n if (isPropsObjectOrCallback(result, isComponent)) {\n effectiveLayout = defaultLayout?.(page.component, page)\n callbackProps = result as Record<string, unknown>\n } else {\n effectiveLayout = result\n }\n } else if (isPropsObject(layoutValue, isComponent)) {\n effectiveLayout = defaultLayout?.(page.component, page)\n callbackProps = layoutValue as Record<string, unknown>\n } else {\n effectiveLayout = layoutValue ?? defaultLayout?.(page.component, page)\n }\n\n return normalizeLayouts(effectiveLayout, isComponent).map((layout) => ({\n component: layout.component,\n ...(layout.name ? { name: layout.name } : {}),\n props: { ...layout.props, ...callbackProps },\n }))\n }\n\n #flattenRenderTree(node: AngularRenderNode, pageComponent: Type<unknown>): RenderedLayout[] {\n const layouts: RenderedLayout[] = []\n let current = node\n\n while (current.component !== pageComponent) {\n layouts.push({ component: current.component, props: {} })\n const child = current.children[0]\n if (!child) {\n throw new Error('An Inertia layout render function must include the page node.')\n }\n current = child\n }\n\n return layouts\n }\n\n #setInputs(ref: ComponentRef<unknown>, props: Record<string, unknown>): void {\n const mirror = reflectComponentType(ref.componentType)\n if (!mirror) {\n return\n }\n\n const previous = this.#boundInputs.get(ref) ?? new Set<string>()\n const next = new Set<string>()\n\n for (const input of mirror.inputs) {\n const publicName = input.templateName\n const propertyName = input.propName\n const hasPublicValue = Object.prototype.hasOwnProperty.call(props, publicName)\n const hasPropertyValue = Object.prototype.hasOwnProperty.call(props, propertyName)\n\n if (hasPublicValue || hasPropertyValue) {\n ref.setInput(publicName, props[hasPublicValue ? publicName : propertyName])\n next.add(publicName)\n } else if (previous.has(publicName)) {\n ref.setInput(publicName, undefined)\n }\n }\n\n this.#boundInputs.set(ref, next)\n }\n}\n","import { isPlatformBrowser } from '@angular/common'\nimport { DestroyRef, Injectable, PLATFORM_ID, inject, signal, type Signal, type WritableSignal } from '@angular/core'\nimport {\n createHeadManager,\n createLayoutPropsStore,\n resolveServerHead,\n router,\n type HeadManager,\n type LayoutProps,\n type LayoutPropsStore,\n type NamedLayoutProps,\n type Page,\n type PageProps,\n} from '@inertiajs/core'\nimport { isEqual } from 'es-toolkit'\nimport { INERTIA_APP_PROPS } from './tokens'\nimport type { ResolvedComponent } from './types'\n\nconst MAX_CONSECUTIVE_RENDER_PASSES = 100\n\n@Injectable()\nexport class InertiaRuntime {\n readonly #appProps = inject(INERTIA_APP_PROPS)\n readonly #destroyRef = inject(DestroyRef)\n readonly #isBrowser = isPlatformBrowser(inject(PLATFORM_ID))\n readonly #page: WritableSignal<Page> = signal({\n ...this.#appProps.initialPage,\n flash: this.#appProps.initialPage.flash ?? {},\n })\n readonly #component = signal<ResolvedComponent>(this.#appProps.initialComponent)\n readonly #key = signal<number | null>(null)\n readonly #layoutPropsStore: LayoutPropsStore = createLayoutPropsStore()\n readonly #layoutProps = signal(this.#layoutPropsStore.get())\n readonly #cleanup: Array<() => void> = []\n readonly #rendererReady: Promise<void>\n #resolveRendererReady: (() => void) | undefined\n #render: (() => void) | undefined\n #isRendering = false\n #renderAgain = false\n\n readonly page = this.#page.asReadonly()\n readonly component = this.#component.asReadonly()\n readonly key = this.#key.asReadonly()\n readonly layoutProps = this.#layoutProps.asReadonly()\n readonly headManager: HeadManager\n\n constructor() {\n this.#rendererReady = new Promise((resolve) => {\n this.#resolveRendererReady = resolve\n })\n\n this.headManager = createHeadManager(\n !this.#isBrowser,\n (title) => this.#appProps.titleCallback?.(title, this.#page()) ?? title,\n this.#appProps.onHeadUpdate ?? (() => undefined),\n resolveServerHead(this.#page(), this.#appProps.serverHead),\n )\n\n if (this.#isBrowser) {\n router.init<ResolvedComponent>({\n initialPage: this.#page(),\n resolveComponent: this.#appProps.resolveComponent,\n swapComponent: async ({ component, page, preserveState, initialRender }) => {\n if (initialRender) {\n return\n }\n\n if (!preserveState) {\n this.#updateLayoutProps(() => this.#layoutPropsStore.reset())\n this.#key.set(Date.now())\n }\n\n this.#component.set(component)\n this.#page.set({ ...page, flash: page.flash ?? {} })\n await this.#commitRender()\n },\n onFlash: (flash) => {\n this.#page.update((page) => ({ ...page, flash }))\n this.#renderCurrent()\n },\n })\n\n const syncServerHead = (event: { detail: { page: Page } }) => {\n this.headManager.updateServerHead(resolveServerHead(event.detail.page, this.#appProps.serverHead))\n }\n\n this.#cleanup.push(router.on('navigate', syncServerHead), router.on('clientVisit', syncServerHead))\n }\n\n this.#destroyRef.onDestroy(() => {\n this.#render = undefined\n this.#cleanup.splice(0).forEach((cleanup) => cleanup())\n })\n }\n\n /** @internal Not part of the public API. May change or be removed without notice. */\n connectRenderer(render: () => void): () => void {\n this.#render = render\n try {\n this.#renderCurrent()\n } finally {\n this.#resolveRendererReady?.()\n this.#resolveRendererReady = undefined\n }\n\n return () => {\n if (this.#render === render) {\n this.#render = undefined\n }\n }\n }\n\n setLayoutProps(props: Partial<LayoutProps>): void {\n if (this.#updateLayoutProps(() => this.#layoutPropsStore.set(props))) {\n this.#renderCurrent()\n }\n }\n\n setNamedLayoutProps<K extends keyof NamedLayoutProps>(name: K, props: Partial<NamedLayoutProps[K]>): void {\n if (this.#updateLayoutProps(() => this.#layoutPropsStore.setFor(name, props))) {\n this.#renderCurrent()\n }\n }\n\n resetLayoutProps(): void {\n if (this.#updateLayoutProps(() => this.#layoutPropsStore.reset())) {\n this.#renderCurrent()\n }\n }\n\n #updateLayoutProps(update: () => void): boolean {\n const previous = this.#layoutPropsStore.get()\n update()\n const current = this.#layoutPropsStore.get()\n\n if (isEqual(current, previous)) {\n return false\n }\n\n this.#layoutProps.set(current)\n return true\n }\n\n #commitRender(): Promise<void> {\n if (!this.#render) {\n // History restoration can request a swap before App's outlet reaches ngAfterViewInit.\n // Keep core waiting until connectRenderer() has committed the latest state.\n return this.#rendererReady\n }\n\n // Rendering is part of core's swap contract: a failed render must reject the swap\n // instead of completing the visit with stale DOM.\n this.#renderCurrent()\n return Promise.resolve()\n }\n\n #renderCurrent(): void {\n if (!this.#render) {\n return\n }\n\n if (this.#isRendering) {\n // A component can update layout props while the renderer is creating it. Complete the\n // current pass first instead of re-entering ViewContainerRef rendering.\n this.#renderAgain = true\n return\n }\n\n let renderPasses = 0\n this.#isRendering = true\n\n try {\n do {\n if (renderPasses >= MAX_CONSECUTIVE_RENDER_PASSES) {\n throw new Error(\n `[Inertia] Exceeded ${MAX_CONSECUTIVE_RENDER_PASSES} consecutive Angular render passes. Check for layout props updates during rendering.`,\n )\n }\n\n renderPasses += 1\n this.#renderAgain = false\n this.#render()\n } while (this.#renderAgain)\n } finally {\n this.#isRendering = false\n this.#renderAgain = false\n }\n }\n}\n\nexport function usePage<TProps extends PageProps = PageProps>(): Signal<Page<TProps & PageProps>> {\n return inject(InertiaRuntime).page as Signal<Page<TProps & PageProps>>\n}\n\nexport function useLayoutProps(): {\n set: (props: Partial<LayoutProps>) => void\n setFor: <K extends keyof NamedLayoutProps>(name: K, props: Partial<NamedLayoutProps[K]>) => void\n reset: () => void\n} {\n const runtime = inject(InertiaRuntime)\n\n return {\n set: (props) => runtime.setLayoutProps(props),\n setFor: (name, props) => runtime.setNamedLayoutProps(name, props),\n reset: () => runtime.resetLayoutProps(),\n }\n}\n","import { AfterViewInit, Component, DestroyRef, ViewContainerRef, inject, viewChild } from '@angular/core'\nimport { InertiaRenderer } from './renderer'\nimport { InertiaRuntime } from './runtime'\nimport { INERTIA_APP_PROPS } from './tokens'\n\n@Component({\n selector: 'inertia-app',\n template: '<ng-container #outlet />',\n})\nexport class App implements AfterViewInit {\n private readonly outlet = viewChild.required('outlet', { read: ViewContainerRef })\n readonly #renderer = inject(InertiaRenderer)\n readonly #runtime = inject(InertiaRuntime)\n readonly #props = inject(INERTIA_APP_PROPS)\n readonly #destroyRef = inject(DestroyRef)\n\n ngAfterViewInit(): void {\n const outlet = this.outlet()\n const disconnectRenderer = this.#runtime.connectRenderer(() =>\n this.#renderer.render(\n outlet,\n this.#runtime.component(),\n this.#runtime.page(),\n this.#runtime.key(),\n this.#runtime.layoutProps(),\n this.#props.defaultLayout,\n ),\n )\n this.#destroyRef.onDestroy(disconnectRenderer)\n }\n}\n","import { config as coreConfig } from '@inertiajs/core'\nimport type { AngularInertiaAppConfig } from './types'\n\nexport const config = coreConfig.extend<AngularInertiaAppConfig>({})\n","import { makeEnvironmentProviders, type EnvironmentProviders, type Provider } from '@angular/core'\nimport { InertiaRenderer } from './renderer'\nimport { InertiaRuntime } from './runtime'\nimport { INERTIA_APP_PROPS } from './tokens'\nimport type { InertiaAppProps } from './types'\n\nexport function provideInertiaApp(\n props: InertiaAppProps,\n additionalProviders: Array<Provider | EnvironmentProviders> = [],\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: INERTIA_APP_PROPS, useValue: props },\n InertiaRuntime,\n InertiaRenderer,\n ...additionalProviders,\n ])\n}\n","import { ApplicationRef, isDevMode, type EnvironmentProviders, type Provider } from '@angular/core'\nimport { createApplication, provideClientHydration } from '@angular/platform-browser'\nimport {\n exposeInterceptors,\n getInitialPageFromDOM,\n http as httpModule,\n router,\n setupProgress,\n type Page,\n type PageProps,\n type SharedPageProps,\n} from '@inertiajs/core'\nimport { App } from './app'\nimport { config } from './config'\nimport { provideInertiaApp } from './providers'\nimport type { AngularCreateInertiaAppOptions, InertiaAppProps, ResolvedComponent, SetupOptions } from './types'\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps & SharedPageProps>(\n options: AngularCreateInertiaAppOptions<SharedProps>,\n): Promise<ApplicationRef | void> {\n const {\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n defaults = {},\n nonce,\n http,\n layout,\n serverHead,\n withApp,\n dev = isDevMode(),\n } = options\n\n if (!resolve) {\n throw new Error('createInertiaApp requires a component resolver.')\n }\n\n config.replace(defaults)\n\n if (nonce) {\n config.set('nonce', nonce)\n }\n\n if (http) {\n httpModule.setClient(http)\n }\n\n if (dev) {\n exposeInterceptors()\n }\n\n if (typeof document === 'undefined') {\n throw new Error('Use inertia-angular/server to render an Angular Inertia application on the server.')\n }\n\n const initialPage = page ?? getInitialPageFromDOM<Page<SharedProps>>(id)\n if (!initialPage) {\n throw new Error(`Unable to find the initial Inertia page for #${id}.`)\n }\n\n const resolveComponent = (name: string, currentPage?: Page): Promise<ResolvedComponent> =>\n Promise.resolve(resolve(name, currentPage)).then((module) =>\n 'default' in (module as { default?: ResolvedComponent })\n ? (module as { default: ResolvedComponent }).default\n : (module as ResolvedComponent),\n )\n\n const [initialComponent] = await Promise.all([\n resolveComponent(initialPage.component, initialPage),\n router.decryptHistory().catch(() => undefined),\n ])\n\n const props: InertiaAppProps<SharedProps> = {\n initialPage,\n initialComponent,\n resolveComponent,\n ...(title ? { titleCallback: title } : {}),\n ...(layout ? { defaultLayout: layout } : {}),\n ...(serverHead !== undefined ? { serverHead } : {}),\n }\n\n const el = document.getElementById(id)\n if (!el) {\n throw new Error(`Unable to find the Inertia root element #${id}.`)\n }\n\n const providers: Array<Provider | EnvironmentProviders> = [\n ...(el.hasAttribute('data-server-rendered') ? [provideClientHydration()] : []),\n provideInertiaApp(props as InertiaAppProps<PageProps>, withApp?.({ ssr: false, page: initialPage }) ?? []),\n ]\n\n if (setup) {\n const setupOptions: SetupOptions<SharedProps> = { el, App, props, providers }\n const result = await setup(setupOptions)\n if (progress) {\n setupProgress(progress)\n }\n return result\n }\n\n const application = await createApplication({ providers })\n application.bootstrap(App, { hostElement: el })\n\n if (progress) {\n setupProgress(progress)\n }\n\n return application\n}\n","import {\n Directive,\n DestroyRef,\n ElementRef,\n computed,\n effect,\n inject,\n input,\n isDevMode,\n output,\n signal,\n type OnInit,\n} from '@angular/core'\nimport {\n isUrlMethodPair,\n mergeDataIntoQueryString,\n resolveUrlMethodPairComponent,\n router,\n shouldIntercept,\n shouldNavigate,\n type ActiveVisit,\n type CacheForOption,\n type CancelToken,\n type Errors,\n type LinkComponentBaseProps,\n type LinkPrefetchOption,\n type Method,\n type Page,\n type PendingVisit,\n type Progress,\n type RequestPayload,\n type UrlMethodPair,\n type VisitCallbacks,\n type VisitOptions,\n} from '@inertiajs/core'\nimport { config } from './config'\n\nexport interface InertiaLinkProps extends LinkComponentBaseProps {\n href: string | UrlMethodPair\n}\n\n@Directive({\n selector: '[inertiaLink]',\n exportAs: 'inertiaLink',\n host: {\n '[attr.data-loading]': 'loading() ? \"\" : null',\n '[attr.href]': 'anchorHref()',\n '[attr.type]': 'buttonType()',\n '(click)': 'handleClick($event)',\n '(keydown)': 'handleKeyDown($event)',\n '(keyup)': 'handleKeyUp($event)',\n '(mousedown)': 'handleMouseDown($event)',\n '(mouseenter)': 'handleMouseEnter()',\n '(mouseleave)': 'handleMouseLeave()',\n '(mouseup)': 'handleMouseUp($event)',\n },\n})\nexport class Link implements OnInit {\n readonly #element = inject<ElementRef<HTMLElement>>(ElementRef)\n readonly #destroyRef = inject(DestroyRef)\n readonly #inFlight = signal(0)\n #hoverTimeout: ReturnType<typeof setTimeout> | undefined\n\n readonly href = input<string | UrlMethodPair>('', { alias: 'href' })\n readonly method = input<Method | Uppercase<Method>>('get')\n readonly data = input<RequestPayload>({})\n readonly preserveScroll = input<NonNullable<VisitOptions['preserveScroll']>>(false)\n readonly preserveState = input<VisitOptions['preserveState'] | null>(null)\n readonly preserveUrl = input(false)\n readonly replace = input(false)\n readonly only = input<string[]>([])\n readonly except = input<string[]>([])\n readonly headers = input<Record<string, string>>({})\n readonly queryStringArrayFormat = input<NonNullable<VisitOptions['queryStringArrayFormat']>>('brackets')\n readonly async = input(false)\n readonly viewTransition = input<NonNullable<VisitOptions['viewTransition']>>(false)\n readonly component = input<string | null>(null)\n readonly instant = input(false)\n readonly pageProps = input<Exclude<InertiaLinkProps['pageProps'], undefined>>(null)\n readonly prefetch = input<boolean | LinkPrefetchOption | LinkPrefetchOption[]>(false)\n readonly cacheFor = input<CacheForOption | CacheForOption[]>()\n readonly cacheTags = input<string | string[]>([])\n\n readonly onCancelToken = input<VisitCallbacks['onCancelToken'] | null>(null)\n readonly onBefore = input<VisitCallbacks['onBefore'] | null>(null)\n readonly onStart = input<VisitCallbacks['onStart'] | null>(null)\n readonly onProgress = input<VisitCallbacks['onProgress'] | null>(null)\n readonly onFinish = input<VisitCallbacks['onFinish'] | null>(null)\n readonly onCancel = input<VisitCallbacks['onCancel'] | null>(null)\n readonly onSuccess = input<VisitCallbacks['onSuccess'] | null>(null)\n readonly onError = input<VisitCallbacks['onError'] | null>(null)\n readonly onPrefetching = input<VisitCallbacks['onPrefetching'] | null>(null)\n readonly onPrefetched = input<VisitCallbacks['onPrefetched'] | null>(null)\n\n readonly cancelToken = output<CancelToken>()\n readonly before = output<PendingVisit>()\n readonly start = output<PendingVisit>()\n readonly progress = output<Progress | undefined>()\n readonly finish = output<ActiveVisit>()\n readonly cancel = output<void>()\n readonly success = output<Page>()\n readonly error = output<Errors>()\n readonly prefetching = output<PendingVisit>()\n readonly prefetched = output<{ response: unknown; visit: PendingVisit }>()\n\n readonly loading = computed(() => this.#inFlight() > 0)\n readonly #resolvedMethod = computed<Method>(() => {\n const href = this.href()\n return isUrlMethodPair(href) ? href.method : (this.method().toLowerCase() as Method)\n })\n readonly #urlAndData = computed(() => {\n const href = this.href()\n return mergeDataIntoQueryString(\n this.#resolvedMethod(),\n isUrlMethodPair(href) ? href.url : href,\n this.data(),\n this.queryStringArrayFormat(),\n )\n })\n readonly anchorHref = computed(() => (this.#element.nativeElement.tagName === 'A' ? this.#urlAndData()[0] : null))\n readonly buttonType = computed(() => (this.#element.nativeElement.tagName === 'BUTTON' ? 'button' : null))\n readonly #prefetchModes = computed<LinkPrefetchOption[]>(() => {\n const prefetch = this.prefetch()\n if (prefetch === true) return ['hover']\n if (prefetch === false) return []\n return Array.isArray(prefetch) ? prefetch : [prefetch]\n })\n\n constructor() {\n effect(() => {\n if (this.#prefetchModes().includes('mount')) {\n queueMicrotask(() => this.#doPrefetch())\n }\n })\n this.#destroyRef.onDestroy(() => clearTimeout(this.#hoverTimeout))\n }\n\n ngOnInit(): void {\n if (isDevMode() && this.#element.nativeElement.tagName === 'A' && this.#resolvedMethod() !== 'get') {\n console.warn('[Inertia] Non-GET links should use a <button inertiaLink> element.')\n }\n }\n\n handleClick(event: MouseEvent): void {\n clearTimeout(this.#hoverTimeout)\n if (!shouldIntercept(event)) return\n event.preventDefault()\n if (!this.#prefetchModes().includes('click')) this.#visit()\n }\n\n handleMouseEnter(): void {\n if (!this.#prefetchModes().includes('hover')) return\n this.#hoverTimeout = setTimeout(() => this.#doPrefetch(), config.get('prefetch.hoverDelay'))\n }\n\n handleMouseLeave(): void {\n clearTimeout(this.#hoverTimeout)\n }\n\n handleMouseDown(event: MouseEvent): void {\n if (this.#prefetchModes().includes('click') && shouldIntercept(event)) {\n event.preventDefault()\n this.#doPrefetch()\n }\n }\n\n handleMouseUp(event: MouseEvent): void {\n if (this.#prefetchModes().includes('click') && shouldIntercept(event)) {\n event.preventDefault()\n this.#visit()\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n if (this.#prefetchModes().includes('click') && shouldNavigate(event)) {\n event.preventDefault()\n this.#doPrefetch()\n }\n }\n\n handleKeyUp(event: KeyboardEvent): void {\n if (this.#prefetchModes().includes('click') && shouldNavigate(event)) {\n event.preventDefault()\n this.#visit()\n }\n }\n\n #baseParams(): VisitOptions {\n const href = this.href()\n const component =\n this.component() ?? (this.instant() && isUrlMethodPair(href) ? resolveUrlMethodPairComponent(href) : null)\n\n return {\n data: this.#urlAndData()[1],\n method: this.#resolvedMethod(),\n preserveScroll: this.preserveScroll(),\n preserveState: this.preserveState() ?? this.#resolvedMethod() !== 'get',\n preserveUrl: this.preserveUrl(),\n replace: this.replace(),\n only: this.only(),\n except: this.except(),\n headers: this.headers(),\n queryStringArrayFormat: this.queryStringArrayFormat(),\n async: this.async(),\n component,\n pageProps: this.pageProps(),\n }\n }\n\n #visit(): void {\n router.visit(this.#urlAndData()[0], {\n ...this.#baseParams(),\n viewTransition: this.viewTransition(),\n onCancelToken: (token) => {\n this.onCancelToken()?.(token)\n this.cancelToken.emit(token)\n },\n onBefore: (visit) => {\n const result = this.onBefore()?.(visit)\n this.before.emit(visit)\n return result\n },\n onStart: (visit) => {\n this.#inFlight.update((count) => count + 1)\n this.onStart()?.(visit)\n this.start.emit(visit)\n },\n onProgress: (progress) => {\n this.onProgress()?.(progress)\n this.progress.emit(progress)\n },\n onFinish: (visit) => {\n this.#inFlight.update((count) => Math.max(0, count - 1))\n this.onFinish()?.(visit)\n this.finish.emit(visit)\n },\n onCancel: () => {\n this.onCancel()?.()\n this.cancel.emit()\n },\n onSuccess: (page) => {\n const result = this.onSuccess()?.(page)\n this.success.emit(page)\n return result\n },\n onError: (errors) => {\n const result = this.onError()?.(errors)\n this.error.emit(errors)\n return result\n },\n })\n }\n\n #doPrefetch(): void {\n const modes = this.#prefetchModes()\n const cacheFor =\n this.cacheFor() ?? (modes.length === 1 && modes[0] === 'click' ? 0 : config.get('prefetch.cacheFor'))\n const configuredTags = this.cacheTags()\n const cacheTags = typeof configuredTags === 'string' ? [configuredTags] : configuredTags\n\n router.prefetch(\n this.#urlAndData()[0],\n {\n ...this.#baseParams(),\n onPrefetching: (visit) => {\n this.onPrefetching()?.(visit)\n this.prefetching.emit(visit)\n },\n onPrefetched: (response, visit) => {\n this.onPrefetched()?.(response, visit)\n this.prefetched.emit({ response, visit })\n },\n },\n { cacheFor, cacheTags },\n )\n }\n}\n","import { DestroyRef, afterNextRender, inject, signal, type Signal } from '@angular/core'\nimport { router, type PollOptions, type ReloadOptions } from '@inertiajs/core'\n\nexport function usePoll(\n interval: number,\n requestOptions: ReloadOptions | (() => ReloadOptions) = {},\n options: PollOptions = {},\n): { stop: VoidFunction; start: VoidFunction; polling: Signal<boolean> } {\n const destroyRef = inject(DestroyRef)\n const autoStart = options.autoStart ?? true\n const polling = signal(autoStart)\n const poll = router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n })\n\n afterNextRender(() => {\n if (autoStart) poll.start()\n })\n destroyRef.onDestroy(poll.destroy)\n\n return {\n polling: polling.asReadonly(),\n stop: () => {\n poll.stop()\n polling.set(false)\n },\n start: () => {\n poll.start()\n polling.set(true)\n },\n }\n}\n","import { DestroyRef, inject, signal, type Signal } from '@angular/core'\nimport { router, type VisitOptions } from '@inertiajs/core'\n\n// Resolved on every read rather than captured once: a component that survives a visit\n// (preserved page, persistent layout) must track the URL it is currently rendered at,\n// which is what the React and Vue adapters do by reading `window.location` in the handler.\nfunction currentPathname(): string | null {\n return typeof window === 'undefined' ? null : window.location.pathname\n}\n\nexport function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: Signal<number | null>\n isPrefetching: Signal<boolean>\n isPrefetched: Signal<boolean>\n flush: () => void\n} {\n const destroyRef = inject(DestroyRef)\n const initialPath = currentPathname()\n const cached = initialPath === null ? null : router.getCached(initialPath, options)\n const inFlight = initialPath === null ? null : router.getPrefetching(initialPath, options)\n const lastUpdatedAt = signal<number | null>(cached?.staleTimestamp ?? null)\n const isPrefetching = signal(inFlight !== null)\n const isPrefetched = signal(cached !== null)\n\n if (initialPath !== null) {\n const stopPrefetching = router.on('prefetching', (event) => {\n if (event.detail.visit.url.pathname === currentPathname()) {\n isPrefetching.set(true)\n }\n })\n const stopPrefetched = router.on('prefetched', (event) => {\n if (event.detail.visit.url.pathname === currentPathname()) {\n isPrefetching.set(false)\n isPrefetched.set(true)\n lastUpdatedAt.set(event.detail.fetchedAt)\n }\n })\n\n destroyRef.onDestroy(() => {\n stopPrefetching()\n stopPrefetched()\n })\n }\n\n return {\n lastUpdatedAt: lastUpdatedAt.asReadonly(),\n isPrefetching: isPrefetching.asReadonly(),\n isPrefetched: isPrefetched.asReadonly(),\n flush: () => {\n const path = currentPathname()\n\n if (path === null) {\n return\n }\n\n router.flush(path, options)\n isPrefetched.set(false)\n lastUpdatedAt.set(null)\n },\n }\n}\n","import { effect, signal, type WritableSignal } from '@angular/core'\nimport { router } from '@inertiajs/core'\nimport { cloneDeep, isEqual } from 'es-toolkit'\nimport { merge, unset } from 'es-toolkit/compat'\n\nexport function useRemember<T>(initialState: T, key?: string, exclude: readonly string[] = []): WritableSignal<T> {\n const restored = typeof window === 'undefined' ? undefined : (router.restore(key) as T | undefined)\n const initial = cloneDeep(initialState)\n const state = signal(\n restored !== undefined && typeof initial === 'object' && initial !== null && !Array.isArray(initial)\n ? (merge(initial, cloneDeep(restored)) as T)\n : cloneDeep(restored === undefined ? initial : restored),\n )\n\n // Inertia's history cache is not signal-aware, so push changed state into it explicitly.\n effect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n let value: unknown = cloneDeep(state())\n if (exclude.length > 0 && typeof value === 'object' && value !== null) {\n const filtered = { ...value } as Record<string, unknown>\n exclude.forEach((field) => unset(filtered, field))\n value = filtered\n }\n\n if (isEqual(router.restore(key), value)) {\n return\n }\n\n router.remember(value, key)\n })\n\n return state\n}\n","import { DestroyRef, computed, effect, inject, signal, type Signal, type WritableSignal } from '@angular/core'\nimport {\n router,\n type ErrorValue,\n type FormDataErrors,\n type FormDataKeys,\n type FormDataValues,\n type Progress,\n type UrlMethodPair,\n type UseFormTransformCallback,\n UseFormUtils,\n type UseFormWithPrecognitionArguments,\n} from '@inertiajs/core'\nimport { cloneDeep, isEqual } from 'es-toolkit'\nimport { get, has, merge, set, unset } from 'es-toolkit/compat'\nimport {\n createValidator,\n resolveName,\n toSimpleValidationErrors,\n type NamedInputEvent,\n type ValidationConfig,\n type Validator,\n} from 'laravel-precognition'\nimport { config } from './config'\n\nexport type SetDataByObject<TForm> = (data: Partial<TForm>) => void\nexport type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\nexport type SetDataByKeyValuePair<TForm> = <K extends FormDataKeys<TForm>>(\n key: K,\n value: FormDataValues<TForm, K>,\n) => void\nexport type SetDataAction<TForm extends object> = SetDataByObject<TForm> &\n SetDataByMethod<TForm> &\n SetDataByKeyValuePair<TForm>\n\ntype PrecognitionValidationConfig<TKeys> = ValidationConfig & {\n only?: TKeys[] | Iterable<TKeys> | ArrayLike<TKeys>\n}\n\nexport interface FormState<TForm extends object> {\n data: WritableSignal<TForm>\n isDirty: Signal<boolean>\n errors: Signal<FormDataErrors<TForm>>\n hasErrors: Signal<boolean>\n processing: Signal<boolean>\n progress: Signal<Progress | null>\n wasSuccessful: Signal<boolean>\n recentlySuccessful: Signal<boolean>\n setData: SetDataAction<TForm>\n transform(callback: UseFormTransformCallback<TForm>): this\n setDefaults: {\n (): void\n <K extends FormDataKeys<TForm>>(field: K, value: FormDataValues<TForm, K>): void\n (fields: Partial<TForm>): void\n }\n reset<K extends FormDataKeys<TForm>>(...fields: K[]): void\n clearErrors<K extends FormDataKeys<TForm>>(...fields: K[]): void\n resetAndClearErrors<K extends FormDataKeys<TForm>>(...fields: K[]): void\n setError: {\n <K extends FormDataKeys<TForm>>(field: K, value: ErrorValue): void\n (errors: FormDataErrors<TForm>): void\n }\n withPrecognition(...args: UseFormWithPrecognitionArguments): PrecognitiveFormState<TForm>\n}\n\nexport interface FormValidationState<TForm extends object> {\n validating: Signal<boolean>\n invalid<K extends FormDataKeys<TForm>>(field: K): boolean\n setValidationTimeout(duration: number): this\n touch<K extends FormDataKeys<TForm>>(field: K | NamedInputEvent | Array<K>, ...fields: K[]): this\n touched<K extends FormDataKeys<TForm>>(field?: K): boolean\n valid<K extends FormDataKeys<TForm>>(field: K): boolean\n validate<K extends FormDataKeys<TForm>>(\n field?: K | NamedInputEvent | PrecognitionValidationConfig<K>,\n validationConfig?: PrecognitionValidationConfig<K>,\n ): this\n validateFiles(): this\n validator(): Validator\n withAllErrors(): this\n withoutFileValidation(): this\n setErrors(errors: FormDataErrors<TForm>): this\n forgetError<K extends FormDataKeys<TForm> | NamedInputEvent>(field: K): this\n}\n\nexport type PrecognitiveFormState<TForm extends object> = FormState<TForm> & FormValidationState<TForm>\n\nexport interface FormStateController<TForm extends object> {\n form: FormState<TForm>\n getTransform: () => UseFormTransformCallback<TForm>\n getPrecognitionEndpoint: () => (() => UrlMethodPair) | null\n markAsSuccessful: () => void\n defaultsWereSet: () => boolean\n resetDefaultsFlag: () => void\n setRememberExclusions: (keys: FormDataKeys<TForm>[]) => void\n resetBeforeSubmit: () => void\n finishProcessing: () => void\n setProcessing: (value: boolean) => void\n setProgress: (value: Progress | null) => void\n replaceDefaults: (value: TForm) => void\n allErrorsEnabled: () => boolean\n enableAllErrors: () => void\n}\n\nexport function createFormState<TForm extends object>(options: {\n data: TForm | (() => TForm)\n rememberKey?: string | null\n precognitionEndpoint?: (() => UrlMethodPair) | null\n}): FormStateController<TForm> {\n const destroyRef = inject(DestroyRef)\n const isDataFunction = typeof options.data === 'function'\n const resolveData = (): TForm => (isDataFunction ? (options.data as () => TForm)() : (options.data as TForm))\n const remembered =\n options.rememberKey && typeof window !== 'undefined'\n ? (router.restore(options.rememberKey) as { data?: TForm; errors?: FormDataErrors<TForm> } | undefined)\n : undefined\n const resolvedData = cloneDeep(resolveData())\n const initialData = remembered?.data ? (merge(resolvedData, cloneDeep(remembered.data)) as TForm) : resolvedData\n const data = signal<TForm>(initialData)\n const defaults = signal(cloneDeep(initialData))\n const errors = signal<FormDataErrors<TForm>>(remembered?.errors ?? ({} as FormDataErrors<TForm>))\n const processing = signal(false)\n const progress = signal<Progress | null>(null)\n const wasSuccessful = signal(false)\n const recentlySuccessful = signal(false)\n const validating = signal(false)\n const touchedFields = signal<string[]>([])\n const validFields = signal<string[]>([])\n const isDirty = computed(() => !isEqual(data(), defaults()))\n const hasErrors = computed(() => Object.keys(errors()).length > 0)\n let transform: UseFormTransformCallback<TForm> = (value) => value\n let precognitionEndpoint = options.precognitionEndpoint ?? null\n let validator: Validator | null = null\n let recentlySuccessfulTimeout: ReturnType<typeof setTimeout> | undefined\n let defaultsCalled = false\n let rememberExclusions: FormDataKeys<TForm>[] = []\n let useAllErrors: boolean | null = null\n const allErrorsEnabled = () => useAllErrors ?? config.get('form.withAllErrors')\n\n const setData = ((\n keyOrData: FormDataKeys<TForm> | Partial<TForm> | ((previous: TForm) => TForm),\n value?: unknown,\n ) => {\n if (typeof keyOrData === 'string') {\n data.set(set(cloneDeep(data()), keyOrData, value))\n } else if (typeof keyOrData === 'function') {\n data.update((current) => (keyOrData as (previous: TForm) => TForm)(current))\n } else {\n data.set(cloneDeep(keyOrData as TForm))\n }\n }) as SetDataAction<TForm>\n\n const setDefaults = ((fieldOrFields?: FormDataKeys<TForm> | Partial<TForm>, value?: unknown) => {\n if (isDataFunction) {\n throw new Error('You cannot call `setDefaults()` when using a function to define form data.')\n }\n\n defaultsCalled = true\n if (fieldOrFields === undefined) {\n defaults.set(cloneDeep(data()))\n } else if (typeof fieldOrFields === 'string') {\n defaults.update((current) => set(cloneDeep(current), fieldOrFields, value))\n } else {\n defaults.update((current) => ({ ...cloneDeep(current), ...cloneDeep(fieldOrFields) }) as TForm)\n }\n validator?.defaults(defaults() as Record<string, unknown>)\n }) as FormState<TForm>['setDefaults']\n\n const reset = (...fields: FormDataKeys<TForm>[]) => {\n const resetData = cloneDeep(isDataFunction ? resolveData() : defaults())\n if (fields.length === 0) {\n if (isDataFunction) defaults.set(cloneDeep(resetData))\n data.set(resetData)\n } else {\n data.update((current) => {\n const next = cloneDeep(current)\n fields.filter((field) => has(resetData, field)).forEach((field) => set(next, field, get(resetData, field)))\n return next\n })\n if (isDataFunction) {\n defaults.update((current) => {\n const next = cloneDeep(current)\n fields.filter((field) => has(resetData, field)).forEach((field) => set(next, field, get(resetData, field)))\n return next\n })\n }\n }\n validator?.reset(...fields)\n }\n\n const setError = ((fieldOrErrors: FormDataKeys<TForm> | FormDataErrors<TForm>, value?: ErrorValue) => {\n const next = {\n ...errors(),\n ...(typeof fieldOrErrors === 'string' ? { [fieldOrErrors]: value } : fieldOrErrors),\n } as FormDataErrors<TForm>\n errors.set(next)\n validator?.setErrors(next)\n }) as FormState<TForm>['setError']\n\n const clearErrors = (...fields: FormDataKeys<TForm>[]) => {\n if (fields.length === 0) {\n errors.set({} as FormDataErrors<TForm>)\n validator?.setErrors({})\n return\n }\n\n const next = { ...errors() } as Record<string, ErrorValue>\n fields.forEach((field) => {\n delete next[field]\n validator?.forgetError(field)\n })\n errors.set(next as FormDataErrors<TForm>)\n }\n\n const form: FormState<TForm> = {\n data,\n isDirty,\n errors: errors.asReadonly(),\n hasErrors,\n processing: processing.asReadonly(),\n progress: progress.asReadonly(),\n wasSuccessful: wasSuccessful.asReadonly(),\n recentlySuccessful: recentlySuccessful.asReadonly(),\n setData,\n transform(callback) {\n transform = callback\n return this\n },\n setDefaults,\n reset,\n clearErrors,\n resetAndClearErrors(...fields) {\n reset(...fields)\n clearErrors(...fields)\n },\n setError,\n withPrecognition(...args) {\n precognitionEndpoint = UseFormUtils.createWayfinderCallback(...args)\n if (!validator) {\n validator = createValidator(\n (client) => {\n const endpoint = precognitionEndpoint!()\n return client[endpoint.method](endpoint.url, cloneDeep(transform(data())) as Record<string, unknown>)\n },\n cloneDeep(defaults()) as Record<string, unknown>,\n )\n .on('validatingChanged', () => validating.set(validator!.validating()))\n .on('validatedChanged', () => validFields.set(validator!.valid()))\n .on('touchedChanged', () => touchedFields.set(validator!.touched()))\n .on('errorsChanged', () => {\n const nextErrors = allErrorsEnabled() ? validator!.errors() : toSimpleValidationErrors(validator!.errors())\n errors.set(nextErrors as FormDataErrors<TForm>)\n validFields.set(validator!.valid())\n })\n }\n\n const precognitive = form as PrecognitiveFormState<TForm>\n Object.assign(precognitive, {\n validating: validating.asReadonly(),\n validator: () => validator!,\n withAllErrors() {\n useAllErrors = true\n return precognitive\n },\n valid: (field: string) => validFields().includes(field),\n invalid: (field: string) => field in errors(),\n setValidationTimeout(duration: number) {\n validator!.setTimeout(duration)\n return precognitive\n },\n validateFiles() {\n validator!.validateFiles()\n return precognitive\n },\n withoutFileValidation() {\n validator!.withoutFileValidation()\n return precognitive\n },\n touch(\n field: FormDataKeys<TForm> | NamedInputEvent | Array<FormDataKeys<TForm>>,\n ...fields: FormDataKeys<TForm>[]\n ) {\n validator!.touch(Array.isArray(field) ? field : typeof field === 'string' ? [field, ...fields] : field)\n return precognitive\n },\n touched: (field?: string) => (field ? touchedFields().includes(field) : touchedFields().length > 0),\n validate(field?: string | NamedInputEvent | ValidationConfig, validationConfig?: ValidationConfig) {\n if (field && typeof field === 'object' && !('target' in field)) {\n validator!.validate(field)\n } else if (field === undefined) {\n validator!.validate(validationConfig)\n } else {\n const name = resolveName(field)\n validator!.validate(name, get(transform(data()), name), validationConfig)\n }\n return precognitive\n },\n setErrors(nextErrors: FormDataErrors<TForm>) {\n setError(nextErrors)\n return precognitive\n },\n forgetError(field: FormDataKeys<TForm> | NamedInputEvent) {\n clearErrors(resolveName(field) as FormDataKeys<TForm>)\n return precognitive\n },\n } satisfies Partial<PrecognitiveFormState<TForm>>)\n return precognitive\n },\n }\n\n if (options.rememberKey && typeof window !== 'undefined') {\n effect(() => {\n const current = cloneDeep(data())\n const filtered = { ...current } as Record<string, unknown>\n rememberExclusions.forEach((key) => unset(filtered, key))\n const next = { data: filtered, errors: cloneDeep(errors()) }\n\n // Skip the write when nothing changed, including this effect's initial run. Every\n // `router.remember()` rewrites `history.state`, and the React/Vue adapters guard the\n // same way.\n if (isEqual(router.restore(options.rememberKey!), next)) {\n return\n }\n\n router.remember(next, options.rememberKey!)\n })\n }\n\n if (precognitionEndpoint) {\n form.withPrecognition(precognitionEndpoint)\n }\n\n destroyRef.onDestroy(() => clearTimeout(recentlySuccessfulTimeout))\n\n return {\n form,\n getTransform: () => transform,\n getPrecognitionEndpoint: () => precognitionEndpoint,\n markAsSuccessful: () => {\n clearErrors()\n wasSuccessful.set(true)\n recentlySuccessful.set(true)\n clearTimeout(recentlySuccessfulTimeout)\n recentlySuccessfulTimeout = setTimeout(\n () => recentlySuccessful.set(false),\n config.get('form.recentlySuccessfulDuration'),\n )\n },\n defaultsWereSet: () => defaultsCalled,\n resetDefaultsFlag: () => {\n defaultsCalled = false\n },\n setRememberExclusions: (keys) => {\n rememberExclusions = keys\n },\n resetBeforeSubmit: () => {\n wasSuccessful.set(false)\n recentlySuccessful.set(false)\n clearTimeout(recentlySuccessfulTimeout)\n },\n finishProcessing: () => {\n processing.set(false)\n progress.set(null)\n },\n setProcessing: (value) => processing.set(value),\n setProgress: (value) => progress.set(value),\n replaceDefaults: (value) => defaults.set(cloneDeep(value)),\n allErrorsEnabled,\n enableAllErrors: () => {\n useAllErrors = true\n },\n }\n}\n","import {\n router,\n UseFormUtils,\n type CancelToken,\n type FormDataKeys,\n type FormDataType,\n type Method,\n type OptimisticCallback,\n type RequestPayload,\n type UseFormArguments,\n type UseFormSubmitArguments,\n type UseFormSubmitOptions,\n type UseFormWithPrecognitionArguments,\n type UrlMethodPair,\n type VisitOptions,\n} from '@inertiajs/core'\nimport { cloneDeep } from 'es-toolkit'\nimport {\n createFormState,\n type FormState,\n type FormValidationState,\n type SetDataAction,\n type SetDataByKeyValuePair,\n type SetDataByMethod,\n type SetDataByObject,\n} from './form-state'\n\nexport type { SetDataAction, SetDataByKeyValuePair, SetDataByMethod, SetDataByObject }\n\nexport interface InertiaFormProps<TForm extends object> extends FormState<TForm> {\n submit(...args: UseFormSubmitArguments): void\n get(url: string, options?: UseFormSubmitOptions): void\n post(url: string, options?: UseFormSubmitOptions): void\n put(url: string, options?: UseFormSubmitOptions): void\n patch(url: string, options?: UseFormSubmitOptions): void\n delete(url: string, options?: UseFormSubmitOptions): void\n cancel(): void\n dontRemember<K extends FormDataKeys<TForm>>(...fields: K[]): this\n optimistic<TProps>(callback: OptimisticCallback<TProps>): this\n withPrecognition(...args: UseFormWithPrecognitionArguments): InertiaPrecognitiveFormProps<TForm>\n}\n\nexport type InertiaPrecognitiveFormProps<TForm extends object> = InertiaFormProps<TForm> & FormValidationState<TForm>\nexport type InertiaForm<TForm extends object> = InertiaFormProps<TForm>\nexport type InertiaPrecognitiveForm<TForm extends object> = InertiaPrecognitiveFormProps<TForm>\n\nexport function useForm<TForm extends FormDataType<TForm>>(\n method: Method | (() => Method),\n url: string | (() => string),\n data: TForm | (() => TForm),\n): InertiaPrecognitiveFormProps<TForm>\nexport function useForm<TForm extends FormDataType<TForm>>(\n urlMethodPair: UrlMethodPair | (() => UrlMethodPair),\n data: TForm | (() => TForm),\n): InertiaPrecognitiveFormProps<TForm>\nexport function useForm<TForm extends FormDataType<TForm>>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaFormProps<TForm>\nexport function useForm<TForm extends FormDataType<TForm>>(data: TForm | (() => TForm)): InertiaFormProps<TForm>\nexport function useForm<TForm extends FormDataType<TForm>>(): InertiaFormProps<TForm>\nexport function useForm<TForm extends FormDataType<TForm>>(\n ...args: UseFormArguments<TForm>\n): InertiaFormProps<TForm> | InertiaPrecognitiveFormProps<TForm> {\n const parsed = UseFormUtils.parseUseFormArguments<TForm>(...args)\n const state = createFormState<TForm>({\n data: parsed.data,\n rememberKey: parsed.rememberKey,\n precognitionEndpoint: parsed.precognitionEndpoint,\n })\n let cancelToken: CancelToken | null = null\n let pendingOptimistic: OptimisticCallback | null = null\n const form = state.form as InertiaFormProps<TForm>\n\n const submit = (...submitArguments: UseFormSubmitArguments) => {\n const { method, url, options } = UseFormUtils.parseSubmitArguments(submitArguments, state.getPrecognitionEndpoint())\n state.resetDefaultsFlag()\n const visitOptions: VisitOptions = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n return options.onCancelToken?.(token)\n },\n onBefore: (visit) => {\n state.resetBeforeSubmit()\n return options.onBefore?.(visit)\n },\n onStart: (visit) => {\n state.setProcessing(true)\n return options.onStart?.(visit)\n },\n onProgress: (progress) => {\n state.setProgress(progress ?? null)\n return options.onProgress?.(progress)\n },\n onSuccess: async (page) => {\n state.markAsSuccessful()\n const result = options.onSuccess ? await options.onSuccess(page) : undefined\n if (!state.defaultsWereSet()) state.replaceDefaults(form.data())\n return result\n },\n onError: (errors) => {\n form.clearErrors()\n form.setError(errors as Parameters<InertiaFormProps<TForm>['setError']>[0])\n return options.onError?.(errors)\n },\n onCancel: () => options.onCancel?.(),\n onFinish: (visit) => {\n state.finishProcessing()\n cancelToken = null\n return options.onFinish?.(visit)\n },\n }\n const optimistic = visitOptions.optimistic ?? pendingOptimistic\n if (optimistic) visitOptions.optimistic = optimistic\n pendingOptimistic = null\n const transformed = state.getTransform()(cloneDeep(form.data())) as RequestPayload\n if (method === 'delete') router.delete(url, { ...visitOptions, data: transformed })\n else router[method](url, transformed, visitOptions)\n }\n\n Object.assign(form, {\n submit,\n get: (url: string, options: UseFormSubmitOptions = {}) => submit('get', url, options),\n post: (url: string, options: UseFormSubmitOptions = {}) => submit('post', url, options),\n put: (url: string, options: UseFormSubmitOptions = {}) => submit('put', url, options),\n patch: (url: string, options: UseFormSubmitOptions = {}) => submit('patch', url, options),\n delete: (url: string, options: UseFormSubmitOptions = {}) => submit('delete', url, options),\n cancel: () => cancelToken?.cancel(),\n dontRemember: (...keys: FormDataKeys<TForm>[]) => {\n state.setRememberExclusions(keys)\n return form\n },\n optimistic: <TProps>(callback: OptimisticCallback<TProps>) => {\n pendingOptimistic = callback as OptimisticCallback\n return form\n },\n } satisfies Partial<InertiaFormProps<TForm>>)\n\n const originalWithPrecognition = form.withPrecognition.bind(form)\n form.withPrecognition = (...precognitionArgs) => {\n originalWithPrecognition(...precognitionArgs)\n return form as InertiaPrecognitiveFormProps<TForm>\n }\n\n return state.getPrecognitionEndpoint() ? (form as InertiaPrecognitiveFormProps<TForm>) : form\n}\n","import { DestroyRef, inject, signal, type Signal } from '@angular/core'\nimport {\n hasFiles,\n http,\n HttpCancelledError,\n HttpResponseError,\n mergeDataIntoQueryString,\n objectToFormData,\n UseFormUtils,\n type CancelToken,\n type Errors,\n type FormDataConvertible,\n type FormDataErrors,\n type FormDataKeys,\n type FormDataType,\n type HttpProgressEvent,\n type Method,\n type UrlMethodPair,\n type UseFormArguments,\n type UseFormSubmitArguments,\n type UseFormWithPrecognitionArguments,\n type UseHttpSubmitArguments,\n type UseHttpSubmitOptions,\n} from '@inertiajs/core'\nimport { cloneDeep } from 'es-toolkit'\nimport { toSimpleValidationErrors } from 'laravel-precognition'\nimport { createFormState, type FormState, type FormValidationState } from './form-state'\n\nexport interface UseHttpProps<TForm extends object, TResponse = unknown> extends FormState<TForm> {\n response: Signal<TResponse | null>\n submit(...args: UseHttpSubmitArguments<TResponse, TForm>): Promise<TResponse>\n get(url: string, options?: UseHttpSubmitOptions<TResponse, TForm>): Promise<TResponse>\n post(url: string, options?: UseHttpSubmitOptions<TResponse, TForm>): Promise<TResponse>\n put(url: string, options?: UseHttpSubmitOptions<TResponse, TForm>): Promise<TResponse>\n patch(url: string, options?: UseHttpSubmitOptions<TResponse, TForm>): Promise<TResponse>\n delete(url: string, options?: UseHttpSubmitOptions<TResponse, TForm>): Promise<TResponse>\n cancel(): void\n dontRemember<K extends FormDataKeys<TForm>>(...fields: K[]): this\n optimistic(callback: (currentData: TForm) => Partial<TForm>): this\n withAllErrors(): this\n withPrecognition(...args: UseFormWithPrecognitionArguments): UseHttpPrecognitiveProps<TForm, TResponse>\n}\n\nexport type UseHttpValidationProps<TForm extends object> = FormValidationState<TForm>\nexport type UseHttp<TForm extends object, TResponse = unknown> = UseHttpProps<TForm, TResponse>\nexport type UseHttpPrecognitiveProps<TForm extends object, TResponse = unknown> = UseHttpProps<TForm, TResponse> &\n UseHttpValidationProps<TForm>\n\nexport function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(\n method: Method | (() => Method),\n url: string | (() => string),\n data: TForm | (() => TForm),\n): UseHttpPrecognitiveProps<TForm, TResponse>\nexport function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(\n urlMethodPair: UrlMethodPair | (() => UrlMethodPair),\n data: TForm | (() => TForm),\n): UseHttpPrecognitiveProps<TForm, TResponse>\nexport function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): UseHttpProps<TForm, TResponse>\nexport function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(\n data: TForm | (() => TForm),\n): UseHttpProps<TForm, TResponse>\nexport function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(): UseHttpProps<TForm, TResponse>\nexport function useHttp<TForm extends FormDataType<TForm>, TResponse = unknown>(\n ...args: UseFormArguments<TForm>\n): UseHttpProps<TForm, TResponse> | UseHttpPrecognitiveProps<TForm, TResponse> {\n const destroyRef = inject(DestroyRef)\n const parsed = UseFormUtils.parseUseFormArguments<TForm>(...args)\n const state = createFormState<TForm>({\n data: parsed.data,\n rememberKey: parsed.rememberKey,\n precognitionEndpoint: parsed.precognitionEndpoint,\n })\n const response = signal<TResponse | null>(null)\n let abortController: AbortController | null = null\n let pendingOptimistic: ((currentData: TForm) => Partial<TForm>) | null = null\n const form = state.form as UseHttpProps<TForm, TResponse>\n\n const submit = async (\n method: Method,\n url: string,\n options: UseHttpSubmitOptions<TResponse, TForm> = {},\n ): Promise<TResponse> => {\n if (options.onBefore?.() === false) {\n throw new Error('Request cancelled by onBefore')\n }\n\n state.resetDefaultsFlag()\n state.resetBeforeSubmit()\n abortController = new AbortController()\n const cancelToken: CancelToken = { cancel: () => abortController?.abort() }\n options.onCancelToken?.(cancelToken)\n\n const optimistic = options.optimistic ?? pendingOptimistic ?? undefined\n pendingOptimistic = null\n let snapshot: TForm | undefined\n if (optimistic) {\n snapshot = cloneDeep(form.data())\n form.data.set({ ...snapshot, ...optimistic(cloneDeep(snapshot)) })\n }\n\n state.setProcessing(true)\n options.onStart?.()\n const transformed = state.getTransform()(cloneDeep(form.data())) as Record<string, FormDataConvertible>\n let requestUrl = url\n let requestData: FormData | string | undefined\n let contentType: string | undefined\n\n if (method === 'get') {\n ;[requestUrl] = mergeDataIntoQueryString(method, url, transformed)\n } else if (hasFiles(transformed)) {\n requestData = objectToFormData(transformed)\n } else {\n requestData = JSON.stringify(transformed)\n contentType = 'application/json'\n }\n\n try {\n const httpResponse = await http.getClient().request({\n method,\n url: requestUrl,\n ...(requestData !== undefined ? { data: requestData } : {}),\n headers: {\n Accept: 'application/json',\n ...(contentType ? { 'Content-Type': contentType } : {}),\n ...options.headers,\n },\n signal: abortController.signal,\n onUploadProgress: (event: HttpProgressEvent) => {\n state.setProgress(event)\n options.onProgress?.(event)\n },\n })\n const responseData = (httpResponse.data ? JSON.parse(httpResponse.data) : null) as TResponse\n if (httpResponse.status < 200 || httpResponse.status >= 300) {\n throw new HttpResponseError(`Request failed with status ${httpResponse.status}`, httpResponse, url)\n }\n\n state.markAsSuccessful()\n response.set(responseData)\n options.onSuccess?.(responseData, httpResponse)\n if (!state.defaultsWereSet()) state.replaceDefaults(form.data())\n return responseData\n } catch (error: unknown) {\n if (snapshot) form.data.set(snapshot)\n\n if (error instanceof HttpResponseError) {\n if (error.response.status === 422) {\n const payload = JSON.parse(error.response.data) as { errors?: Record<string, string | string[]> }\n const validationErrors = payload.errors ?? {}\n const nextErrors = (\n state.allErrorsEnabled()\n ? validationErrors\n : toSimpleValidationErrors(validationErrors as Parameters<typeof toSimpleValidationErrors>[0])\n ) as FormDataErrors<TForm>\n form.clearErrors()\n form.setError(nextErrors)\n options.onError?.(nextErrors as Errors)\n return undefined as TResponse\n }\n\n options.onHttpException?.(error.response)\n throw error\n }\n\n if (error instanceof HttpCancelledError || (error instanceof Error && error.name === 'AbortError')) {\n options.onCancel?.()\n throw new HttpCancelledError('Request was cancelled', url)\n }\n\n options.onNetworkError?.(error instanceof Error ? error : new Error('Unknown error'))\n throw error\n } finally {\n state.finishProcessing()\n abortController = null\n options.onFinish?.()\n }\n }\n\n const submitWithArgs = (...submitArgs: UseHttpSubmitArguments<TResponse, TForm>): Promise<TResponse> => {\n const result = UseFormUtils.parseSubmitArguments(\n submitArgs as unknown as UseFormSubmitArguments,\n state.getPrecognitionEndpoint(),\n )\n return submit(result.method, result.url, result.options as unknown as UseHttpSubmitOptions<TResponse, TForm>)\n }\n\n Object.assign(form, {\n response: response.asReadonly(),\n submit: submitWithArgs,\n get: (url: string, options: UseHttpSubmitOptions<TResponse, TForm> = {}) => submit('get', url, options),\n post: (url: string, options: UseHttpSubmitOptions<TResponse, TForm> = {}) => submit('post', url, options),\n put: (url: string, options: UseHttpSubmitOptions<TResponse, TForm> = {}) => submit('put', url, options),\n patch: (url: string, options: UseHttpSubmitOptions<TResponse, TForm> = {}) => submit('patch', url, options),\n delete: (url: string, options: UseHttpSubmitOptions<TResponse, TForm> = {}) => submit('delete', url, options),\n cancel: () => abortController?.abort(),\n dontRemember: (...keys: FormDataKeys<TForm>[]) => {\n state.setRememberExclusions(keys)\n return form\n },\n optimistic: (callback: (currentData: TForm) => Partial<TForm>) => {\n pendingOptimistic = callback\n return form\n },\n withAllErrors: () => {\n state.enableAllErrors()\n return form\n },\n } satisfies Partial<UseHttpProps<TForm, TResponse>>)\n\n const originalWithPrecognition = form.withPrecognition.bind(form)\n form.withPrecognition = (...precognitionArgs) => {\n originalWithPrecognition(...precognitionArgs)\n return form as UseHttpPrecognitiveProps<TForm, TResponse>\n }\n\n destroyRef.onDestroy(() => abortController?.abort())\n return state.getPrecognitionEndpoint() ? (form as UseHttpPrecognitiveProps<TForm, TResponse>) : form\n}\n","import {\n Directive,\n DestroyRef,\n ElementRef,\n InjectionToken,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n output,\n signal,\n type AfterViewInit,\n type Signal,\n} from '@angular/core'\nimport {\n FormComponentResetSymbol,\n formDataToObject,\n isUrlMethodPair,\n mergeDataIntoQueryString,\n resetFormFields,\n resolveUrlMethodPairComponent,\n type ActiveVisit,\n type CancelToken,\n type ErrorValue,\n type FormComponentOnSubmitCompleteArguments,\n type FormComponentOptimisticCallback,\n type FormComponentOptions,\n type FormComponentProps,\n type FormDataConvertible,\n type FormDataErrors,\n type FormDataKeys,\n type HttpProgressEvent,\n type Method,\n type Page,\n type PendingVisit,\n type UrlMethodPair,\n type VisitCallbacks,\n type VisitOptions,\n} from '@inertiajs/core'\nimport { isEqual } from 'es-toolkit'\nimport type { NamedInputEvent, ValidationConfig, Validator } from 'laravel-precognition'\nimport { config } from './config'\nimport { useForm } from './use-form'\n\nexport type FormType<TForm extends object> = { readonly __inertiaFormType?: TForm }\n\nexport function createForm<TForm extends object>(): FormType<TForm> {\n return {}\n}\n\nexport interface InertiaForm<TForm extends object = Record<string, FormDataConvertible>> {\n errors: Signal<FormDataErrors<TForm>>\n hasErrors: Signal<boolean>\n processing: Signal<boolean>\n progress: Signal<HttpProgressEvent | null>\n wasSuccessful: Signal<boolean>\n recentlySuccessful: Signal<boolean>\n isDirty: Signal<boolean>\n validating: Signal<boolean>\n clearErrors<K extends FormDataKeys<TForm>>(...fields: K[]): void\n resetAndClearErrors<K extends FormDataKeys<TForm>>(...fields: K[]): void\n setError: {\n <K extends FormDataKeys<TForm>>(field: K, value: ErrorValue): void\n (errors: FormDataErrors<TForm>): void\n }\n reset<K extends FormDataKeys<TForm>>(...fields: K[]): void\n submit(submitter?: HTMLElement | null): void\n cancel(): void\n defaults(): void\n getData(submitter?: HTMLElement | null): TForm\n getFormData(submitter?: HTMLElement | null): FormData\n valid<K extends FormDataKeys<TForm>>(field: K): boolean\n invalid<K extends FormDataKeys<TForm>>(field: K): boolean\n validate<K extends FormDataKeys<TForm>>(\n field?: K | NamedInputEvent | ValidationConfig,\n validationConfig?: ValidationConfig,\n ): void\n touch<K extends FormDataKeys<TForm>>(...fields: K[]): void\n touched<K extends FormDataKeys<TForm>>(field?: K): boolean\n validator(): Validator\n}\n\nconst INERTIA_FORM_CONTEXT = new InjectionToken<InertiaForm>('INERTIA_FORM_CONTEXT')\n\nexport function useFormContext<\n TForm extends object = Record<string, FormDataConvertible>,\n>(): InertiaForm<TForm> | null {\n return inject(INERTIA_FORM_CONTEXT, { optional: true }) as InertiaForm<TForm> | null\n}\n\n@Directive({\n selector: 'form[inertiaForm]',\n exportAs: 'inertiaForm',\n providers: [{ provide: INERTIA_FORM_CONTEXT, useExisting: forwardRef(() => Form) }],\n host: {\n '[attr.action]': 'resolvedAction()',\n '[attr.method]': 'resolvedMethod()',\n '[attr.inert]': 'disableWhileProcessing() && processing() ? \"\" : null',\n '(change)': 'handleFormUpdate($event)',\n '(input)': 'handleFormUpdate($event)',\n '(reset)': 'handleFormUpdate($event)',\n '(submit)': 'handleSubmit($event)',\n },\n})\nexport class Form<TForm extends object = Record<string, FormDataConvertible>>\n implements AfterViewInit, InertiaForm<TForm>\n{\n readonly #element = inject<ElementRef<HTMLFormElement>>(ElementRef)\n readonly #destroyRef = inject(DestroyRef)\n readonly #form = useForm<Record<string, string>>({}).withPrecognition(\n () => this.resolvedMethod(),\n () => this.#urlAndData()[0],\n )\n readonly #defaultData = signal(new FormData())\n readonly #isDirty = signal(false)\n\n readonly formType = input<FormType<TForm> | null>(null)\n readonly action = input<string | UrlMethodPair>('')\n readonly method = input<Method | Uppercase<Method>>('get')\n readonly headers = input<Record<string, string>>({})\n readonly queryStringArrayFormat = input<'brackets' | 'indices'>('brackets')\n readonly errorBag = input<string | null>(null)\n readonly showProgress = input(true)\n readonly transform = input<(data: TForm) => Record<string, FormDataConvertible>>(\n (data) => data as unknown as Record<string, FormDataConvertible>,\n )\n readonly options = input<FormComponentOptions>({})\n readonly resetOnError = input<boolean | FormDataKeys<TForm>[]>(false)\n readonly resetOnSuccess = input<boolean | FormDataKeys<TForm>[]>(false)\n readonly setDefaultsOnSuccess = input(false)\n readonly disableWhileProcessing = input(false)\n readonly cancelOnUnmount = input(false)\n readonly invalidateCacheTags = input<string | string[]>([])\n readonly validateFiles = input(false)\n readonly validationTimeout = input(1500)\n readonly optimistic = input<FormComponentOptimisticCallback<Page['props'], TForm> | null>(null)\n readonly withAllErrors = input<boolean | null>(null)\n readonly component = input<string | null>(null)\n readonly instant = input(false)\n\n readonly onCancelToken = input<VisitCallbacks['onCancelToken'] | null>(null)\n readonly onBefore = input<VisitCallbacks['onBefore'] | null>(null)\n readonly onStart = input<VisitCallbacks['onStart'] | null>(null)\n readonly onProgress = input<VisitCallbacks['onProgress'] | null>(null)\n readonly onFinish = input<VisitCallbacks['onFinish'] | null>(null)\n readonly onCancel = input<VisitCallbacks['onCancel'] | null>(null)\n readonly onSuccess = input<VisitCallbacks['onSuccess'] | null>(null)\n readonly onError = input<VisitCallbacks['onError'] | null>(null)\n readonly onSubmitComplete = input<InertiaFormProps<TForm>['onSubmitComplete'] | null>(null)\n\n readonly cancelToken = output<CancelToken>()\n readonly before = output<PendingVisit>()\n readonly start = output<PendingVisit>()\n readonly progressEvent = output<HttpProgressEvent | undefined>({ alias: 'progress' })\n readonly finish = output<ActiveVisit>()\n readonly cancelEvent = output<void>({ alias: 'cancel' })\n readonly success = output<Page>()\n readonly error = output<FormDataErrors<TForm>>()\n readonly submitComplete = output<FormComponentOnSubmitCompleteArguments<TForm>>()\n\n readonly isDirty = this.#isDirty.asReadonly()\n readonly errors = this.#form.errors as Signal<FormDataErrors<TForm>>\n readonly hasErrors = this.#form.hasErrors\n readonly processing = this.#form.processing\n readonly progress = this.#form.progress\n readonly wasSuccessful = this.#form.wasSuccessful\n readonly recentlySuccessful = this.#form.recentlySuccessful\n readonly validating = this.#form.validating\n readonly resolvedMethod = computed<Method>(() => {\n const action = this.action()\n return isUrlMethodPair(action) ? action.method : (this.method().toLowerCase() as Method)\n })\n readonly resolvedAction = computed(() => {\n const action = this.action()\n return isUrlMethodPair(action) ? action.url : action\n })\n readonly #resolvedComponent = computed(() => {\n const action = this.action()\n return (\n this.component() ?? (this.instant() && isUrlMethodPair(action) ? resolveUrlMethodPairComponent(action) : null)\n )\n })\n #urlAndData(): [string, Record<string, FormDataConvertible>] {\n return mergeDataIntoQueryString(\n this.resolvedMethod(),\n this.resolvedAction(),\n this.getData() as Record<string, FormDataConvertible>,\n this.queryStringArrayFormat(),\n )\n }\n\n constructor() {\n this.#destroyRef.onDestroy(() => {\n if (this.cancelOnUnmount()) this.cancel()\n })\n effect(() => {\n const transform = this.transform()\n this.#form.transform((data) => transform(data as unknown as TForm))\n })\n effect(() => this.#form.setValidationTimeout(this.validationTimeout()))\n effect(() => (this.validateFiles() ? this.#form.validateFiles() : this.#form.withoutFileValidation()))\n effect(() => {\n if (this.withAllErrors() ?? config.get('form.withAllErrors')) this.#form.withAllErrors()\n })\n }\n\n ngAfterViewInit(): void {\n this.#defaultData.set(this.getFormData())\n this.#form.setData(this.getData() as unknown as Record<string, string>)\n this.#form.setDefaults(this.getData() as unknown as Record<string, string>)\n }\n\n handleFormUpdate(event: Event): void {\n if (event.type === 'reset' && (event as CustomEvent).detail?.[FormComponentResetSymbol]) {\n event.preventDefault()\n }\n this.#isDirty.set(\n event.type === 'reset'\n ? false\n : !isEqual(this.getData(), formDataToObject(this.#defaultData()) as unknown as TForm),\n )\n this.#form.setData(this.getData() as unknown as Record<string, string>)\n }\n\n handleSubmit(event: SubmitEvent): void {\n event.preventDefault()\n this.submit(event.submitter as HTMLElement | null)\n }\n\n getFormData(submitter?: HTMLElement | null): FormData {\n return new FormData(this.#element.nativeElement, submitter)\n }\n\n getData(submitter?: HTMLElement | null): TForm {\n return formDataToObject(this.getFormData(submitter)) as unknown as TForm\n }\n\n submit(submitter?: HTMLElement | null): void {\n const data = this.getData(submitter)\n const [url, requestData] = mergeDataIntoQueryString(\n this.resolvedMethod(),\n this.resolvedAction(),\n data as Record<string, FormDataConvertible>,\n this.queryStringArrayFormat(),\n )\n const target = (submitter as HTMLButtonElement | HTMLInputElement | null)?.formTarget\n if (target === '_blank' && this.resolvedMethod() === 'get') {\n window.open(url, '_blank')\n return\n }\n\n const maybeReset = (option: boolean | FormDataKeys<TForm>[]) => {\n if (option === true) this.reset()\n else if (Array.isArray(option) && option.length > 0) this.reset(...option)\n }\n const visitOptions: VisitOptions = {\n headers: this.headers(),\n queryStringArrayFormat: this.queryStringArrayFormat(),\n errorBag: this.errorBag(),\n showProgress: this.showProgress(),\n invalidateCacheTags: this.invalidateCacheTags(),\n component: this.#resolvedComponent(),\n onCancelToken: (token) => {\n this.onCancelToken()?.(token)\n this.cancelToken.emit(token)\n },\n onBefore: (visit) => {\n const result = this.onBefore()?.(visit)\n this.before.emit(visit)\n return result\n },\n onStart: (visit) => {\n this.onStart()?.(visit)\n this.start.emit(visit)\n },\n onProgress: (progress) => {\n this.onProgress()?.(progress)\n if (!this.#destroyRef.destroyed) this.progressEvent.emit(progress)\n },\n onFinish: (visit) => {\n this.onFinish()?.(visit)\n if (!this.#destroyRef.destroyed) this.finish.emit(visit)\n },\n onCancel: () => {\n this.onCancel()?.()\n if (!this.#destroyRef.destroyed) this.cancelEvent.emit()\n },\n onSuccess: async (page) => {\n await this.onSuccess()?.(page)\n if (!this.#destroyRef.destroyed) this.success.emit(page)\n const submitComplete = {\n reset: (...fields: FormDataKeys<TForm>[]) => this.reset(...fields),\n defaults: () => this.defaults(),\n }\n this.onSubmitComplete()?.(submitComplete)\n if (!this.#destroyRef.destroyed) this.submitComplete.emit(submitComplete)\n maybeReset(this.resetOnSuccess())\n if (this.setDefaultsOnSuccess()) this.defaults()\n },\n onError: (errors) => {\n const result = this.onError()?.(errors)\n if (!this.#destroyRef.destroyed) this.error.emit(errors as FormDataErrors<TForm>)\n maybeReset(this.resetOnError())\n return result\n },\n ...this.options(),\n }\n const optimistic = this.optimistic()\n if (optimistic) visitOptions.optimistic = (props) => optimistic(props, data)\n\n this.#form.transform(() => this.transform()(requestData as TForm)).submit(this.resolvedMethod(), url, visitOptions)\n this.#form.transform(() => {\n const [, currentData] = this.#urlAndData()\n return this.transform()(currentData as TForm)\n })\n }\n\n clearErrors<K extends FormDataKeys<TForm>>(...fields: K[]): void {\n this.#form.clearErrors(...(fields as string[]))\n }\n\n cancel(): void {\n this.#form.cancel()\n }\n\n reset<K extends FormDataKeys<TForm>>(...fields: K[]): void {\n resetFormFields(this.#element.nativeElement, this.#defaultData(), fields as string[])\n this.#form.reset(...(fields as string[]))\n }\n\n resetAndClearErrors<K extends FormDataKeys<TForm>>(...fields: K[]): void {\n this.clearErrors(...fields)\n this.reset(...fields)\n }\n\n readonly setError = ((fieldOrErrors: FormDataKeys<TForm> | FormDataErrors<TForm>, value?: ErrorValue) => {\n if (typeof fieldOrErrors === 'string') {\n this.#form.setError(fieldOrErrors, value as ErrorValue)\n } else {\n this.#form.setError(fieldOrErrors)\n }\n }) as InertiaForm<TForm>['setError']\n\n defaults(): void {\n this.#defaultData.set(this.getFormData())\n this.#isDirty.set(false)\n this.#form.setDefaults(this.getData() as unknown as Record<string, string>)\n }\n\n valid<K extends FormDataKeys<TForm>>(field: K): boolean {\n return this.#form.valid(field)\n }\n\n invalid<K extends FormDataKeys<TForm>>(field: K): boolean {\n return this.#form.invalid(field)\n }\n\n validate<K extends FormDataKeys<TForm>>(\n field?: K | NamedInputEvent | ValidationConfig,\n validationConfig?: ValidationConfig,\n ): void {\n const headers = this.headers()\n if (field && typeof field === 'object' && !('target' in field)) {\n this.#form.validate({\n ...field,\n headers: { ...headers, ...field.headers },\n })\n return\n }\n\n this.#form.validate(field as K | NamedInputEvent | undefined, {\n ...validationConfig,\n headers: { ...headers, ...validationConfig?.headers },\n })\n }\n\n touch<K extends FormDataKeys<TForm>>(...fields: K[]): void {\n if (fields.length > 0) this.#form.touch(fields as string[])\n }\n\n touched<K extends FormDataKeys<TForm>>(field?: K): boolean {\n return this.#form.touched(field)\n }\n\n validator(): Validator {\n return this.#form.validator()\n }\n}\n\nexport type InertiaFormProps<TForm extends object = Record<string, FormDataConvertible>> = FormComponentProps<TForm>\nexport type InertiaPrecognitiveForm<TForm extends object = Record<string, FormDataConvertible>> = InertiaForm<TForm>\n","import { isPlatformBrowser } from '@angular/common'\nimport {\n ApplicationRef,\n Directive,\n DestroyRef,\n EmbeddedViewRef,\n PLATFORM_ID,\n TemplateRef,\n afterRenderEffect,\n inject,\n input,\n type AfterViewInit,\n} from '@angular/core'\nimport { escape } from 'es-toolkit/compat'\nimport { InertiaRuntime } from './runtime'\n\n@Directive({\n selector: 'ng-template[inertiaHead]',\n exportAs: 'inertiaHead',\n})\nexport class Head implements AfterViewInit {\n readonly #template = inject<TemplateRef<unknown>>(TemplateRef)\n readonly #applicationRef = inject(ApplicationRef)\n readonly #destroyRef = inject(DestroyRef)\n readonly #isBrowser = isPlatformBrowser(inject(PLATFORM_ID))\n readonly #provider = inject(InertiaRuntime).headManager.createProvider()\n #view: EmbeddedViewRef<unknown> | null = null\n\n readonly title = input<string | undefined>(undefined)\n\n constructor() {\n afterRenderEffect(() => this.#update())\n this.#destroyRef.onDestroy(() => {\n if (this.#view) {\n this.#applicationRef.detachView(this.#view)\n this.#view.destroy()\n }\n if (this.#isBrowser) this.#provider.disconnect()\n })\n }\n\n ngAfterViewInit(): void {\n this.#view = this.#template.createEmbeddedView({})\n this.#applicationRef.attachView(this.#view)\n this.#view.detectChanges()\n this.#provider.reconnect()\n this.#update()\n }\n\n #update(): void {\n if (!this.#view) return\n this.#view.detectChanges()\n const elements = this.#view.rootNodes\n .filter((node): node is Element => node?.nodeType === 1)\n .map((element) => {\n const serialized = element.cloneNode(true) as Element\n const key = serialized.getAttribute('head-key') ?? ''\n serialized.removeAttribute('head-key')\n serialized.setAttribute('data-inertia', key)\n return serialized.outerHTML\n })\n\n if (this.title() && !elements.some((tag) => tag.startsWith('<title'))) {\n elements.push(`<title data-inertia=\"\">${escape(this.title()!)}</title>`)\n }\n this.#provider.update(elements)\n }\n}\n","import { NgTemplateOutlet } from '@angular/common'\nimport {\n Component,\n Directive,\n DestroyRef,\n TemplateRef,\n computed,\n inject,\n input,\n signal,\n contentChild,\n} from '@angular/core'\nimport { isSameUrlWithoutQueryOrHash, partialReloadRequestsSomeProps, router } from '@inertiajs/core'\nimport { get } from 'es-toolkit/compat'\nimport { usePage } from './runtime'\n\nexport interface DeferredTemplateContext {\n reloading: boolean\n}\n\n@Directive({ selector: 'ng-template[inertiaDeferredContent]' })\nexport class DeferredContent {\n readonly template = inject<TemplateRef<DeferredTemplateContext>>(TemplateRef)\n}\n\n@Directive({ selector: 'ng-template[inertiaDeferredFallback]' })\nexport class DeferredFallback {\n readonly template = inject<TemplateRef<unknown>>(TemplateRef)\n}\n\n@Directive({ selector: 'ng-template[inertiaDeferredRescue]' })\nexport class DeferredRescue {\n readonly template = inject<TemplateRef<DeferredTemplateContext>>(TemplateRef)\n}\n\n@Component({\n selector: 'inertia-deferred',\n imports: [NgTemplateOutlet],\n template: `\n @if (ready() && !rescued()) {\n <ng-container [ngTemplateOutlet]=\"content()?.template ?? null\" [ngTemplateOutletContext]=\"context()\" />\n } @else if (rescued() && rescue()) {\n <ng-container [ngTemplateOutlet]=\"rescue()!.template\" [ngTemplateOutletContext]=\"context()\" />\n } @else {\n <ng-container [ngTemplateOutlet]=\"fallback()?.template ?? null\" />\n }\n `,\n})\nexport class Deferred {\n readonly #destroyRef = inject(DestroyRef)\n readonly #page = usePage()\n readonly #activeReloads = new Set<object>()\n readonly #reloading = signal(false)\n\n readonly data = input.required<string | string[]>()\n readonly content = contentChild(DeferredContent)\n readonly fallback = contentChild(DeferredFallback)\n readonly rescue = contentChild(DeferredRescue)\n readonly #keys = computed<string[]>(() => {\n const data = this.data()\n return Array.isArray(data) ? data : [data]\n })\n readonly ready = computed(() => this.#keys().every((key) => get(this.#page().props, key) !== undefined))\n readonly rescued = computed(() => {\n const rescued = new Set(this.#page().rescuedProps ?? [])\n return this.#keys().some((key) => rescued.has(key))\n })\n readonly context = computed(() => ({ reloading: this.#reloading() }))\n\n constructor() {\n const stopStart = router.on('start', (event) => {\n const visit = event.detail.visit\n if (\n typeof window !== 'undefined' &&\n visit.preserveState === true &&\n isSameUrlWithoutQueryOrHash(visit.url, window.location) &&\n partialReloadRequestsSomeProps(visit, this.#keys())\n ) {\n this.#activeReloads.add(visit)\n this.#reloading.set(true)\n }\n })\n const stopFinish = router.on('finish', (event) => {\n const visit = event.detail.visit\n if (this.#activeReloads.delete(visit)) this.#reloading.set(this.#activeReloads.size > 0)\n })\n this.#destroyRef.onDestroy(() => {\n stopStart()\n stopFinish()\n this.#activeReloads.clear()\n })\n }\n}\n","import { NgTemplateOutlet } from '@angular/common'\nimport {\n Component,\n Directive,\n DestroyRef,\n ElementRef,\n TemplateRef,\n afterNextRender,\n computed,\n contentChild,\n effect,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core'\nimport { router, type ReloadOptions } from '@inertiajs/core'\nimport { get } from 'es-toolkit/compat'\nimport { usePage } from './runtime'\n\nexport interface WhenVisibleTemplateContext {\n fetching: boolean\n}\n\n@Directive({ selector: 'ng-template[inertiaWhenVisibleContent]' })\nexport class WhenVisibleContent {\n readonly template = inject<TemplateRef<WhenVisibleTemplateContext>>(TemplateRef)\n}\n\n@Directive({ selector: 'ng-template[inertiaWhenVisibleFallback]' })\nexport class WhenVisibleFallback {\n readonly template = inject<TemplateRef<unknown>>(TemplateRef)\n}\n\n@Component({\n selector: 'inertia-when-visible',\n imports: [NgTemplateOutlet],\n template: `\n @if (always() || !loaded()) {\n <div #sentinel></div>\n }\n @if (loaded()) {\n <ng-container [ngTemplateOutlet]=\"content()?.template ?? null\" [ngTemplateOutletContext]=\"context()\" />\n } @else {\n <ng-container [ngTemplateOutlet]=\"fallback()?.template ?? null\" />\n }\n `,\n})\nexport class WhenVisible {\n readonly #destroyRef = inject(DestroyRef)\n readonly #page = usePage()\n // Observed on its own empty element, never on a wrapper around the loaded content, so the\n // geometry that triggers a reload stays the same before and after loading. This matches the\n // sentinel node the React and Vue adapters render.\n private readonly sentinel = viewChild<ElementRef<HTMLElement>>('sentinel')\n #observer: IntersectionObserver | null = null\n readonly #fetching = signal(false)\n readonly #loadedByRequest = signal(false)\n\n readonly data = input<string | string[] | undefined>(undefined)\n readonly params = input<ReloadOptions>({})\n readonly buffer = input(0)\n readonly always = input(false)\n readonly content = contentChild(WhenVisibleContent)\n readonly fallback = contentChild(WhenVisibleFallback)\n readonly #keys = computed(() => {\n const data = this.data()\n return data ? (Array.isArray(data) ? data : [data]) : []\n })\n readonly loaded = computed(() => {\n const keys = this.#keys()\n return keys.length > 0\n ? keys.every((key) => get(this.#page().props, key) !== undefined) || this.#loadedByRequest()\n : this.#loadedByRequest()\n })\n readonly context = computed(() => ({ fetching: this.#fetching() }))\n\n constructor() {\n afterNextRender(() => this.#registerObserver())\n effect(() => {\n const keys = this.#keys()\n const props = this.#page().props\n if (keys.some((key) => get(props, key) === undefined)) {\n this.#loadedByRequest.set(false)\n }\n })\n effect(() => {\n this.always()\n this.buffer()\n this.loaded()\n queueMicrotask(() => this.#registerObserver())\n })\n this.#destroyRef.onDestroy(() => this.#observer?.disconnect())\n }\n\n #registerObserver(): void {\n const sentinel = this.sentinel()?.nativeElement\n if (!sentinel || (this.loaded() && !this.always()) || typeof IntersectionObserver === 'undefined') return\n this.#observer?.disconnect()\n this.#observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0]?.isIntersecting || this.#fetching() || (this.loaded() && !this.always())) return\n this.#fetching.set(true)\n const params: ReloadOptions = { preserveErrors: true, ...this.params() }\n const keys = this.#keys()\n if (keys.length > 0) params.only = keys\n router.reload({\n ...params,\n onStart: (visit) => {\n this.#fetching.set(true)\n params.onStart?.(visit)\n },\n onFinish: (visit) => {\n this.#fetching.set(false)\n params.onFinish?.(visit)\n queueMicrotask(() => {\n this.#loadedByRequest.set(true)\n if (!this.always()) this.#observer?.disconnect()\n })\n },\n })\n },\n { rootMargin: `${this.buffer()}px` },\n )\n this.#observer.observe(sentinel)\n }\n}\n","import {\n Directive,\n DestroyRef,\n ElementRef,\n afterNextRender,\n computed,\n effect,\n inject,\n input,\n signal,\n type Signal,\n} from '@angular/core'\nimport {\n getScrollableParent as getScrollableParentForElement,\n useInfiniteScroll as createInfiniteScroll,\n type InfiniteScrollActionSlotProps,\n type InfiniteScrollRef,\n type InfiniteScrollSlotProps,\n type ReloadOptions,\n type UseInfiniteScrollProps,\n} from '@inertiajs/core'\nimport { usePage } from './runtime'\n\ntype ElementTarget = HTMLElement | string | null\n\nfunction resolveElement(target: ElementTarget, fallback: HTMLElement): HTMLElement {\n return typeof target === 'string' ? (document.querySelector<HTMLElement>(target) ?? fallback) : (target ?? fallback)\n}\n\n@Directive({\n selector: '[inertiaInfiniteScroll]',\n exportAs: 'inertiaInfiniteScroll',\n})\nexport class InfiniteScroll implements InfiniteScrollRef {\n readonly #element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement\n readonly #destroyRef = inject(DestroyRef)\n readonly #page = usePage()\n readonly #instance = signal<UseInfiniteScrollProps | null>(null)\n readonly #requestCount = signal(0)\n readonly #loadingPrevious = signal(false)\n readonly #loadingNext = signal(false)\n readonly #hasPrevious = signal(false)\n readonly #hasNext = signal(false)\n #ownedStart: HTMLElement | null = null\n #ownedEnd: HTMLElement | null = null\n\n readonly data = input.required<string>({ alias: 'inertiaInfiniteScroll' })\n readonly buffer = input(0)\n readonly manual = input(false)\n readonly manualAfter = input(0)\n readonly preserveUrl = input(false)\n readonly reverse = input(false)\n readonly autoScroll = input<boolean | undefined>(undefined)\n readonly onlyNext = input(false)\n readonly onlyPrevious = input(false)\n readonly params = input<ReloadOptions>({})\n readonly startElement = input<ElementTarget>(null)\n readonly endElement = input<ElementTarget>(null)\n readonly itemsElement = input<ElementTarget>(null)\n\n readonly loadingPrevious = this.#loadingPrevious.asReadonly()\n readonly loadingNext = this.#loadingNext.asReadonly()\n readonly loading = computed(() => this.#loadingPrevious() || this.#loadingNext())\n readonly manualMode = computed(\n () => this.manual() || (this.manualAfter() > 0 && this.#requestCount() >= this.manualAfter()),\n )\n readonly hasPreviousPage = this.#hasPrevious.asReadonly()\n readonly hasNextPage = this.#hasNext.asReadonly()\n readonly slot: Signal<InfiniteScrollSlotProps> = computed(() => ({\n loading: this.loading(),\n loadingPrevious: this.#loadingPrevious(),\n loadingNext: this.#loadingNext(),\n }))\n readonly previous: Signal<InfiniteScrollActionSlotProps> = computed(() => ({\n loading: this.#loadingPrevious(),\n loadingPrevious: this.#loadingPrevious(),\n loadingNext: this.#loadingNext(),\n fetch: () => this.fetchPrevious(),\n autoMode: !this.manualMode() && !this.onlyNext(),\n manualMode: this.manualMode() || this.onlyNext(),\n hasMore: this.#hasPrevious(),\n hasPrevious: this.#hasPrevious(),\n hasNext: this.#hasNext(),\n }))\n readonly next: Signal<InfiniteScrollActionSlotProps> = computed(() => ({\n loading: this.#loadingNext(),\n loadingPrevious: this.#loadingPrevious(),\n loadingNext: this.#loadingNext(),\n fetch: () => this.fetchNext(),\n autoMode: !this.manualMode() && !this.onlyPrevious(),\n manualMode: this.manualMode() || this.onlyPrevious(),\n hasMore: this.#hasNext(),\n hasPrevious: this.#hasPrevious(),\n hasNext: this.#hasNext(),\n }))\n\n constructor() {\n effect(() => {\n if (this.#instance()) return\n const scrollProp = this.#page().scrollProps?.[this.data()]\n this.#hasPrevious.set(Boolean(scrollProp?.previousPage))\n this.#hasNext.set(Boolean(scrollProp?.nextPage))\n })\n afterNextRender(() => this.#setup())\n effect(() => {\n const instance = this.#instance()\n if (!instance) return\n if (this.manualMode()) instance.elementManager.disableTriggers()\n else instance.elementManager.enableTriggers()\n })\n this.#destroyRef.onDestroy(() => {\n this.#instance()?.flush()\n this.#ownedStart?.remove()\n this.#ownedEnd?.remove()\n })\n }\n\n fetchNext(options?: ReloadOptions): void {\n this.#instance()?.dataManager.fetchNext(options)\n }\n\n fetchPrevious(options?: ReloadOptions): void {\n this.#instance()?.dataManager.fetchPrevious(options)\n }\n\n hasPrevious(): boolean {\n return this.#instance()?.dataManager.hasPrevious() ?? false\n }\n\n hasNext(): boolean {\n return this.#instance()?.dataManager.hasNext() ?? false\n }\n\n #setup(): void {\n if (typeof document === 'undefined') return\n const getItemsElement = () => resolveElement(this.itemsElement(), this.#element)\n const getStartElement = () =>\n this.startElement()\n ? resolveElement(this.startElement(), getItemsElement())\n : (this.#ownedStart ??= this.#createTrigger('start'))\n const getEndElement = () =>\n this.endElement()\n ? resolveElement(this.endElement(), getItemsElement())\n : (this.#ownedEnd ??= this.#createTrigger('end'))\n const getScrollableParent = () => getScrollableParentForElement(getItemsElement())\n getStartElement()\n getEndElement()\n const scrollableParent = getScrollableParent()\n const syncState = () => {\n const manager = instance.dataManager\n this.#requestCount.set(manager.getRequestCount())\n this.#hasPrevious.set(manager.hasPrevious())\n this.#hasNext.set(manager.hasNext())\n }\n const instance = createInfiniteScroll({\n getPropName: () => this.data(),\n inReverseMode: () => this.reverse(),\n shouldFetchNext: () => !this.onlyPrevious(),\n shouldFetchPrevious: () => !this.onlyNext(),\n shouldPreserveUrl: () => this.preserveUrl(),\n getReloadOptions: () => this.params(),\n getTriggerMargin: () => this.buffer(),\n getStartElement,\n getEndElement,\n getItemsElement,\n getScrollableParent,\n onBeforePreviousRequest: () => this.#loadingPrevious.set(true),\n onBeforeNextRequest: () => this.#loadingNext.set(true),\n onCompletePreviousRequest: ({ completed }) => {\n this.#loadingPrevious.set(false)\n if (completed) syncState()\n },\n onCompleteNextRequest: ({ completed }) => {\n this.#loadingNext.set(false)\n if (completed) syncState()\n },\n onDataReset: syncState,\n })\n this.#instance.set(instance)\n syncState()\n instance.elementManager.setupObservers()\n instance.elementManager.processServerLoadedElements(instance.dataManager.getLastLoadedPage())\n if (!this.manualMode()) instance.elementManager.enableTriggers()\n\n const shouldScroll = this.autoScroll() ?? this.reverse()\n if (shouldScroll) {\n if (scrollableParent) scrollableParent.scrollTo({ top: scrollableParent.scrollHeight, behavior: 'instant' })\n else window.scrollTo({ top: document.body.scrollHeight, behavior: 'instant' })\n }\n }\n\n #createTrigger(position: 'start' | 'end'): HTMLElement {\n const trigger = document.createElement('div')\n trigger.dataset['inertiaInfiniteScrollTrigger'] = position\n if ((position === 'start') !== this.reverse()) this.#element.before(trigger)\n else this.#element.after(trigger)\n return trigger\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["coreConfig","http","httpModule","getScrollableParent","getScrollableParentForElement","createInfiniteScroll"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "inertia-angular",
3
+ "version": "3.7.1",
4
+ "license": "MIT",
5
+ "description": "Angular adapter for Inertia.js (community package)",
6
+ "author": "Gerard Porto <gporto@gmail.com>",
7
+ "keywords": [
8
+ "inertia",
9
+ "inertiajs",
10
+ "angular",
11
+ "laravel",
12
+ "adonisjs",
13
+ "ssr"
14
+ ],
15
+ "homepage": "https://github.com/gerardp/inertia-angular/tree/main/packages/angular",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/gerardp/inertia-angular.git",
19
+ "directory": "packages/angular"
20
+ },
21
+ "bugs": {
22
+ "url": "https://github.com/gerardp/inertia-angular/issues"
23
+ },
24
+ "type": "module",
25
+ "publishConfig": {
26
+ "directory": "dist",
27
+ "linkDirectory": true
28
+ },
29
+ "peerDependencies": {
30
+ "@angular/common": ">=22.1.0 <23.0.0",
31
+ "@angular/core": ">=22.1.0 <23.0.0",
32
+ "@angular/platform-browser": ">=22.1.0 <23.0.0",
33
+ "@angular/platform-server": ">=22.1.0 <23.0.0"
34
+ },
35
+ "peerDependenciesMeta": {
36
+ "@angular/platform-server": {
37
+ "optional": true
38
+ }
39
+ },
40
+ "dependencies": {
41
+ "@inertiajs/core": "^3.7.1",
42
+ "es-toolkit": "^1.33.0",
43
+ "laravel-precognition": "^2.0.0",
44
+ "tslib": "^2.8.1"
45
+ },
46
+ "sideEffects": false,
47
+ "module": "fesm2022/inertia-angular.mjs",
48
+ "typings": "types/inertia-angular.d.ts",
49
+ "exports": {
50
+ "./package.json": {
51
+ "default": "./package.json"
52
+ },
53
+ ".": {
54
+ "types": "./types/inertia-angular.d.ts",
55
+ "default": "./fesm2022/inertia-angular.mjs"
56
+ },
57
+ "./server": {
58
+ "types": "./types/inertia-angular-server.d.ts",
59
+ "default": "./fesm2022/inertia-angular-server.mjs"
60
+ }
61
+ }
62
+ }