@fluixi/jsx 1.0.0-alpha.62 → 1.0.0-alpha.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/jsx.d.ts CHANGED
@@ -3,1442 +3,90 @@
3
3
  * @module @fluixi/core/jsx-runtime
4
4
  */
5
5
 
6
- import { Accessor } from '@fluixi/reactive/signal';
7
6
 
8
- // ============================================================================
9
- // Helper Types
10
- // ============================================================================
7
+ import type { Accessor } from '@fluixi/reactive/signal';
11
8
 
12
- /**
13
- * A prop value that may be a static value or a reactive accessor. The automatic JSX runtime
14
- * applies a function-valued prop as a reactive render effect, so any attribute typed with this
15
- * accepts `() => value` without a cast.
16
- *
17
- * The accessor may return `undefined` to omit the attribute reactively — `setAttribute`
18
- * removes the attr on `undefined`/`null`/`false` — so `() => (cond ? 'true' : undefined)`
19
- * type-checks without a cast.
20
- */
21
- type Reactive<T> = T | undefined | Accessor<T | undefined>;
9
+ // Element attribute types live in @fluixi/dom: they describe the DOM, not JSX
10
+ // syntax, so html`` tooling can read them without depending on this package.
11
+ // Re-exported here so `JSX.HTMLAttributes` and friends keep working unchanged.
12
+ import type * as A from '@fluixi/dom/attributes';
22
13
 
23
- // Bivariant ref callback (method position defeats strict param contravariance)
24
- // so a base-element handler is assignable to a specific-element ref slot and
25
- // vice versa. Paired with the base-element object form on `ref` below, this lets
26
- // props typed `HTMLAttributes<HTMLElement>` AND `HTMLAttributes<HTMLDivElement>`
27
- // both spread onto the same intrinsic.
28
- type RefCallback<T> = { bivarianceHack(el: T): void }['bivarianceHack'];
29
-
30
- type HTMLDir = 'ltr' | 'rtl' | 'auto';
31
- type HTMLAutocapitalize = 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
32
- type HTMLInputMode = 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
33
- type HTMLFormEncType = 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
34
- type HTMLFormMethod = 'get' | 'post' | 'dialog';
35
- type HTMLCrossOrigin = 'anonymous' | 'use-credentials' | '';
36
- type HTMLReferrerPolicy =
37
- | ''
38
- | 'no-referrer'
39
- | 'no-referrer-when-downgrade'
40
- | 'origin'
41
- | 'origin-when-cross-origin'
42
- | 'same-origin'
43
- | 'strict-origin'
44
- | 'strict-origin-when-cross-origin'
45
- | 'unsafe-url';
14
+ export type { Reactive, RefCallback } from '@fluixi/dom/attributes';
46
15
 
47
16
  export namespace JSX {
48
17
  // ============================================================================
49
18
  // Element
50
19
  // ============================================================================
51
20
 
52
- export type Element =
53
- | Node
54
- | string
55
- | number
56
- | boolean
57
- | null
58
- | undefined
59
- | Element[]
60
- | HTMLElement | Accessor<any>
61
- | globalThis.Element;
62
-
63
- // ============================================================================
64
- // Style
65
- // ============================================================================
66
-
67
- /**
68
- * A `style` object: known camelCase CSS properties (autocompleted from the DOM
69
- * `CSSStyleDeclaration`), custom `--*` properties, plus a string fallback for
70
- * anything not in the lib. Values may be strings or numbers.
71
- */
72
- export type CSSProperties =
73
- & { [K in Exclude<keyof CSSStyleDeclaration, 'length' | 'parentRule'>]?: string | number }
74
- & { [key: `--${string}`]: string | number }
75
- & { [key: string]: string | number | undefined };
76
-
77
- // ============================================================================
78
- // ARIA Attributes
79
- // ============================================================================
80
-
81
- export interface AriaAttributes {
82
- 'aria-activedescendant'?: Reactive<string>;
83
- 'aria-atomic'?: Reactive<boolean | 'true' | 'false'>;
84
- 'aria-autocomplete'?: Reactive<'none' | 'inline' | 'list' | 'both'>;
85
- 'aria-braillelabel'?: Reactive<string>;
86
- 'aria-brailleroledescription'?: Reactive<string>;
87
- 'aria-busy'?: Reactive<boolean | 'true' | 'false'>;
88
- 'aria-checked'?: Reactive<boolean | 'true' | 'false' | 'mixed'>;
89
- 'aria-colcount'?: Reactive<number>;
90
- 'aria-colindex'?: Reactive<number>;
91
- 'aria-colindextext'?: Reactive<string>;
92
- 'aria-colspan'?: Reactive<number>;
93
- 'aria-controls'?: Reactive<string>;
94
- 'aria-current'?: Reactive<boolean | 'true' | 'false' | 'page' | 'step' | 'location' | 'date' | 'time'>;
95
- 'aria-describedby'?: Reactive<string>;
96
- 'aria-description'?: Reactive<string>;
97
- 'aria-details'?: Reactive<string>;
98
- 'aria-disabled'?: Reactive<boolean | 'true' | 'false'>;
99
- /** @deprecated */
100
- 'aria-dropeffect'?: Reactive<'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup'>;
101
- 'aria-errormessage'?: Reactive<string>;
102
- 'aria-expanded'?: Reactive<boolean | 'true' | 'false'>;
103
- 'aria-flowto'?: Reactive<string>;
104
- /** @deprecated */
105
- 'aria-grabbed'?: Reactive<boolean | 'true' | 'false'>;
106
- 'aria-haspopup'?: Reactive<boolean | 'true' | 'false' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'>;
107
- 'aria-hidden'?: Reactive<boolean | 'true' | 'false'>;
108
- 'aria-invalid'?: Reactive<boolean | 'true' | 'false' | 'grammar' | 'spelling'>;
109
- 'aria-keyshortcuts'?: Reactive<string>;
110
- 'aria-label'?: Reactive<string>;
111
- 'aria-labelledby'?: Reactive<string>;
112
- 'aria-level'?: Reactive<number>;
113
- 'aria-live'?: Reactive<'off' | 'assertive' | 'polite'>;
114
- 'aria-modal'?: Reactive<boolean | 'true' | 'false'>;
115
- 'aria-multiline'?: Reactive<boolean | 'true' | 'false'>;
116
- 'aria-multiselectable'?: Reactive<boolean | 'true' | 'false'>;
117
- 'aria-orientation'?: Reactive<'horizontal' | 'vertical'>;
118
- 'aria-owns'?: Reactive<string>;
119
- 'aria-placeholder'?: Reactive<string>;
120
- 'aria-posinset'?: Reactive<number>;
121
- 'aria-pressed'?: Reactive<boolean | 'true' | 'false' | 'mixed'>;
122
- 'aria-readonly'?: Reactive<boolean | 'true' | 'false'>;
123
- 'aria-relevant'?: Reactive<'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals'>;
124
- 'aria-required'?: Reactive<boolean | 'true' | 'false'>;
125
- 'aria-roledescription'?: Reactive<string>;
126
- 'aria-rowcount'?: Reactive<number>;
127
- 'aria-rowindex'?: Reactive<number>;
128
- 'aria-rowindextext'?: Reactive<string>;
129
- 'aria-rowspan'?: Reactive<number>;
130
- 'aria-selected'?: Reactive<boolean | 'true' | 'false'>;
131
- 'aria-setsize'?: Reactive<number>;
132
- 'aria-sort'?: Reactive<'none' | 'ascending' | 'descending' | 'other'>;
133
- 'aria-valuemax'?: Reactive<number>;
134
- 'aria-valuemin'?: Reactive<number>;
135
- 'aria-valuenow'?: Reactive<number>;
136
- 'aria-valuetext'?: Reactive<string>;
137
- role?: Reactive<string>;
138
- }
139
-
140
- // ============================================================================
141
- // DOM Attributes (Events)
142
- // ============================================================================
143
-
144
- export interface DOMAttributes<T = Element> extends AriaAttributes {
145
- // children?: JSX.Element | (()=>any) | ((arg: any) => any);
146
- // Clipboard Events
147
- onCopy?: (event: ClipboardEvent) => void;
148
- onCut?: (event: ClipboardEvent) => void;
149
- onPaste?: (event: ClipboardEvent) => void;
150
-
151
- // Composition Events
152
- onCompositionEnd?: (event: CompositionEvent) => void;
153
- onCompositionStart?: (event: CompositionEvent) => void;
154
- onCompositionUpdate?: (event: CompositionEvent) => void;
155
-
156
- // Focus Events
157
- onFocus?: (event: FocusEvent) => void;
158
- onFocusIn?: (event: FocusEvent) => void;
159
- onFocusOut?: (event: FocusEvent) => void;
160
- onBlur?: (event: FocusEvent) => void;
161
-
162
- // Form Events
163
- onChange?: (event: InputEvent) => void;
164
- onInput?: (event: InputEvent) => void;
165
- onBeforeInput?: (event: InputEvent) => void;
166
- onReset?: (event: Event) => void;
167
- onSubmit?: (event: SubmitEvent) => void;
168
- onInvalid?: (event: Event) => void;
169
- onFormData?: (event: FormDataEvent) => void;
170
-
171
- // Image Events
172
- onLoad?: (event: Event) => void;
173
- onError?: (event: Event) => void;
174
-
175
- // Keyboard Events
176
- onKeyDown?: (event: KeyboardEvent) => void;
177
- /** @deprecated */
178
- onKeyPress?: (event: KeyboardEvent) => void;
179
- onKeyUp?: (event: KeyboardEvent) => void;
180
-
181
- // Media Events
182
- onAbort?: (event: Event) => void;
183
- onCanPlay?: (event: Event) => void;
184
- onCanPlayThrough?: (event: Event) => void;
185
- onDurationChange?: (event: Event) => void;
186
- onEmptied?: (event: Event) => void;
187
- onEncrypted?: (event: Event) => void;
188
- onEnded?: (event: Event) => void;
189
- onLoadedData?: (event: Event) => void;
190
- onLoadedMetadata?: (event: Event) => void;
191
- onLoadStart?: (event: Event) => void;
192
- onPause?: (event: Event) => void;
193
- onPlay?: (event: Event) => void;
194
- onPlaying?: (event: Event) => void;
195
- onProgress?: (event: Event) => void;
196
- onRateChange?: (event: Event) => void;
197
- onSeeked?: (event: Event) => void;
198
- onSeeking?: (event: Event) => void;
199
- onStalled?: (event: Event) => void;
200
- onSuspend?: (event: Event) => void;
201
- onTimeUpdate?: (event: Event) => void;
202
- onVolumeChange?: (event: Event) => void;
203
- onWaiting?: (event: Event) => void;
204
- onCueChange?: (event: Event) => void;
205
-
206
- // Mouse Events
207
- onClick?: (event: MouseEvent) => void;
208
- onAuxClick?: (event: MouseEvent) => void;
209
- onContextMenu?: (event: MouseEvent) => void;
210
- onDblClick?: (event: MouseEvent) => void;
211
- /** @deprecated use onDblClick */
212
- onDoubleClick?: (event: MouseEvent) => void;
213
- onDrag?: (event: DragEvent) => void;
214
- onDragEnd?: (event: DragEvent) => void;
215
- onDragEnter?: (event: DragEvent) => void;
216
- onDragExit?: (event: DragEvent) => void;
217
- onDragLeave?: (event: DragEvent) => void;
218
- onDragOver?: (event: DragEvent) => void;
219
- onDragStart?: (event: DragEvent) => void;
220
- onDrop?: (event: DragEvent) => void;
221
- onMouseDown?: (event: MouseEvent) => void;
222
- onMouseEnter?: (event: MouseEvent) => void;
223
- onMouseLeave?: (event: MouseEvent) => void;
224
- onMouseMove?: (event: MouseEvent) => void;
225
- onMouseOut?: (event: MouseEvent) => void;
226
- onMouseOver?: (event: MouseEvent) => void;
227
- onMouseUp?: (event: MouseEvent) => void;
228
-
229
- // Pointer Events
230
- onPointerDown?: (event: PointerEvent) => void;
231
- onPointerMove?: (event: PointerEvent) => void;
232
- onPointerUp?: (event: PointerEvent) => void;
233
- onPointerCancel?: (event: PointerEvent) => void;
234
- onPointerEnter?: (event: PointerEvent) => void;
235
- onPointerLeave?: (event: PointerEvent) => void;
236
- onPointerOver?: (event: PointerEvent) => void;
237
- onPointerOut?: (event: PointerEvent) => void;
238
- onGotPointerCapture?: (event: PointerEvent) => void;
239
- onLostPointerCapture?: (event: PointerEvent) => void;
240
-
241
- // Selection Events
242
- onSelect?: (event: Event) => void;
243
- onSelectionChange?: (event: Event) => void;
244
- onSelectStart?: (event: Event) => void;
245
-
246
- // Touch Events
247
- onTouchCancel?: (event: TouchEvent) => void;
248
- onTouchEnd?: (event: TouchEvent) => void;
249
- onTouchMove?: (event: TouchEvent) => void;
250
- onTouchStart?: (event: TouchEvent) => void;
251
-
252
- // UI Events
253
- onScroll?: (event: UIEvent) => void;
254
- onScrollEnd?: (event: Event) => void;
255
- onResize?: (event: UIEvent) => void;
256
-
257
- // Wheel Events
258
- onWheel?: (event: WheelEvent) => void;
259
-
260
- // Animation Events
261
- onAnimationStart?: (event: AnimationEvent) => void;
262
- onAnimationEnd?: (event: AnimationEvent) => void;
263
- onAnimationIteration?: (event: AnimationEvent) => void;
264
- onAnimationCancel?: (event: AnimationEvent) => void;
265
-
266
- // Transition Events
267
- onTransitionStart?: (event: TransitionEvent) => void;
268
- onTransitionRun?: (event: TransitionEvent) => void;
269
- onTransitionEnd?: (event: TransitionEvent) => void;
270
- onTransitionCancel?: (event: TransitionEvent) => void;
271
-
272
- // Toggle/Popover Events
273
- onToggle?: (event: Event) => void;
274
- onBeforeToggle?: (event: Event) => void;
275
-
276
- // Fullscreen Events
277
- onFullscreenChange?: (event: Event) => void;
278
- onFullscreenError?: (event: Event) => void;
279
-
280
- // Slot Events
281
- onSlotChange?: (event: Event) => void;
282
-
283
- // Security
284
- onSecurityPolicyViolation?: (event: SecurityPolicyViolationEvent) => void;
285
-
286
- // Dialog/Popover
287
- onClose?: (event: Event) => void;
288
- onCancel?: (event: Event) => void;
289
-
290
- // Context Events (WebGL)
291
- onContextLost?: (event: Event) => void;
292
- onContextRestored?: (event: Event) => void;
293
-
294
- // Custom events (arbitrary on* handlers)
295
- [key: `on${string}`]: ((event: any) => void) | undefined;
296
- }
297
-
298
- // ============================================================================
299
- // HTML Attributes (Base)
300
- // ============================================================================
301
-
302
- export interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
303
- // Standard HTML attributes
304
- accessKey?: string;
305
- accesskey?: string;
306
- autocapitalize?: HTMLAutocapitalize;
307
- autoCapitalize?: HTMLAutocapitalize;
308
- autocorrect?: 'on' | 'off';
309
- class?: string | Record<string, boolean> | Accessor<string>;
310
- className?: string | Record<string, boolean> | Accessor<string>;
311
- classList?: Record<string, boolean>;
312
- contentEditable?: boolean | 'true' | 'false' | 'inherit' | 'plaintext-only';
313
- contenteditable?: boolean | 'true' | 'false' | 'inherit' | 'plaintext-only';
314
- dir?: HTMLDir;
315
- draggable?: boolean | 'true' | 'false';
316
- elementtiming?: string;
317
- enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
318
- /** @deprecated */
319
- exportparts?: string;
320
- exportParts?: string;
321
- hidden?: Reactive<boolean>;
322
- id?: string | Accessor<string>;
323
- inert?: boolean;
324
- inputmode?: HTMLInputMode;
325
- inputMode?: HTMLInputMode;
326
- is?: string;
327
- lang?: string;
328
- nonce?: string;
329
- part?: string;
330
- popover?: boolean | 'manual' | 'auto';
331
- slot?: string;
332
- spellCheck?: boolean;
333
- spellcheck?: boolean;
334
- style?: string | CSSProperties | Accessor<string | CSSProperties>;
335
- tabIndex?: Reactive<number>;
336
- tabindex?: Reactive<number>;
337
- title?: string | Accessor<string>;
338
- translate?: 'yes' | 'no';
339
-
340
- // Microdata (schema.org)
341
- itemid?: string;
342
- itemId?: string;
343
- itemprop?: string;
344
- itemProp?: string;
345
- itemref?: string;
346
- itemRef?: string;
347
- itemscope?: boolean;
348
- itemScope?: boolean;
349
- itemtype?: string;
350
- itemType?: string;
351
-
352
- // RDFa
353
- about?: string;
354
- datatype?: string;
355
- inlist?: any;
356
- prefix?: string;
357
- property?: string;
358
- resource?: string;
359
- typeof?: string;
360
- vocab?: string;
361
-
362
- // Lit-specific property/boolean/event bindings
363
- [key: `.${string}`]: any;
364
- [key: `?${string}`]: boolean;
365
- [key: `@${string}`]: EventListener;
366
-
367
- // use:dir / oncapture:event (on:event already covered above)
368
- [key: `use:${string}`]: any;
369
- [key: `oncapture:${string}`]: (event: any) => void;
370
-
371
- // Forced bindings: prop:x sets a DOM property, attr:x sets an attribute,
372
- // bool:x toggles a boolean attribute (bypassing the property/attribute heuristic)
373
- [key: `prop:${string}`]: Reactive<any>;
374
- [key: `attr:${string}`]: Reactive<string | number | boolean | undefined>;
375
- [key: `bool:${string}`]: Reactive<boolean | undefined>;
376
-
377
- // Data attributes
378
- [key: `data-${string}`]: string | number | boolean | undefined;
379
-
380
- // Ref (bivariant callback + base-element object form — see RefCallback)
381
- ref?: RefCallback<T> | { current: T | null } | { current: HTMLElement | null };
382
- key?: string | number;
383
-
384
- // Children
385
- children?: Element;
386
-
387
- // innerHTML / textContent (a static value or a reactive accessor)
388
- innerHTML?: string | (() => string);
389
- textContent?: string | number;
390
- }
391
-
392
- // ============================================================================
393
- // Specific Element Attribute Interfaces
394
- // ============================================================================
395
-
396
- export interface AnchorHTMLAttributes<T = HTMLAnchorElement> extends HTMLAttributes<T> {
397
- download?: any;
398
- href?: string | Accessor<string>;
399
- hrefLang?: string;
400
- hreflang?: string;
401
- media?: string;
402
- ping?: string;
403
- rel?: string;
404
- target?: '_self' | '_blank' | '_parent' | '_top' | (string & {});
405
- type?: string;
406
- referrerPolicy?: HTMLReferrerPolicy;
407
- referrerpolicy?: HTMLReferrerPolicy;
408
- }
409
-
410
- export interface AreaHTMLAttributes<T = HTMLAreaElement> extends HTMLAttributes<T> {
411
- alt?: string;
412
- coords?: string;
413
- download?: any;
414
- href?: string;
415
- hrefLang?: string;
416
- hreflang?: string;
417
- ping?: string;
418
- referrerpolicy?: HTMLReferrerPolicy;
419
- referrerPolicy?: HTMLReferrerPolicy;
420
- rel?: string;
421
- shape?: string;
422
- target?: string;
423
- }
424
-
425
- export interface BaseHTMLAttributes<T = HTMLBaseElement> extends HTMLAttributes<T> {
426
- href?: string;
427
- target?: string;
428
- }
429
-
430
- export interface BlockquoteHTMLAttributes<T = HTMLQuoteElement> extends HTMLAttributes<T> {
431
- cite?: string;
432
- }
433
-
434
- export interface ButtonHTMLAttributes<T = HTMLButtonElement> extends HTMLAttributes<T> {
435
- autofocus?: boolean;
436
- autoFocus?: boolean;
437
- command?: string;
438
- commandfor?: string;
439
- commandFor?: string;
440
- disabled?: boolean | Accessor<boolean>;
441
- form?: string;
442
- formAction?: string;
443
- formaction?: string;
444
- formEncType?: HTMLFormEncType;
445
- formenctype?: HTMLFormEncType;
446
- formMethod?: HTMLFormMethod;
447
- formmethod?: HTMLFormMethod;
448
- formNoValidate?: boolean;
449
- formnovalidate?: boolean;
450
- formTarget?: string;
451
- formtarget?: string;
452
- name?: string;
453
- popoverTarget?: string;
454
- popovertarget?: string;
455
- popoverTargetAction?: 'hide' | 'show' | 'toggle';
456
- popovertargetaction?: 'hide' | 'show' | 'toggle';
457
- type?: 'submit' | 'reset' | 'button';
458
- value?: string | ReadonlyArray<string> | number;
459
- }
460
-
461
- export interface CanvasHTMLAttributes<T = HTMLCanvasElement> extends HTMLAttributes<T> {
462
- height?: number | string;
463
- width?: number | string;
464
- }
465
-
466
- export interface ColHTMLAttributes<T = HTMLTableColElement> extends HTMLAttributes<T> {
467
- span?: number;
468
- width?: number | string;
469
- }
470
-
471
- export interface ColgroupHTMLAttributes<T = HTMLTableColElement> extends HTMLAttributes<T> {
472
- span?: number;
473
- }
474
-
475
- export interface DataHTMLAttributes<T = HTMLDataElement> extends HTMLAttributes<T> {
476
- value?: string | ReadonlyArray<string> | number;
477
- }
478
-
479
- export interface DetailsHTMLAttributes<T = HTMLDetailsElement> extends HTMLAttributes<T> {
480
- name?: string;
481
- open?: boolean;
482
- onToggle?: (event: Event) => void;
483
- }
484
-
485
- export interface DialogHTMLAttributes<T = HTMLDialogElement> extends HTMLAttributes<T> {
486
- open?: boolean;
487
- onClose?: (event: Event) => void;
488
- onCancel?: (event: Event) => void;
489
- }
490
-
491
- export interface EmbedHTMLAttributes<T = HTMLEmbedElement> extends HTMLAttributes<T> {
492
- height?: number | string;
493
- src?: string;
494
- type?: string;
495
- width?: number | string;
496
- }
497
-
498
- export interface FieldsetHTMLAttributes<T = HTMLFieldSetElement> extends HTMLAttributes<T> {
499
- disabled?: boolean;
500
- form?: string;
501
- name?: string;
502
- }
503
-
504
- export interface FormHTMLAttributes<T = HTMLFormElement> extends HTMLAttributes<T> {
505
- accept?: string;
506
- 'accept-charset'?: string;
507
- acceptCharset?: string;
508
- action?: string;
509
- autoComplete?: string;
510
- autocomplete?: string;
511
- encType?: HTMLFormEncType;
512
- enctype?: HTMLFormEncType;
513
- encoding?: HTMLFormEncType;
514
- method?: HTMLFormMethod;
515
- name?: string;
516
- noValidate?: boolean;
517
- novalidate?: boolean;
518
- rel?: string;
519
- target?: string;
520
- }
521
-
522
- export interface IframeHTMLAttributes<T = HTMLIFrameElement> extends HTMLAttributes<T> {
523
- allow?: string;
524
- allowFullScreen?: boolean;
525
- allowfullscreen?: boolean;
526
- allowTransparency?: boolean;
527
- /** @deprecated */
528
- frameBorder?: number | string;
529
- height?: number | string;
530
- loading?: 'eager' | 'lazy';
531
- /** @deprecated */
532
- marginHeight?: number;
533
- /** @deprecated */
534
- marginWidth?: number;
535
- name?: string;
536
- referrerPolicy?: HTMLReferrerPolicy;
537
- referrerpolicy?: HTMLReferrerPolicy;
538
- sandbox?: string;
539
- /** @deprecated */
540
- scrolling?: string;
541
- /** @deprecated */
542
- seamless?: boolean;
543
- src?: string;
544
- srcDoc?: string;
545
- srcdoc?: string;
546
- width?: number | string;
547
- }
548
-
549
- export interface ImgHTMLAttributes<T = HTMLImageElement> extends HTMLAttributes<T> {
550
- alt?: string;
551
- crossOrigin?: HTMLCrossOrigin;
552
- crossorigin?: HTMLCrossOrigin;
553
- decoding?: 'async' | 'auto' | 'sync';
554
- fetchpriority?: 'high' | 'low' | 'auto';
555
- height?: number | string;
556
- isMap?: boolean;
557
- ismap?: boolean;
558
- loading?: 'eager' | 'lazy';
559
- referrerPolicy?: HTMLReferrerPolicy;
560
- referrerpolicy?: HTMLReferrerPolicy;
561
- sizes?: string;
562
- src?: string | Accessor<string>;
563
- srcSet?: string;
564
- srcset?: string;
565
- useMap?: string;
566
- usemap?: string;
567
- width?: number | string;
568
- }
569
-
570
- export interface InputHTMLAttributes<T = HTMLInputElement>
571
- extends HTMLAttributes<T> {
572
- accept?: string;
573
- alt?: string;
574
- autoComplete?: string;
575
- autocomplete?: string;
576
- autoFocus?: boolean;
577
- autofocus?: boolean;
578
- capture?: boolean | 'user' | 'environment';
579
- checked?: boolean | Accessor<boolean>;
580
- crossOrigin?: HTMLCrossOrigin;
581
- crossorigin?: HTMLCrossOrigin;
582
- dirName?: string;
583
- dirname?: string;
584
- disabled?: boolean | Accessor<boolean>;
585
- form?: string;
586
- formAction?: string;
587
- formaction?: string;
588
- formEncType?: HTMLFormEncType;
589
- formenctype?: HTMLFormEncType;
590
- formMethod?: HTMLFormMethod;
591
- formmethod?: HTMLFormMethod;
592
- formNoValidate?: boolean;
593
- formnovalidate?: boolean;
594
- formTarget?: string;
595
- formtarget?: string;
596
- height?: number | string;
597
- incremental?: boolean;
598
- list?: string;
599
- max?: Reactive<number | string>;
600
- maxLength?: Reactive<number>;
601
- maxlength?: Reactive<number>;
602
- min?: Reactive<number | string>;
603
- minLength?: Reactive<number>;
604
- minlength?: Reactive<number>;
605
- multiple?: Reactive<boolean>;
606
- name?: string;
607
- pattern?: Reactive<string>;
608
- placeholder?: string | Accessor<string>;
609
- popoverTarget?: string;
610
- popovertarget?: string;
611
- popoverTargetAction?: 'hide' | 'show' | 'toggle';
612
- popovertargetaction?: 'hide' | 'show' | 'toggle';
613
- readOnly?: Reactive<boolean>;
614
- readonly?: Reactive<boolean>;
615
- required?: Reactive<boolean>;
616
- results?: number;
617
- size?: Reactive<number>;
618
- src?: string;
619
- step?: Reactive<number | string>;
620
- indeterminate?: boolean | Accessor<boolean>;
621
- type?:
622
- | 'button'
623
- | 'checkbox'
624
- | 'color'
625
- | 'date'
626
- | 'datetime-local'
627
- | 'email'
628
- | 'file'
629
- | 'hidden'
630
- | 'image'
631
- | 'month'
632
- | 'number'
633
- | 'password'
634
- | 'radio'
635
- | 'range'
636
- | 'reset'
637
- | 'search'
638
- | 'submit'
639
- | 'tel'
640
- | 'text'
641
- | 'time'
642
- | 'url'
643
- | 'week'
644
- | (string & {});
645
- useMap?: string;
646
- usemap?: string;
647
- value?: string | number | ReadonlyArray<string> | Accessor<string | number>;
648
- width?: number | string;
649
- }
650
-
651
- export interface KeygenHTMLAttributes<T = HTMLElement> extends HTMLAttributes<T> {
652
- /** @deprecated */
653
- autofocus?: boolean;
654
- /** @deprecated */
655
- challenge?: string;
656
- /** @deprecated */
657
- disabled?: boolean;
658
- /** @deprecated */
659
- form?: string;
660
- /** @deprecated */
661
- keytype?: string;
662
- /** @deprecated */
663
- keyparams?: string;
664
- /** @deprecated */
665
- name?: string;
666
- }
667
-
668
- export interface LabelHTMLAttributes<T = HTMLLabelElement> extends HTMLAttributes<T> {
669
- for?: string;
670
- htmlFor?: string;
671
- form?: string;
672
- }
673
-
674
- export interface LiHTMLAttributes<T = HTMLLIElement> extends HTMLAttributes<T> {
675
- value?: number | string;
676
- }
677
-
678
- export interface LinkHTMLAttributes<T = HTMLLinkElement> extends HTMLAttributes<T> {
679
- as?: string;
680
- crossOrigin?: HTMLCrossOrigin;
681
- crossorigin?: HTMLCrossOrigin;
682
- disabled?: boolean;
683
- fetchpriority?: 'high' | 'low' | 'auto';
684
- href?: string;
685
- hrefLang?: string;
686
- hreflang?: string;
687
- imageSizes?: string;
688
- imageSrcSet?: string;
689
- integrity?: string;
690
- media?: string;
691
- referrerPolicy?: HTMLReferrerPolicy;
692
- referrerpolicy?: HTMLReferrerPolicy;
693
- rel?: string;
694
- sizes?: string;
695
- type?: string;
696
- }
697
-
698
- export interface MapHTMLAttributes<T = HTMLMapElement> extends HTMLAttributes<T> {
699
- name?: string;
700
- }
701
-
702
- export interface MediaHTMLAttributes<T = HTMLMediaElement> extends HTMLAttributes<T> {
703
- autoPlay?: boolean;
704
- autoplay?: boolean;
705
- controls?: boolean;
706
- controlsList?: string;
707
- crossOrigin?: HTMLCrossOrigin;
708
- crossorigin?: HTMLCrossOrigin;
709
- loop?: boolean;
710
- mediaGroup?: string;
711
- muted?: boolean;
712
- playsInline?: boolean;
713
- playsinline?: boolean;
714
- preload?: 'none' | 'metadata' | 'auto' | '';
715
- src?: string;
716
- }
717
-
718
- export interface MetaHTMLAttributes<T = HTMLMetaElement> extends HTMLAttributes<T> {
719
- charSet?: string;
720
- charset?: string;
721
- content?: string;
722
- httpEquiv?: string;
723
- 'http-equiv'?: string;
724
- media?: string;
725
- name?: string;
726
- }
727
-
728
- export interface MeterHTMLAttributes<T = HTMLMeterElement> extends HTMLAttributes<T> {
729
- form?: string;
730
- high?: number;
731
- low?: number;
732
- max?: number | string;
733
- min?: number | string;
734
- optimum?: number;
735
- value?: string | ReadonlyArray<string> | number;
736
- }
737
-
738
- export interface ModHTMLAttributes<T = HTMLModElement> extends HTMLAttributes<T> {
739
- cite?: string;
740
- dateTime?: string;
741
- datetime?: string;
742
- }
743
-
744
- export interface ObjectHTMLAttributes<T = HTMLObjectElement> extends HTMLAttributes<T> {
745
- classID?: string;
746
- data?: string;
747
- form?: string;
748
- height?: number | string;
749
- name?: string;
750
- type?: string;
751
- useMap?: string;
752
- usemap?: string;
753
- width?: number | string;
754
- wmode?: string;
755
- }
756
-
757
- export interface OlHTMLAttributes<T = HTMLOListElement> extends HTMLAttributes<T> {
758
- reversed?: boolean;
759
- start?: number;
760
- type?: '1' | 'a' | 'A' | 'i' | 'I';
761
- }
762
-
763
- export interface OptgroupHTMLAttributes<T = HTMLOptGroupElement> extends HTMLAttributes<T> {
764
- disabled?: boolean;
765
- label?: string;
766
- }
767
-
768
- export interface OptionHTMLAttributes<T = HTMLOptionElement> extends HTMLAttributes<T> {
769
- disabled?: boolean;
770
- label?: string;
771
- selected?: boolean;
772
- value?: string | ReadonlyArray<string> | number;
773
- }
774
-
775
- export interface OutputHTMLAttributes<T = HTMLOutputElement> extends HTMLAttributes<T> {
776
- for?: string;
777
- htmlFor?: string;
778
- form?: string;
779
- name?: string;
780
- }
781
-
782
- export interface ParamHTMLAttributes<T = HTMLParamElement> extends HTMLAttributes<T> {
783
- /** @deprecated */
784
- name?: string;
785
- /** @deprecated */
786
- value?: string | ReadonlyArray<string> | number;
787
- }
788
-
789
- export interface ProgressHTMLAttributes<T = HTMLProgressElement> extends HTMLAttributes<T> {
790
- max?: number | string;
791
- value?: string | ReadonlyArray<string> | number;
792
- }
793
-
794
- export interface ScriptHTMLAttributes<T = HTMLScriptElement> extends HTMLAttributes<T> {
795
- async?: boolean;
796
- /** @deprecated */
797
- charSet?: string;
798
- crossOrigin?: HTMLCrossOrigin;
799
- crossorigin?: HTMLCrossOrigin;
800
- defer?: boolean;
801
- fetchpriority?: 'high' | 'low' | 'auto';
802
- integrity?: string;
803
- noModule?: boolean;
804
- nomodule?: boolean;
805
- nonce?: string;
806
- referrerPolicy?: HTMLReferrerPolicy;
807
- referrerpolicy?: HTMLReferrerPolicy;
808
- src?: string;
809
- type?: string;
810
- }
811
-
812
- export interface SelectHTMLAttributes<T = HTMLSelectElement> extends HTMLAttributes<T> {
813
- autoComplete?: string;
814
- autocomplete?: string;
815
- autoFocus?: boolean;
816
- autofocus?: boolean;
817
- disabled?: boolean | Accessor<boolean>;
818
- form?: string;
819
- multiple?: Reactive<boolean>;
820
- name?: string;
821
- required?: Reactive<boolean>;
822
- size?: Reactive<number>;
823
- value?: string | ReadonlyArray<string> | number | Accessor<string | number>;
824
- }
825
-
826
- export interface SlotHTMLAttributes<T = HTMLSlotElement> extends HTMLAttributes<T> {
827
- name?: string;
828
- onSlotChange?: (event: Event) => void;
829
- }
830
-
831
- export interface SourceHTMLAttributes<T = HTMLSourceElement> extends HTMLAttributes<T> {
832
- height?: number;
833
- media?: string;
834
- sizes?: string;
835
- src?: string;
836
- srcSet?: string;
837
- srcset?: string;
838
- type?: string;
839
- width?: number;
840
- }
841
-
842
- export interface StyleHTMLAttributes<T = HTMLStyleElement> extends HTMLAttributes<T> {
843
- media?: string;
844
- nonce?: string;
845
- scoped?: boolean;
846
- type?: string;
847
- }
848
-
849
- export interface TableHTMLAttributes<T = HTMLTableElement> extends HTMLAttributes<T> {
850
- align?: 'left' | 'center' | 'right';
851
- /** @deprecated */
852
- bgcolor?: string;
853
- /** @deprecated */
854
- border?: number;
855
- cellPadding?: number | string;
856
- cellpadding?: number | string;
857
- cellSpacing?: number | string;
858
- cellspacing?: number | string;
859
- summary?: string;
860
- width?: number | string;
861
- }
862
-
863
- export interface TdHTMLAttributes<T = HTMLTableDataCellElement> extends HTMLAttributes<T> {
864
- align?: 'left' | 'center' | 'right' | 'justify' | 'char';
865
- colSpan?: number;
866
- colspan?: number;
867
- headers?: string;
868
- rowSpan?: number;
869
- rowspan?: number;
870
- scope?: string;
871
- abbr?: string;
872
- height?: number | string;
873
- width?: number | string;
874
- valign?: 'top' | 'middle' | 'bottom' | 'baseline';
875
- }
876
-
877
- export interface TextareaHTMLAttributes<T = HTMLTextAreaElement> extends HTMLAttributes<T> {
878
- autoComplete?: string;
879
- autocomplete?: string;
880
- autoFocus?: boolean;
881
- autofocus?: boolean;
882
- cols?: number;
883
- dirName?: string;
884
- dirname?: string;
885
- disabled?: boolean | Accessor<boolean>;
886
- form?: string;
887
- maxLength?: Reactive<number>;
888
- maxlength?: Reactive<number>;
889
- minLength?: Reactive<number>;
890
- minlength?: Reactive<number>;
891
- name?: string;
892
- placeholder?: string | Accessor<string>;
893
- readOnly?: Reactive<boolean>;
894
- readonly?: Reactive<boolean>;
895
- required?: Reactive<boolean>;
896
- rows?: number;
897
- value?: string | ReadonlyArray<string> | Accessor<string>;
898
- wrap?: 'hard' | 'soft' | 'off';
899
- }
900
-
901
- export interface ThHTMLAttributes<T = HTMLTableHeaderCellElement> extends HTMLAttributes<T> {
902
- align?: 'left' | 'center' | 'right' | 'justify' | 'char';
903
- abbr?: string;
904
- colSpan?: number;
905
- colspan?: number;
906
- headers?: string;
907
- rowSpan?: number;
908
- rowspan?: number;
909
- scope?: 'col' | 'row' | 'colgroup' | 'rowgroup';
910
- height?: number | string;
911
- width?: number | string;
912
- valign?: 'top' | 'middle' | 'bottom' | 'baseline';
913
- }
914
-
915
- export interface TimeHTMLAttributes<T = HTMLTimeElement> extends HTMLAttributes<T> {
916
- dateTime?: string;
917
- datetime?: string;
918
- }
919
-
920
- export interface TrackHTMLAttributes<T = HTMLTrackElement> extends HTMLAttributes<T> {
921
- default?: boolean;
922
- kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
923
- label?: string;
924
- src?: string;
925
- srcLang?: string;
926
- srclang?: string;
927
- }
928
-
929
- export interface VideoHTMLAttributes<T = HTMLVideoElement> extends MediaHTMLAttributes<T> {
930
- disablePictureInPicture?: boolean;
931
- disableRemotePlayback?: boolean;
932
- height?: number | string;
933
- onEnterPictureInPicture?: (event: Event) => void;
934
- onLeavePictureInPicture?: (event: Event) => void;
935
- playsInline?: boolean;
936
- playsinline?: boolean;
937
- poster?: string;
938
- width?: number | string;
939
- }
940
-
941
- export interface AudioHTMLAttributes<T = HTMLAudioElement> extends MediaHTMLAttributes<T> {}
942
-
943
- // ============================================================================
944
- // SVG Attributes
945
- // ============================================================================
946
-
947
- export interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
948
- // Core SVG attributes
949
- id?: string;
950
- class?: string | Accessor<string>;
951
- className?: string;
952
- style?: string | Record<string, string | number>;
953
- ref?: RefCallback<T> | { current: T | null } | { current: SVGElement | null };
954
- key?: string | number;
955
- children?: Element | Element[];
956
- tabIndex?: Reactive<number>;
957
- tabindex?: Reactive<number>;
958
- lang?: string;
959
- xml_lang?: string;
960
-
961
- // Presentation attributes
962
- color?: Reactive<string>;
963
- fill?: Reactive<string>;
964
- fillOpacity?: Reactive<number | string>;
965
- 'fill-opacity'?: Reactive<number | string>;
966
- fillRule?: Reactive<'nonzero' | 'evenodd' | 'inherit'>;
967
- 'fill-rule'?: Reactive<'nonzero' | 'evenodd' | 'inherit'>;
968
- opacity?: Reactive<number | string>;
969
- stroke?: Reactive<string>;
970
- strokeDasharray?: Reactive<string | number>;
971
- 'stroke-dasharray'?: Reactive<string | number>;
972
- strokeDashoffset?: Reactive<string | number>;
973
- 'stroke-dashoffset'?: Reactive<string | number>;
974
- strokeLinecap?: Reactive<'butt' | 'round' | 'square' | 'inherit'>;
975
- 'stroke-linecap'?: Reactive<'butt' | 'round' | 'square' | 'inherit'>;
976
- strokeLinejoin?: Reactive<'miter' | 'round' | 'bevel' | 'inherit'>;
977
- 'stroke-linejoin'?: Reactive<'miter' | 'round' | 'bevel' | 'inherit'>;
978
- strokeMiterlimit?: Reactive<number | string>;
979
- 'stroke-miterlimit'?: Reactive<number | string>;
980
- strokeOpacity?: Reactive<number | string>;
981
- 'stroke-opacity'?: Reactive<number | string>;
982
- strokeWidth?: Reactive<number | string>;
983
- 'stroke-width'?: Reactive<number | string>;
984
-
985
- // Geometry
986
- cx?: Reactive<number | string>;
987
- cy?: Reactive<number | string>;
988
- d?: Reactive<string>;
989
- dx?: Reactive<number | string>;
990
- dy?: Reactive<number | string>;
991
- height?: Reactive<number | string>;
992
- r?: Reactive<number | string>;
993
- rx?: Reactive<number | string>;
994
- ry?: Reactive<number | string>;
995
- width?: Reactive<number | string>;
996
- x?: Reactive<number | string>;
997
- x1?: Reactive<number | string>;
998
- x2?: Reactive<number | string>;
999
- y?: Reactive<number | string>;
1000
- y1?: Reactive<number | string>;
1001
- y2?: Reactive<number | string>;
1002
-
1003
- // Transform
1004
- transform?: Reactive<string>;
1005
- gradientTransform?: Reactive<string>;
1006
- patternTransform?: Reactive<string>;
1007
-
1008
- // View
1009
- viewBox?: Reactive<string>;
1010
- preserveAspectRatio?: Reactive<string>;
1011
-
1012
- // Text
1013
- dominantBaseline?: Reactive<string>;
1014
- 'dominant-baseline'?: Reactive<string>;
1015
- textAnchor?: Reactive<string>;
1016
- 'text-anchor'?: Reactive<string>;
1017
- fontSize?: Reactive<number | string>;
1018
- 'font-size'?: Reactive<number | string>;
1019
- fontFamily?: Reactive<string>;
1020
- 'font-family'?: Reactive<string>;
1021
- fontStyle?: Reactive<string>;
1022
- 'font-style'?: Reactive<string>;
1023
- fontWeight?: Reactive<number | string>;
1024
- 'font-weight'?: Reactive<number | string>;
1025
- letterSpacing?: Reactive<number | string>;
1026
- 'letter-spacing'?: Reactive<number | string>;
1027
- wordSpacing?: Reactive<number | string>;
1028
- 'word-spacing'?: Reactive<number | string>;
1029
- textDecoration?: Reactive<string>;
1030
- 'text-decoration'?: Reactive<string>;
1031
- writingMode?: Reactive<string>;
1032
- 'writing-mode'?: Reactive<string>;
1033
-
1034
- // References
1035
- href?: Reactive<string>;
1036
- xlinkHref?: Reactive<string>;
1037
- 'xlink:href'?: Reactive<string>;
1038
- xlinkTitle?: Reactive<string>;
1039
- 'xlink:title'?: Reactive<string>;
1040
- in?: Reactive<string>;
1041
- in2?: Reactive<number | string>;
1042
- result?: Reactive<string>;
1043
-
1044
- // Filters / effects
1045
- filter?: Reactive<string>;
1046
- clipPath?: Reactive<string>;
1047
- 'clip-path'?: Reactive<string>;
1048
- clipRule?: Reactive<number | string>;
1049
- 'clip-rule'?: Reactive<number | string>;
1050
- mask?: Reactive<string>;
1051
- cursor?: Reactive<number | string>;
1052
- display?: Reactive<number | string>;
1053
- imageRendering?: Reactive<number | string>;
1054
- 'image-rendering'?: Reactive<number | string>;
1055
- overflow?: Reactive<number | string>;
1056
- paintOrder?: Reactive<number | string>;
1057
- 'paint-order'?: Reactive<number | string>;
1058
- pointerEvents?: Reactive<number | string>;
1059
- 'pointer-events'?: Reactive<number | string>;
1060
- shapeRendering?: Reactive<number | string>;
1061
- 'shape-rendering'?: Reactive<number | string>;
1062
- textRendering?: Reactive<number | string>;
1063
- 'text-rendering'?: Reactive<number | string>;
1064
- vectorEffect?: Reactive<number | string>;
1065
- 'vector-effect'?: Reactive<number | string>;
1066
- visibility?: Reactive<number | string>;
1067
-
1068
- // Color
1069
- colorInterpolation?: Reactive<number | string>;
1070
- 'color-interpolation'?: Reactive<number | string>;
1071
- colorInterpolationFilters?: Reactive<'auto' | 'sRGB' | 'linearRGB' | 'inherit'>;
1072
- 'color-interpolation-filters'?: Reactive<'auto' | 'sRGB' | 'linearRGB' | 'inherit'>;
1073
- colorRendering?: Reactive<number | string>;
1074
- 'color-rendering'?: Reactive<number | string>;
1075
- floodColor?: Reactive<number | string>;
1076
- 'flood-color'?: Reactive<number | string>;
1077
- floodOpacity?: Reactive<number | string>;
1078
- 'flood-opacity'?: Reactive<number | string>;
1079
- lightingColor?: Reactive<number | string>;
1080
- 'lighting-color'?: Reactive<number | string>;
1081
- stopColor?: Reactive<string>;
1082
- 'stop-color'?: Reactive<string>;
1083
- stopOpacity?: Reactive<number | string>;
1084
- 'stop-opacity'?: Reactive<number | string>;
1085
- markerEnd?: Reactive<string>;
1086
- 'marker-end'?: Reactive<string>;
1087
- markerMid?: Reactive<string>;
1088
- 'marker-mid'?: Reactive<string>;
1089
- markerStart?: Reactive<string>;
1090
- 'marker-start'?: Reactive<string>;
1091
-
1092
- // Gradient / Pattern
1093
- gradientUnits?: Reactive<string>;
1094
- patternContentUnits?: Reactive<string>;
1095
- patternUnits?: Reactive<string>;
1096
- spreadMethod?: Reactive<'pad' | 'reflect' | 'repeat'>;
1097
- offset?: Reactive<number | string>;
1098
-
1099
- // Filter primitives
1100
- baseFrequency?: Reactive<number | string>;
1101
- bias?: Reactive<number | string>;
1102
- diffuseConstant?: Reactive<number | string>;
1103
- divisor?: Reactive<number | string>;
1104
- edgeMode?: Reactive<number | string>;
1105
- filterUnits?: Reactive<number | string>;
1106
- kernelMatrix?: Reactive<number | string>;
1107
- kernelUnitLength?: Reactive<number | string>;
1108
- limitingConeAngle?: Reactive<number | string>;
1109
- mode?: Reactive<number | string>;
1110
- numOctaves?: Reactive<number | string>;
1111
- operator?: Reactive<number | string>;
1112
- order?: Reactive<number | string>;
1113
- primitiveUnits?: Reactive<number | string>;
1114
- radius?: Reactive<number | string>;
1115
- scale?: Reactive<number | string>;
1116
- seed?: Reactive<number | string>;
1117
- specularConstant?: Reactive<number | string>;
1118
- specularExponent?: Reactive<number | string>;
1119
- stdDeviation?: Reactive<number | string>;
1120
- surfaceScale?: Reactive<number | string>;
1121
- tableValues?: Reactive<number | string>;
1122
- targetX?: Reactive<number | string>;
1123
- targetY?: Reactive<number | string>;
1124
- xChannelSelector?: Reactive<string>;
1125
- yChannelSelector?: Reactive<string>;
1126
- elevation?: Reactive<number | string>;
1127
- azimuth?: Reactive<number | string>;
1128
- diffuseExponent?: Reactive<number | string>;
1129
-
1130
- // Animation
1131
- accumulate?: Reactive<'none' | 'sum'>;
1132
- additive?: Reactive<'replace' | 'sum'>;
1133
- attributeName?: Reactive<string>;
1134
- begin?: Reactive<number | string>;
1135
- by?: Reactive<number | string>;
1136
- calcMode?: Reactive<number | string>;
1137
- dur?: Reactive<number | string>;
1138
- end?: Reactive<number | string>;
1139
- from?: Reactive<number | string>;
1140
- keyPoints?: Reactive<number | string>;
1141
- keySplines?: Reactive<number | string>;
1142
- keyTimes?: Reactive<number | string>;
1143
- path?: Reactive<string>;
1144
- repeatCount?: Reactive<number | string>;
1145
- repeatDur?: Reactive<number | string>;
1146
- restart?: Reactive<number | string>;
1147
- to?: Reactive<number | string>;
1148
- type?: Reactive<string>;
1149
- values?: Reactive<string>;
1150
-
1151
- // Other
1152
- alignmentBaseline?: Reactive<string>;
1153
- 'alignment-baseline'?: Reactive<string>;
1154
- baseline?: Reactive<string>;
1155
- clipPathUnits?: Reactive<number | string>;
1156
- contentScriptType?: Reactive<number | string>;
1157
- contentStyleType?: Reactive<number | string>;
1158
- decelerate?: Reactive<number | string>;
1159
- direction?: Reactive<number | string>;
1160
- exponent?: Reactive<number | string>;
1161
- externalResourcesRequired?: Reactive<number | string>;
1162
- filterRes?: Reactive<number | string>;
1163
- focusable?: Reactive<number | string>;
1164
- format?: Reactive<number | string>;
1165
- g1?: Reactive<number | string>;
1166
- g2?: Reactive<number | string>;
1167
- glyphName?: Reactive<number | string>;
1168
- glyphOrientationHorizontal?: Reactive<number | string>;
1169
- glyphOrientationVertical?: Reactive<number | string>;
1170
- glyphRef?: Reactive<number | string>;
1171
- horizAdvX?: Reactive<number | string>;
1172
- horizOriginX?: Reactive<number | string>;
1173
- ideographic?: Reactive<number | string>;
1174
- intercept?: Reactive<number | string>;
1175
- k?: Reactive<number | string>;
1176
- k1?: Reactive<number | string>;
1177
- k2?: Reactive<number | string>;
1178
- k3?: Reactive<number | string>;
1179
- k4?: Reactive<number | string>;
1180
- lengthAdjust?: Reactive<number | string>;
1181
- local?: Reactive<number | string>;
1182
- markerHeight?: Reactive<number | string>;
1183
- markerUnits?: Reactive<number | string>;
1184
- markerWidth?: Reactive<number | string>;
1185
- maskContentUnits?: Reactive<number | string>;
1186
- maskUnits?: Reactive<number | string>;
1187
- mathematical?: Reactive<number | string>;
1188
- mediaGroup?: Reactive<number | string>;
1189
- overlinePosition?: Reactive<number | string>;
1190
- overlineThickness?: Reactive<number | string>;
1191
- panose1?: Reactive<number | string>;
1192
- pathLength?: Reactive<number | string>;
1193
- points?: Reactive<string>;
1194
- pointsAtX?: Reactive<number | string>;
1195
- pointsAtY?: Reactive<number | string>;
1196
- pointsAtZ?: Reactive<number | string>;
1197
- refX?: Reactive<number | string>;
1198
- refY?: Reactive<number | string>;
1199
- renderingIntent?: Reactive<number | string>;
1200
- requiredExtensions?: Reactive<number | string>;
1201
- requiredFeatures?: Reactive<number | string>;
1202
- rotate?: Reactive<number | string>;
1203
- slope?: Reactive<number | string>;
1204
- spacing?: Reactive<number | string>;
1205
- startOffset?: Reactive<number | string>;
1206
- stemh?: Reactive<number | string>;
1207
- stemv?: Reactive<number | string>;
1208
- stitchTiles?: Reactive<number | string>;
1209
- strikethroughPosition?: Reactive<number | string>;
1210
- strikethroughThickness?: Reactive<number | string>;
1211
- string?: Reactive<number | string>;
1212
- systemLanguage?: Reactive<number | string>;
1213
- textLength?: Reactive<number | string>;
1214
- u1?: Reactive<number | string>;
1215
- u2?: Reactive<number | string>;
1216
- underlinePosition?: Reactive<number | string>;
1217
- underlineThickness?: Reactive<number | string>;
1218
- unicode?: Reactive<number | string>;
1219
- unicodeBidi?: Reactive<number | string>;
1220
- unicodeRange?: Reactive<number | string>;
1221
- unitsPerEm?: Reactive<number | string>;
1222
- vAlphabetic?: Reactive<number | string>;
1223
- vHanging?: Reactive<number | string>;
1224
- vIdeographic?: Reactive<number | string>;
1225
- vMathematical?: Reactive<number | string>;
1226
- version?: Reactive<string>;
1227
- vertAdvY?: Reactive<number | string>;
1228
- vertOriginX?: Reactive<number | string>;
1229
- vertOriginY?: Reactive<number | string>;
1230
- viewTarget?: Reactive<number | string>;
1231
- widths?: Reactive<number | string>;
1232
-
1233
- // Namespace
1234
- xmlns?: Reactive<string>;
1235
- 'xmlns:xlink'?: Reactive<string>;
1236
- xmlnsXlink?: Reactive<string>;
1237
- xmlBase?: Reactive<string>;
1238
- xmlLang?: Reactive<string>;
1239
- xmlSpace?: Reactive<string>;
1240
- zoomAndPan?: Reactive<string>;
1241
-
1242
- // SVG specific aria
1243
- 'aria-label'?: Reactive<string>;
1244
- 'aria-labelledby'?: Reactive<string>;
1245
- 'aria-describedby'?: Reactive<string>;
1246
- 'aria-hidden'?: Reactive<boolean | 'true' | 'false'>;
1247
- role?: Reactive<string>;
1248
-
1249
- // Catch-all for vendor/custom SVG attributes
1250
- [key: string]: any;
1251
- }
21
+ export type Element = A.FxElement;
22
+
23
+
24
+ export type Reactive<T> = A.Reactive<T>;
25
+ export type RefCallback<T> = A.RefCallback<T>;
26
+ export type HTMLDir = A.HTMLDir;
27
+ export type HTMLAutocapitalize = A.HTMLAutocapitalize;
28
+ export type HTMLInputMode = A.HTMLInputMode;
29
+ export type HTMLFormEncType = A.HTMLFormEncType;
30
+ export type HTMLFormMethod = A.HTMLFormMethod;
31
+ export type HTMLCrossOrigin = A.HTMLCrossOrigin;
32
+ export type HTMLReferrerPolicy = A.HTMLReferrerPolicy;
33
+ export type CSSProperties = A.CSSProperties;
34
+ export type AriaAttributes = A.AriaAttributes;
35
+ export type DOMAttributes<T = Element> = A.DOMAttributes<T>;
36
+ export type HTMLAttributes<T = HTMLElement> = A.HTMLAttributes<T>;
37
+ export type AnchorHTMLAttributes<T = HTMLAnchorElement> = A.AnchorHTMLAttributes<T>;
38
+ export type AreaHTMLAttributes<T = HTMLAreaElement> = A.AreaHTMLAttributes<T>;
39
+ export type BaseHTMLAttributes<T = HTMLBaseElement> = A.BaseHTMLAttributes<T>;
40
+ export type BlockquoteHTMLAttributes<T = HTMLQuoteElement> = A.BlockquoteHTMLAttributes<T>;
41
+ export type ButtonHTMLAttributes<T = HTMLButtonElement> = A.ButtonHTMLAttributes<T>;
42
+ export type CanvasHTMLAttributes<T = HTMLCanvasElement> = A.CanvasHTMLAttributes<T>;
43
+ export type ColHTMLAttributes<T = HTMLTableColElement> = A.ColHTMLAttributes<T>;
44
+ export type ColgroupHTMLAttributes<T = HTMLTableColElement> = A.ColgroupHTMLAttributes<T>;
45
+ export type DataHTMLAttributes<T = HTMLDataElement> = A.DataHTMLAttributes<T>;
46
+ export type DetailsHTMLAttributes<T = HTMLDetailsElement> = A.DetailsHTMLAttributes<T>;
47
+ export type DialogHTMLAttributes<T = HTMLDialogElement> = A.DialogHTMLAttributes<T>;
48
+ export type EmbedHTMLAttributes<T = HTMLEmbedElement> = A.EmbedHTMLAttributes<T>;
49
+ export type FieldsetHTMLAttributes<T = HTMLFieldSetElement> = A.FieldsetHTMLAttributes<T>;
50
+ export type FormHTMLAttributes<T = HTMLFormElement> = A.FormHTMLAttributes<T>;
51
+ export type IframeHTMLAttributes<T = HTMLIFrameElement> = A.IframeHTMLAttributes<T>;
52
+ export type ImgHTMLAttributes<T = HTMLImageElement> = A.ImgHTMLAttributes<T>;
53
+ export type InputHTMLAttributes<T = HTMLInputElement> = A.InputHTMLAttributes<T>;
54
+ export type KeygenHTMLAttributes<T = HTMLElement> = A.KeygenHTMLAttributes<T>;
55
+ export type LabelHTMLAttributes<T = HTMLLabelElement> = A.LabelHTMLAttributes<T>;
56
+ export type LiHTMLAttributes<T = HTMLLIElement> = A.LiHTMLAttributes<T>;
57
+ export type LinkHTMLAttributes<T = HTMLLinkElement> = A.LinkHTMLAttributes<T>;
58
+ export type MapHTMLAttributes<T = HTMLMapElement> = A.MapHTMLAttributes<T>;
59
+ export type MediaHTMLAttributes<T = HTMLMediaElement> = A.MediaHTMLAttributes<T>;
60
+ export type MetaHTMLAttributes<T = HTMLMetaElement> = A.MetaHTMLAttributes<T>;
61
+ export type MeterHTMLAttributes<T = HTMLMeterElement> = A.MeterHTMLAttributes<T>;
62
+ export type ModHTMLAttributes<T = HTMLModElement> = A.ModHTMLAttributes<T>;
63
+ export type ObjectHTMLAttributes<T = HTMLObjectElement> = A.ObjectHTMLAttributes<T>;
64
+ export type OlHTMLAttributes<T = HTMLOListElement> = A.OlHTMLAttributes<T>;
65
+ export type OptgroupHTMLAttributes<T = HTMLOptGroupElement> = A.OptgroupHTMLAttributes<T>;
66
+ export type OptionHTMLAttributes<T = HTMLOptionElement> = A.OptionHTMLAttributes<T>;
67
+ export type OutputHTMLAttributes<T = HTMLOutputElement> = A.OutputHTMLAttributes<T>;
68
+ export type ParamHTMLAttributes<T = HTMLParamElement> = A.ParamHTMLAttributes<T>;
69
+ export type ProgressHTMLAttributes<T = HTMLProgressElement> = A.ProgressHTMLAttributes<T>;
70
+ export type ScriptHTMLAttributes<T = HTMLScriptElement> = A.ScriptHTMLAttributes<T>;
71
+ export type SelectHTMLAttributes<T = HTMLSelectElement> = A.SelectHTMLAttributes<T>;
72
+ export type SlotHTMLAttributes<T = HTMLSlotElement> = A.SlotHTMLAttributes<T>;
73
+ export type SourceHTMLAttributes<T = HTMLSourceElement> = A.SourceHTMLAttributes<T>;
74
+ export type StyleHTMLAttributes<T = HTMLStyleElement> = A.StyleHTMLAttributes<T>;
75
+ export type TableHTMLAttributes<T = HTMLTableElement> = A.TableHTMLAttributes<T>;
76
+ export type TdHTMLAttributes<T = HTMLTableDataCellElement> = A.TdHTMLAttributes<T>;
77
+ export type TextareaHTMLAttributes<T = HTMLTextAreaElement> = A.TextareaHTMLAttributes<T>;
78
+ export type ThHTMLAttributes<T = HTMLTableHeaderCellElement> = A.ThHTMLAttributes<T>;
79
+ export type TimeHTMLAttributes<T = HTMLTimeElement> = A.TimeHTMLAttributes<T>;
80
+ export type TrackHTMLAttributes<T = HTMLTrackElement> = A.TrackHTMLAttributes<T>;
81
+ export type VideoHTMLAttributes<T = HTMLVideoElement> = A.VideoHTMLAttributes<T>;
82
+ export type AudioHTMLAttributes<T = HTMLAudioElement> = A.AudioHTMLAttributes<T>;
83
+ export type SVGAttributes<T = SVGElement> = A.SVGAttributes<T>;
1252
84
 
1253
85
  // ============================================================================
1254
86
  // Intrinsic Elements
1255
87
  // ============================================================================
1256
88
 
1257
- export interface IntrinsicElements {
1258
- // HTML
1259
- a: AnchorHTMLAttributes;
1260
- abbr: HTMLAttributes;
1261
- address: HTMLAttributes;
1262
- area: AreaHTMLAttributes;
1263
- article: HTMLAttributes;
1264
- aside: HTMLAttributes;
1265
- audio: AudioHTMLAttributes;
1266
- b: HTMLAttributes;
1267
- base: BaseHTMLAttributes;
1268
- bdi: HTMLAttributes;
1269
- bdo: HTMLAttributes;
1270
- big: HTMLAttributes;
1271
- blockquote: BlockquoteHTMLAttributes;
1272
- body: HTMLAttributes;
1273
- br: HTMLAttributes;
1274
- button: ButtonHTMLAttributes;
1275
- canvas: CanvasHTMLAttributes;
1276
- caption: HTMLAttributes;
1277
- cite: HTMLAttributes;
1278
- code: HTMLAttributes;
1279
- col: ColHTMLAttributes;
1280
- colgroup: ColgroupHTMLAttributes;
1281
- data: DataHTMLAttributes;
1282
- datalist: HTMLAttributes;
1283
- dd: HTMLAttributes;
1284
- del: ModHTMLAttributes;
1285
- details: DetailsHTMLAttributes;
1286
- dfn: HTMLAttributes;
1287
- dialog: DialogHTMLAttributes;
1288
- div: HTMLAttributes<HTMLDivElement>;
1289
- dl: HTMLAttributes<HTMLDListElement>;
1290
- dt: HTMLAttributes;
1291
- em: HTMLAttributes;
1292
- embed: EmbedHTMLAttributes;
1293
- fieldset: FieldsetHTMLAttributes;
1294
- figcaption: HTMLAttributes;
1295
- figure: HTMLAttributes;
1296
- footer: HTMLAttributes;
1297
- form: FormHTMLAttributes;
1298
- h1: HTMLAttributes<HTMLHeadingElement>;
1299
- h2: HTMLAttributes<HTMLHeadingElement>;
1300
- h3: HTMLAttributes<HTMLHeadingElement>;
1301
- h4: HTMLAttributes<HTMLHeadingElement>;
1302
- h5: HTMLAttributes<HTMLHeadingElement>;
1303
- h6: HTMLAttributes<HTMLHeadingElement>;
1304
- head: HTMLAttributes;
1305
- header: HTMLAttributes;
1306
- hgroup: HTMLAttributes;
1307
- hr: HTMLAttributes;
1308
- html: HTMLAttributes;
1309
- i: HTMLAttributes;
1310
- iframe: IframeHTMLAttributes;
1311
- img: ImgHTMLAttributes;
1312
- input: InputHTMLAttributes;
1313
- ins: ModHTMLAttributes;
1314
- kbd: HTMLAttributes;
1315
- keygen: KeygenHTMLAttributes;
1316
- label: LabelHTMLAttributes;
1317
- legend: HTMLAttributes;
1318
- li: LiHTMLAttributes;
1319
- link: LinkHTMLAttributes;
1320
- main: HTMLAttributes;
1321
- map: MapHTMLAttributes;
1322
- mark: HTMLAttributes;
1323
- menu: HTMLAttributes;
1324
- menuitem: HTMLAttributes;
1325
- meta: MetaHTMLAttributes;
1326
- meter: MeterHTMLAttributes;
1327
- nav: HTMLAttributes;
1328
- noindex: HTMLAttributes;
1329
- noscript: HTMLAttributes;
1330
- object: ObjectHTMLAttributes;
1331
- ol: OlHTMLAttributes;
1332
- optgroup: OptgroupHTMLAttributes;
1333
- option: OptionHTMLAttributes;
1334
- output: OutputHTMLAttributes;
1335
- p: HTMLAttributes<HTMLParagraphElement>;
1336
- param: ParamHTMLAttributes;
1337
- picture: HTMLAttributes;
1338
- pre: HTMLAttributes<HTMLPreElement>;
1339
- progress: ProgressHTMLAttributes;
1340
- q: BlockquoteHTMLAttributes;
1341
- rp: HTMLAttributes;
1342
- rt: HTMLAttributes;
1343
- ruby: HTMLAttributes;
1344
- s: HTMLAttributes;
1345
- samp: HTMLAttributes;
1346
- script: ScriptHTMLAttributes;
1347
- search: HTMLAttributes;
1348
- section: HTMLAttributes;
1349
- select: SelectHTMLAttributes;
1350
- slot: SlotHTMLAttributes;
1351
- small: HTMLAttributes;
1352
- source: SourceHTMLAttributes;
1353
- span: HTMLAttributes;
1354
- strong: HTMLAttributes;
1355
- style: StyleHTMLAttributes;
1356
- sub: HTMLAttributes;
1357
- summary: HTMLAttributes;
1358
- sup: HTMLAttributes;
1359
- table: TableHTMLAttributes;
1360
- template: HTMLAttributes;
1361
- tbody: HTMLAttributes;
1362
- td: TdHTMLAttributes;
1363
- textarea: TextareaHTMLAttributes;
1364
- tfoot: HTMLAttributes;
1365
- th: ThHTMLAttributes;
1366
- thead: HTMLAttributes;
1367
- time: TimeHTMLAttributes;
1368
- title: HTMLAttributes;
1369
- tr: HTMLAttributes;
1370
- track: TrackHTMLAttributes;
1371
- u: HTMLAttributes;
1372
- ul: HTMLAttributes<HTMLUListElement>;
1373
- var: HTMLAttributes;
1374
- video: VideoHTMLAttributes;
1375
- wbr: HTMLAttributes;
1376
- webview: HTMLAttributes;
1377
-
1378
- // SVG
1379
- svg: SVGAttributes<SVGSVGElement>;
1380
- animate: SVGAttributes;
1381
- animateMotion: SVGAttributes;
1382
- animateTransform: SVGAttributes;
1383
- circle: SVGAttributes<SVGCircleElement>;
1384
- clipPath: SVGAttributes<SVGClipPathElement>;
1385
- defs: SVGAttributes<SVGDefsElement>;
1386
- desc: SVGAttributes<SVGDescElement>;
1387
- ellipse: SVGAttributes<SVGEllipseElement>;
1388
- feBlend: SVGAttributes<SVGFEBlendElement>;
1389
- feColorMatrix: SVGAttributes<SVGFEColorMatrixElement>;
1390
- feComponentTransfer: SVGAttributes<SVGFEComponentTransferElement>;
1391
- feComposite: SVGAttributes<SVGFECompositeElement>;
1392
- feConvolveMatrix: SVGAttributes<SVGFEConvolveMatrixElement>;
1393
- feDiffuseLighting: SVGAttributes<SVGFEDiffuseLightingElement>;
1394
- feDisplacementMap: SVGAttributes<SVGFEDisplacementMapElement>;
1395
- feDistantLight: SVGAttributes<SVGFEDistantLightElement>;
1396
- feDropShadow: SVGAttributes;
1397
- feFlood: SVGAttributes<SVGFEFloodElement>;
1398
- feFuncA: SVGAttributes<SVGFEFuncAElement>;
1399
- feFuncB: SVGAttributes<SVGFEFuncBElement>;
1400
- feFuncG: SVGAttributes<SVGFEFuncGElement>;
1401
- feFuncR: SVGAttributes<SVGFEFuncRElement>;
1402
- feGaussianBlur: SVGAttributes<SVGFEGaussianBlurElement>;
1403
- feImage: SVGAttributes<SVGFEImageElement>;
1404
- feMerge: SVGAttributes<SVGFEMergeElement>;
1405
- feMergeNode: SVGAttributes<SVGFEMergeNodeElement>;
1406
- feMorphology: SVGAttributes<SVGFEMorphologyElement>;
1407
- feOffset: SVGAttributes<SVGFEOffsetElement>;
1408
- fePointLight: SVGAttributes<SVGFEPointLightElement>;
1409
- feSpecularLighting: SVGAttributes<SVGFESpecularLightingElement>;
1410
- feSpotLight: SVGAttributes<SVGFESpotLightElement>;
1411
- feTile: SVGAttributes<SVGFETileElement>;
1412
- feTurbulence: SVGAttributes<SVGFETurbulenceElement>;
1413
- filter: SVGAttributes<SVGFilterElement>;
1414
- foreignObject: SVGAttributes<SVGForeignObjectElement>;
1415
- g: SVGAttributes<SVGGElement>;
1416
- image: SVGAttributes<SVGImageElement>;
1417
- line: SVGAttributes<SVGLineElement>;
1418
- linearGradient: SVGAttributes<SVGLinearGradientElement>;
1419
- marker: SVGAttributes<SVGMarkerElement>;
1420
- mask: SVGAttributes<SVGMaskElement>;
1421
- metadata: SVGAttributes<SVGMetadataElement>;
1422
- mpath: SVGAttributes;
1423
- path: SVGAttributes<SVGPathElement>;
1424
- pattern: SVGAttributes<SVGPatternElement>;
1425
- polygon: SVGAttributes<SVGPolygonElement>;
1426
- polyline: SVGAttributes<SVGPolylineElement>;
1427
- radialGradient: SVGAttributes<SVGRadialGradientElement>;
1428
- rect: SVGAttributes<SVGRectElement>;
1429
- stop: SVGAttributes<SVGStopElement>;
1430
- switch: SVGAttributes<SVGSwitchElement>;
1431
- symbol: SVGAttributes<SVGSymbolElement>;
1432
- text: SVGAttributes<SVGTextElement>;
1433
- textPath: SVGAttributes<SVGTextPathElement>;
1434
- tspan: SVGAttributes<SVGTSpanElement>;
1435
- use: SVGAttributes<SVGUseElement>;
1436
- view: SVGAttributes<SVGViewElement>;
1437
- [s: string]: any;
1438
-
1439
- // Custom elements: picks up FluixiElements augmentations automatically
1440
- [elemName: string]: any;
1441
- }
89
+ export interface IntrinsicElements extends A.IntrinsicElements {}
1442
90
  interface ElementChildrenAttribute {
1443
91
  children: {};
1444
92
  }
@@ -1459,7 +107,7 @@ export namespace JSX {
1459
107
  * ```
1460
108
  */
1461
109
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
1462
- interface FluixiElements {}
110
+ export interface FluixiElements {}
1463
111
 
1464
112
  // declare global {
1465
113
  // // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -1484,3 +132,5 @@ declare global {
1484
132
  }
1485
133
  }
1486
134
  }
135
+
136
+