@hotwired/turbo 7.2.5 → 8.0.0-beta.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.
- package/README.md +1 -1
- package/dist/turbo.es2017-esm.js +5511 -3380
- package/dist/turbo.es2017-umd.js +5885 -3745
- package/package.json +18 -21
- package/dist/types/core/bardo.d.ts +0 -18
- package/dist/types/core/cache.d.ts +0 -10
- package/dist/types/core/drive/error_renderer.d.ts +0 -10
- package/dist/types/core/drive/form_submission.d.ts +0 -68
- package/dist/types/core/drive/head_snapshot.d.ts +0 -21
- package/dist/types/core/drive/history.d.ts +0 -35
- package/dist/types/core/drive/navigator.d.ts +0 -35
- package/dist/types/core/drive/page_renderer.d.ts +0 -31
- package/dist/types/core/drive/page_snapshot.d.ts +0 -17
- package/dist/types/core/drive/page_view.d.ts +0 -23
- package/dist/types/core/drive/preloader.d.ts +0 -14
- package/dist/types/core/drive/progress_bar.d.ts +0 -25
- package/dist/types/core/drive/snapshot_cache.d.ts +0 -17
- package/dist/types/core/drive/visit.d.ts +0 -125
- package/dist/types/core/frames/frame_controller.d.ts +0 -96
- package/dist/types/core/frames/frame_redirector.d.ts +0 -19
- package/dist/types/core/frames/frame_renderer.d.ts +0 -17
- package/dist/types/core/frames/frame_view.d.ts +0 -8
- package/dist/types/core/frames/link_interceptor.d.ts +0 -16
- package/dist/types/core/index.d.ts +0 -28
- package/dist/types/core/native/adapter.d.ts +0 -17
- package/dist/types/core/native/browser_adapter.d.ts +0 -40
- package/dist/types/core/renderer.d.ts +0 -28
- package/dist/types/core/session.d.ts +0 -142
- package/dist/types/core/snapshot.d.ts +0 -16
- package/dist/types/core/streams/stream_actions.d.ts +0 -6
- package/dist/types/core/streams/stream_message.d.ts +0 -6
- package/dist/types/core/streams/stream_message_renderer.d.ts +0 -7
- package/dist/types/core/types.d.ts +0 -9
- package/dist/types/core/url.d.ts +0 -11
- package/dist/types/core/view.d.ts +0 -39
- package/dist/types/elements/frame_element.d.ts +0 -45
- package/dist/types/elements/index.d.ts +0 -3
- package/dist/types/elements/stream_element.d.ts +0 -27
- package/dist/types/elements/stream_source_element.d.ts +0 -7
- package/dist/types/http/fetch_request.d.ts +0 -67
- package/dist/types/http/fetch_response.d.ts +0 -16
- package/dist/types/http/index.d.ts +0 -1
- package/dist/types/index.d.ts +0 -6
- package/dist/types/observers/appearance_observer.d.ts +0 -13
- package/dist/types/observers/cache_observer.d.ts +0 -6
- package/dist/types/observers/form_link_click_observer.d.ts +0 -14
- package/dist/types/observers/form_submit_observer.d.ts +0 -14
- package/dist/types/observers/link_click_observer.d.ts +0 -17
- package/dist/types/observers/page_observer.d.ts +0 -24
- package/dist/types/observers/scroll_observer.d.ts +0 -13
- package/dist/types/observers/stream_observer.d.ts +0 -21
- package/dist/types/polyfills/custom-elements-native-shim.d.ts +0 -0
- package/dist/types/polyfills/index.d.ts +0 -3
- package/dist/types/polyfills/submit-event.d.ts +0 -1
- package/dist/types/script_warning.d.ts +0 -1
- package/dist/types/tests/functional/async_script_tests.d.ts +0 -1
- package/dist/types/tests/functional/autofocus_tests.d.ts +0 -1
- package/dist/types/tests/functional/cache_observer_tests.d.ts +0 -1
- package/dist/types/tests/functional/drive_disabled_tests.d.ts +0 -1
- package/dist/types/tests/functional/drive_tests.d.ts +0 -1
- package/dist/types/tests/functional/form_mode_tests.d.ts +0 -1
- package/dist/types/tests/functional/form_submission_tests.d.ts +0 -1
- package/dist/types/tests/functional/frame_navigation_tests.d.ts +0 -1
- package/dist/types/tests/functional/frame_tests.d.ts +0 -13
- package/dist/types/tests/functional/import_tests.d.ts +0 -1
- package/dist/types/tests/functional/loading_tests.d.ts +0 -6
- package/dist/types/tests/functional/navigation_tests.d.ts +0 -1
- package/dist/types/tests/functional/pausable_rendering_tests.d.ts +0 -1
- package/dist/types/tests/functional/pausable_requests_tests.d.ts +0 -1
- package/dist/types/tests/functional/preloader_tests.d.ts +0 -1
- package/dist/types/tests/functional/rendering_tests.d.ts +0 -7
- package/dist/types/tests/functional/scroll_restoration_tests.d.ts +0 -1
- package/dist/types/tests/functional/stream_tests.d.ts +0 -1
- package/dist/types/tests/functional/visit_tests.d.ts +0 -1
- package/dist/types/tests/helpers/dom_test_case.d.ts +0 -10
- package/dist/types/tests/helpers/intern_test_case.d.ts +0 -19
- package/dist/types/tests/helpers/page.d.ts +0 -60
- package/dist/types/tests/integration/ujs_tests.d.ts +0 -1
- package/dist/types/tests/server.d.ts +0 -1
- package/dist/types/tests/unit/deprecated_adapter_support_test.d.ts +0 -24
- package/dist/types/tests/unit/export_tests.d.ts +0 -5
- package/dist/types/tests/unit/index.d.ts +0 -3
- package/dist/types/tests/unit/stream_element_tests.d.ts +0 -13
- package/dist/types/util.d.ts +0 -27
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FrameElement } from "../../elements/frame_element";
|
|
2
|
-
import { Render, Renderer } from "../renderer";
|
|
3
|
-
import { Snapshot } from "../snapshot";
|
|
4
|
-
export interface FrameRendererDelegate {
|
|
5
|
-
willRenderFrame(currentElement: FrameElement, newElement: FrameElement): void;
|
|
6
|
-
}
|
|
7
|
-
export declare class FrameRenderer extends Renderer<FrameElement> {
|
|
8
|
-
private readonly delegate;
|
|
9
|
-
static renderElement(currentElement: FrameElement, newElement: FrameElement): void;
|
|
10
|
-
constructor(delegate: FrameRendererDelegate, currentSnapshot: Snapshot<FrameElement>, newSnapshot: Snapshot<FrameElement>, renderElement: Render<FrameElement>, isPreview: boolean, willRender?: boolean);
|
|
11
|
-
get shouldRender(): boolean;
|
|
12
|
-
render(): Promise<void>;
|
|
13
|
-
loadFrameElement(): void;
|
|
14
|
-
scrollFrameIntoView(): boolean;
|
|
15
|
-
activateScriptElements(): void;
|
|
16
|
-
get newScriptElements(): NodeListOf<HTMLScriptElement>;
|
|
17
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FrameElement } from "../../elements";
|
|
2
|
-
import { Snapshot } from "../snapshot";
|
|
3
|
-
import { View, ViewRenderOptions } from "../view";
|
|
4
|
-
export declare type FrameViewRenderOptions = ViewRenderOptions<FrameElement>;
|
|
5
|
-
export declare class FrameView extends View<FrameElement> {
|
|
6
|
-
invalidate(): void;
|
|
7
|
-
get snapshot(): Snapshot<FrameElement>;
|
|
8
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface LinkInterceptorDelegate {
|
|
2
|
-
shouldInterceptLinkClick(element: Element, url: string, originalEvent: MouseEvent): boolean;
|
|
3
|
-
linkClickIntercepted(element: Element, url: string, originalEvent: MouseEvent): void;
|
|
4
|
-
}
|
|
5
|
-
export declare class LinkInterceptor {
|
|
6
|
-
readonly delegate: LinkInterceptorDelegate;
|
|
7
|
-
readonly element: Element;
|
|
8
|
-
private clickEvent?;
|
|
9
|
-
constructor(delegate: LinkInterceptorDelegate, element: Element);
|
|
10
|
-
start(): void;
|
|
11
|
-
stop(): void;
|
|
12
|
-
clickBubbled: (event: Event) => void;
|
|
13
|
-
linkClicked: EventListener;
|
|
14
|
-
willVisit: EventListener;
|
|
15
|
-
respondsToEventTarget(target: EventTarget | null): boolean | null;
|
|
16
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Adapter } from "./native/adapter";
|
|
2
|
-
import { FormMode, Session } from "./session";
|
|
3
|
-
import { Cache } from "./cache";
|
|
4
|
-
import { Locatable } from "./url";
|
|
5
|
-
import { StreamMessage } from "./streams/stream_message";
|
|
6
|
-
import { StreamSource } from "./types";
|
|
7
|
-
import { VisitOptions } from "./drive/visit";
|
|
8
|
-
import { PageRenderer } from "./drive/page_renderer";
|
|
9
|
-
import { PageSnapshot } from "./drive/page_snapshot";
|
|
10
|
-
import { FrameRenderer } from "./frames/frame_renderer";
|
|
11
|
-
declare const session: Session;
|
|
12
|
-
declare const cache: Cache;
|
|
13
|
-
declare const navigator: import("./drive/navigator").Navigator;
|
|
14
|
-
export { navigator, session, cache, PageRenderer, PageSnapshot, FrameRenderer };
|
|
15
|
-
export { TurboBeforeCacheEvent, TurboBeforeRenderEvent, TurboBeforeVisitEvent, TurboClickEvent, TurboBeforeFrameRenderEvent, TurboFrameLoadEvent, TurboFrameRenderEvent, TurboLoadEvent, TurboRenderEvent, TurboVisitEvent, } from "./session";
|
|
16
|
-
export { TurboSubmitStartEvent, TurboSubmitEndEvent } from "./drive/form_submission";
|
|
17
|
-
export { TurboFrameMissingEvent } from "./frames/frame_controller";
|
|
18
|
-
export { StreamActions, TurboStreamAction, TurboStreamActions } from "./streams/stream_actions";
|
|
19
|
-
export declare function start(): void;
|
|
20
|
-
export declare function registerAdapter(adapter: Adapter): void;
|
|
21
|
-
export declare function visit(location: Locatable, options?: Partial<VisitOptions>): void;
|
|
22
|
-
export declare function connectStreamSource(source: StreamSource): void;
|
|
23
|
-
export declare function disconnectStreamSource(source: StreamSource): void;
|
|
24
|
-
export declare function renderStreamMessage(message: StreamMessage | string): void;
|
|
25
|
-
export declare function clearCache(): void;
|
|
26
|
-
export declare function setProgressBarDelay(delay: number): void;
|
|
27
|
-
export declare function setConfirmMethod(confirmMethod: (message: string, element: HTMLFormElement, submitter: HTMLElement | undefined) => Promise<boolean>): void;
|
|
28
|
-
export declare function setFormMode(mode: FormMode): void;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Visit, VisitOptions } from "../drive/visit";
|
|
2
|
-
import { FormSubmission } from "../drive/form_submission";
|
|
3
|
-
import { ReloadReason } from "./browser_adapter";
|
|
4
|
-
export interface Adapter {
|
|
5
|
-
visitProposedToLocation(location: URL, options?: Partial<VisitOptions>): void;
|
|
6
|
-
visitStarted(visit: Visit): void;
|
|
7
|
-
visitCompleted(visit: Visit): void;
|
|
8
|
-
visitFailed(visit: Visit): void;
|
|
9
|
-
visitRequestStarted(visit: Visit): void;
|
|
10
|
-
visitRequestCompleted(visit: Visit): void;
|
|
11
|
-
visitRequestFailedWithStatusCode(visit: Visit, statusCode: number): void;
|
|
12
|
-
visitRequestFinished(visit: Visit): void;
|
|
13
|
-
visitRendered(visit: Visit): void;
|
|
14
|
-
formSubmissionStarted?(formSubmission: FormSubmission): void;
|
|
15
|
-
formSubmissionFinished?(formSubmission: FormSubmission): void;
|
|
16
|
-
pageInvalidated(reason: ReloadReason): void;
|
|
17
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Adapter } from "./adapter";
|
|
2
|
-
import { ProgressBar } from "../drive/progress_bar";
|
|
3
|
-
import { Visit, VisitOptions } from "../drive/visit";
|
|
4
|
-
import { FormSubmission } from "../drive/form_submission";
|
|
5
|
-
import { Session } from "../session";
|
|
6
|
-
export declare type ReloadReason = StructuredReason | undefined;
|
|
7
|
-
interface StructuredReason {
|
|
8
|
-
reason: string;
|
|
9
|
-
context?: {
|
|
10
|
-
[key: string]: any;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export declare class BrowserAdapter implements Adapter {
|
|
14
|
-
readonly session: Session;
|
|
15
|
-
readonly progressBar: ProgressBar;
|
|
16
|
-
visitProgressBarTimeout?: number;
|
|
17
|
-
formProgressBarTimeout?: number;
|
|
18
|
-
location?: URL;
|
|
19
|
-
constructor(session: Session);
|
|
20
|
-
visitProposedToLocation(location: URL, options?: Partial<VisitOptions>): void;
|
|
21
|
-
visitStarted(visit: Visit): void;
|
|
22
|
-
visitRequestStarted(visit: Visit): void;
|
|
23
|
-
visitRequestCompleted(visit: Visit): void;
|
|
24
|
-
visitRequestFailedWithStatusCode(visit: Visit, statusCode: number): void;
|
|
25
|
-
visitRequestFinished(_visit: Visit): void;
|
|
26
|
-
visitCompleted(_visit: Visit): void;
|
|
27
|
-
pageInvalidated(reason: ReloadReason): void;
|
|
28
|
-
visitFailed(_visit: Visit): void;
|
|
29
|
-
visitRendered(_visit: Visit): void;
|
|
30
|
-
formSubmissionStarted(_formSubmission: FormSubmission): void;
|
|
31
|
-
formSubmissionFinished(_formSubmission: FormSubmission): void;
|
|
32
|
-
showVisitProgressBarAfterDelay(): void;
|
|
33
|
-
hideVisitProgressBar(): void;
|
|
34
|
-
showFormProgressBarAfterDelay(): void;
|
|
35
|
-
hideFormProgressBar(): void;
|
|
36
|
-
showProgressBar: () => void;
|
|
37
|
-
reload(reason: ReloadReason): void;
|
|
38
|
-
get navigator(): import("../drive/navigator").Navigator;
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { BardoDelegate } from "./bardo";
|
|
2
|
-
import { Snapshot } from "./snapshot";
|
|
3
|
-
import { ReloadReason } from "./native/browser_adapter";
|
|
4
|
-
export declare type Render<E> = (currentElement: E, newElement: E) => void;
|
|
5
|
-
export declare abstract class Renderer<E extends Element, S extends Snapshot<E> = Snapshot<E>> implements BardoDelegate {
|
|
6
|
-
readonly currentSnapshot: S;
|
|
7
|
-
readonly newSnapshot: S;
|
|
8
|
-
readonly isPreview: boolean;
|
|
9
|
-
readonly willRender: boolean;
|
|
10
|
-
readonly promise: Promise<void>;
|
|
11
|
-
renderElement: Render<E>;
|
|
12
|
-
private resolvingFunctions?;
|
|
13
|
-
private activeElement;
|
|
14
|
-
constructor(currentSnapshot: S, newSnapshot: S, renderElement: Render<E>, isPreview: boolean, willRender?: boolean);
|
|
15
|
-
get shouldRender(): boolean;
|
|
16
|
-
get reloadReason(): ReloadReason;
|
|
17
|
-
prepareToRender(): void;
|
|
18
|
-
abstract render(): Promise<void>;
|
|
19
|
-
finishRendering(): void;
|
|
20
|
-
preservingPermanentElements(callback: () => void): Promise<void>;
|
|
21
|
-
focusFirstAutofocusableElement(): void;
|
|
22
|
-
enteringBardo(currentPermanentElement: Element): void;
|
|
23
|
-
leavingBardo(currentPermanentElement: Element): void;
|
|
24
|
-
get connectedSnapshot(): S;
|
|
25
|
-
get currentElement(): E;
|
|
26
|
-
get newElement(): E;
|
|
27
|
-
get permanentElementMap(): import("./snapshot").PermanentElementMap;
|
|
28
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { Adapter } from "./native/adapter";
|
|
2
|
-
import { ReloadReason } from "./native/browser_adapter";
|
|
3
|
-
import { CacheObserver } from "../observers/cache_observer";
|
|
4
|
-
import { FormSubmitObserver, FormSubmitObserverDelegate } from "../observers/form_submit_observer";
|
|
5
|
-
import { FrameRedirector } from "./frames/frame_redirector";
|
|
6
|
-
import { History, HistoryDelegate } from "./drive/history";
|
|
7
|
-
import { LinkClickObserver, LinkClickObserverDelegate } from "../observers/link_click_observer";
|
|
8
|
-
import { FormLinkClickObserver, FormLinkClickObserverDelegate } from "../observers/form_link_click_observer";
|
|
9
|
-
import { Locatable } from "./url";
|
|
10
|
-
import { Navigator, NavigatorDelegate } from "./drive/navigator";
|
|
11
|
-
import { PageObserver, PageObserverDelegate } from "../observers/page_observer";
|
|
12
|
-
import { ScrollObserver } from "../observers/scroll_observer";
|
|
13
|
-
import { StreamMessage } from "./streams/stream_message";
|
|
14
|
-
import { StreamMessageRenderer } from "./streams/stream_message_renderer";
|
|
15
|
-
import { StreamObserver } from "../observers/stream_observer";
|
|
16
|
-
import { Action, Position, StreamSource } from "./types";
|
|
17
|
-
import { PageView, PageViewDelegate, PageViewRenderOptions } from "./drive/page_view";
|
|
18
|
-
import { Visit, VisitOptions } from "./drive/visit";
|
|
19
|
-
import { PageSnapshot } from "./drive/page_snapshot";
|
|
20
|
-
import { FrameElement } from "../elements/frame_element";
|
|
21
|
-
import { FrameViewRenderOptions } from "./frames/frame_view";
|
|
22
|
-
import { FetchResponse } from "../http/fetch_response";
|
|
23
|
-
import { Preloader, PreloaderDelegate } from "./drive/preloader";
|
|
24
|
-
export declare type FormMode = "on" | "off" | "optin";
|
|
25
|
-
export declare type TimingData = unknown;
|
|
26
|
-
export declare type TurboBeforeCacheEvent = CustomEvent;
|
|
27
|
-
export declare type TurboBeforeRenderEvent = CustomEvent<{
|
|
28
|
-
newBody: HTMLBodyElement;
|
|
29
|
-
} & PageViewRenderOptions>;
|
|
30
|
-
export declare type TurboBeforeVisitEvent = CustomEvent<{
|
|
31
|
-
url: string;
|
|
32
|
-
}>;
|
|
33
|
-
export declare type TurboClickEvent = CustomEvent<{
|
|
34
|
-
url: string;
|
|
35
|
-
originalEvent: MouseEvent;
|
|
36
|
-
}>;
|
|
37
|
-
export declare type TurboFrameLoadEvent = CustomEvent;
|
|
38
|
-
export declare type TurboBeforeFrameRenderEvent = CustomEvent<{
|
|
39
|
-
newFrame: FrameElement;
|
|
40
|
-
} & FrameViewRenderOptions>;
|
|
41
|
-
export declare type TurboFrameRenderEvent = CustomEvent<{
|
|
42
|
-
fetchResponse: FetchResponse;
|
|
43
|
-
}>;
|
|
44
|
-
export declare type TurboLoadEvent = CustomEvent<{
|
|
45
|
-
url: string;
|
|
46
|
-
timing: TimingData;
|
|
47
|
-
}>;
|
|
48
|
-
export declare type TurboRenderEvent = CustomEvent;
|
|
49
|
-
export declare type TurboVisitEvent = CustomEvent<{
|
|
50
|
-
url: string;
|
|
51
|
-
action: Action;
|
|
52
|
-
}>;
|
|
53
|
-
export declare class Session implements FormSubmitObserverDelegate, HistoryDelegate, FormLinkClickObserverDelegate, LinkClickObserverDelegate, NavigatorDelegate, PageObserverDelegate, PageViewDelegate, PreloaderDelegate {
|
|
54
|
-
readonly navigator: Navigator;
|
|
55
|
-
readonly history: History;
|
|
56
|
-
readonly preloader: Preloader;
|
|
57
|
-
readonly view: PageView;
|
|
58
|
-
adapter: Adapter;
|
|
59
|
-
readonly pageObserver: PageObserver;
|
|
60
|
-
readonly cacheObserver: CacheObserver;
|
|
61
|
-
readonly linkClickObserver: LinkClickObserver;
|
|
62
|
-
readonly formSubmitObserver: FormSubmitObserver;
|
|
63
|
-
readonly scrollObserver: ScrollObserver;
|
|
64
|
-
readonly streamObserver: StreamObserver;
|
|
65
|
-
readonly formLinkClickObserver: FormLinkClickObserver;
|
|
66
|
-
readonly frameRedirector: FrameRedirector;
|
|
67
|
-
readonly streamMessageRenderer: StreamMessageRenderer;
|
|
68
|
-
drive: boolean;
|
|
69
|
-
enabled: boolean;
|
|
70
|
-
progressBarDelay: number;
|
|
71
|
-
started: boolean;
|
|
72
|
-
formMode: FormMode;
|
|
73
|
-
start(): void;
|
|
74
|
-
disable(): void;
|
|
75
|
-
stop(): void;
|
|
76
|
-
registerAdapter(adapter: Adapter): void;
|
|
77
|
-
visit(location: Locatable, options?: Partial<VisitOptions>): void;
|
|
78
|
-
connectStreamSource(source: StreamSource): void;
|
|
79
|
-
disconnectStreamSource(source: StreamSource): void;
|
|
80
|
-
renderStreamMessage(message: StreamMessage | string): void;
|
|
81
|
-
clearCache(): void;
|
|
82
|
-
setProgressBarDelay(delay: number): void;
|
|
83
|
-
setFormMode(mode: FormMode): void;
|
|
84
|
-
get location(): URL;
|
|
85
|
-
get restorationIdentifier(): string;
|
|
86
|
-
historyPoppedToLocationWithRestorationIdentifier(location: URL, restorationIdentifier: string): void;
|
|
87
|
-
scrollPositionChanged(position: Position): void;
|
|
88
|
-
willSubmitFormLinkToLocation(link: Element, location: URL): boolean;
|
|
89
|
-
submittedFormLinkToLocation(): void;
|
|
90
|
-
willFollowLinkToLocation(link: Element, location: URL, event: MouseEvent): boolean;
|
|
91
|
-
followedLinkToLocation(link: Element, location: URL): void;
|
|
92
|
-
allowsVisitingLocationWithAction(location: URL, action?: Action): boolean;
|
|
93
|
-
visitProposedToLocation(location: URL, options: Partial<VisitOptions>): void;
|
|
94
|
-
visitStarted(visit: Visit): void;
|
|
95
|
-
visitCompleted(visit: Visit): void;
|
|
96
|
-
locationWithActionIsSamePage(location: URL, action?: Action): boolean;
|
|
97
|
-
visitScrolledToSamePageLocation(oldURL: URL, newURL: URL): void;
|
|
98
|
-
willSubmitForm(form: HTMLFormElement, submitter?: HTMLElement): boolean;
|
|
99
|
-
formSubmitted(form: HTMLFormElement, submitter?: HTMLElement): void;
|
|
100
|
-
pageBecameInteractive(): void;
|
|
101
|
-
pageLoaded(): void;
|
|
102
|
-
pageWillUnload(): void;
|
|
103
|
-
receivedMessageFromStream(message: StreamMessage): void;
|
|
104
|
-
viewWillCacheSnapshot(): void;
|
|
105
|
-
allowsImmediateRender({ element }: PageSnapshot, options: PageViewRenderOptions): boolean;
|
|
106
|
-
viewRenderedSnapshot(_snapshot: PageSnapshot, _isPreview: boolean): void;
|
|
107
|
-
preloadOnLoadLinksForView(element: Element): void;
|
|
108
|
-
viewInvalidated(reason: ReloadReason): void;
|
|
109
|
-
frameLoaded(frame: FrameElement): void;
|
|
110
|
-
frameRendered(fetchResponse: FetchResponse, frame: FrameElement): void;
|
|
111
|
-
applicationAllowsFollowingLinkToLocation(link: Element, location: URL, ev: MouseEvent): boolean;
|
|
112
|
-
applicationAllowsVisitingLocation(location: URL): boolean;
|
|
113
|
-
notifyApplicationAfterClickingLinkToLocation(link: Element, location: URL, event: MouseEvent): CustomEvent<{
|
|
114
|
-
url: string;
|
|
115
|
-
originalEvent: MouseEvent;
|
|
116
|
-
}>;
|
|
117
|
-
notifyApplicationBeforeVisitingLocation(location: URL): CustomEvent<{
|
|
118
|
-
url: string;
|
|
119
|
-
}>;
|
|
120
|
-
notifyApplicationAfterVisitingLocation(location: URL, action: Action): CustomEvent<{
|
|
121
|
-
url: string;
|
|
122
|
-
action: Action;
|
|
123
|
-
}>;
|
|
124
|
-
notifyApplicationBeforeCachingSnapshot(): CustomEvent<any>;
|
|
125
|
-
notifyApplicationBeforeRender(newBody: HTMLBodyElement, options: PageViewRenderOptions): CustomEvent<{
|
|
126
|
-
newBody: HTMLBodyElement;
|
|
127
|
-
} & PageViewRenderOptions>;
|
|
128
|
-
notifyApplicationAfterRender(): CustomEvent<any>;
|
|
129
|
-
notifyApplicationAfterPageLoad(timing?: TimingData): CustomEvent<{
|
|
130
|
-
url: string;
|
|
131
|
-
timing: unknown;
|
|
132
|
-
}>;
|
|
133
|
-
notifyApplicationAfterVisitingSamePageLocation(oldURL: URL, newURL: URL): void;
|
|
134
|
-
notifyApplicationAfterFrameLoad(frame: FrameElement): CustomEvent<any>;
|
|
135
|
-
notifyApplicationAfterFrameRender(fetchResponse: FetchResponse, frame: FrameElement): CustomEvent<{
|
|
136
|
-
fetchResponse: FetchResponse;
|
|
137
|
-
}>;
|
|
138
|
-
submissionIsNavigatable(form: HTMLFormElement, submitter?: HTMLElement): boolean;
|
|
139
|
-
elementIsNavigatable(element: Element): boolean;
|
|
140
|
-
getActionForLink(link: Element): Action;
|
|
141
|
-
get snapshot(): PageSnapshot;
|
|
142
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare class Snapshot<E extends Element = Element> {
|
|
2
|
-
readonly element: E;
|
|
3
|
-
constructor(element: E);
|
|
4
|
-
get activeElement(): Element | null;
|
|
5
|
-
get children(): Element[];
|
|
6
|
-
hasAnchor(anchor: string | undefined): boolean;
|
|
7
|
-
getElementForAnchor(anchor: string | undefined): Element | null;
|
|
8
|
-
get isConnected(): boolean;
|
|
9
|
-
get firstAutofocusableElement(): Element | null;
|
|
10
|
-
get permanentElements(): NodeListOf<Element>;
|
|
11
|
-
getPermanentElementById(id: string): Element | null;
|
|
12
|
-
getPermanentElementMapForSnapshot(snapshot: Snapshot): PermanentElementMap;
|
|
13
|
-
}
|
|
14
|
-
export declare function getPermanentElementById(node: ParentNode, id: string): Element | null;
|
|
15
|
-
export declare function queryPermanentElementsAll(node: ParentNode): NodeListOf<Element>;
|
|
16
|
-
export declare type PermanentElementMap = Record<string, [Element, Element]>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { StreamElement } from "../../elements/stream_element";
|
|
2
|
-
export declare type TurboStreamAction = (this: StreamElement) => void;
|
|
3
|
-
export declare type TurboStreamActions = {
|
|
4
|
-
[action: string]: TurboStreamAction;
|
|
5
|
-
};
|
|
6
|
-
export declare const StreamActions: TurboStreamActions;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { StreamMessage } from "./stream_message";
|
|
2
|
-
import { BardoDelegate } from "../bardo";
|
|
3
|
-
export declare class StreamMessageRenderer implements BardoDelegate {
|
|
4
|
-
render({ fragment }: StreamMessage): void;
|
|
5
|
-
enteringBardo(currentPermanentElement: Element, newPermanentElement: Element): void;
|
|
6
|
-
leavingBardo(): void;
|
|
7
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare type Action = "advance" | "replace" | "restore";
|
|
2
|
-
export declare type Position = {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
};
|
|
6
|
-
export declare type StreamSource = {
|
|
7
|
-
addEventListener(type: "message", listener: (event: MessageEvent) => void, options?: boolean | AddEventListenerOptions): void;
|
|
8
|
-
removeEventListener(type: "message", listener: (event: MessageEvent) => void, options?: boolean | EventListenerOptions): void;
|
|
9
|
-
};
|
package/dist/types/core/url.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare type Locatable = URL | string;
|
|
2
|
-
export declare function expandURL(locatable: Locatable): URL;
|
|
3
|
-
export declare function getAnchor(url: URL): string | undefined;
|
|
4
|
-
export declare function getAction(form: HTMLFormElement, submitter?: HTMLElement): URL;
|
|
5
|
-
export declare function getExtension(url: URL): string;
|
|
6
|
-
export declare function isHTML(url: URL): boolean;
|
|
7
|
-
export declare function isPrefixedBy(baseURL: URL, url: URL): boolean;
|
|
8
|
-
export declare function locationIsVisitable(location: URL, rootLocation: URL): boolean;
|
|
9
|
-
export declare function getRequestURL(url: URL): string;
|
|
10
|
-
export declare function toCacheKey(url: URL): string;
|
|
11
|
-
export declare function urlsAreEqual(left: string, right: string): boolean;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ReloadReason } from "./native/browser_adapter";
|
|
2
|
-
import { Renderer, Render } from "./renderer";
|
|
3
|
-
import { Snapshot } from "./snapshot";
|
|
4
|
-
import { Position } from "./types";
|
|
5
|
-
export interface ViewRenderOptions<E> {
|
|
6
|
-
resume: (value: any) => void;
|
|
7
|
-
render: Render<E>;
|
|
8
|
-
}
|
|
9
|
-
export interface ViewDelegate<E extends Element, S extends Snapshot<E>> {
|
|
10
|
-
allowsImmediateRender(snapshot: S, options: ViewRenderOptions<E>): boolean;
|
|
11
|
-
preloadOnLoadLinksForView(element: Element): void;
|
|
12
|
-
viewRenderedSnapshot(snapshot: S, isPreview: boolean): void;
|
|
13
|
-
viewInvalidated(reason: ReloadReason): void;
|
|
14
|
-
}
|
|
15
|
-
export declare abstract class View<E extends Element, S extends Snapshot<E> = Snapshot<E>, R extends Renderer<E, S> = Renderer<E, S>, D extends ViewDelegate<E, S> = ViewDelegate<E, S>> {
|
|
16
|
-
readonly delegate: D;
|
|
17
|
-
readonly element: E;
|
|
18
|
-
renderer?: R;
|
|
19
|
-
abstract readonly snapshot: S;
|
|
20
|
-
renderPromise?: Promise<void>;
|
|
21
|
-
private resolveRenderPromise;
|
|
22
|
-
private resolveInterceptionPromise;
|
|
23
|
-
constructor(delegate: D, element: E);
|
|
24
|
-
scrollToAnchor(anchor: string | undefined): void;
|
|
25
|
-
scrollToAnchorFromLocation(location: URL): void;
|
|
26
|
-
scrollToElement(element: Element): void;
|
|
27
|
-
focusElement(element: Element): void;
|
|
28
|
-
scrollToPosition({ x, y }: Position): void;
|
|
29
|
-
scrollToTop(): void;
|
|
30
|
-
get scrollRoot(): {
|
|
31
|
-
scrollTo(x: number, y: number): void;
|
|
32
|
-
};
|
|
33
|
-
render(renderer: R): Promise<void>;
|
|
34
|
-
invalidate(reason: ReloadReason): void;
|
|
35
|
-
prepareToRenderSnapshot(renderer: R): Promise<void>;
|
|
36
|
-
markAsPreview(isPreview: boolean): void;
|
|
37
|
-
renderSnapshot(renderer: R): Promise<void>;
|
|
38
|
-
finishRenderingSnapshot(renderer: R): void;
|
|
39
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { FetchResponse } from "../http/fetch_response";
|
|
2
|
-
import { Snapshot } from "../core/snapshot";
|
|
3
|
-
import { LinkInterceptorDelegate } from "../core/frames/link_interceptor";
|
|
4
|
-
import { FormSubmitObserverDelegate } from "../observers/form_submit_observer";
|
|
5
|
-
export declare enum FrameLoadingStyle {
|
|
6
|
-
eager = "eager",
|
|
7
|
-
lazy = "lazy"
|
|
8
|
-
}
|
|
9
|
-
export declare type FrameElementObservedAttribute = keyof FrameElement & ("disabled" | "complete" | "loading" | "src");
|
|
10
|
-
export interface FrameElementDelegate extends LinkInterceptorDelegate, FormSubmitObserverDelegate {
|
|
11
|
-
connect(): void;
|
|
12
|
-
disconnect(): void;
|
|
13
|
-
completeChanged(): void;
|
|
14
|
-
loadingStyleChanged(): void;
|
|
15
|
-
sourceURLChanged(): void;
|
|
16
|
-
sourceURLReloaded(): Promise<void>;
|
|
17
|
-
disabledChanged(): void;
|
|
18
|
-
loadResponse(response: FetchResponse): void;
|
|
19
|
-
proposeVisitIfNavigatedWithAction(frame: FrameElement, element: Element, submitter?: HTMLElement): void;
|
|
20
|
-
fetchResponseLoaded: (fetchResponse: FetchResponse) => void;
|
|
21
|
-
visitCachedSnapshot: (snapshot: Snapshot) => void;
|
|
22
|
-
isLoading: boolean;
|
|
23
|
-
}
|
|
24
|
-
export declare class FrameElement extends HTMLElement {
|
|
25
|
-
static delegateConstructor: new (element: FrameElement) => FrameElementDelegate;
|
|
26
|
-
loaded: Promise<void>;
|
|
27
|
-
readonly delegate: FrameElementDelegate;
|
|
28
|
-
static get observedAttributes(): FrameElementObservedAttribute[];
|
|
29
|
-
constructor();
|
|
30
|
-
connectedCallback(): void;
|
|
31
|
-
disconnectedCallback(): void;
|
|
32
|
-
reload(): Promise<void>;
|
|
33
|
-
attributeChangedCallback(name: string): void;
|
|
34
|
-
get src(): string | null;
|
|
35
|
-
set src(value: string | null);
|
|
36
|
-
get loading(): FrameLoadingStyle;
|
|
37
|
-
set loading(value: FrameLoadingStyle);
|
|
38
|
-
get disabled(): boolean;
|
|
39
|
-
set disabled(value: boolean);
|
|
40
|
-
get autoscroll(): boolean;
|
|
41
|
-
set autoscroll(value: boolean);
|
|
42
|
-
get complete(): boolean;
|
|
43
|
-
get isActive(): boolean;
|
|
44
|
-
get isPreview(): boolean;
|
|
45
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
declare type Render = (currentElement: StreamElement) => Promise<void>;
|
|
2
|
-
export declare type TurboBeforeStreamRenderEvent = CustomEvent<{
|
|
3
|
-
newStream: StreamElement;
|
|
4
|
-
render: Render;
|
|
5
|
-
}>;
|
|
6
|
-
export declare class StreamElement extends HTMLElement {
|
|
7
|
-
static renderElement(newElement: StreamElement): Promise<void>;
|
|
8
|
-
connectedCallback(): Promise<void>;
|
|
9
|
-
private renderPromise?;
|
|
10
|
-
render(): Promise<void>;
|
|
11
|
-
disconnect(): void;
|
|
12
|
-
removeDuplicateTargetChildren(): void;
|
|
13
|
-
get duplicateChildren(): any[];
|
|
14
|
-
get performAction(): import("../core/streams/stream_actions").TurboStreamAction;
|
|
15
|
-
get targetElements(): any[];
|
|
16
|
-
get templateContent(): DocumentFragment;
|
|
17
|
-
get templateElement(): HTMLTemplateElement;
|
|
18
|
-
get action(): string | null;
|
|
19
|
-
get target(): string | null;
|
|
20
|
-
get targets(): string | null;
|
|
21
|
-
private raise;
|
|
22
|
-
private get description();
|
|
23
|
-
private get beforeRenderEvent();
|
|
24
|
-
private get targetElementsById();
|
|
25
|
-
private get targetElementsByQuery();
|
|
26
|
-
}
|
|
27
|
-
export {};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { FetchResponse } from "./fetch_response";
|
|
2
|
-
import { FrameElement } from "../elements/frame_element";
|
|
3
|
-
export declare type TurboBeforeFetchRequestEvent = CustomEvent<{
|
|
4
|
-
fetchOptions: RequestInit;
|
|
5
|
-
url: URL;
|
|
6
|
-
resume: (value: any) => void;
|
|
7
|
-
}>;
|
|
8
|
-
export declare type TurboBeforeFetchResponseEvent = CustomEvent<{
|
|
9
|
-
fetchResponse: FetchResponse;
|
|
10
|
-
}>;
|
|
11
|
-
export declare type TurboFetchRequestErrorEvent = CustomEvent<{
|
|
12
|
-
request: FetchRequest;
|
|
13
|
-
error: Error;
|
|
14
|
-
}>;
|
|
15
|
-
export interface FetchRequestDelegate {
|
|
16
|
-
referrer?: URL;
|
|
17
|
-
prepareRequest(request: FetchRequest): void;
|
|
18
|
-
requestStarted(request: FetchRequest): void;
|
|
19
|
-
requestPreventedHandlingResponse(request: FetchRequest, response: FetchResponse): void;
|
|
20
|
-
requestSucceededWithResponse(request: FetchRequest, response: FetchResponse): void;
|
|
21
|
-
requestFailedWithResponse(request: FetchRequest, response: FetchResponse): void;
|
|
22
|
-
requestErrored(request: FetchRequest, error: Error): void;
|
|
23
|
-
requestFinished(request: FetchRequest): void;
|
|
24
|
-
}
|
|
25
|
-
export declare enum FetchMethod {
|
|
26
|
-
get = 0,
|
|
27
|
-
post = 1,
|
|
28
|
-
put = 2,
|
|
29
|
-
patch = 3,
|
|
30
|
-
delete = 4
|
|
31
|
-
}
|
|
32
|
-
export declare function fetchMethodFromString(method: string): FetchMethod | undefined;
|
|
33
|
-
export declare type FetchRequestBody = FormData | URLSearchParams;
|
|
34
|
-
export declare type FetchRequestHeaders = {
|
|
35
|
-
[header: string]: string;
|
|
36
|
-
};
|
|
37
|
-
export interface FetchRequestOptions {
|
|
38
|
-
headers: FetchRequestHeaders;
|
|
39
|
-
body: FetchRequestBody;
|
|
40
|
-
followRedirects: boolean;
|
|
41
|
-
}
|
|
42
|
-
export declare class FetchRequest {
|
|
43
|
-
readonly delegate: FetchRequestDelegate;
|
|
44
|
-
readonly method: FetchMethod;
|
|
45
|
-
readonly headers: FetchRequestHeaders;
|
|
46
|
-
readonly url: URL;
|
|
47
|
-
readonly body?: FetchRequestBody;
|
|
48
|
-
readonly target?: FrameElement | HTMLFormElement | null;
|
|
49
|
-
readonly abortController: AbortController;
|
|
50
|
-
private resolveRequestPromise;
|
|
51
|
-
constructor(delegate: FetchRequestDelegate, method: FetchMethod, location: URL, body?: FetchRequestBody, target?: FrameElement | HTMLFormElement | null);
|
|
52
|
-
get location(): URL;
|
|
53
|
-
get params(): URLSearchParams;
|
|
54
|
-
get entries(): [string, FormDataEntryValue][];
|
|
55
|
-
cancel(): void;
|
|
56
|
-
perform(): Promise<FetchResponse | void>;
|
|
57
|
-
receive(response: Response): Promise<FetchResponse>;
|
|
58
|
-
get fetchOptions(): RequestInit;
|
|
59
|
-
get defaultHeaders(): {
|
|
60
|
-
Accept: string;
|
|
61
|
-
};
|
|
62
|
-
get isIdempotent(): boolean;
|
|
63
|
-
get abortSignal(): AbortSignal;
|
|
64
|
-
acceptResponseType(mimeType: string): void;
|
|
65
|
-
private allowRequestToBeIntercepted;
|
|
66
|
-
private willDelegateErrorHandling;
|
|
67
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare class FetchResponse {
|
|
2
|
-
readonly response: Response;
|
|
3
|
-
constructor(response: Response);
|
|
4
|
-
get succeeded(): boolean;
|
|
5
|
-
get failed(): boolean;
|
|
6
|
-
get clientError(): boolean;
|
|
7
|
-
get serverError(): boolean;
|
|
8
|
-
get redirected(): boolean;
|
|
9
|
-
get location(): URL;
|
|
10
|
-
get isHTML(): "" | RegExpMatchArray | null;
|
|
11
|
-
get statusCode(): number;
|
|
12
|
-
get contentType(): string | null;
|
|
13
|
-
get responseText(): Promise<string>;
|
|
14
|
-
get responseHTML(): Promise<string | undefined>;
|
|
15
|
-
header(name: string): string | null;
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TurboBeforeFetchRequestEvent, TurboBeforeFetchResponseEvent, TurboFetchRequestErrorEvent, } from "./fetch_request";
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface AppearanceObserverDelegate<T extends Element> {
|
|
2
|
-
elementAppearedInViewport(element: T): void;
|
|
3
|
-
}
|
|
4
|
-
export declare class AppearanceObserver<T extends Element> {
|
|
5
|
-
readonly delegate: AppearanceObserverDelegate<T>;
|
|
6
|
-
readonly element: T;
|
|
7
|
-
readonly intersectionObserver: IntersectionObserver;
|
|
8
|
-
started: boolean;
|
|
9
|
-
constructor(delegate: AppearanceObserverDelegate<T>, element: T);
|
|
10
|
-
start(): void;
|
|
11
|
-
stop(): void;
|
|
12
|
-
intersect: IntersectionObserverCallback;
|
|
13
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LinkClickObserver, LinkClickObserverDelegate } from "./link_click_observer";
|
|
2
|
-
export declare type FormLinkClickObserverDelegate = {
|
|
3
|
-
willSubmitFormLinkToLocation(link: Element, location: URL, event: MouseEvent): boolean;
|
|
4
|
-
submittedFormLinkToLocation(link: Element, location: URL, form: HTMLFormElement): void;
|
|
5
|
-
};
|
|
6
|
-
export declare class FormLinkClickObserver implements LinkClickObserverDelegate {
|
|
7
|
-
readonly linkInterceptor: LinkClickObserver;
|
|
8
|
-
readonly delegate: FormLinkClickObserverDelegate;
|
|
9
|
-
constructor(delegate: FormLinkClickObserverDelegate, element: HTMLElement);
|
|
10
|
-
start(): void;
|
|
11
|
-
stop(): void;
|
|
12
|
-
willFollowLinkToLocation(link: Element, location: URL, originalEvent: MouseEvent): boolean;
|
|
13
|
-
followedLinkToLocation(link: Element, location: URL): void;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface FormSubmitObserverDelegate {
|
|
2
|
-
willSubmitForm(form: HTMLFormElement, submitter?: HTMLElement): boolean;
|
|
3
|
-
formSubmitted(form: HTMLFormElement, submitter?: HTMLElement): void;
|
|
4
|
-
}
|
|
5
|
-
export declare class FormSubmitObserver {
|
|
6
|
-
readonly delegate: FormSubmitObserverDelegate;
|
|
7
|
-
readonly eventTarget: EventTarget;
|
|
8
|
-
started: boolean;
|
|
9
|
-
constructor(delegate: FormSubmitObserverDelegate, eventTarget: EventTarget);
|
|
10
|
-
start(): void;
|
|
11
|
-
stop(): void;
|
|
12
|
-
submitCaptured: () => void;
|
|
13
|
-
submitBubbled: EventListener;
|
|
14
|
-
}
|