Skip to content

Commit ba5d8ae

Browse files
committed
Upgrade to the 2.0 release of HTMX (no code changes needed)
1 parent 5363b79 commit ba5d8ae

File tree

34 files changed

+47284
-34549
lines changed

34 files changed

+47284
-34549
lines changed
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
declare namespace htmx {
2+
const onLoad: (callback: (elt: Node) => void) => EventListener;
3+
const process: (elt: string | Element) => void;
4+
const on: (arg1: string | EventTarget, arg2: string | EventListener, arg3?: EventListener) => EventListener;
5+
const off: (arg1: string | EventTarget, arg2: string | EventListener, arg3?: EventListener) => EventListener;
6+
const trigger: (elt: string | EventTarget, eventName: string, detail?: any) => boolean;
7+
const ajax: (verb: HttpVerb, path: string, context: string | Element | HtmxAjaxHelperContext) => Promise<void>;
8+
const find: (eltOrSelector: string | ParentNode, selector?: string) => Element;
9+
const findAll: (eltOrSelector: string | ParentNode, selector?: string) => NodeListOf<Element>;
10+
const closest: (elt: string | Element, selector: string) => Element;
11+
function values(elt: Element, type: HttpVerb): any;
12+
const remove: (elt: Node, delay?: number) => void;
13+
const addClass: (elt: string | Element, clazz: string, delay?: number) => void;
14+
const removeClass: (node: string | Node, clazz: string, delay?: number) => void;
15+
const toggleClass: (elt: string | Element, clazz: string) => void;
16+
const takeClass: (elt: string | Node, clazz: string) => void;
17+
const swap: (target: string | Element, content: string, swapSpec: HtmxSwapSpecification, swapOptions?: SwapOptions) => void;
18+
const defineExtension: (name: string, extension: any) => void;
19+
const removeExtension: (name: string) => void;
20+
const logAll: () => void;
21+
const logNone: () => void;
22+
const logger: any;
23+
namespace config {
24+
const historyEnabled: boolean;
25+
const historyCacheSize: number;
26+
const refreshOnHistoryMiss: boolean;
27+
const defaultSwapStyle: HtmxSwapStyle;
28+
const defaultSwapDelay: number;
29+
const defaultSettleDelay: number;
30+
const includeIndicatorStyles: boolean;
31+
const indicatorClass: string;
32+
const requestClass: string;
33+
const addedClass: string;
34+
const settlingClass: string;
35+
const swappingClass: string;
36+
const allowEval: boolean;
37+
const allowScriptTags: boolean;
38+
const inlineScriptNonce: string;
39+
const inlineStyleNonce: string;
40+
const attributesToSettle: string[];
41+
const withCredentials: boolean;
42+
const timeout: number;
43+
const wsReconnectDelay: "full-jitter" | ((retryCount: number) => number);
44+
const wsBinaryType: BinaryType;
45+
const disableSelector: string;
46+
const scrollBehavior: 'auto' | 'instant' | 'smooth';
47+
const defaultFocusScroll: boolean;
48+
const getCacheBusterParam: boolean;
49+
const globalViewTransitions: boolean;
50+
const methodsThatUseUrlParams: (HttpVerb)[];
51+
const selfRequestsOnly: boolean;
52+
const ignoreTitle: boolean;
53+
const scrollIntoViewOnBoost: boolean;
54+
const triggerSpecsCache: any | null;
55+
const disableInheritance: boolean;
56+
const responseHandling: HtmxResponseHandlingConfig[];
57+
const allowNestedOobSwaps: boolean;
58+
}
59+
const parseInterval: (str: string) => number;
60+
const _: (str: string) => any;
61+
const version: string;
62+
}
63+
type HttpVerb = 'get' | 'head' | 'post' | 'put' | 'delete' | 'connect' | 'options' | 'trace' | 'patch';
64+
type SwapOptions = {
65+
select?: string;
66+
selectOOB?: string;
67+
eventInfo?: any;
68+
anchor?: string;
69+
contextElement?: Element;
70+
afterSwapCallback?: swapCallback;
71+
afterSettleCallback?: swapCallback;
72+
};
73+
type swapCallback = () => any;
74+
type HtmxSwapStyle = 'innerHTML' | 'outerHTML' | 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend' | 'delete' | 'none' | string;
75+
type HtmxSwapSpecification = {
76+
swapStyle: HtmxSwapStyle;
77+
swapDelay: number;
78+
settleDelay: number;
79+
transition?: boolean;
80+
ignoreTitle?: boolean;
81+
head?: string;
82+
scroll?: 'top' | 'bottom';
83+
scrollTarget?: string;
84+
show?: string;
85+
showTarget?: string;
86+
focusScroll?: boolean;
87+
};
88+
type ConditionalFunction = ((this: Node, evt: Event) => boolean) & {
89+
source: string;
90+
};
91+
type HtmxTriggerSpecification = {
92+
trigger: string;
93+
pollInterval?: number;
94+
eventFilter?: ConditionalFunction;
95+
changed?: boolean;
96+
once?: boolean;
97+
consume?: boolean;
98+
delay?: number;
99+
from?: string;
100+
target?: string;
101+
throttle?: number;
102+
queue?: string;
103+
root?: string;
104+
threshold?: string;
105+
};
106+
type HtmxElementValidationError = {
107+
elt: Element;
108+
message: string;
109+
validity: ValidityState;
110+
};
111+
type HtmxHeaderSpecification = Record<string, string>;
112+
type HtmxAjaxHelperContext = {
113+
source?: Element | string;
114+
event?: Event;
115+
handler?: HtmxAjaxHandler;
116+
target: Element | string;
117+
swap?: HtmxSwapStyle;
118+
values?: any | FormData;
119+
headers?: Record<string, string>;
120+
select?: string;
121+
};
122+
type HtmxRequestConfig = {
123+
boosted: boolean;
124+
useUrlParams: boolean;
125+
formData: FormData;
126+
/**
127+
* formData proxy
128+
*/
129+
parameters: any;
130+
unfilteredFormData: FormData;
131+
/**
132+
* unfilteredFormData proxy
133+
*/
134+
unfilteredParameters: any;
135+
headers: HtmxHeaderSpecification;
136+
target: Element;
137+
verb: HttpVerb;
138+
errors: HtmxElementValidationError[];
139+
withCredentials: boolean;
140+
timeout: number;
141+
path: string;
142+
triggeringEvent: Event;
143+
};
144+
type HtmxResponseInfo = {
145+
xhr: XMLHttpRequest;
146+
target: Element;
147+
requestConfig: HtmxRequestConfig;
148+
etc: HtmxAjaxEtc;
149+
boosted: boolean;
150+
select: string;
151+
pathInfo: {
152+
requestPath: string;
153+
finalRequestPath: string;
154+
responsePath: string | null;
155+
anchor: string;
156+
};
157+
failed?: boolean;
158+
successful?: boolean;
159+
};
160+
type HtmxAjaxEtc = {
161+
returnPromise?: boolean;
162+
handler?: HtmxAjaxHandler;
163+
select?: string;
164+
targetOverride?: Element;
165+
swapOverride?: HtmxSwapStyle;
166+
headers?: Record<string, string>;
167+
values?: any | FormData;
168+
credentials?: boolean;
169+
timeout?: number;
170+
};
171+
type HtmxResponseHandlingConfig = {
172+
code?: string;
173+
swap: boolean;
174+
error?: boolean;
175+
ignoreTitle?: boolean;
176+
select?: string;
177+
target?: string;
178+
swapOverride?: string;
179+
event?: string;
180+
};
181+
type HtmxBeforeSwapDetails = HtmxResponseInfo & {
182+
shouldSwap: boolean;
183+
serverResponse: any;
184+
isError: boolean;
185+
ignoreTitle: boolean;
186+
selectOverride: string;
187+
};
188+
type HtmxAjaxHandler = (elt: Element, responseInfo: HtmxResponseInfo) => any;
189+
type HtmxSettleTask = (() => void);
190+
type HtmxSettleInfo = {
191+
tasks: HtmxSettleTask[];
192+
elts: Element[];
193+
title?: string;
194+
};
195+
type HtmxExtension = any;

0 commit comments

Comments
 (0)