elements.d.ts 85 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078
  1. // Type definitions for Svelte HTML, based on JSX React 18 typings
  2. // Original Project/Authors:
  3. // Type definitions for React 18.0
  4. // Project: http://facebook.github.io/react/
  5. // Definitions by: Asana <https://asana.com>
  6. // AssureSign <http://www.assuresign.com>
  7. // Microsoft <https://microsoft.com>
  8. // John Reilly <https://github.com/johnnyreilly>
  9. // Benoit Benezech <https://github.com/bbenezech>
  10. // Patricio Zavolinsky <https://github.com/pzavolinsky>
  11. // Eric Anderson <https://github.com/ericanderson>
  12. // Dovydas Navickas <https://github.com/DovydasNavickas>
  13. // Josh Rutherford <https://github.com/theruther4d>
  14. // Guilherme Hübner <https://github.com/guilhermehubner>
  15. // Ferdy Budhidharma <https://github.com/ferdaber>
  16. // Johann Rakotoharisoa <https://github.com/jrakotoharisoa>
  17. // Olivier Pascal <https://github.com/pascaloliv>
  18. // Martin Hochel <https://github.com/hotell>
  19. // Frank Li <https://github.com/franklixuefei>
  20. // Jessica Franco <https://github.com/Jessidhia>
  21. // Saransh Kataria <https://github.com/saranshkataria>
  22. // Kanitkorn Sujautra <https://github.com/lukyth>
  23. // Sebastian Silbermann <https://github.com/eps1lon>
  24. // Kyle Scully <https://github.com/zieka>
  25. // Cong Zhang <https://github.com/dancerphil>
  26. // Dimitri Mitropoulos <https://github.com/dimitropoulos>
  27. // JongChan Choi <https://github.com/disjukr>
  28. // Victor Magalhães <https://github.com/vhfmag>
  29. // Dale Tan <https://github.com/hellatan>
  30. // Priyanshu Rav <https://github.com/priyanshurav>
  31. // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
  32. // TypeScript Version: 2.8
  33. import type { Attachment } from 'svelte/attachments';
  34. // Note: We also allow `null` as a valid value because Svelte treats this the same as `undefined`
  35. type Booleanish = boolean | 'true' | 'false';
  36. //
  37. // Event Handler Types
  38. // ----------------------------------------------------------------------
  39. type EventHandler<E extends Event = Event, T extends EventTarget = Element> = (
  40. event: E & { currentTarget: EventTarget & T }
  41. ) => any;
  42. export type ClipboardEventHandler<T extends EventTarget> = EventHandler<ClipboardEvent, T>;
  43. export type CompositionEventHandler<T extends EventTarget> = EventHandler<CompositionEvent, T>;
  44. export type DragEventHandler<T extends EventTarget> = EventHandler<DragEvent, T>;
  45. export type FocusEventHandler<T extends EventTarget> = EventHandler<FocusEvent, T>;
  46. export type FormEventHandler<T extends EventTarget> = EventHandler<Event, T>;
  47. export type ChangeEventHandler<T extends EventTarget> = EventHandler<Event, T>;
  48. export type KeyboardEventHandler<T extends EventTarget> = EventHandler<KeyboardEvent, T>;
  49. export type MouseEventHandler<T extends EventTarget> = EventHandler<MouseEvent, T>;
  50. export type TouchEventHandler<T extends EventTarget> = EventHandler<TouchEvent, T>;
  51. export type PointerEventHandler<T extends EventTarget> = EventHandler<PointerEvent, T>;
  52. export type GamepadEventHandler<T extends EventTarget> = EventHandler<GamepadEvent, T>;
  53. export type UIEventHandler<T extends EventTarget> = EventHandler<UIEvent, T>;
  54. export type WheelEventHandler<T extends EventTarget> = EventHandler<WheelEvent, T>;
  55. export type AnimationEventHandler<T extends EventTarget> = EventHandler<AnimationEvent, T>;
  56. export type TransitionEventHandler<T extends EventTarget> = EventHandler<TransitionEvent, T>;
  57. export type MessageEventHandler<T extends EventTarget> = EventHandler<MessageEvent, T>;
  58. export type ToggleEventHandler<T extends EventTarget> = EventHandler<ToggleEvent, T>;
  59. export type ContentVisibilityAutoStateChangeEventHandler<T extends EventTarget> = EventHandler<
  60. ContentVisibilityAutoStateChangeEvent,
  61. T
  62. >;
  63. export type FullAutoFill =
  64. | AutoFill
  65. | 'bday'
  66. | `${OptionalPrefixToken<AutoFillAddressKind>}${'cc-additional-name'}`
  67. | 'nickname'
  68. | 'language'
  69. | 'organization-title'
  70. | 'photo'
  71. | 'sex'
  72. | 'url';
  73. //
  74. // DOM Attributes
  75. // ----------------------------------------------------------------------
  76. export interface DOMAttributes<T extends EventTarget> {
  77. // Implicit children prop every element has
  78. // Add this here so that libraries doing `let { ...props }: HTMLButtonAttributes = $props()` don't need a separate interface
  79. children?: import('svelte').Snippet;
  80. // Clipboard Events
  81. 'on:copy'?: ClipboardEventHandler<T> | undefined | null;
  82. oncopy?: ClipboardEventHandler<T> | undefined | null;
  83. oncopycapture?: ClipboardEventHandler<T> | undefined | null;
  84. 'on:cut'?: ClipboardEventHandler<T> | undefined | null;
  85. oncut?: ClipboardEventHandler<T> | undefined | null;
  86. oncutcapture?: ClipboardEventHandler<T> | undefined | null;
  87. 'on:paste'?: ClipboardEventHandler<T> | undefined | null;
  88. onpaste?: ClipboardEventHandler<T> | undefined | null;
  89. onpastecapture?: ClipboardEventHandler<T> | undefined | null;
  90. // Composition Events
  91. 'on:compositionend'?: CompositionEventHandler<T> | undefined | null;
  92. oncompositionend?: CompositionEventHandler<T> | undefined | null;
  93. oncompositionendcapture?: CompositionEventHandler<T> | undefined | null;
  94. 'on:compositionstart'?: CompositionEventHandler<T> | undefined | null;
  95. oncompositionstart?: CompositionEventHandler<T> | undefined | null;
  96. oncompositionstartcapture?: CompositionEventHandler<T> | undefined | null;
  97. 'on:compositionupdate'?: CompositionEventHandler<T> | undefined | null;
  98. oncompositionupdate?: CompositionEventHandler<T> | undefined | null;
  99. oncompositionupdatecapture?: CompositionEventHandler<T> | undefined | null;
  100. // Focus Events
  101. 'on:focus'?: FocusEventHandler<T> | undefined | null;
  102. onfocus?: FocusEventHandler<T> | undefined | null;
  103. onfocuscapture?: FocusEventHandler<T> | undefined | null;
  104. 'on:focusin'?: FocusEventHandler<T> | undefined | null;
  105. onfocusin?: FocusEventHandler<T> | undefined | null;
  106. onfocusincapture?: FocusEventHandler<T> | undefined | null;
  107. 'on:focusout'?: FocusEventHandler<T> | undefined | null;
  108. onfocusout?: FocusEventHandler<T> | undefined | null;
  109. onfocusoutcapture?: FocusEventHandler<T> | undefined | null;
  110. 'on:blur'?: FocusEventHandler<T> | undefined | null;
  111. onblur?: FocusEventHandler<T> | undefined | null;
  112. onblurcapture?: FocusEventHandler<T> | undefined | null;
  113. // Form Events
  114. 'on:change'?: FormEventHandler<T> | undefined | null;
  115. onchange?: FormEventHandler<T> | undefined | null;
  116. onchangecapture?: FormEventHandler<T> | undefined | null;
  117. 'on:beforeinput'?: EventHandler<InputEvent, T> | undefined | null;
  118. onbeforeinput?: EventHandler<InputEvent, T> | undefined | null;
  119. onbeforeinputcapture?: EventHandler<InputEvent, T> | undefined | null;
  120. // oninput can be either an InputEvent or an Event, depending on the target element (input, textarea etc).
  121. 'on:input'?: FormEventHandler<T> | undefined | null;
  122. oninput?: FormEventHandler<T> | undefined | null;
  123. oninputcapture?: FormEventHandler<T> | undefined | null;
  124. 'on:reset'?: FormEventHandler<T> | undefined | null;
  125. onreset?: FormEventHandler<T> | undefined | null;
  126. onresetcapture?: FormEventHandler<T> | undefined | null;
  127. 'on:submit'?: EventHandler<SubmitEvent, T> | undefined | null;
  128. onsubmit?: EventHandler<SubmitEvent, T> | undefined | null;
  129. onsubmitcapture?: EventHandler<SubmitEvent, T> | undefined | null;
  130. 'on:invalid'?: EventHandler<Event, T> | undefined | null;
  131. oninvalid?: EventHandler<Event, T> | undefined | null;
  132. oninvalidcapture?: EventHandler<Event, T> | undefined | null;
  133. 'on:formdata'?: EventHandler<FormDataEvent, T> | undefined | null;
  134. onformdata?: EventHandler<FormDataEvent, T> | undefined | null;
  135. onformdatacapture?: EventHandler<FormDataEvent, T> | undefined | null;
  136. // Image Events
  137. 'on:load'?: EventHandler | undefined | null;
  138. onload?: EventHandler | undefined | null;
  139. onloadcapture?: EventHandler | undefined | null;
  140. 'on:error'?: EventHandler | undefined | null; // also a Media Event
  141. onerror?: EventHandler | undefined | null; // also a Media Event
  142. onerrorcapture?: EventHandler | undefined | null; // also a Media Event
  143. // Popover Events
  144. 'on:beforetoggle'?: ToggleEventHandler<T> | undefined | null;
  145. onbeforetoggle?: ToggleEventHandler<T> | undefined | null;
  146. onbeforetogglecapture?: ToggleEventHandler<T> | undefined | null;
  147. 'on:toggle'?: ToggleEventHandler<T> | undefined | null;
  148. ontoggle?: ToggleEventHandler<T> | undefined | null;
  149. ontogglecapture?: ToggleEventHandler<T> | undefined | null;
  150. // Content visibility Events
  151. 'on:contentvisibilityautostatechange'?:
  152. | ContentVisibilityAutoStateChangeEventHandler<T>
  153. | undefined
  154. | null;
  155. oncontentvisibilityautostatechange?:
  156. | ContentVisibilityAutoStateChangeEventHandler<T>
  157. | undefined
  158. | null;
  159. oncontentvisibilityautostatechangecapture?:
  160. | ContentVisibilityAutoStateChangeEventHandler<T>
  161. | undefined
  162. | null;
  163. // Keyboard Events
  164. 'on:keydown'?: KeyboardEventHandler<T> | undefined | null;
  165. onkeydown?: KeyboardEventHandler<T> | undefined | null;
  166. onkeydowncapture?: KeyboardEventHandler<T> | undefined | null;
  167. 'on:keypress'?: KeyboardEventHandler<T> | undefined | null;
  168. onkeypress?: KeyboardEventHandler<T> | undefined | null;
  169. onkeypresscapture?: KeyboardEventHandler<T> | undefined | null;
  170. 'on:keyup'?: KeyboardEventHandler<T> | undefined | null;
  171. onkeyup?: KeyboardEventHandler<T> | undefined | null;
  172. onkeyupcapture?: KeyboardEventHandler<T> | undefined | null;
  173. // Media Events
  174. 'on:abort'?: EventHandler<Event, T> | undefined | null;
  175. onabort?: EventHandler<Event, T> | undefined | null;
  176. onabortcapture?: EventHandler<Event, T> | undefined | null;
  177. 'on:canplay'?: EventHandler<Event, T> | undefined | null;
  178. oncanplay?: EventHandler<Event, T> | undefined | null;
  179. oncanplaycapture?: EventHandler<Event, T> | undefined | null;
  180. 'on:canplaythrough'?: EventHandler<Event, T> | undefined | null;
  181. oncanplaythrough?: EventHandler<Event, T> | undefined | null;
  182. oncanplaythroughcapture?: EventHandler<Event, T> | undefined | null;
  183. 'on:cuechange'?: EventHandler<Event, T> | undefined | null;
  184. oncuechange?: EventHandler<Event, T> | undefined | null;
  185. oncuechangecapture?: EventHandler<Event, T> | undefined | null;
  186. 'on:durationchange'?: EventHandler<Event, T> | undefined | null;
  187. ondurationchange?: EventHandler<Event, T> | undefined | null;
  188. ondurationchangecapture?: EventHandler<Event, T> | undefined | null;
  189. 'on:emptied'?: EventHandler<Event, T> | undefined | null;
  190. onemptied?: EventHandler<Event, T> | undefined | null;
  191. onemptiedcapture?: EventHandler<Event, T> | undefined | null;
  192. 'on:encrypted'?: EventHandler<Event, T> | undefined | null;
  193. onencrypted?: EventHandler<Event, T> | undefined | null;
  194. onencryptedcapture?: EventHandler<Event, T> | undefined | null;
  195. 'on:ended'?: EventHandler<Event, T> | undefined | null;
  196. onended?: EventHandler<Event, T> | undefined | null;
  197. onendedcapture?: EventHandler<Event, T> | undefined | null;
  198. 'on:loadeddata'?: EventHandler<Event, T> | undefined | null;
  199. onloadeddata?: EventHandler<Event, T> | undefined | null;
  200. onloadeddatacapture?: EventHandler<Event, T> | undefined | null;
  201. 'on:loadedmetadata'?: EventHandler<Event, T> | undefined | null;
  202. onloadedmetadata?: EventHandler<Event, T> | undefined | null;
  203. onloadedmetadatacapture?: EventHandler<Event, T> | undefined | null;
  204. 'on:loadstart'?: EventHandler<Event, T> | undefined | null;
  205. onloadstart?: EventHandler<Event, T> | undefined | null;
  206. onloadstartcapture?: EventHandler<Event, T> | undefined | null;
  207. 'on:pause'?: EventHandler<Event, T> | undefined | null;
  208. onpause?: EventHandler<Event, T> | undefined | null;
  209. onpausecapture?: EventHandler<Event, T> | undefined | null;
  210. 'on:play'?: EventHandler<Event, T> | undefined | null;
  211. onplay?: EventHandler<Event, T> | undefined | null;
  212. onplaycapture?: EventHandler<Event, T> | undefined | null;
  213. 'on:playing'?: EventHandler<Event, T> | undefined | null;
  214. onplaying?: EventHandler<Event, T> | undefined | null;
  215. onplayingcapture?: EventHandler<Event, T> | undefined | null;
  216. 'on:progress'?: EventHandler<Event, T> | undefined | null;
  217. onprogress?: EventHandler<Event, T> | undefined | null;
  218. onprogresscapture?: EventHandler<Event, T> | undefined | null;
  219. 'on:ratechange'?: EventHandler<Event, T> | undefined | null;
  220. onratechange?: EventHandler<Event, T> | undefined | null;
  221. onratechangecapture?: EventHandler<Event, T> | undefined | null;
  222. 'on:seeked'?: EventHandler<Event, T> | undefined | null;
  223. onseeked?: EventHandler<Event, T> | undefined | null;
  224. onseekedcapture?: EventHandler<Event, T> | undefined | null;
  225. 'on:seeking'?: EventHandler<Event, T> | undefined | null;
  226. onseeking?: EventHandler<Event, T> | undefined | null;
  227. onseekingcapture?: EventHandler<Event, T> | undefined | null;
  228. 'on:stalled'?: EventHandler<Event, T> | undefined | null;
  229. onstalled?: EventHandler<Event, T> | undefined | null;
  230. onstalledcapture?: EventHandler<Event, T> | undefined | null;
  231. 'on:suspend'?: EventHandler<Event, T> | undefined | null;
  232. onsuspend?: EventHandler<Event, T> | undefined | null;
  233. onsuspendcapture?: EventHandler<Event, T> | undefined | null;
  234. 'on:timeupdate'?: EventHandler<Event, T> | undefined | null;
  235. ontimeupdate?: EventHandler<Event, T> | undefined | null;
  236. ontimeupdatecapture?: EventHandler<Event, T> | undefined | null;
  237. 'on:volumechange'?: EventHandler<Event, T> | undefined | null;
  238. onvolumechange?: EventHandler<Event, T> | undefined | null;
  239. onvolumechangecapture?: EventHandler<Event, T> | undefined | null;
  240. 'on:waiting'?: EventHandler<Event, T> | undefined | null;
  241. onwaiting?: EventHandler<Event, T> | undefined | null;
  242. onwaitingcapture?: EventHandler<Event, T> | undefined | null;
  243. // MouseEvents
  244. 'on:auxclick'?: MouseEventHandler<T> | undefined | null;
  245. onauxclick?: MouseEventHandler<T> | undefined | null;
  246. onauxclickcapture?: MouseEventHandler<T> | undefined | null;
  247. 'on:click'?: MouseEventHandler<T> | undefined | null;
  248. onclick?: MouseEventHandler<T> | undefined | null;
  249. onclickcapture?: MouseEventHandler<T> | undefined | null;
  250. 'on:contextmenu'?: MouseEventHandler<T> | undefined | null;
  251. oncontextmenu?: MouseEventHandler<T> | undefined | null;
  252. oncontextmenucapture?: MouseEventHandler<T> | undefined | null;
  253. 'on:dblclick'?: MouseEventHandler<T> | undefined | null;
  254. ondblclick?: MouseEventHandler<T> | undefined | null;
  255. ondblclickcapture?: MouseEventHandler<T> | undefined | null;
  256. 'on:drag'?: DragEventHandler<T> | undefined | null;
  257. ondrag?: DragEventHandler<T> | undefined | null;
  258. ondragcapture?: DragEventHandler<T> | undefined | null;
  259. 'on:dragend'?: DragEventHandler<T> | undefined | null;
  260. ondragend?: DragEventHandler<T> | undefined | null;
  261. ondragendcapture?: DragEventHandler<T> | undefined | null;
  262. 'on:dragenter'?: DragEventHandler<T> | undefined | null;
  263. ondragenter?: DragEventHandler<T> | undefined | null;
  264. ondragentercapture?: DragEventHandler<T> | undefined | null;
  265. 'on:dragexit'?: DragEventHandler<T> | undefined | null;
  266. ondragexit?: DragEventHandler<T> | undefined | null;
  267. ondragexitcapture?: DragEventHandler<T> | undefined | null;
  268. 'on:dragleave'?: DragEventHandler<T> | undefined | null;
  269. ondragleave?: DragEventHandler<T> | undefined | null;
  270. ondragleavecapture?: DragEventHandler<T> | undefined | null;
  271. 'on:dragover'?: DragEventHandler<T> | undefined | null;
  272. ondragover?: DragEventHandler<T> | undefined | null;
  273. ondragovercapture?: DragEventHandler<T> | undefined | null;
  274. 'on:dragstart'?: DragEventHandler<T> | undefined | null;
  275. ondragstart?: DragEventHandler<T> | undefined | null;
  276. ondragstartcapture?: DragEventHandler<T> | undefined | null;
  277. 'on:drop'?: DragEventHandler<T> | undefined | null;
  278. ondrop?: DragEventHandler<T> | undefined | null;
  279. ondropcapture?: DragEventHandler<T> | undefined | null;
  280. 'on:mousedown'?: MouseEventHandler<T> | undefined | null;
  281. onmousedown?: MouseEventHandler<T> | undefined | null;
  282. onmousedowncapture?: MouseEventHandler<T> | undefined | null;
  283. 'on:mouseenter'?: MouseEventHandler<T> | undefined | null;
  284. onmouseenter?: MouseEventHandler<T> | undefined | null;
  285. 'on:mouseleave'?: MouseEventHandler<T> | undefined | null;
  286. onmouseleave?: MouseEventHandler<T> | undefined | null;
  287. 'on:mousemove'?: MouseEventHandler<T> | undefined | null;
  288. onmousemove?: MouseEventHandler<T> | undefined | null;
  289. onmousemovecapture?: MouseEventHandler<T> | undefined | null;
  290. 'on:mouseout'?: MouseEventHandler<T> | undefined | null;
  291. onmouseout?: MouseEventHandler<T> | undefined | null;
  292. onmouseoutcapture?: MouseEventHandler<T> | undefined | null;
  293. 'on:mouseover'?: MouseEventHandler<T> | undefined | null;
  294. onmouseover?: MouseEventHandler<T> | undefined | null;
  295. onmouseovercapture?: MouseEventHandler<T> | undefined | null;
  296. 'on:mouseup'?: MouseEventHandler<T> | undefined | null;
  297. onmouseup?: MouseEventHandler<T> | undefined | null;
  298. onmouseupcapture?: MouseEventHandler<T> | undefined | null;
  299. // Selection Events
  300. 'on:select'?: EventHandler<Event, T> | undefined | null;
  301. onselect?: EventHandler<Event, T> | undefined | null;
  302. onselectcapture?: EventHandler<Event, T> | undefined | null;
  303. 'on:selectionchange'?: EventHandler<Event, T> | undefined | null;
  304. onselectionchange?: EventHandler<Event, T> | undefined | null;
  305. onselectionchangecapture?: EventHandler<Event, T> | undefined | null;
  306. 'on:selectstart'?: EventHandler<Event, T> | undefined | null;
  307. onselectstart?: EventHandler<Event, T> | undefined | null;
  308. onselectstartcapture?: EventHandler<Event, T> | undefined | null;
  309. // Touch Events
  310. 'on:touchcancel'?: TouchEventHandler<T> | undefined | null;
  311. ontouchcancel?: TouchEventHandler<T> | undefined | null;
  312. ontouchcancelcapture?: TouchEventHandler<T> | undefined | null;
  313. 'on:touchend'?: TouchEventHandler<T> | undefined | null;
  314. ontouchend?: TouchEventHandler<T> | undefined | null;
  315. ontouchendcapture?: TouchEventHandler<T> | undefined | null;
  316. 'on:touchmove'?: TouchEventHandler<T> | undefined | null;
  317. ontouchmove?: TouchEventHandler<T> | undefined | null;
  318. ontouchmovecapture?: TouchEventHandler<T> | undefined | null;
  319. 'on:touchstart'?: TouchEventHandler<T> | undefined | null;
  320. ontouchstart?: TouchEventHandler<T> | undefined | null;
  321. ontouchstartcapture?: TouchEventHandler<T> | undefined | null;
  322. // Pointer Events
  323. 'on:gotpointercapture'?: PointerEventHandler<T> | undefined | null;
  324. ongotpointercapture?: PointerEventHandler<T> | undefined | null;
  325. ongotpointercapturecapture?: PointerEventHandler<T> | undefined | null;
  326. 'on:pointercancel'?: PointerEventHandler<T> | undefined | null;
  327. onpointercancel?: PointerEventHandler<T> | undefined | null;
  328. onpointercancelcapture?: PointerEventHandler<T> | undefined | null;
  329. 'on:pointerdown'?: PointerEventHandler<T> | undefined | null;
  330. onpointerdown?: PointerEventHandler<T> | undefined | null;
  331. onpointerdowncapture?: PointerEventHandler<T> | undefined | null;
  332. 'on:pointerenter'?: PointerEventHandler<T> | undefined | null;
  333. onpointerenter?: PointerEventHandler<T> | undefined | null;
  334. onpointerentercapture?: PointerEventHandler<T> | undefined | null;
  335. 'on:pointerleave'?: PointerEventHandler<T> | undefined | null;
  336. onpointerleave?: PointerEventHandler<T> | undefined | null;
  337. onpointerleavecapture?: PointerEventHandler<T> | undefined | null;
  338. 'on:pointermove'?: PointerEventHandler<T> | undefined | null;
  339. onpointermove?: PointerEventHandler<T> | undefined | null;
  340. onpointermovecapture?: PointerEventHandler<T> | undefined | null;
  341. 'on:pointerout'?: PointerEventHandler<T> | undefined | null;
  342. onpointerout?: PointerEventHandler<T> | undefined | null;
  343. onpointeroutcapture?: PointerEventHandler<T> | undefined | null;
  344. 'on:pointerover'?: PointerEventHandler<T> | undefined | null;
  345. onpointerover?: PointerEventHandler<T> | undefined | null;
  346. onpointerovercapture?: PointerEventHandler<T> | undefined | null;
  347. 'on:pointerup'?: PointerEventHandler<T> | undefined | null;
  348. onpointerup?: PointerEventHandler<T> | undefined | null;
  349. onpointerupcapture?: PointerEventHandler<T> | undefined | null;
  350. 'on:lostpointercapture'?: PointerEventHandler<T> | undefined | null;
  351. onlostpointercapture?: PointerEventHandler<T> | undefined | null;
  352. onlostpointercapturecapture?: PointerEventHandler<T> | undefined | null;
  353. // Gamepad Events
  354. 'on:gamepadconnected'?: GamepadEventHandler<T> | undefined | null;
  355. ongamepadconnected?: GamepadEventHandler<T> | undefined | null;
  356. 'on:gamepaddisconnected'?: GamepadEventHandler<T> | undefined | null;
  357. ongamepaddisconnected?: GamepadEventHandler<T> | undefined | null;
  358. // UI Events
  359. 'on:scroll'?: UIEventHandler<T> | undefined | null;
  360. onscroll?: UIEventHandler<T> | undefined | null;
  361. onscrollcapture?: UIEventHandler<T> | undefined | null;
  362. 'on:scrollend'?: UIEventHandler<T> | undefined | null;
  363. onscrollend?: UIEventHandler<T> | undefined | null;
  364. onscrollendcapture?: UIEventHandler<T> | undefined | null;
  365. 'on:resize'?: UIEventHandler<T> | undefined | null;
  366. onresize?: UIEventHandler<T> | undefined | null;
  367. onresizecapture?: UIEventHandler<T> | undefined | null;
  368. // Wheel Events
  369. 'on:wheel'?: WheelEventHandler<T> | undefined | null;
  370. onwheel?: WheelEventHandler<T> | undefined | null;
  371. onwheelcapture?: WheelEventHandler<T> | undefined | null;
  372. // Animation Events
  373. 'on:animationstart'?: AnimationEventHandler<T> | undefined | null;
  374. onanimationstart?: AnimationEventHandler<T> | undefined | null;
  375. onanimationstartcapture?: AnimationEventHandler<T> | undefined | null;
  376. 'on:animationend'?: AnimationEventHandler<T> | undefined | null;
  377. onanimationend?: AnimationEventHandler<T> | undefined | null;
  378. onanimationendcapture?: AnimationEventHandler<T> | undefined | null;
  379. 'on:animationiteration'?: AnimationEventHandler<T> | undefined | null;
  380. onanimationiteration?: AnimationEventHandler<T> | undefined | null;
  381. onanimationiterationcapture?: AnimationEventHandler<T> | undefined | null;
  382. // Transition Events
  383. 'on:transitionstart'?: TransitionEventHandler<T> | undefined | null;
  384. ontransitionstart?: TransitionEventHandler<T> | undefined | null;
  385. ontransitionstartcapture?: TransitionEventHandler<T> | undefined | null;
  386. 'on:transitionrun'?: TransitionEventHandler<T> | undefined | null;
  387. ontransitionrun?: TransitionEventHandler<T> | undefined | null;
  388. ontransitionruncapture?: TransitionEventHandler<T> | undefined | null;
  389. 'on:transitionend'?: TransitionEventHandler<T> | undefined | null;
  390. ontransitionend?: TransitionEventHandler<T> | undefined | null;
  391. ontransitionendcapture?: TransitionEventHandler<T> | undefined | null;
  392. 'on:transitioncancel'?: TransitionEventHandler<T> | undefined | null;
  393. ontransitioncancel?: TransitionEventHandler<T> | undefined | null;
  394. ontransitioncancelcapture?: TransitionEventHandler<T> | undefined | null;
  395. // Svelte Transition Events
  396. 'on:outrostart'?: EventHandler<CustomEvent<null>, T> | undefined | null;
  397. onoutrostart?: EventHandler<CustomEvent<null>, T> | undefined | null;
  398. onoutrostartcapture?: EventHandler<CustomEvent<null>, T> | undefined | null;
  399. 'on:outroend'?: EventHandler<CustomEvent<null>, T> | undefined | null;
  400. onoutroend?: EventHandler<CustomEvent<null>, T> | undefined | null;
  401. onoutroendcapture?: EventHandler<CustomEvent<null>, T> | undefined | null;
  402. 'on:introstart'?: EventHandler<CustomEvent<null>, T> | undefined | null;
  403. onintrostart?: EventHandler<CustomEvent<null>, T> | undefined | null;
  404. onintrostartcapture?: EventHandler<CustomEvent<null>, T> | undefined | null;
  405. 'on:introend'?: EventHandler<CustomEvent<null>, T> | undefined | null;
  406. onintroend?: EventHandler<CustomEvent<null>, T> | undefined | null;
  407. onintroendcapture?: EventHandler<CustomEvent<null>, T> | undefined | null;
  408. // Message Events
  409. 'on:message'?: MessageEventHandler<T> | undefined | null;
  410. onmessage?: MessageEventHandler<T> | undefined | null;
  411. onmessagecapture?: MessageEventHandler<T> | undefined | null;
  412. 'on:messageerror'?: MessageEventHandler<T> | undefined | null;
  413. onmessageerror?: MessageEventHandler<T> | undefined | null;
  414. onmessageerrorcapture?: MessageEventHandler<T> | undefined | null;
  415. // Document Events
  416. 'on:visibilitychange'?: EventHandler<Event, T> | undefined | null;
  417. onvisibilitychange?: EventHandler<Event, T> | undefined | null;
  418. onvisibilitychangecapture?: EventHandler<Event, T> | undefined | null;
  419. // Global Events
  420. 'on:beforematch'?: EventHandler<Event, T> | undefined | null;
  421. onbeforematch?: EventHandler<Event, T> | undefined | null;
  422. onbeforematchcapture?: EventHandler<Event, T> | undefined | null;
  423. 'on:cancel'?: EventHandler<Event, T> | undefined | null;
  424. oncancel?: EventHandler<Event, T> | undefined | null;
  425. oncancelcapture?: EventHandler<Event, T> | undefined | null;
  426. 'on:close'?: EventHandler<Event, T> | undefined | null;
  427. onclose?: EventHandler<Event, T> | undefined | null;
  428. onclosecapture?: EventHandler<Event, T> | undefined | null;
  429. 'on:fullscreenchange'?: EventHandler<Event, T> | undefined | null;
  430. onfullscreenchange?: EventHandler<Event, T> | undefined | null;
  431. onfullscreenchangecapture?: EventHandler<Event, T> | undefined | null;
  432. 'on:fullscreenerror'?: EventHandler<Event, T> | undefined | null;
  433. onfullscreenerror?: EventHandler<Event, T> | undefined | null;
  434. onfullscreenerrorcapture?: EventHandler<Event, T> | undefined | null;
  435. // Dimensions
  436. readonly 'bind:contentRect'?: DOMRectReadOnly | undefined | null;
  437. readonly 'bind:contentBoxSize'?: Array<ResizeObserverSize> | undefined | null;
  438. readonly 'bind:borderBoxSize'?: Array<ResizeObserverSize> | undefined | null;
  439. readonly 'bind:devicePixelContentBoxSize'?: Array<ResizeObserverSize> | undefined | null;
  440. readonly 'bind:clientWidth'?: number | undefined | null;
  441. readonly 'bind:clientHeight'?: number | undefined | null;
  442. xmlns?: string | undefined | null;
  443. }
  444. // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
  445. export interface AriaAttributes {
  446. /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
  447. 'aria-activedescendant'?: string | undefined | null;
  448. /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
  449. 'aria-atomic'?: Booleanish | undefined | null;
  450. /**
  451. * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
  452. * presented if they are made.
  453. */
  454. 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both' | undefined | null;
  455. /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
  456. 'aria-busy'?: Booleanish | undefined | null;
  457. /**
  458. * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
  459. * @see aria-pressed @see aria-selected.
  460. */
  461. 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined | null;
  462. /**
  463. * Defines the total number of columns in a table, grid, or treegrid.
  464. * @see aria-colindex.
  465. */
  466. 'aria-colcount'?: number | undefined | null;
  467. /**
  468. * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
  469. * @see aria-colcount @see aria-colspan.
  470. */
  471. 'aria-colindex'?: number | undefined | null;
  472. /**
  473. * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
  474. * @see aria-colindex @see aria-rowspan.
  475. */
  476. 'aria-colspan'?: number | undefined | null;
  477. /**
  478. * Identifies the element (or elements) whose contents or presence are controlled by the current element.
  479. * @see aria-owns.
  480. */
  481. 'aria-controls'?: string | undefined | null;
  482. /** Indicates the element that represents the current item within a container or set of related elements. */
  483. 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null;
  484. /**
  485. * Identifies the element (or elements) that describes the object.
  486. * @see aria-labelledby
  487. */
  488. 'aria-describedby'?: string | undefined | null;
  489. /**
  490. * Identifies the element that provides a detailed, extended description for the object.
  491. * @see aria-describedby.
  492. */
  493. 'aria-details'?: string | undefined | null;
  494. /**
  495. * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
  496. * @see aria-hidden @see aria-readonly.
  497. */
  498. 'aria-disabled'?: Booleanish | undefined | null;
  499. /**
  500. * Indicates what functions can be performed when a dragged object is released on the drop target.
  501. * @deprecated in ARIA 1.1
  502. */
  503. 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' | undefined | null;
  504. /**
  505. * Identifies the element that provides an error message for the object.
  506. * @see aria-invalid @see aria-describedby.
  507. */
  508. 'aria-errormessage'?: string | undefined | null;
  509. /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
  510. 'aria-expanded'?: Booleanish | undefined | null;
  511. /**
  512. * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
  513. * allows assistive technology to override the general default of reading in document source order.
  514. */
  515. 'aria-flowto'?: string | undefined | null;
  516. /**
  517. * Indicates an element's "grabbed" state in a drag-and-drop operation.
  518. * @deprecated in ARIA 1.1
  519. */
  520. 'aria-grabbed'?: Booleanish | undefined | null;
  521. /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
  522. 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null;
  523. /**
  524. * Indicates whether the element is exposed to an accessibility API.
  525. * @see aria-disabled.
  526. */
  527. 'aria-hidden'?: Booleanish | undefined | null;
  528. /**
  529. * Indicates the entered value does not conform to the format expected by the application.
  530. * @see aria-errormessage.
  531. */
  532. 'aria-invalid'?: Booleanish | 'grammar' | 'spelling' | undefined | null;
  533. /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
  534. 'aria-keyshortcuts'?: string | undefined | null;
  535. /**
  536. * Defines a string value that labels the current element.
  537. * @see aria-labelledby.
  538. */
  539. 'aria-label'?: string | undefined | null;
  540. /**
  541. * Identifies the element (or elements) that labels the current element.
  542. * @see aria-describedby.
  543. */
  544. 'aria-labelledby'?: string | undefined | null;
  545. /** Defines the hierarchical level of an element within a structure. */
  546. 'aria-level'?: number | undefined | null;
  547. /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
  548. 'aria-live'?: 'off' | 'assertive' | 'polite' | undefined | null;
  549. /** Indicates whether an element is modal when displayed. */
  550. 'aria-modal'?: Booleanish | undefined | null;
  551. /** Indicates whether a text box accepts multiple lines of input or only a single line. */
  552. 'aria-multiline'?: Booleanish | undefined | null;
  553. /** Indicates that the user may select more than one item from the current selectable descendants. */
  554. 'aria-multiselectable'?: Booleanish | undefined | null;
  555. /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
  556. 'aria-orientation'?: 'horizontal' | 'vertical' | undefined | null;
  557. /**
  558. * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
  559. * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
  560. * @see aria-controls.
  561. */
  562. 'aria-owns'?: string | undefined | null;
  563. /**
  564. * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
  565. * A hint could be a sample value or a brief description of the expected format.
  566. */
  567. 'aria-placeholder'?: string | undefined | null;
  568. /**
  569. * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
  570. * @see aria-setsize.
  571. */
  572. 'aria-posinset'?: number | undefined | null;
  573. /**
  574. * Indicates the current "pressed" state of toggle buttons.
  575. * @see aria-checked @see aria-selected.
  576. */
  577. 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined | null;
  578. /**
  579. * Indicates that the element is not editable, but is otherwise operable.
  580. * @see aria-disabled.
  581. */
  582. 'aria-readonly'?: Booleanish | undefined | null;
  583. /**
  584. * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
  585. * @see aria-atomic.
  586. */
  587. 'aria-relevant'?:
  588. | 'additions'
  589. | 'additions removals'
  590. | 'additions text'
  591. | 'all'
  592. | 'removals'
  593. | 'removals additions'
  594. | 'removals text'
  595. | 'text'
  596. | 'text additions'
  597. | 'text removals'
  598. | undefined
  599. | null;
  600. /** Indicates that user input is required on the element before a form may be submitted. */
  601. 'aria-required'?: Booleanish | undefined | null;
  602. /** Defines a human-readable, author-localized description for the role of an element. */
  603. 'aria-roledescription'?: string | undefined | null;
  604. /**
  605. * Defines the total number of rows in a table, grid, or treegrid.
  606. * @see aria-rowindex.
  607. */
  608. 'aria-rowcount'?: number | undefined | null;
  609. /**
  610. * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
  611. * @see aria-rowcount @see aria-rowspan.
  612. */
  613. 'aria-rowindex'?: number | undefined | null;
  614. /**
  615. * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
  616. * @see aria-rowindex @see aria-colspan.
  617. */
  618. 'aria-rowspan'?: number | undefined | null;
  619. /**
  620. * Indicates the current "selected" state of various widgets.
  621. * @see aria-checked @see aria-pressed.
  622. */
  623. 'aria-selected'?: Booleanish | undefined | null;
  624. /**
  625. * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
  626. * @see aria-posinset.
  627. */
  628. 'aria-setsize'?: number | undefined | null;
  629. /** Indicates if items in a table or grid are sorted in ascending or descending order. */
  630. 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined | null;
  631. /** Defines the maximum allowed value for a range widget. */
  632. 'aria-valuemax'?: number | undefined | null;
  633. /** Defines the minimum allowed value for a range widget. */
  634. 'aria-valuemin'?: number | undefined | null;
  635. /**
  636. * Defines the current value for a range widget.
  637. * @see aria-valuetext.
  638. */
  639. 'aria-valuenow'?: number | undefined | null;
  640. /** Defines the human readable text alternative of aria-valuenow for a range widget. */
  641. 'aria-valuetext'?: string | undefined | null;
  642. }
  643. // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions
  644. export type AriaRole =
  645. | 'alert'
  646. | 'alertdialog'
  647. | 'application'
  648. | 'article'
  649. | 'banner'
  650. | 'button'
  651. | 'cell'
  652. | 'checkbox'
  653. | 'columnheader'
  654. | 'combobox'
  655. | 'complementary'
  656. | 'contentinfo'
  657. | 'definition'
  658. | 'dialog'
  659. | 'directory'
  660. | 'document'
  661. | 'feed'
  662. | 'figure'
  663. | 'form'
  664. | 'grid'
  665. | 'gridcell'
  666. | 'group'
  667. | 'heading'
  668. | 'img'
  669. | 'link'
  670. | 'list'
  671. | 'listbox'
  672. | 'listitem'
  673. | 'log'
  674. | 'main'
  675. | 'marquee'
  676. | 'math'
  677. | 'menu'
  678. | 'menubar'
  679. | 'menuitem'
  680. | 'menuitemcheckbox'
  681. | 'menuitemradio'
  682. | 'navigation'
  683. | 'none'
  684. | 'note'
  685. | 'option'
  686. | 'presentation'
  687. | 'progressbar'
  688. | 'radio'
  689. | 'radiogroup'
  690. | 'region'
  691. | 'row'
  692. | 'rowgroup'
  693. | 'rowheader'
  694. | 'scrollbar'
  695. | 'search'
  696. | 'searchbox'
  697. | 'separator'
  698. | 'slider'
  699. | 'spinbutton'
  700. | 'status'
  701. | 'switch'
  702. | 'tab'
  703. | 'table'
  704. | 'tablist'
  705. | 'tabpanel'
  706. | 'term'
  707. | 'textbox'
  708. | 'timer'
  709. | 'toolbar'
  710. | 'tooltip'
  711. | 'tree'
  712. | 'treegrid'
  713. | 'treeitem'
  714. | (string & {});
  715. export interface HTMLAttributes<T extends EventTarget> extends AriaAttributes, DOMAttributes<T> {
  716. // Standard HTML Attributes
  717. accesskey?: string | undefined | null;
  718. autocapitalize?: 'characters' | 'off' | 'on' | 'none' | 'sentences' | 'words' | undefined | null;
  719. autofocus?: boolean | undefined | null;
  720. class?: ClassValue | undefined | null;
  721. contenteditable?: Booleanish | 'inherit' | 'plaintext-only' | undefined | null;
  722. contextmenu?: string | undefined | null;
  723. dir?: 'ltr' | 'rtl' | 'auto' | undefined | null;
  724. draggable?: Booleanish | undefined | null;
  725. elementtiming?: string | undefined | null;
  726. enterkeyhint?:
  727. | 'enter'
  728. | 'done'
  729. | 'go'
  730. | 'next'
  731. | 'previous'
  732. | 'search'
  733. | 'send'
  734. | undefined
  735. | null;
  736. hidden?: boolean | 'until-found' | '' | undefined | null;
  737. id?: string | undefined | null;
  738. lang?: string | undefined | null;
  739. part?: string | undefined | null;
  740. placeholder?: string | undefined | null;
  741. slot?: string | undefined | null;
  742. spellcheck?: Booleanish | undefined | null;
  743. style?: string | undefined | null;
  744. tabindex?: number | undefined | null;
  745. title?: string | undefined | null;
  746. translate?: 'yes' | 'no' | '' | undefined | null;
  747. inert?: boolean | undefined | null;
  748. popover?: 'auto' | 'manual' | 'hint' | '' | undefined | null;
  749. writingsuggestions?: Booleanish | undefined | null;
  750. // Unknown
  751. radiogroup?: string | undefined | null; // <command>, <menuitem>
  752. // WAI-ARIA
  753. role?: AriaRole | undefined | null;
  754. // RDFa Attributes
  755. about?: string | undefined | null;
  756. datatype?: string | undefined | null;
  757. inlist?: any;
  758. prefix?: string | undefined | null;
  759. property?: string | undefined | null;
  760. resource?: string | undefined | null;
  761. typeof?: string | undefined | null;
  762. vocab?: string | undefined | null;
  763. // Non-standard Attributes
  764. autosave?: string | undefined | null;
  765. color?: string | undefined | null;
  766. itemprop?: string | undefined | null;
  767. itemscope?: boolean | undefined | null;
  768. itemtype?: string | undefined | null;
  769. itemid?: string | undefined | null;
  770. itemref?: string | undefined | null;
  771. results?: number | undefined | null;
  772. security?: string | undefined | null;
  773. unselectable?: 'on' | 'off' | undefined | null;
  774. // Living Standard
  775. /**
  776. * Hints at the type of data that might be entered by the user while editing the element or its contents
  777. * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
  778. */
  779. inputmode?:
  780. | 'none'
  781. | 'text'
  782. | 'tel'
  783. | 'url'
  784. | 'email'
  785. | 'numeric'
  786. | 'decimal'
  787. | 'search'
  788. | undefined
  789. | null;
  790. /**
  791. * Specify that a standard HTML element should behave like a defined custom built-in element
  792. * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is
  793. */
  794. is?: string | undefined | null;
  795. /**
  796. * Elements with the contenteditable attribute support `innerHTML`, `textContent` and `innerText` bindings.
  797. */
  798. 'bind:innerHTML'?: string | undefined | null;
  799. /**
  800. * Elements with the contenteditable attribute support `innerHTML`, `textContent` and `innerText` bindings.
  801. */
  802. 'bind:textContent'?: string | undefined | null;
  803. /**
  804. * Elements with the contenteditable attribute support `innerHTML`, `textContent` and `innerText` bindings.
  805. */
  806. 'bind:innerText'?: string | undefined | null;
  807. readonly 'bind:focused'?: boolean | undefined | null;
  808. readonly 'bind:offsetWidth'?: number | undefined | null;
  809. readonly 'bind:offsetHeight'?: number | undefined | null;
  810. // allow any data- attribute
  811. [key: `data-${string}`]: any;
  812. // allow any attachment and falsy values (by using false we prevent the usage of booleans values by themselves)
  813. [key: symbol]: Attachment<T> | false | undefined | null;
  814. }
  815. export type HTMLAttributeAnchorTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {});
  816. export interface HTMLAnchorAttributes extends HTMLAttributes<HTMLAnchorElement> {
  817. download?: any;
  818. href?: string | undefined | null;
  819. hreflang?: string | undefined | null;
  820. media?: string | undefined | null;
  821. ping?: string | undefined | null;
  822. rel?: string | undefined | null;
  823. target?: HTMLAttributeAnchorTarget | undefined | null;
  824. type?: string | undefined | null;
  825. referrerpolicy?: ReferrerPolicy | undefined | null;
  826. }
  827. export interface HTMLAudioAttributes extends HTMLMediaAttributes<HTMLAudioElement> {}
  828. export interface HTMLAreaAttributes extends HTMLAttributes<HTMLAreaElement> {
  829. alt?: string | undefined | null;
  830. coords?: string | undefined | null;
  831. download?: any;
  832. href?: string | undefined | null;
  833. hreflang?: string | undefined | null;
  834. media?: string | undefined | null;
  835. referrerpolicy?: ReferrerPolicy | undefined | null;
  836. rel?: string | undefined | null;
  837. shape?: 'circle' | 'default' | 'poly' | 'rect' | undefined | null;
  838. target?: string | undefined | null;
  839. ping?: string | undefined | null;
  840. }
  841. export interface HTMLBaseAttributes extends HTMLAttributes<HTMLBaseElement> {
  842. href?: string | undefined | null;
  843. target?: string | undefined | null;
  844. }
  845. export interface HTMLBlockquoteAttributes extends HTMLAttributes<HTMLQuoteElement> {
  846. cite?: string | undefined | null;
  847. }
  848. export interface HTMLButtonAttributes extends HTMLAttributes<HTMLButtonElement> {
  849. disabled?: boolean | undefined | null;
  850. form?: string | undefined | null;
  851. formaction?: string | undefined | null;
  852. formenctype?:
  853. | 'application/x-www-form-urlencoded'
  854. | 'multipart/form-data'
  855. | 'text/plain'
  856. | undefined
  857. | null;
  858. formmethod?: 'dialog' | 'get' | 'post' | 'DIALOG' | 'GET' | 'POST' | undefined | null;
  859. formnovalidate?: boolean | undefined | null;
  860. formtarget?: string | undefined | null;
  861. name?: string | undefined | null;
  862. type?: 'submit' | 'reset' | 'button' | undefined | null;
  863. value?: string | string[] | number | undefined | null;
  864. popovertarget?: string | undefined | null;
  865. popovertargetaction?: 'toggle' | 'show' | 'hide' | undefined | null;
  866. command?:
  867. | 'show-modal'
  868. | 'close'
  869. | 'request-close'
  870. | 'show-popover'
  871. | 'hide-popover'
  872. | 'toggle-popover'
  873. | (string & {})
  874. | undefined
  875. | null;
  876. commandfor?: string | undefined | null;
  877. }
  878. export interface HTMLCanvasAttributes extends HTMLAttributes<HTMLCanvasElement> {
  879. height?: number | string | undefined | null;
  880. width?: number | string | undefined | null;
  881. }
  882. export interface HTMLColAttributes extends HTMLAttributes<HTMLTableColElement> {
  883. span?: number | undefined | null;
  884. width?: number | string | undefined | null;
  885. }
  886. export interface HTMLColgroupAttributes extends HTMLAttributes<HTMLTableColElement> {
  887. span?: number | undefined | null;
  888. }
  889. export interface HTMLDataAttributes extends HTMLAttributes<HTMLDataElement> {
  890. value?: string | string[] | number | undefined | null;
  891. }
  892. export interface HTMLDetailsAttributes extends HTMLAttributes<HTMLDetailsElement> {
  893. open?: boolean | undefined | null;
  894. name?: string | undefined | null;
  895. 'bind:open'?: boolean | undefined | null;
  896. 'on:toggle'?: EventHandler<Event, HTMLDetailsElement> | undefined | null;
  897. ontoggle?: EventHandler<Event, HTMLDetailsElement> | undefined | null;
  898. ontogglecapture?: EventHandler<Event, HTMLDetailsElement> | undefined | null;
  899. }
  900. export interface HTMLDelAttributes extends HTMLAttributes<HTMLModElement> {
  901. cite?: string | undefined | null;
  902. datetime?: string | undefined | null;
  903. }
  904. export interface HTMLDialogAttributes extends HTMLAttributes<HTMLDialogElement> {
  905. open?: boolean | undefined | null;
  906. closedby?: 'any' | 'closerequest' | 'none' | undefined | null;
  907. }
  908. export interface HTMLEmbedAttributes extends HTMLAttributes<HTMLEmbedElement> {
  909. height?: number | string | undefined | null;
  910. src?: string | undefined | null;
  911. type?: string | undefined | null;
  912. width?: number | string | undefined | null;
  913. }
  914. export interface HTMLFieldsetAttributes extends HTMLAttributes<HTMLFieldSetElement> {
  915. disabled?: boolean | undefined | null;
  916. form?: string | undefined | null;
  917. name?: string | undefined | null;
  918. }
  919. export interface HTMLFormAttributes extends HTMLAttributes<HTMLFormElement> {
  920. 'accept-charset'?: 'utf-8' | (string & {}) | undefined | null;
  921. action?: string | undefined | null;
  922. autocomplete?: AutoFillBase | undefined | null;
  923. enctype?:
  924. | 'application/x-www-form-urlencoded'
  925. | 'multipart/form-data'
  926. | 'text/plain'
  927. | undefined
  928. | null;
  929. method?: 'dialog' | 'get' | 'post' | 'DIALOG' | 'GET' | 'POST' | undefined | null;
  930. name?: string | undefined | null;
  931. novalidate?: boolean | undefined | null;
  932. target?: string | undefined | null;
  933. rel?: string | undefined | null;
  934. }
  935. export interface HTMLHtmlAttributes extends HTMLAttributes<HTMLHtmlElement> {
  936. manifest?: string | undefined | null;
  937. }
  938. export interface HTMLIframeAttributes extends HTMLAttributes<HTMLIFrameElement> {
  939. allow?: string | undefined | null;
  940. allowfullscreen?: boolean | undefined | null;
  941. allowtransparency?: boolean | undefined | null;
  942. /** @deprecated */
  943. frameborder?: number | string | undefined | null;
  944. height?: number | string | undefined | null;
  945. loading?: 'eager' | 'lazy' | undefined | null;
  946. /** @deprecated */
  947. marginheight?: number | undefined | null;
  948. /** @deprecated */
  949. marginwidth?: number | undefined | null;
  950. name?: string | undefined | null;
  951. referrerpolicy?: ReferrerPolicy | undefined | null;
  952. sandbox?: string | undefined | null;
  953. /** @deprecated */
  954. scrolling?: string | undefined | null;
  955. seamless?: boolean | undefined | null;
  956. src?: string | undefined | null;
  957. srcdoc?: string | undefined | null;
  958. width?: number | string | undefined | null;
  959. }
  960. export interface HTMLImgAttributes extends HTMLAttributes<HTMLImageElement> {
  961. alt?: string | undefined | null;
  962. crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
  963. decoding?: 'async' | 'auto' | 'sync' | undefined | null;
  964. fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
  965. height?: number | string | undefined | null;
  966. ismap?: boolean | undefined | null;
  967. loading?: 'eager' | 'lazy' | undefined | null;
  968. referrerpolicy?: ReferrerPolicy | undefined | null;
  969. sizes?: string | undefined | null;
  970. src?: string | undefined | null;
  971. srcset?: string | undefined | null;
  972. usemap?: string | undefined | null;
  973. width?: number | string | undefined | null;
  974. readonly 'bind:naturalWidth'?: number | undefined | null;
  975. readonly 'bind:naturalHeight'?: number | undefined | null;
  976. }
  977. export interface HTMLInsAttributes extends HTMLAttributes<HTMLModElement> {
  978. cite?: string | undefined | null;
  979. datetime?: string | undefined | null;
  980. }
  981. export type HTMLInputTypeAttribute =
  982. | 'button'
  983. | 'checkbox'
  984. | 'color'
  985. | 'date'
  986. | 'datetime-local'
  987. | 'email'
  988. | 'file'
  989. | 'hidden'
  990. | 'image'
  991. | 'month'
  992. | 'number'
  993. | 'password'
  994. | 'radio'
  995. | 'range'
  996. | 'reset'
  997. | 'search'
  998. | 'submit'
  999. | 'tel'
  1000. | 'text'
  1001. | 'time'
  1002. | 'url'
  1003. | 'week'
  1004. | (string & {});
  1005. export interface HTMLInputAttributes extends HTMLAttributes<HTMLInputElement> {
  1006. accept?: string | undefined | null;
  1007. alt?: string | undefined | null;
  1008. autocomplete?: FullAutoFill | undefined | null;
  1009. // Safari only https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#autocorrect
  1010. autocorrect?: 'on' | 'off' | '' | undefined | null;
  1011. capture?: boolean | 'user' | 'environment' | undefined | null; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute
  1012. checked?: boolean | undefined | null;
  1013. dirname?: string | undefined | null;
  1014. disabled?: boolean | undefined | null;
  1015. files?: FileList | undefined | null;
  1016. form?: string | undefined | null;
  1017. formaction?: string | undefined | null;
  1018. formenctype?:
  1019. | 'application/x-www-form-urlencoded'
  1020. | 'multipart/form-data'
  1021. | 'text/plain'
  1022. | undefined
  1023. | null;
  1024. formmethod?: 'dialog' | 'get' | 'post' | 'DIALOG' | 'GET' | 'POST' | undefined | null;
  1025. formnovalidate?: boolean | undefined | null;
  1026. formtarget?: string | undefined | null;
  1027. group?: any | undefined | null;
  1028. height?: number | string | undefined | null;
  1029. indeterminate?: boolean | undefined | null;
  1030. list?: string | undefined | null;
  1031. max?: number | string | undefined | null;
  1032. maxlength?: number | undefined | null;
  1033. min?: number | string | undefined | null;
  1034. minlength?: number | undefined | null;
  1035. multiple?: boolean | undefined | null;
  1036. name?: string | undefined | null;
  1037. pattern?: string | undefined | null;
  1038. placeholder?: string | undefined | null;
  1039. readonly?: boolean | undefined | null;
  1040. required?: boolean | undefined | null;
  1041. size?: number | undefined | null;
  1042. src?: string | undefined | null;
  1043. step?: number | string | undefined | null;
  1044. type?: HTMLInputTypeAttribute | undefined | null;
  1045. value?: any;
  1046. // needs both casing variants because language tools does lowercase names of non-shorthand attributes
  1047. defaultValue?: any;
  1048. defaultvalue?: any;
  1049. defaultChecked?: boolean | undefined | null;
  1050. defaultchecked?: boolean | undefined | null;
  1051. width?: number | string | undefined | null;
  1052. webkitdirectory?: boolean | undefined | null;
  1053. 'on:change'?: ChangeEventHandler<HTMLInputElement> | undefined | null;
  1054. onchange?: ChangeEventHandler<HTMLInputElement> | undefined | null;
  1055. 'bind:checked'?: boolean | undefined | null;
  1056. 'bind:value'?: any;
  1057. 'bind:group'?: any | undefined | null;
  1058. 'bind:files'?: FileList | undefined | null;
  1059. 'bind:indeterminate'?: boolean | undefined | null;
  1060. }
  1061. export interface HTMLKeygenAttributes extends HTMLAttributes<HTMLElement> {
  1062. challenge?: string | undefined | null;
  1063. disabled?: boolean | undefined | null;
  1064. form?: string | undefined | null;
  1065. keytype?: string | undefined | null;
  1066. keyparams?: string | undefined | null;
  1067. name?: string | undefined | null;
  1068. }
  1069. export interface HTMLLabelAttributes extends HTMLAttributes<HTMLLabelElement> {
  1070. form?: string | undefined | null;
  1071. for?: string | undefined | null;
  1072. }
  1073. export interface HTMLLiAttributes extends HTMLAttributes<HTMLLIElement> {
  1074. value?: string | string[] | number | undefined | null;
  1075. }
  1076. export interface HTMLLinkAttributes extends HTMLAttributes<HTMLLinkElement> {
  1077. as?:
  1078. | 'fetch'
  1079. | 'audio'
  1080. | 'audioworklet'
  1081. | 'document'
  1082. | 'embed'
  1083. | 'font'
  1084. | 'frame'
  1085. | 'iframe'
  1086. | 'image'
  1087. | 'json'
  1088. | 'manifest'
  1089. | 'object'
  1090. | 'paintworklet'
  1091. | 'report'
  1092. | 'script'
  1093. | 'serviceworker'
  1094. | 'sharedworker'
  1095. | 'style'
  1096. | 'track'
  1097. | 'video'
  1098. | 'webidentity'
  1099. | 'worker'
  1100. | 'xslt'
  1101. | ''
  1102. | undefined
  1103. | null;
  1104. crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
  1105. href?: string | undefined | null;
  1106. hreflang?: string | undefined | null;
  1107. integrity?: string | undefined | null;
  1108. media?: string | undefined | null;
  1109. imagesrcset?: string | undefined | null;
  1110. imagesizes?: string | undefined | null;
  1111. referrerpolicy?: ReferrerPolicy | undefined | null;
  1112. rel?: string | undefined | null;
  1113. sizes?: string | undefined | null;
  1114. type?: string | undefined | null;
  1115. charset?: string | undefined | null;
  1116. fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
  1117. }
  1118. export interface HTMLMapAttributes extends HTMLAttributes<HTMLMapElement> {
  1119. name?: string | undefined | null;
  1120. }
  1121. export interface HTMLMenuAttributes extends HTMLAttributes<HTMLMenuElement> {
  1122. type?: string | undefined | null;
  1123. }
  1124. export interface HTMLMediaAttributes<T extends HTMLMediaElement> extends HTMLAttributes<T> {
  1125. autoplay?: boolean | undefined | null;
  1126. controls?: boolean | undefined | null;
  1127. controlslist?:
  1128. | 'nodownload'
  1129. | 'nofullscreen'
  1130. | 'noplaybackrate'
  1131. | 'noremoteplayback'
  1132. | (string & {})
  1133. | undefined
  1134. | null;
  1135. crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
  1136. currenttime?: number | undefined | null;
  1137. defaultmuted?: boolean | undefined | null;
  1138. defaultplaybackrate?: number | undefined | null;
  1139. loop?: boolean | undefined | null;
  1140. mediagroup?: string | undefined | null;
  1141. muted?: boolean | undefined | null;
  1142. playsinline?: boolean | undefined | null;
  1143. preload?: 'auto' | 'none' | 'metadata' | '' | undefined | null;
  1144. src?: string | undefined | null;
  1145. srcobject?: MediaStream | MediaSource | File | Blob;
  1146. /**
  1147. * a value between 0 and 1
  1148. */
  1149. volume?: number | undefined | null;
  1150. readonly 'bind:readyState'?: 0 | 1 | 2 | 3 | 4 | undefined | null;
  1151. readonly 'bind:duration'?: number | undefined | null;
  1152. readonly 'bind:buffered'?: SvelteMediaTimeRange[] | undefined | null;
  1153. readonly 'bind:played'?: SvelteMediaTimeRange[] | undefined | null;
  1154. readonly 'bind:seekable'?: SvelteMediaTimeRange[] | undefined | null;
  1155. readonly 'bind:seeking'?: boolean | undefined | null;
  1156. readonly 'bind:ended'?: boolean | undefined | null;
  1157. 'bind:muted'?: boolean | undefined | null;
  1158. 'bind:volume'?: number | undefined | null;
  1159. /**
  1160. * the current playback time in the video, in seconds
  1161. */
  1162. 'bind:currentTime'?: number | undefined | null;
  1163. /**
  1164. * how fast or slow to play the video, where 1 is 'normal'
  1165. */
  1166. 'bind:playbackRate'?: number | undefined | null;
  1167. 'bind:paused'?: boolean | undefined | null;
  1168. }
  1169. export interface HTMLMetaAttributes extends HTMLAttributes<HTMLMetaElement> {
  1170. charset?: string | undefined | null;
  1171. content?: string | undefined | null;
  1172. 'http-equiv'?:
  1173. | 'accept-ch'
  1174. | 'content-security-policy'
  1175. | 'content-type'
  1176. | 'default-style'
  1177. | 'refresh'
  1178. | 'x-ua-compatible'
  1179. | undefined
  1180. | null;
  1181. name?: string | undefined | null;
  1182. media?: string | undefined | null;
  1183. }
  1184. export interface HTMLMeterAttributes extends HTMLAttributes<HTMLMeterElement> {
  1185. form?: string | undefined | null;
  1186. high?: number | undefined | null;
  1187. low?: number | undefined | null;
  1188. max?: number | string | undefined | null;
  1189. min?: number | string | undefined | null;
  1190. optimum?: number | undefined | null;
  1191. value?: string | string[] | number | undefined | null;
  1192. }
  1193. export interface HTMLQuoteAttributes extends HTMLAttributes<HTMLQuoteElement> {
  1194. cite?: string | undefined | null;
  1195. }
  1196. export interface HTMLObjectAttributes extends HTMLAttributes<HTMLObjectElement> {
  1197. classid?: string | undefined | null;
  1198. data?: string | undefined | null;
  1199. form?: string | undefined | null;
  1200. height?: number | string | undefined | null;
  1201. name?: string | undefined | null;
  1202. type?: string | undefined | null;
  1203. usemap?: string | undefined | null;
  1204. width?: number | string | undefined | null;
  1205. wmode?: string | undefined | null;
  1206. }
  1207. export interface HTMLOlAttributes extends HTMLAttributes<HTMLOListElement> {
  1208. reversed?: boolean | undefined | null;
  1209. start?: number | undefined | null;
  1210. type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null;
  1211. }
  1212. export interface HTMLOptgroupAttributes extends HTMLAttributes<HTMLOptGroupElement> {
  1213. disabled?: boolean | undefined | null;
  1214. label?: string | undefined | null;
  1215. }
  1216. export interface HTMLOptionAttributes extends HTMLAttributes<HTMLOptionElement> {
  1217. disabled?: boolean | undefined | null;
  1218. label?: string | undefined | null;
  1219. selected?: boolean | undefined | null;
  1220. value?: any;
  1221. }
  1222. export interface HTMLOutputAttributes extends HTMLAttributes<HTMLOutputElement> {
  1223. form?: string | undefined | null;
  1224. for?: string | undefined | null;
  1225. name?: string | undefined | null;
  1226. }
  1227. export interface HTMLParamAttributes extends HTMLAttributes<HTMLParamElement> {
  1228. name?: string | undefined | null;
  1229. value?: string | string[] | number | undefined | null;
  1230. }
  1231. export interface HTMLProgressAttributes extends HTMLAttributes<HTMLProgressElement> {
  1232. max?: number | string | undefined | null;
  1233. value?: string | string[] | number | undefined | null;
  1234. }
  1235. export interface HTMLSlotAttributes extends HTMLAttributes<HTMLSlotElement> {
  1236. name?: string | undefined | null;
  1237. }
  1238. export interface HTMLScriptAttributes extends HTMLAttributes<HTMLScriptElement> {
  1239. async?: boolean | undefined | null;
  1240. /** @deprecated */
  1241. charset?: string | undefined | null;
  1242. crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
  1243. defer?: boolean | undefined | null;
  1244. fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
  1245. integrity?: string | undefined | null;
  1246. nomodule?: boolean | undefined | null;
  1247. nonce?: string | undefined | null;
  1248. referrerpolicy?: ReferrerPolicy | undefined | null;
  1249. src?: string | undefined | null;
  1250. type?: string | undefined | null;
  1251. }
  1252. export interface HTMLSelectAttributes extends HTMLAttributes<HTMLSelectElement> {
  1253. autocomplete?: FullAutoFill | undefined | null;
  1254. disabled?: boolean | undefined | null;
  1255. form?: string | undefined | null;
  1256. multiple?: boolean | undefined | null;
  1257. name?: string | undefined | null;
  1258. required?: boolean | undefined | null;
  1259. size?: number | undefined | null;
  1260. value?: any;
  1261. 'on:change'?: ChangeEventHandler<HTMLSelectElement> | undefined | null;
  1262. onchange?: ChangeEventHandler<HTMLSelectElement> | undefined | null;
  1263. 'bind:value'?: any;
  1264. }
  1265. export interface HTMLSourceAttributes extends HTMLAttributes<HTMLSourceElement> {
  1266. height?: number | string | undefined | null;
  1267. media?: string | undefined | null;
  1268. sizes?: string | undefined | null;
  1269. src?: string | undefined | null;
  1270. srcset?: string | undefined | null;
  1271. type?: string | undefined | null;
  1272. width?: number | string | undefined | null;
  1273. }
  1274. export interface HTMLStyleAttributes extends HTMLAttributes<HTMLStyleElement> {
  1275. media?: string | undefined | null;
  1276. nonce?: string | undefined | null;
  1277. scoped?: boolean | undefined | null;
  1278. type?: string | undefined | null;
  1279. }
  1280. export interface HTMLTableAttributes extends HTMLAttributes<HTMLTableElement> {
  1281. align?: 'left' | 'center' | 'right' | undefined | null;
  1282. bgcolor?: string | undefined | null;
  1283. border?: number | undefined | null;
  1284. cellpadding?: number | string | undefined | null;
  1285. cellspacing?: number | string | undefined | null;
  1286. frame?: boolean | undefined | null;
  1287. rules?: 'none' | 'groups' | 'rows' | 'columns' | 'all' | undefined | null;
  1288. summary?: string | undefined | null;
  1289. width?: number | string | undefined | null;
  1290. }
  1291. export interface HTMLTextareaAttributes extends HTMLAttributes<HTMLTextAreaElement> {
  1292. autocomplete?: FullAutoFill | undefined | null;
  1293. cols?: number | undefined | null;
  1294. dirname?: string | undefined | null;
  1295. disabled?: boolean | undefined | null;
  1296. form?: string | undefined | null;
  1297. maxlength?: number | undefined | null;
  1298. minlength?: number | undefined | null;
  1299. name?: string | undefined | null;
  1300. placeholder?: string | undefined | null;
  1301. readonly?: boolean | undefined | null;
  1302. required?: boolean | undefined | null;
  1303. rows?: number | undefined | null;
  1304. value?: string | string[] | number | undefined | null;
  1305. // needs both casing variants because language tools does lowercase names of non-shorthand attributes
  1306. defaultValue?: string | string[] | number | undefined | null;
  1307. defaultvalue?: string | string[] | number | undefined | null;
  1308. wrap?: 'hard' | 'soft' | 'off' | undefined | null;
  1309. 'on:change'?: ChangeEventHandler<HTMLTextAreaElement> | undefined | null;
  1310. onchange?: ChangeEventHandler<HTMLTextAreaElement> | undefined | null;
  1311. 'bind:value'?: any;
  1312. }
  1313. export interface HTMLTdAttributes extends HTMLAttributes<HTMLTableCellElement> {
  1314. align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null;
  1315. colspan?: number | undefined | null;
  1316. headers?: string | undefined | null;
  1317. rowspan?: number | undefined | null;
  1318. scope?: 'col' | 'colgroup' | 'row' | 'rowgroup' | undefined | null;
  1319. abbr?: string | undefined | null;
  1320. height?: number | string | undefined | null;
  1321. width?: number | string | undefined | null;
  1322. valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined | null;
  1323. }
  1324. export interface HTMLThAttributes extends HTMLAttributes<HTMLTableCellElement> {
  1325. align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null;
  1326. colspan?: number | undefined | null;
  1327. headers?: string | undefined | null;
  1328. rowspan?: number | undefined | null;
  1329. scope?: 'col' | 'colgroup' | 'row' | 'rowgroup' | undefined | null;
  1330. abbr?: string | undefined | null;
  1331. }
  1332. export interface HTMLTimeAttributes extends HTMLAttributes<HTMLTimeElement> {
  1333. datetime?: string | undefined | null;
  1334. }
  1335. export interface HTMLTrackAttributes extends HTMLAttributes<HTMLTrackElement> {
  1336. default?: boolean | undefined | null;
  1337. kind?: 'captions' | 'chapters' | 'descriptions' | 'metadata' | 'subtitles' | undefined | null;
  1338. label?: string | undefined | null;
  1339. src?: string | undefined | null;
  1340. srclang?: string | undefined | null;
  1341. }
  1342. export interface HTMLVideoAttributes extends HTMLMediaAttributes<HTMLVideoElement> {
  1343. height?: number | string | undefined | null;
  1344. playsinline?: boolean | undefined | null;
  1345. poster?: string | undefined | null;
  1346. width?: number | string | undefined | null;
  1347. disablepictureinpicture?: boolean | undefined | null;
  1348. disableremoteplayback?: boolean | undefined | null;
  1349. readonly 'bind:videoWidth'?: number | undefined | null;
  1350. readonly 'bind:videoHeight'?: number | undefined | null;
  1351. }
  1352. export interface SvelteMediaTimeRange {
  1353. start: number;
  1354. end: number;
  1355. }
  1356. export interface SvelteDocumentAttributes extends HTMLAttributes<Document> {
  1357. readonly 'bind:activeElement'?: Document['activeElement'] | undefined | null;
  1358. readonly 'bind:fullscreenElement'?: Document['fullscreenElement'] | undefined | null;
  1359. readonly 'bind:pointerLockElement'?: Document['pointerLockElement'] | undefined | null;
  1360. readonly 'bind:visibilityState'?: Document['visibilityState'] | undefined | null;
  1361. }
  1362. export interface SvelteWindowAttributes extends HTMLAttributes<Window> {
  1363. readonly 'bind:innerWidth'?: Window['innerWidth'] | undefined | null;
  1364. readonly 'bind:innerHeight'?: Window['innerHeight'] | undefined | null;
  1365. readonly 'bind:outerWidth'?: Window['outerWidth'] | undefined | null;
  1366. readonly 'bind:outerHeight'?: Window['outerHeight'] | undefined | null;
  1367. readonly 'bind:devicePixelRatio'?: Window['devicePixelRatio'] | undefined | null;
  1368. 'bind:scrollX'?: Window['scrollX'] | undefined | null;
  1369. 'bind:scrollY'?: Window['scrollY'] | undefined | null;
  1370. readonly 'bind:online'?: Window['navigator']['onLine'] | undefined | null;
  1371. 'on:devicelight'?: EventHandler<Event, Window> | undefined | null;
  1372. ondevicelight?: EventHandler<Event, Window> | undefined | null;
  1373. 'on:beforeinstallprompt'?: EventHandler<Event, Window> | undefined | null;
  1374. onbeforeinstallprompt?: EventHandler<Event, Window> | undefined | null;
  1375. 'on:deviceproximity'?: EventHandler<Event, Window> | undefined | null;
  1376. ondeviceproximity?: EventHandler<Event, Window> | undefined | null;
  1377. 'on:paint'?: EventHandler<Event, Window> | undefined | null;
  1378. onpaint?: EventHandler<Event, Window> | undefined | null;
  1379. 'on:userproximity'?: EventHandler<Event, Window> | undefined | null;
  1380. onuserproximity?: EventHandler<Event, Window> | undefined | null;
  1381. 'on:beforeprint'?: EventHandler<Event, Window> | undefined | null;
  1382. onbeforeprint?: EventHandler<Event, Window> | undefined | null;
  1383. 'on:afterprint'?: EventHandler<Event, Window> | undefined | null;
  1384. onafterprint?: EventHandler<Event, Window> | undefined | null;
  1385. 'on:languagechange'?: EventHandler<Event, Window> | undefined | null;
  1386. onlanguagechange?: EventHandler<Event, Window> | undefined | null;
  1387. 'on:orientationchange'?: EventHandler<Event, Window> | undefined | null;
  1388. onorientationchange?: EventHandler<Event, Window> | undefined | null;
  1389. 'on:message'?: EventHandler<MessageEvent, Window> | undefined | null;
  1390. onmessage?: EventHandler<MessageEvent, Window> | undefined | null;
  1391. 'on:messageerror'?: EventHandler<MessageEvent, Window> | undefined | null;
  1392. onmessageerror?: EventHandler<MessageEvent, Window> | undefined | null;
  1393. 'on:offline'?: EventHandler<Event, Window> | undefined | null;
  1394. onoffline?: EventHandler<Event, Window> | undefined | null;
  1395. 'on:online'?: EventHandler<Event, Window> | undefined | null;
  1396. ononline?: EventHandler<Event, Window> | undefined | null;
  1397. 'on:beforeunload'?: EventHandler<BeforeUnloadEvent, Window> | undefined | null;
  1398. onbeforeunload?: EventHandler<BeforeUnloadEvent, Window> | undefined | null;
  1399. 'on:unload'?: EventHandler<Event, Window> | undefined | null;
  1400. onunload?: EventHandler<Event, Window> | undefined | null;
  1401. 'on:storage'?: EventHandler<StorageEvent, Window> | undefined | null;
  1402. onstorage?: EventHandler<StorageEvent, Window> | undefined | null;
  1403. 'on:hashchange'?: EventHandler<HashChangeEvent, Window> | undefined | null;
  1404. onhashchange?: EventHandler<HashChangeEvent, Window> | undefined | null;
  1405. 'on:pagehide'?: EventHandler<PageTransitionEvent, Window> | undefined | null;
  1406. onpagehide?: EventHandler<PageTransitionEvent, Window> | undefined | null;
  1407. 'on:pageshow'?: EventHandler<PageTransitionEvent, Window> | undefined | null;
  1408. onpageshow?: EventHandler<PageTransitionEvent, Window> | undefined | null;
  1409. 'on:popstate'?: EventHandler<PopStateEvent, Window> | undefined | null;
  1410. onpopstate?: EventHandler<PopStateEvent, Window> | undefined | null;
  1411. 'on:devicemotion'?: EventHandler<DeviceMotionEvent> | undefined | null;
  1412. ondevicemotion?: EventHandler<DeviceMotionEvent> | undefined | null;
  1413. 'on:deviceorientation'?: EventHandler<DeviceOrientationEvent, Window> | undefined | null;
  1414. ondeviceorientation?: EventHandler<DeviceOrientationEvent, Window> | undefined | null;
  1415. 'on:deviceorientationabsolute'?: EventHandler<DeviceOrientationEvent, Window> | undefined | null;
  1416. ondeviceorientationabsolute?: EventHandler<DeviceOrientationEvent, Window> | undefined | null;
  1417. 'on:unhandledrejection'?: EventHandler<PromiseRejectionEvent, Window> | undefined | null;
  1418. onunhandledrejection?: EventHandler<PromiseRejectionEvent, Window> | undefined | null;
  1419. 'on:rejectionhandled'?: EventHandler<PromiseRejectionEvent, Window> | undefined | null;
  1420. onrejectionhandled?: EventHandler<PromiseRejectionEvent, Window> | undefined | null;
  1421. }
  1422. export interface SVGAttributes<T extends EventTarget> extends AriaAttributes, DOMAttributes<T> {
  1423. // Attributes which also defined in HTMLAttributes
  1424. className?: string | undefined | null;
  1425. class?: ClassValue | undefined | null;
  1426. color?: string | undefined | null;
  1427. height?: number | string | undefined | null;
  1428. id?: string | undefined | null;
  1429. lang?: string | undefined | null;
  1430. part?: string | undefined | null;
  1431. max?: number | string | undefined | null;
  1432. media?: string | undefined | null;
  1433. // On the `textPath` element
  1434. method?: 'align' | 'stretch' | undefined | null;
  1435. min?: number | string | undefined | null;
  1436. name?: string | undefined | null;
  1437. style?: string | undefined | null;
  1438. target?: string | undefined | null;
  1439. type?: string | undefined | null;
  1440. width?: number | string | undefined | null;
  1441. // Other HTML properties supported by SVG elements in browsers
  1442. role?: AriaRole | undefined | null;
  1443. tabindex?: number | undefined | null;
  1444. crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
  1445. // SVG Specific attributes
  1446. 'accent-height'?: number | string | undefined | null;
  1447. accumulate?: 'none' | 'sum' | undefined | null;
  1448. additive?: 'replace' | 'sum' | undefined | null;
  1449. 'alignment-baseline'?:
  1450. | 'auto'
  1451. | 'baseline'
  1452. | 'before-edge'
  1453. | 'text-before-edge'
  1454. | 'middle'
  1455. | 'central'
  1456. | 'after-edge'
  1457. | 'text-after-edge'
  1458. | 'ideographic'
  1459. | 'alphabetic'
  1460. | 'hanging'
  1461. | 'mathematical'
  1462. | 'inherit'
  1463. | undefined
  1464. | null;
  1465. allowReorder?: 'no' | 'yes' | undefined | null;
  1466. alphabetic?: number | string | undefined | null;
  1467. amplitude?: number | string | undefined | null;
  1468. 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined | null;
  1469. ascent?: number | string | undefined | null;
  1470. attributeName?: string | undefined | null;
  1471. attributeType?: string | undefined | null;
  1472. autoReverse?: number | string | undefined | null;
  1473. azimuth?: number | string | undefined | null;
  1474. baseFrequency?: number | string | undefined | null;
  1475. 'baseline-shift'?: number | string | undefined | null;
  1476. baseProfile?: number | string | undefined | null;
  1477. bbox?: number | string | undefined | null;
  1478. begin?: number | string | undefined | null;
  1479. bias?: number | string | undefined | null;
  1480. by?: number | string | undefined | null;
  1481. calcMode?: number | string | undefined | null;
  1482. 'cap-height'?: number | string | undefined | null;
  1483. clip?: number | string | undefined | null;
  1484. 'clip-path'?: string | undefined | null;
  1485. clipPathUnits?: number | string | undefined | null;
  1486. 'clip-rule'?: number | string | undefined | null;
  1487. 'color-interpolation'?: number | string | undefined | null;
  1488. 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined | null;
  1489. 'color-profile'?: number | string | undefined | null;
  1490. 'color-rendering'?: number | string | undefined | null;
  1491. contentScriptType?: number | string | undefined | null;
  1492. contentStyleType?: number | string | undefined | null;
  1493. cursor?: number | string | undefined | null;
  1494. cx?: number | string | undefined | null;
  1495. cy?: number | string | undefined | null;
  1496. d?: string | undefined | null;
  1497. decelerate?: number | string | undefined | null;
  1498. descent?: number | string | undefined | null;
  1499. diffuseConstant?: number | string | undefined | null;
  1500. direction?: number | string | undefined | null;
  1501. display?: number | string | undefined | null;
  1502. divisor?: number | string | undefined | null;
  1503. 'dominant-baseline'?: number | string | undefined | null;
  1504. dur?: number | string | undefined | null;
  1505. dx?: number | string | undefined | null;
  1506. dy?: number | string | undefined | null;
  1507. edgeMode?: number | string | undefined | null;
  1508. elevation?: number | string | undefined | null;
  1509. 'enable-background'?: number | string | undefined | null;
  1510. end?: number | string | undefined | null;
  1511. exponent?: number | string | undefined | null;
  1512. externalResourcesRequired?: number | string | undefined | null;
  1513. fill?: string | undefined | null;
  1514. 'fill-opacity'?: number | string | undefined | null;
  1515. 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' | undefined | null;
  1516. filter?: string | undefined | null;
  1517. filterRes?: number | string | undefined | null;
  1518. filterUnits?: number | string | undefined | null;
  1519. 'flood-color'?: number | string | undefined | null;
  1520. 'flood-opacity'?: number | string | undefined | null;
  1521. focusable?: number | string | undefined | null;
  1522. 'font-family'?: string | undefined | null;
  1523. 'font-size'?: number | string | undefined | null;
  1524. 'font-size-adjust'?: number | string | undefined | null;
  1525. 'font-stretch'?: number | string | undefined | null;
  1526. 'font-style'?: number | string | undefined | null;
  1527. 'font-variant'?: number | string | undefined | null;
  1528. 'font-weight'?: number | string | undefined | null;
  1529. format?: number | string | undefined | null;
  1530. fr?: number | string | undefined | null;
  1531. from?: number | string | undefined | null;
  1532. fx?: number | string | undefined | null;
  1533. fy?: number | string | undefined | null;
  1534. g1?: number | string | undefined | null;
  1535. g2?: number | string | undefined | null;
  1536. 'glyph-name'?: number | string | undefined | null;
  1537. 'glyph-orientation-horizontal'?: number | string | undefined | null;
  1538. 'glyph-orientation-vertical'?: number | string | undefined | null;
  1539. glyphRef?: number | string | undefined | null;
  1540. gradientTransform?: string | undefined | null;
  1541. gradientUnits?: string | undefined | null;
  1542. hanging?: number | string | undefined | null;
  1543. href?: string | undefined | null;
  1544. 'horiz-adv-x'?: number | string | undefined | null;
  1545. 'horiz-origin-x'?: number | string | undefined | null;
  1546. ideographic?: number | string | undefined | null;
  1547. 'image-rendering'?: number | string | undefined | null;
  1548. in2?: number | string | undefined | null;
  1549. in?: string | undefined | null;
  1550. intercept?: number | string | undefined | null;
  1551. k1?: number | string | undefined | null;
  1552. k2?: number | string | undefined | null;
  1553. k3?: number | string | undefined | null;
  1554. k4?: number | string | undefined | null;
  1555. k?: number | string | undefined | null;
  1556. kernelMatrix?: number | string | undefined | null;
  1557. kernelUnitLength?: number | string | undefined | null;
  1558. kerning?: number | string | undefined | null;
  1559. keyPoints?: number | string | undefined | null;
  1560. keySplines?: number | string | undefined | null;
  1561. keyTimes?: number | string | undefined | null;
  1562. lengthAdjust?: number | string | undefined | null;
  1563. 'letter-spacing'?: number | string | undefined | null;
  1564. 'lighting-color'?: number | string | undefined | null;
  1565. limitingConeAngle?: number | string | undefined | null;
  1566. local?: number | string | undefined | null;
  1567. 'marker-end'?: string | undefined | null;
  1568. markerHeight?: number | string | undefined | null;
  1569. 'marker-mid'?: string | undefined | null;
  1570. 'marker-start'?: string | undefined | null;
  1571. markerUnits?: number | string | undefined | null;
  1572. markerWidth?: number | string | undefined | null;
  1573. mask?: string | undefined | null;
  1574. maskContentUnits?: number | string | undefined | null;
  1575. maskUnits?: number | string | undefined | null;
  1576. mathematical?: number | string | undefined | null;
  1577. mode?: number | string | undefined | null;
  1578. numOctaves?: number | string | undefined | null;
  1579. offset?: number | string | undefined | null;
  1580. opacity?: number | string | undefined | null;
  1581. operator?: number | string | undefined | null;
  1582. order?: number | string | undefined | null;
  1583. orient?: number | string | undefined | null;
  1584. orientation?: number | string | undefined | null;
  1585. origin?: number | string | undefined | null;
  1586. overflow?: number | string | undefined | null;
  1587. 'overline-position'?: number | string | undefined | null;
  1588. 'overline-thickness'?: number | string | undefined | null;
  1589. 'paint-order'?: number | string | undefined | null;
  1590. 'panose-1'?: number | string | undefined | null;
  1591. path?: string | undefined | null;
  1592. pathLength?: number | string | undefined | null;
  1593. patternContentUnits?: string | undefined | null;
  1594. patternTransform?: number | string | undefined | null;
  1595. patternUnits?: string | undefined | null;
  1596. 'pointer-events'?: number | string | undefined | null;
  1597. points?: string | undefined | null;
  1598. pointsAtX?: number | string | undefined | null;
  1599. pointsAtY?: number | string | undefined | null;
  1600. pointsAtZ?: number | string | undefined | null;
  1601. preserveAlpha?: number | string | undefined | null;
  1602. preserveAspectRatio?: string | undefined | null;
  1603. primitiveUnits?: number | string | undefined | null;
  1604. r?: number | string | undefined | null;
  1605. radius?: number | string | undefined | null;
  1606. refX?: number | string | undefined | null;
  1607. refY?: number | string | undefined | null;
  1608. 'rendering-intent'?: number | string | undefined | null;
  1609. repeatCount?: number | string | undefined | null;
  1610. repeatDur?: number | string | undefined | null;
  1611. requiredExtensions?: number | string | undefined | null;
  1612. requiredFeatures?: number | string | undefined | null;
  1613. restart?: number | string | undefined | null;
  1614. result?: string | undefined | null;
  1615. rotate?: number | string | undefined | null;
  1616. rx?: number | string | undefined | null;
  1617. ry?: number | string | undefined | null;
  1618. scale?: number | string | undefined | null;
  1619. seed?: number | string | undefined | null;
  1620. 'shape-rendering'?: number | string | undefined | null;
  1621. slope?: number | string | undefined | null;
  1622. spacing?: number | string | undefined | null;
  1623. specularConstant?: number | string | undefined | null;
  1624. specularExponent?: number | string | undefined | null;
  1625. speed?: number | string | undefined | null;
  1626. spreadMethod?: string | undefined | null;
  1627. startOffset?: number | string | undefined | null;
  1628. stdDeviation?: number | string | undefined | null;
  1629. stemh?: number | string | undefined | null;
  1630. stemv?: number | string | undefined | null;
  1631. stitchTiles?: number | string | undefined | null;
  1632. 'stop-color'?: string | undefined | null;
  1633. 'stop-opacity'?: number | string | undefined | null;
  1634. 'strikethrough-position'?: number | string | undefined | null;
  1635. 'strikethrough-thickness'?: number | string | undefined | null;
  1636. string?: number | string | undefined | null;
  1637. stroke?: string | undefined | null;
  1638. 'stroke-dasharray'?: string | number | undefined | null;
  1639. 'stroke-dashoffset'?: string | number | undefined | null;
  1640. 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' | undefined | null;
  1641. 'stroke-linejoin'?:
  1642. | 'arcs'
  1643. | 'miter-clip'
  1644. | 'miter'
  1645. | 'round'
  1646. | 'bevel'
  1647. | 'inherit'
  1648. | undefined
  1649. | null;
  1650. 'stroke-miterlimit'?: string | undefined | null;
  1651. 'stroke-opacity'?: number | string | undefined | null;
  1652. 'stroke-width'?: number | string | undefined | null;
  1653. surfaceScale?: number | string | undefined | null;
  1654. systemLanguage?: number | string | undefined | null;
  1655. tableValues?: number | string | undefined | null;
  1656. targetX?: number | string | undefined | null;
  1657. targetY?: number | string | undefined | null;
  1658. 'text-anchor'?: string | undefined | null;
  1659. 'text-decoration'?: number | string | undefined | null;
  1660. textLength?: number | string | undefined | null;
  1661. 'text-rendering'?: number | string | undefined | null;
  1662. to?: number | string | undefined | null;
  1663. transform?: string | undefined | null;
  1664. 'transform-origin'?: string | undefined | null;
  1665. u1?: number | string | undefined | null;
  1666. u2?: number | string | undefined | null;
  1667. 'underline-position'?: number | string | undefined | null;
  1668. 'underline-thickness'?: number | string | undefined | null;
  1669. unicode?: number | string | undefined | null;
  1670. 'unicode-bidi'?: number | string | undefined | null;
  1671. 'unicode-range'?: number | string | undefined | null;
  1672. 'units-per-em'?: number | string | undefined | null;
  1673. 'v-alphabetic'?: number | string | undefined | null;
  1674. values?: string | undefined | null;
  1675. 'vector-effect'?: number | string | undefined | null;
  1676. version?: string | undefined | null;
  1677. 'vert-adv-y'?: number | string | undefined | null;
  1678. 'vert-origin-x'?: number | string | undefined | null;
  1679. 'vert-origin-y'?: number | string | undefined | null;
  1680. 'v-hanging'?: number | string | undefined | null;
  1681. 'v-ideographic'?: number | string | undefined | null;
  1682. viewBox?: string | undefined | null;
  1683. viewTarget?: number | string | undefined | null;
  1684. visibility?: number | string | undefined | null;
  1685. 'v-mathematical'?: number | string | undefined | null;
  1686. widths?: number | string | undefined | null;
  1687. 'word-spacing'?: number | string | undefined | null;
  1688. 'writing-mode'?: number | string | undefined | null;
  1689. x1?: number | string | undefined | null;
  1690. x2?: number | string | undefined | null;
  1691. x?: number | string | undefined | null;
  1692. xChannelSelector?: string | undefined | null;
  1693. 'x-height'?: number | string | undefined | null;
  1694. 'xlink:actuate'?: string | undefined | null;
  1695. 'xlink:arcrole'?: string | undefined | null;
  1696. 'xlink:href'?: string | undefined | null;
  1697. 'xlink:role'?: string | undefined | null;
  1698. 'xlink:show'?: string | undefined | null;
  1699. 'xlink:title'?: string | undefined | null;
  1700. 'xlink:type'?: string | undefined | null;
  1701. 'xml:base'?: string | undefined | null;
  1702. 'xml:lang'?: string | undefined | null;
  1703. 'xmlns:xlink'?: string | undefined | null;
  1704. 'xml:space'?: string | undefined | null;
  1705. y1?: number | string | undefined | null;
  1706. y2?: number | string | undefined | null;
  1707. y?: number | string | undefined | null;
  1708. yChannelSelector?: string | undefined | null;
  1709. z?: number | string | undefined | null;
  1710. zoomAndPan?: string | undefined | null;
  1711. // allow any data- attribute
  1712. [key: `data-${string}`]: any;
  1713. }
  1714. export interface HTMLTemplateAttributes extends HTMLAttributes<HTMLElement> {
  1715. shadowrootmode?: 'open' | 'closed' | undefined | null;
  1716. }
  1717. export interface HTMLWebViewAttributes extends HTMLAttributes<HTMLElement> {
  1718. allowfullscreen?: boolean | undefined | null;
  1719. allowpopups?: boolean | undefined | null;
  1720. autosize?: boolean | undefined | null;
  1721. blinkfeatures?: string | undefined | null;
  1722. disableblinkfeatures?: string | undefined | null;
  1723. disableguestresize?: boolean | undefined | null;
  1724. disablewebsecurity?: boolean | undefined | null;
  1725. guestinstance?: string | undefined | null;
  1726. httpreferrer?: string | undefined | null;
  1727. nodeintegration?: boolean | undefined | null;
  1728. partition?: string | undefined | null;
  1729. plugins?: boolean | undefined | null;
  1730. preload?: string | undefined | null; // in the DOM it's only 'auto' | 'none' | 'metadata' | '', but electron allows arbitrary values
  1731. src?: string | undefined | null;
  1732. useragent?: string | undefined | null;
  1733. webpreferences?: string | undefined | null;
  1734. }
  1735. //
  1736. // DOM Elements
  1737. // ----------------------------------------------------------------------
  1738. export interface SvelteHTMLElements {
  1739. a: HTMLAnchorAttributes;
  1740. abbr: HTMLAttributes<HTMLElement>;
  1741. address: HTMLAttributes<HTMLElement>;
  1742. area: HTMLAreaAttributes;
  1743. article: HTMLAttributes<HTMLElement>;
  1744. aside: HTMLAttributes<HTMLElement>;
  1745. audio: HTMLAudioAttributes;
  1746. b: HTMLAttributes<HTMLElement>;
  1747. base: HTMLBaseAttributes;
  1748. bdi: HTMLAttributes<HTMLElement>;
  1749. bdo: HTMLAttributes<HTMLElement>;
  1750. big: HTMLAttributes<HTMLElement>;
  1751. blockquote: HTMLBlockquoteAttributes;
  1752. body: HTMLAttributes<HTMLBodyElement>;
  1753. br: HTMLAttributes<HTMLBRElement>;
  1754. button: HTMLButtonAttributes;
  1755. canvas: HTMLCanvasAttributes;
  1756. caption: HTMLAttributes<HTMLElement>;
  1757. cite: HTMLAttributes<HTMLElement>;
  1758. code: HTMLAttributes<HTMLElement>;
  1759. col: HTMLColAttributes;
  1760. colgroup: HTMLColgroupAttributes;
  1761. data: HTMLDataAttributes;
  1762. datalist: HTMLAttributes<HTMLDataListElement>;
  1763. dd: HTMLAttributes<HTMLElement>;
  1764. del: HTMLDelAttributes;
  1765. details: HTMLDetailsAttributes;
  1766. dfn: HTMLAttributes<HTMLElement>;
  1767. dialog: HTMLDialogAttributes;
  1768. div: HTMLAttributes<HTMLDivElement>;
  1769. dl: HTMLAttributes<HTMLDListElement>;
  1770. dt: HTMLAttributes<HTMLElement>;
  1771. em: HTMLAttributes<HTMLElement>;
  1772. embed: HTMLEmbedAttributes;
  1773. fieldset: HTMLFieldsetAttributes;
  1774. figcaption: HTMLAttributes<HTMLElement>;
  1775. figure: HTMLAttributes<HTMLElement>;
  1776. footer: HTMLAttributes<HTMLElement>;
  1777. form: HTMLFormAttributes;
  1778. h1: HTMLAttributes<HTMLHeadingElement>;
  1779. h2: HTMLAttributes<HTMLHeadingElement>;
  1780. h3: HTMLAttributes<HTMLHeadingElement>;
  1781. h4: HTMLAttributes<HTMLHeadingElement>;
  1782. h5: HTMLAttributes<HTMLHeadingElement>;
  1783. h6: HTMLAttributes<HTMLHeadingElement>;
  1784. head: HTMLAttributes<HTMLElement>;
  1785. header: HTMLAttributes<HTMLElement>;
  1786. hgroup: HTMLAttributes<HTMLElement>;
  1787. hr: HTMLAttributes<HTMLHRElement>;
  1788. html: HTMLHtmlAttributes;
  1789. i: HTMLAttributes<HTMLElement>;
  1790. iframe: HTMLIframeAttributes;
  1791. img: HTMLImgAttributes;
  1792. input: HTMLInputAttributes;
  1793. ins: HTMLInsAttributes;
  1794. kbd: HTMLAttributes<HTMLElement>;
  1795. keygen: HTMLKeygenAttributes;
  1796. label: HTMLLabelAttributes;
  1797. legend: HTMLAttributes<HTMLLegendElement>;
  1798. li: HTMLLiAttributes;
  1799. link: HTMLLinkAttributes;
  1800. main: HTMLAttributes<HTMLElement>;
  1801. map: HTMLMapAttributes;
  1802. mark: HTMLAttributes<HTMLElement>;
  1803. menu: HTMLMenuAttributes;
  1804. menuitem: HTMLAttributes<HTMLElement>;
  1805. meta: HTMLMetaAttributes;
  1806. meter: HTMLMeterAttributes;
  1807. nav: HTMLAttributes<HTMLElement>;
  1808. noscript: HTMLAttributes<HTMLElement>;
  1809. object: HTMLObjectAttributes;
  1810. ol: HTMLOlAttributes;
  1811. optgroup: HTMLOptgroupAttributes;
  1812. option: HTMLOptionAttributes;
  1813. output: HTMLOutputAttributes;
  1814. p: HTMLAttributes<HTMLParagraphElement>;
  1815. param: HTMLParamAttributes;
  1816. picture: HTMLAttributes<HTMLElement>;
  1817. pre: HTMLAttributes<HTMLPreElement>;
  1818. progress: HTMLProgressAttributes;
  1819. q: HTMLQuoteAttributes;
  1820. rp: HTMLAttributes<HTMLElement>;
  1821. rt: HTMLAttributes<HTMLElement>;
  1822. ruby: HTMLAttributes<HTMLElement>;
  1823. s: HTMLAttributes<HTMLElement>;
  1824. samp: HTMLAttributes<HTMLElement>;
  1825. slot: HTMLSlotAttributes;
  1826. script: HTMLScriptAttributes;
  1827. search: HTMLAttributes<HTMLElement>;
  1828. section: HTMLAttributes<HTMLElement>;
  1829. select: HTMLSelectAttributes;
  1830. small: HTMLAttributes<HTMLElement>;
  1831. source: HTMLSourceAttributes;
  1832. span: HTMLAttributes<HTMLSpanElement>;
  1833. strong: HTMLAttributes<HTMLElement>;
  1834. style: HTMLStyleAttributes;
  1835. sub: HTMLAttributes<HTMLElement>;
  1836. summary: HTMLAttributes<HTMLElement>;
  1837. sup: HTMLAttributes<HTMLElement>;
  1838. table: HTMLTableAttributes;
  1839. template: HTMLTemplateAttributes;
  1840. tbody: HTMLAttributes<HTMLTableSectionElement>;
  1841. td: HTMLTdAttributes;
  1842. textarea: HTMLTextareaAttributes;
  1843. tfoot: HTMLAttributes<HTMLTableSectionElement>;
  1844. th: HTMLThAttributes;
  1845. thead: HTMLAttributes<HTMLTableSectionElement>;
  1846. time: HTMLTimeAttributes;
  1847. title: HTMLAttributes<HTMLTitleElement>;
  1848. tr: HTMLAttributes<HTMLTableRowElement>;
  1849. track: HTMLTrackAttributes;
  1850. u: HTMLAttributes<HTMLElement>;
  1851. ul: HTMLAttributes<HTMLUListElement>;
  1852. var: HTMLAttributes<HTMLElement>;
  1853. video: HTMLVideoAttributes;
  1854. wbr: HTMLAttributes<HTMLElement>;
  1855. webview: HTMLWebViewAttributes;
  1856. // SVG
  1857. svg: SVGAttributes<SVGSVGElement>;
  1858. animate: SVGAttributes<SVGAnimateElement>;
  1859. animateMotion: SVGAttributes<SVGElement>;
  1860. animateTransform: SVGAttributes<SVGAnimateTransformElement>;
  1861. circle: SVGAttributes<SVGCircleElement>;
  1862. clipPath: SVGAttributes<SVGClipPathElement>;
  1863. defs: SVGAttributes<SVGDefsElement>;
  1864. desc: SVGAttributes<SVGDescElement>;
  1865. ellipse: SVGAttributes<SVGEllipseElement>;
  1866. feBlend: SVGAttributes<SVGFEBlendElement>;
  1867. feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
  1868. feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
  1869. feComposite: SVGAttributes<SVGFECompositeElement>;
  1870. feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
  1871. feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
  1872. feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
  1873. feDistantLight: SVGAttributes<SVGFEDistantLightElement>;
  1874. feDropShadow: SVGAttributes<SVGFEDropShadowElement>;
  1875. feFlood: SVGAttributes<SVGFEFloodElement>;
  1876. feFuncA: SVGAttributes<SVGFEFuncAElement>;
  1877. feFuncB: SVGAttributes<SVGFEFuncBElement>;
  1878. feFuncG: SVGAttributes<SVGFEFuncGElement>;
  1879. feFuncR: SVGAttributes<SVGFEFuncRElement>;
  1880. feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
  1881. feImage: SVGAttributes<SVGFEImageElement>;
  1882. feMerge: SVGAttributes<SVGFEMergeElement>;
  1883. feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
  1884. feMorphology: SVGAttributes<SVGFEMorphologyElement>;
  1885. feOffset: SVGAttributes<SVGFEOffsetElement>;
  1886. fePointLight: SVGAttributes<SVGFEPointLightElement>;
  1887. feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
  1888. feSpotLight: SVGAttributes<SVGFESpotLightElement>;
  1889. feTile: SVGAttributes<SVGFETileElement>;
  1890. feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
  1891. filter: SVGAttributes<SVGFilterElement>;
  1892. foreignObject: SVGAttributes<SVGForeignObjectElement>;
  1893. g: SVGAttributes<SVGGElement>;
  1894. image: SVGAttributes<SVGImageElement>;
  1895. line: SVGAttributes<SVGLineElement>;
  1896. linearGradient: SVGAttributes<SVGLinearGradientElement>;
  1897. marker: SVGAttributes<SVGMarkerElement>;
  1898. mask: SVGAttributes<SVGMaskElement>;
  1899. metadata: SVGAttributes<SVGMetadataElement>;
  1900. mpath: SVGAttributes<SVGElement>;
  1901. path: SVGAttributes<SVGPathElement>;
  1902. pattern: SVGAttributes<SVGPatternElement>;
  1903. polygon: SVGAttributes<SVGPolygonElement>;
  1904. polyline: SVGAttributes<SVGPolylineElement>;
  1905. radialGradient: SVGAttributes<SVGRadialGradientElement>;
  1906. rect: SVGAttributes<SVGRectElement>;
  1907. stop: SVGAttributes<SVGStopElement>;
  1908. switch: SVGAttributes<SVGSwitchElement>;
  1909. symbol: SVGAttributes<SVGSymbolElement>;
  1910. text: SVGAttributes<SVGTextElement>;
  1911. textPath: SVGAttributes<SVGTextPathElement>;
  1912. tspan: SVGAttributes<SVGTSpanElement>;
  1913. use: SVGAttributes<SVGUseElement>;
  1914. view: SVGAttributes<SVGViewElement>;
  1915. // Svelte specific
  1916. 'svelte:window': SvelteWindowAttributes;
  1917. 'svelte:document': SvelteDocumentAttributes;
  1918. 'svelte:body': HTMLAttributes<HTMLElement>;
  1919. 'svelte:fragment': { slot?: string };
  1920. 'svelte:options': {
  1921. customElement?:
  1922. | string
  1923. | undefined
  1924. | {
  1925. tag?: string;
  1926. shadow?: 'open' | 'none' | ShadowRootInit | undefined;
  1927. props?:
  1928. | Record<
  1929. string,
  1930. {
  1931. attribute?: string;
  1932. reflect?: boolean;
  1933. type?: 'String' | 'Boolean' | 'Number' | 'Array' | 'Object';
  1934. }
  1935. >
  1936. | undefined;
  1937. extend?: (
  1938. svelteCustomElementClass: new () => HTMLElement
  1939. ) => new () => HTMLElement | undefined;
  1940. };
  1941. immutable?: boolean | undefined;
  1942. accessors?: boolean | undefined;
  1943. namespace?: string | undefined;
  1944. [name: string]: any;
  1945. };
  1946. 'svelte:head': { [name: string]: any };
  1947. 'svelte:boundary': {
  1948. onerror?: (error: unknown, reset: () => void) => void;
  1949. failed?: import('svelte').Snippet<[error: unknown, reset: () => void]>;
  1950. pending?: import('svelte').Snippet;
  1951. };
  1952. [name: string]: { [name: string]: any };
  1953. }
  1954. export type ClassValue = string | import('clsx').ClassArray | import('clsx').ClassDictionary;