UNPKG

woby

Version:

A high-performance framework with fine-grained observable/signal-based reactivity for building rich applications.

861 lines 85.2 kB
import type * as CSS from 'csstype'; declare const ContextWithDefaultSymbol: unique symbol; export type ArrayMaybe<T = unknown> = T[] | T; export type Callback = (stack?: Error) => void; export type Child = null | undefined | boolean | bigint | number | string | symbol | Node | Array<Child> | (() => Child); export type ChildWithMetadata<T = unknown> = (() => Child) & { metadata: T; }; export type Classes = FunctionMaybe<null | undefined | string | Record<string, FunctionMaybe<null | undefined | boolean>> | (FunctionMaybe<null | undefined | boolean | string> | Classes)[]>; export type ComponentFunction<P = { children?: Child; }> = (props: P) => Child; export type ComponentIntrinsicElement = keyof JSX.IntrinsicElements; export type ComponentNode = Node; export type Component<P = {}> = ComponentFunction<P> | ComponentIntrinsicElement | ComponentNode; export type ComponentsMap = Record<string, ComponentFunction<any>>; export type Constructor<T = unknown> = { new (): T; }; export type ConstructorWith<T = unknown, Arguments extends unknown[] = []> = { new (...args: Arguments): T; }; export type ContextData<T = unknown> = { symbol: symbol; defaultValue?: T; }; export type ContextProvider<T = unknown> = (props: { value: T; children: Child; ref?: Observable<Node>; }) => Child; export type Context<T = unknown> = { Provider: ContextProvider<T>; symbol: symbol; }; export type ContextWithDefault<T = unknown> = Context<T> & { readonly [ContextWithDefaultSymbol]: true; symbol: Symbol; }; export type DirectiveFunction<Arguments extends unknown[] = []> = (ref: globalThis.Element, ...args: Arguments) => void; export type DirectiveProvider = (props: { children: Child; }) => Child; export type DirectiveRef<Arguments extends unknown[] = []> = (...args: Arguments) => ((ref: globalThis.Element) => void); export type DirectiveRegister = () => void; export type Directive<Arguments extends unknown[] = []> = { Provider: DirectiveProvider; ref: DirectiveRef<Arguments>; register: DirectiveRegister; }; export type DirectiveData<Arguments extends unknown[] = []> = { fn: DirectiveFunction<Arguments>; immediate: boolean; }; export type DirectiveOptions = { immediate?: boolean; }; export type Disposer = (stack?: Error) => void; export type EffectFunction = (stack?: Error) => Disposer | void; export type EffectOptions = import('soby').EffectOptions; export type Element = Child; export type ExtractArray<T> = Extract<T, unknown[]>; export type EventListener = (event: Event) => void; export type Falsy<T = unknown> = Extract<T, 0 | -0 | 0n | -0n | '' | false | null | undefined | void>; export type ForOptions = import('soby').ForOptions; export type FN<Arguments extends unknown[], Return extends unknown = void> = (...args: Arguments) => Return; export type FragmentUndefined = { values: undefined; fragmented?: false; length: 0; }; export type FragmentNode = { values: Node; fragmented?: false; length: 1; }; export type FragmentFragment = { values: Fragment; fragmented: true; length: 1; }; export type FragmentNodes = { values: Node[]; fragmented?: false; length: 2 | 3 | 4 | 5; }; export type FragmentFragments = { values: Fragment[]; fragmented: true; length: 2 | 3 | 4 | 5; }; export type FragmentMixed = { values: (Node | Fragment)[]; fragmented: true; length: 2 | 3 | 4 | 5; }; export type Fragment = FragmentUndefined | FragmentNode | FragmentFragment | FragmentNodes | FragmentFragments | FragmentMixed; export type FunctionMaybe<T = unknown> = (() => T) | T; export type Indexed<T = unknown> = T extends ObservableReadonly<infer U> ? ObservableReadonly<U> : ObservableReadonly<T>; export type LazyComponent<P = {}> = (props: P) => ObservableReadonly<Child>; export type LazyFetcher<P = {}> = () => Promise<{ default: ComponentFunction<P>; } | ComponentFunction<P>>; export type LazyResult<P = {}> = LazyComponent<P> & ({ preload: () => Promise<void>; }); export type MemoOptions<T = unknown> = import('soby').MemoOptions<T>; export type Observable<T = unknown> = import('soby').Observable<T>; export type ObservableLike<T = unknown> = import('soby').ObservableLike<T>; export type ObservableReadonly<T = unknown> = import('soby').ObservableReadonly<T>; export type ObservableReadonlyLike<T = unknown> = import('soby').ObservableReadonlyLike<T>; export type ObservableMaybe<T = unknown> = Observable<T> | ObservableReadonly<T> | ObservableLike<T> | T; export type ObservableOptions<T = unknown> = import('soby').ObservableOptions<T>; export type PromiseMaybe<T = unknown> = Promise<T> | T; export type Props = Record<string, any>; export type Ref<T = unknown> = (value: T) => void; export type ResourceStaticPending<T = unknown> = { pending: true; error?: never; value?: never; latest?: T; }; export type ResourceStaticRejected = { pending: false; error: Error; value?: never; latest?: never; }; export type ResourceStaticResolved<T = unknown> = { pending: false; error?: never; value: T; latest: T; }; export type ResourceStatic<T = unknown> = ResourceStaticPending<T> | ResourceStaticRejected | ResourceStaticResolved<T>; export type ResourceFunction<T = unknown> = { pending(): boolean; error(): Error | undefined; value(): T | undefined; latest(): T | undefined; }; export type Resource<T = unknown> = ObservableReadonly<ResourceStatic<T>> & ResourceFunction<T>; export type StoreOptions = import('soby').StoreOptions; export type Styles = FunctionMaybe<null | undefined | string | Record<string, FunctionMaybe<null | undefined | number | string>> | (FunctionMaybe<null | undefined | number | string> | Styles)[]>; export type SuspenseCollectorData = { active: Observable<boolean>; register: (suspense: SuspenseData) => void; unregister: (suspense: SuspenseData) => void; }; export type SuspenseData = { active: Observable<boolean>; increment: (nr?: number) => void; decrement: (nr?: number) => void; }; export type TemplateActionPath = number[]; export type TemplateActionProxy = (target: Node, method: string, key?: string, targetNode?: Node) => void; export type TemplateActionWithNodes = [Node, string, string, string?, Node?]; export type TemplateActionWithPaths = [TemplateActionPath, string, string, string?, TemplateActionPath?]; export type TemplateVariableProperties = string[]; export type TemplateVariableData = { path: TemplateActionPath; properties: TemplateVariableProperties; }; export type TemplateVariablesMap = Map<TemplateActionPath, string>; export type Truthy<T = unknown> = Exclude<T, 0 | -0 | 0n | -0n | '' | false | null | undefined | void>; export type CSSProperties = { [K in keyof CSS.Properties<string | number>]: FunctionMaybe<CSS.Properties<string | number>[K]>; }; export type Nullable<T = unknown> = T | undefined | null; export type AllClassProperties = { [key: string]: FunctionMaybe<Nullable<boolean>>; }; export type DOMCSSProperties = { [key in keyof Omit<CSSStyleDeclaration, 'item' | 'setProperty' | 'removeProperty' | 'getPropertyValue' | 'getPropertyPriority'>]?: FunctionMaybe<Nullable<string | number>>; }; export type DOMCSSVariables = { [key: `--${string}`]: FunctionMaybe<Nullable<string | number>>; }; export type HTMLAttributeReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url'; export type Children = Child; export type Class = FunctionMaybe<Nullable<string | ClassProperties | (FunctionMaybe<null | undefined | boolean | string> | Class)[]>>; export type Refs<T = unknown> = ArrayMaybe<Nullable<Ref<T>>> | Refs<T>[]; export type Style = FunctionMaybe<Nullable<string | StyleProperties | (FunctionMaybe<null | undefined | number | string> | Style)[]>>; export type IntrinsicElement<T extends keyof IntrinsicElements> = IntrinsicElements[T]; export interface ClassProperties extends AllClassProperties { } export interface StyleProperties extends DOMCSSProperties, DOMCSSVariables { } export type TargetedEvent<T extends EventTarget = EventTarget, TypedEvent extends Event = Event> = Omit<TypedEvent, 'currentTarget'> & { readonly currentTarget: T; readonly target: T; }; export type TargetedAnimationEvent<T extends EventTarget> = TargetedEvent<T, AnimationEvent>; export type TargetedClipboardEvent<T extends EventTarget> = TargetedEvent<T, ClipboardEvent>; export type TargetedChangeEvent<T extends EventTarget> = TargetedEvent<T, Event & { target: T; }>; export type TargetedCompositionEvent<T extends EventTarget> = TargetedEvent<T, CompositionEvent>; export type TargetedDragEvent<T extends EventTarget> = TargetedEvent<T, DragEvent>; export type TargetedFocusEvent<T extends EventTarget> = TargetedEvent<T, FocusEvent>; export type TargetedInputEvent<T extends EventTarget> = TargetedEvent<T, InputEvent>; export type TargetedKeyboardEvent<T extends EventTarget> = TargetedEvent<T, KeyboardEvent>; export type TargetedMouseEvent<T extends EventTarget> = TargetedEvent<T, MouseEvent>; export type TargetedPointerEvent<T extends EventTarget> = TargetedEvent<T, PointerEvent>; export type TargetedSubmitEvent<T extends EventTarget> = TargetedEvent<T, SubmitEvent>; export type TargetedTouchEvent<T extends EventTarget> = TargetedEvent<T, TouchEvent>; export type TargetedTransitionEvent<T extends EventTarget> = TargetedEvent<T, TransitionEvent>; export type TargetedUIEvent<T extends EventTarget> = TargetedEvent<T, UIEvent>; export type TargetedWheelEvent<T extends EventTarget> = TargetedEvent<T, WheelEvent>; export type EventHandler<Event extends TargetedEvent> = { (/* this: never, */ event: Event): void; }; export type AnimationEventHandler<T extends EventTarget> = EventHandler<TargetedAnimationEvent<T>>; export type ClipboardEventHandler<T extends EventTarget> = EventHandler<TargetedClipboardEvent<T>>; export type ChangeEventHandler<T extends EventTarget> = EventHandler<TargetedChangeEvent<T>>; export type CompositionEventHandler<T extends EventTarget> = EventHandler<TargetedCompositionEvent<T>>; export type DragEventHandler<T extends EventTarget> = EventHandler<TargetedDragEvent<T>>; export type FocusEventHandler<T extends EventTarget> = EventHandler<TargetedFocusEvent<T>>; export type GenericEventHandler<T extends EventTarget> = EventHandler<TargetedEvent<T>>; export type InputEventHandler<T extends EventTarget> = EventHandler<TargetedInputEvent<T>>; export type KeyboardEventHandler<T extends EventTarget> = EventHandler<TargetedKeyboardEvent<T>>; export type MouseEventHandler<T extends EventTarget> = EventHandler<TargetedMouseEvent<T>>; export type PointerEventHandler<T extends EventTarget> = EventHandler<TargetedPointerEvent<T>>; export type SubmitEventHandler<T extends EventTarget> = EventHandler<TargetedSubmitEvent<T>>; export type TouchEventHandler<T extends EventTarget> = EventHandler<TargetedTouchEvent<T>>; export type TransitionEventHandler<T extends EventTarget> = EventHandler<TargetedTransitionEvent<T>>; export type UIEventHandler<T extends EventTarget> = EventHandler<TargetedUIEvent<T>>; export type WheelEventHandler<T extends EventTarget> = EventHandler<TargetedWheelEvent<T>>; export interface ElementAttributesProperty { props: Record<string, any>; } export interface ElementChildrenAttribute { children: any; } export interface IntrinsicAttributes { isCustom?: boolean; } export interface AriaAttributes { ariaActivedescendant?: FunctionMaybe<Nullable<string>>; ariaAtomic?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaAutocomplete?: FunctionMaybe<Nullable<'none' | 'inline' | 'list' | 'both'>>; ariaBusy?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaChecked?: FunctionMaybe<Nullable<boolean | 'false' | 'mixed' | 'true'>>; ariaColcount?: FunctionMaybe<Nullable<number>>; ariaColindex?: FunctionMaybe<Nullable<number>>; ariaColspan?: FunctionMaybe<Nullable<number>>; ariaControls?: FunctionMaybe<Nullable<string>>; ariaCurrent?: FunctionMaybe<Nullable<boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time'>>; ariaDescribedby?: FunctionMaybe<Nullable<string>>; ariaDetails?: FunctionMaybe<Nullable<string>>; ariaDisabled?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaDropeffect?: FunctionMaybe<Nullable<'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup'>>; ariaErrormessage?: FunctionMaybe<Nullable<string>>; ariaExpanded?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaFlowto?: FunctionMaybe<Nullable<string>>; ariaGrabbed?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaHaspopup?: FunctionMaybe<Nullable<boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'>>; ariaHidden?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaInvalid?: FunctionMaybe<Nullable<boolean | 'false' | 'true' | 'grammar' | 'spelling'>>; ariaKeyshortcuts?: FunctionMaybe<Nullable<string>>; ariaLabel?: FunctionMaybe<Nullable<string>>; ariaLabelledby?: FunctionMaybe<Nullable<string>>; ariaLevel?: FunctionMaybe<Nullable<number>>; ariaLive?: FunctionMaybe<Nullable<'off' | 'assertive' | 'polite'>>; ariaModal?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaMultiline?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaMultiselectable?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaOrientation?: FunctionMaybe<Nullable<'horizontal' | 'vertical'>>; ariaOwns?: FunctionMaybe<Nullable<string>>; ariaPlaceholder?: FunctionMaybe<Nullable<string>>; ariaPosinset?: FunctionMaybe<Nullable<number>>; ariaPressed?: FunctionMaybe<Nullable<boolean | 'false' | 'mixed' | 'true'>>; ariaReadonly?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaRelevant?: FunctionMaybe<Nullable<'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals'>>; ariaRequired?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaRoledescription?: FunctionMaybe<Nullable<string>>; ariaRowcount?: FunctionMaybe<Nullable<number>>; ariaRowindex?: FunctionMaybe<Nullable<number>>; ariaRowspan?: FunctionMaybe<Nullable<number>>; ariaSelected?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; ariaSetsize?: FunctionMaybe<Nullable<number>>; ariaSort?: FunctionMaybe<Nullable<'none' | 'ascending' | 'descending' | 'other'>>; ariaValuemax?: FunctionMaybe<Nullable<number>>; ariaValuemin?: FunctionMaybe<Nullable<number>>; ariaValuenow?: FunctionMaybe<Nullable<number>>; ariaValuetext?: FunctionMaybe<Nullable<string>>; } export interface Directives { } export type DirectiveAttributes = { [Directive in keyof Directives as `use:${Directive}`]?: Directives[Directive] extends [infer U] ? U | [U] : Directives[Directive]; }; export interface EventAttributes<T extends EventTarget> { onLoad?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onError?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onErrorCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onCopy?: ObservableMaybe<Nullable<ClipboardEventHandler<T>>>; onCopyCapture?: ObservableMaybe<Nullable<ClipboardEventHandler<T>>>; onCut?: ObservableMaybe<Nullable<ClipboardEventHandler<T>>>; onCutCapture?: ObservableMaybe<Nullable<ClipboardEventHandler<T>>>; onPaste?: ObservableMaybe<Nullable<ClipboardEventHandler<T>>>; onPasteCapture?: ObservableMaybe<Nullable<ClipboardEventHandler<T>>>; onCompositionEnd?: ObservableMaybe<Nullable<CompositionEventHandler<T>>>; onCompositionEndCapture?: ObservableMaybe<Nullable<CompositionEventHandler<T>>>; onCompositionStart?: ObservableMaybe<Nullable<CompositionEventHandler<T>>>; onCompositionStartCapture?: ObservableMaybe<Nullable<CompositionEventHandler<T>>>; onCompositionUpdate?: ObservableMaybe<Nullable<CompositionEventHandler<T>>>; onCompositionUpdateCapture?: ObservableMaybe<Nullable<CompositionEventHandler<T>>>; onToggle?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onFocus?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onFocusCapture?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onFocusIn?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onFocusInCapture?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onFocusOut?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onFocusOutCapture?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onBlur?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onBlurCapture?: ObservableMaybe<Nullable<FocusEventHandler<T>>>; onChange?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onChangeCapture?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onInput?: ObservableMaybe<Nullable<InputEventHandler<T>>>; onInputCapture?: ObservableMaybe<Nullable<InputEventHandler<T>>>; onBeforeInput?: ObservableMaybe<Nullable<InputEventHandler<T>>>; onBeforeInputCapture?: ObservableMaybe<Nullable<InputEventHandler<T>>>; onSearch?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSearchCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSubmit?: ObservableMaybe<Nullable<SubmitEventHandler<T>>>; onSubmitCapture?: ObservableMaybe<Nullable<SubmitEventHandler<T>>>; onInvalid?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onInvalidCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onReset?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onResetCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onFormData?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onFormDataCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onKeyDown?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onKeyDownCapture?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onKeyPress?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onKeyPressCapture?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onKeyUp?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onKeyUpCapture?: ObservableMaybe<Nullable<KeyboardEventHandler<T>>>; onAbort?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onAbortCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onCanPlay?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onCanPlayCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onCanPlayThrough?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onCanPlayThroughCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onDurationChange?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onDurationChangeCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onEmptied?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onEmptiedCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onEncrypted?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onEncryptedCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onEnded?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onEndedCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadedData?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadedDataCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadedMetadata?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadedMetadataCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadStart?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onLoadStartCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onPause?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onPauseCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onPlay?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onPlayCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onPlaying?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onPlayingCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onProgress?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onProgressCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onRateChange?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onRateChangeCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSeeked?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSeekedCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSeeking?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSeekingCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onStalled?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onStalledCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSuspend?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSuspendCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onTimeUpdate?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onTimeUpdateCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onVolumeChange?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onVolumeChangeCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onWaiting?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onWaitingCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onAuxClick?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onAuxClickCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onClick?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onClickCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onContextMenu?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onContextMenuCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onDblClick?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onDblClickCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onDrag?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragEnd?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragEndCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragEnter?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragEnterCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragExit?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragExitCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragLeave?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragLeaveCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragOver?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragOverCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragStart?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDragStartCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDrop?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onDropCapture?: ObservableMaybe<Nullable<DragEventHandler<T>>>; onMouseDown?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseDownCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseEnter?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseEnterCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseLeave?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseLeaveCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseMove?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseMoveCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseOut?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseOutCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseOver?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseOverCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseUp?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onMouseUpCapture?: ObservableMaybe<Nullable<MouseEventHandler<T>>>; onSelect?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onSelectCapture?: ObservableMaybe<Nullable<GenericEventHandler<T>>>; onTouchCancel?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchCancelCapture?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchEnd?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchEndCapture?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchMove?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchMoveCapture?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchStart?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onTouchStartCapture?: ObservableMaybe<Nullable<TouchEventHandler<T>>>; onPointerOver?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerOverCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerEnter?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerEnterCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerDown?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerDownCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerMove?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerMoveCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerUp?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerUpCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerCancel?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerCancelCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerOut?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerOutCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerLeave?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onPointerLeaveCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onGotPointerCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onGotPointerCaptureCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onLostPointerCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onLostPointerCaptureCapture?: ObservableMaybe<Nullable<PointerEventHandler<T>>>; onScroll?: ObservableMaybe<Nullable<UIEventHandler<T>>>; onScrollPassive?: ObservableMaybe<Nullable<UIEventHandler<T>>>; onScrollCapture?: ObservableMaybe<Nullable<UIEventHandler<T>>>; onScrollCapturePassive?: ObservableMaybe<Nullable<UIEventHandler<T>>>; onScrollEnd?: ObservableMaybe<Nullable<UIEventHandler<T>>>; onScrollEndPassive?: ObservableMaybe<Nullable<UIEventHandler<T>>>; onWheel?: ObservableMaybe<Nullable<WheelEventHandler<T>>>; onWheelPassive?: ObservableMaybe<Nullable<WheelEventHandler<T>>>; onWheelCapture?: ObservableMaybe<Nullable<WheelEventHandler<T>>>; onWheelCapturePassive?: ObservableMaybe<Nullable<WheelEventHandler<T>>>; onAnimationStart?: ObservableMaybe<Nullable<AnimationEventHandler<T>>>; onAnimationStartCapture?: ObservableMaybe<Nullable<AnimationEventHandler<T>>>; onAnimationEnd?: ObservableMaybe<Nullable<AnimationEventHandler<T>>>; onAnimationEndCapture?: ObservableMaybe<Nullable<AnimationEventHandler<T>>>; onAnimationIteration?: ObservableMaybe<Nullable<AnimationEventHandler<T>>>; onAnimationIterationCapture?: ObservableMaybe<Nullable<AnimationEventHandler<T>>>; onTransitionEnd?: ObservableMaybe<Nullable<TransitionEventHandler<T>>>; onTransitionEndCapture?: ObservableMaybe<Nullable<TransitionEventHandler<T>>>; } export interface ViewAttributes { children?: Children; dangerouslySetInnerHTML?: FunctionMaybe<{ __html: FunctionMaybe<Nullable<string>>; }>; } export interface DOMAttributes<T extends EventTarget> extends EventAttributes<T> { } export interface VoidHTMLAttributes<T extends EventTarget> extends AriaAttributes, DOMAttributes<T>, DirectiveAttributes { ref?: Refs<T>; accept?: FunctionMaybe<Nullable<string>>; acceptCharset?: FunctionMaybe<Nullable<string>>; accessKey?: FunctionMaybe<Nullable<string>>; action?: FunctionMaybe<Nullable<string>>; allow?: FunctionMaybe<Nullable<string>>; allowFullScreen?: FunctionMaybe<Nullable<boolean>>; allowTransparency?: FunctionMaybe<Nullable<boolean>>; alt?: FunctionMaybe<Nullable<string>>; as?: FunctionMaybe<Nullable<string>>; async?: FunctionMaybe<Nullable<boolean>>; autoComplete?: FunctionMaybe<Nullable<string>>; autoCorrect?: FunctionMaybe<Nullable<string>>; autofocus?: FunctionMaybe<Nullable<boolean>>; autoFocus?: FunctionMaybe<Nullable<boolean>>; autoPlay?: FunctionMaybe<Nullable<boolean>>; capture?: FunctionMaybe<Nullable<boolean | string>>; cellPadding?: FunctionMaybe<Nullable<number | string>>; cellSpacing?: FunctionMaybe<Nullable<number | string>>; charSet?: FunctionMaybe<Nullable<string>>; challenge?: FunctionMaybe<Nullable<string>>; checked?: FunctionMaybe<Nullable<boolean>>; cite?: FunctionMaybe<Nullable<string>>; class?: Class; className?: Class; cols?: FunctionMaybe<Nullable<number>>; colSpan?: FunctionMaybe<Nullable<number>>; content?: FunctionMaybe<Nullable<string>>; contentEditable?: FunctionMaybe<Nullable<boolean | 'caret' | 'events' | 'plaintext-only' | 'typing' | 'inherit'>>; contextMenu?: FunctionMaybe<Nullable<string>>; controls?: FunctionMaybe<Nullable<boolean>>; controlsList?: FunctionMaybe<Nullable<string>>; coords?: FunctionMaybe<Nullable<string>>; crossOrigin?: FunctionMaybe<Nullable<string>>; data?: FunctionMaybe<Nullable<string>>; dateTime?: FunctionMaybe<Nullable<string>>; default?: FunctionMaybe<Nullable<boolean>>; defaultChecked?: FunctionMaybe<Nullable<boolean>>; defaultValue?: FunctionMaybe<Nullable<string>>; defer?: FunctionMaybe<Nullable<boolean>>; dir?: FunctionMaybe<Nullable<'auto' | 'rtl' | 'ltr'>>; disabled?: FunctionMaybe<Nullable<boolean>>; disableRemotePlayback?: FunctionMaybe<Nullable<boolean>>; download?: FunctionMaybe<Nullable<any>>; decoding?: FunctionMaybe<Nullable<'sync' | 'async' | 'auto'>>; draggable?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; encType?: FunctionMaybe<Nullable<string>>; enterkeyhint?: FunctionMaybe<Nullable<'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'>>; form?: FunctionMaybe<Nullable<string>>; formAction?: FunctionMaybe<Nullable<string>>; formEncType?: FunctionMaybe<Nullable<string>>; formMethod?: FunctionMaybe<Nullable<string>>; formNoValidate?: FunctionMaybe<Nullable<boolean>>; formTarget?: FunctionMaybe<Nullable<string>>; frameBorder?: FunctionMaybe<Nullable<number | string>>; headers?: FunctionMaybe<Nullable<string>>; height?: FunctionMaybe<Nullable<number | string>>; indeterminate?: FunctionMaybe<Nullable<boolean>>; hidden?: FunctionMaybe<Nullable<boolean>>; high?: FunctionMaybe<Nullable<number>>; href?: FunctionMaybe<Nullable<string>>; hrefLang?: FunctionMaybe<Nullable<string>>; for?: FunctionMaybe<Nullable<string>>; htmlFor?: FunctionMaybe<Nullable<string>>; httpEquiv?: FunctionMaybe<Nullable<string>>; icon?: FunctionMaybe<Nullable<string>>; id?: FunctionMaybe<Nullable<string | number>>; inert?: FunctionMaybe<Nullable<boolean>>; inputMode?: FunctionMaybe<Nullable<'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'>>; integrity?: FunctionMaybe<Nullable<string>>; is?: FunctionMaybe<Nullable<string>>; keyParams?: FunctionMaybe<Nullable<string>>; keyType?: FunctionMaybe<Nullable<string>>; kind?: FunctionMaybe<Nullable<string>>; label?: FunctionMaybe<Nullable<string>>; lang?: FunctionMaybe<Nullable<string>>; list?: FunctionMaybe<Nullable<string>>; loading?: FunctionMaybe<Nullable<'eager' | 'lazy'>>; loop?: FunctionMaybe<Nullable<boolean>>; low?: FunctionMaybe<Nullable<number>>; manifest?: FunctionMaybe<Nullable<string>>; marginHeight?: FunctionMaybe<Nullable<number>>; marginWidth?: FunctionMaybe<Nullable<number>>; max?: FunctionMaybe<Nullable<number | string>>; maxLength?: FunctionMaybe<Nullable<number>>; media?: FunctionMaybe<Nullable<string>>; mediaGroup?: FunctionMaybe<Nullable<string>>; method?: FunctionMaybe<Nullable<string>>; min?: FunctionMaybe<Nullable<number | string>>; minLength?: FunctionMaybe<Nullable<number>>; multiple?: FunctionMaybe<Nullable<boolean>>; muted?: FunctionMaybe<Nullable<boolean>>; name?: FunctionMaybe<Nullable<string>>; nomodule?: FunctionMaybe<Nullable<boolean>>; nonce?: FunctionMaybe<Nullable<string>>; noValidate?: FunctionMaybe<Nullable<boolean>>; open?: FunctionMaybe<Nullable<boolean>>; optimum?: FunctionMaybe<Nullable<number>>; part?: FunctionMaybe<Nullable<string>>; pattern?: FunctionMaybe<Nullable<string>>; ping?: FunctionMaybe<Nullable<string>>; placeholder?: FunctionMaybe<Nullable<string>>; playsInline?: FunctionMaybe<Nullable<boolean>>; poster?: FunctionMaybe<Nullable<string>>; preload?: FunctionMaybe<Nullable<string>>; radioGroup?: FunctionMaybe<Nullable<string>>; readonly?: FunctionMaybe<Nullable<boolean>>; readOnly?: FunctionMaybe<Nullable<boolean>>; referrerpolicy?: FunctionMaybe<Nullable<'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url'>>; rel?: FunctionMaybe<Nullable<string>>; required?: FunctionMaybe<Nullable<boolean>>; reversed?: FunctionMaybe<Nullable<boolean>>; role?: FunctionMaybe<Nullable<'alert' | 'alertdialog' | 'application' | 'article' | 'banner' | 'button' | 'cell' | 'checkbox' | 'columnheader' | 'combobox' | 'complementary' | 'contentinfo' | 'definition' | 'dialog' | 'directory' | 'document' | 'feed' | 'figure' | 'form' | 'grid' | 'gridcell' | 'group' | 'heading' | 'img' | 'link' | 'list' | 'listbox' | 'listitem' | 'log' | 'main' | 'marquee' | 'math' | 'menu' | 'menubar' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'navigation' | 'none' | 'note' | 'option' | 'presentation' | 'progressbar' | 'radio' | 'radiogroup' | 'region' | 'row' | 'rowgroup' | 'rowheader' | 'scrollbar' | 'search' | 'searchbox' | 'separator' | 'slider' | 'spinbutton' | 'status' | 'switch' | 'tab' | 'table' | 'tablist' | 'tabpanel' | 'term' | 'textbox' | 'timer' | 'toolbar' | 'tooltip' | 'tree' | 'treegrid' | 'treeitem'>>; rows?: FunctionMaybe<Nullable<number>>; rowSpan?: FunctionMaybe<Nullable<number>>; sandbox?: FunctionMaybe<Nullable<string>>; scope?: FunctionMaybe<Nullable<string>>; scoped?: FunctionMaybe<Nullable<boolean>>; scrolling?: FunctionMaybe<Nullable<string>>; seamless?: FunctionMaybe<Nullable<boolean>>; selected?: FunctionMaybe<Nullable<boolean>>; shape?: FunctionMaybe<Nullable<string>>; size?: FunctionMaybe<Nullable<number>>; sizes?: FunctionMaybe<Nullable<string>>; slot?: FunctionMaybe<Nullable<string>>; span?: FunctionMaybe<Nullable<number>>; spellCheck?: FunctionMaybe<Nullable<boolean | 'true' | 'false'>>; src?: FunctionMaybe<Nullable<string>>; srcset?: FunctionMaybe<Nullable<string>>; srcDoc?: FunctionMaybe<Nullable<string>>; srcLang?: FunctionMaybe<Nullable<string>>; srcSet?: FunctionMaybe<Nullable<string>>; start?: FunctionMaybe<Nullable<number>>; step?: FunctionMaybe<Nullable<number | string>>; style?: Style; summary?: FunctionMaybe<Nullable<string>>; tabIndex?: FunctionMaybe<Nullable<boolean | number>>; target?: FunctionMaybe<Nullable<string>>; title?: FunctionMaybe<Nullable<string>>; type?: FunctionMaybe<Nullable<string>>; useMap?: FunctionMaybe<Nullable<string>>; value?: FunctionMaybe<Nullable<string | ReadonlyArray<string> | number>>; volume?: FunctionMaybe<Nullable<string | number>>; width?: FunctionMaybe<Nullable<number | string>>; wmode?: FunctionMaybe<Nullable<string>>; wrap?: FunctionMaybe<Nullable<string>>; autoCapitalize?: FunctionMaybe<Nullable<'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'>>; autoSave?: FunctionMaybe<Nullable<string>>; color?: FunctionMaybe<Nullable<string>>; disablePictureInPicture?: FunctionMaybe<Nullable<boolean>>; results?: FunctionMaybe<Nullable<number>>; security?: FunctionMaybe<Nullable<string>>; translate?: FunctionMaybe<Nullable<'yes' | 'no'>>; unselectable?: FunctionMaybe<Nullable<'on' | 'off'>>; virtualKeyboardPolicy?: FunctionMaybe<Nullable<'auto' | 'manual'>>; about?: FunctionMaybe<Nullable<string>>; datatype?: FunctionMaybe<Nullable<string>>; inlist?: FunctionMaybe<Nullable<boolean>>; prefix?: FunctionMaybe<Nullable<string>>; property?: FunctionMaybe<Nullable<string>>; resource?: FunctionMaybe<Nullable<string>>; typeof?: FunctionMaybe<Nullable<string>>; vocab?: FunctionMaybe<Nullable<string>>; itemProp?: FunctionMaybe<Nullable<string>>; itemScope?: FunctionMaybe<Nullable<boolean>>; itemType?: FunctionMaybe<Nullable<string>>; itemID?: FunctionMaybe<Nullable<string>>; itemRef?: FunctionMaybe<Nullable<string>>; } export interface HTMLAttributes<T extends EventTarget> extends VoidHTMLAttributes<T>, ViewAttributes { key?: string; } export interface SVGAttributes<T extends EventTarget = SVGElement> extends HTMLAttributes<T>, DirectiveAttributes { ref?: Refs<T>; accentHeight?: FunctionMaybe<Nullable<number | string>>; accumulate?: FunctionMaybe<Nullable<'none' | 'sum'>>; additive?: FunctionMaybe<Nullable<'replace' | 'sum'>>; alignmentBaseline?: FunctionMaybe<Nullable<'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit'>>; allowReorder?: FunctionMaybe<Nullable<'no' | 'yes'>>; alphabetic?: FunctionMaybe<Nullable<number | string>>; amplitude?: FunctionMaybe<Nullable<number | string>>; arabicForm?: FunctionMaybe<Nullable<'initial' | 'medial' | 'terminal' | 'isolated'>>; ascent?: FunctionMaybe<Nullable<number | string>>; attributeName?: FunctionMaybe<Nullable<string>>; attributeType?: FunctionMaybe<Nullable<string>>; autoReverse?: FunctionMaybe<Nullable<number | string>>; azimuth?: FunctionMaybe<Nullable<number | string>>; baseFrequency?: FunctionMaybe<Nullable<number | string>>; baselineShift?: FunctionMaybe<Nullable<number | string>>; baseProfile?: FunctionMaybe<Nullable<number | string>>; bbox?: FunctionMaybe<Nullable<number | string>>; begin?: FunctionMaybe<Nullable<number | string>>; bias?: FunctionMaybe<Nullable<number | string>>; by?: FunctionMaybe<Nullable<number | string>>; calcMode?: FunctionMaybe<Nullable<number | string>>; capHeight?: FunctionMaybe<Nullable<number | string>>; clip?: FunctionMaybe<Nullable<number | string>>; clipPath?: FunctionMaybe<Nullable<string>>; clipPathUnits?: FunctionMaybe<Nullable<number | string>>; clipRule?: FunctionMaybe<Nullable<number | string>>; colorInterpolation?: FunctionMaybe<Nullable<number | string>>; colorInterpolationFilters?: FunctionMaybe<Nullable<'auto' | 'sRGB' | 'linearRGB' | 'inherit'>>; colorProfile?: FunctionMaybe<Nullable<number | string>>; colorRendering?: FunctionMaybe<Nullable<number | string>>; contentScriptType?: FunctionMaybe<Nullable<number | string>>; contentStyleType?: FunctionMaybe<Nullable<number | string>>; cursor?: FunctionMaybe<Nullable<number | string>>; cx?: FunctionMaybe<Nullable<number | string>>; cy?: FunctionMaybe<Nullable<number | string>>; d?: FunctionMaybe<Nullable<string>>; decelerate?: FunctionMaybe<Nullable<number | string>>; descent?: FunctionMaybe<Nullable<number | string>>; diffuseConstant?: FunctionMaybe<Nullable<number | string>>; direction?: FunctionMaybe<Nullable<number | string>>; display?: FunctionMaybe<Nullable<number | string>>; divisor?: FunctionMaybe<Nullable<number | string>>; dominantBaseline?: FunctionMaybe<Nullable<number | string>>; dur?: FunctionMaybe<Nullable<number | string>>; dx?: FunctionMaybe<Nullable<number | string>>; dy?: FunctionMaybe<Nullable<number | string>>; edgeMode?: FunctionMaybe<Nullable<number | string>>; elevation?: FunctionMaybe<Nullable<number | string>>; enableBackground?: FunctionMaybe<Nullable<number | string>>; end?: FunctionMaybe<Nullable<number | string>>; exponent?: FunctionMaybe<Nullable<number | string>>; externalResourcesRequired?: FunctionMaybe<Nullable<number | string>>; fill?: FunctionMaybe<Nullable<string>>; fillOpacity?: FunctionMaybe<Nullable<number | string>>; fillRule?: FunctionMaybe<Nullable<'nonzero' | 'evenodd' | 'inherit'>>; filter?: FunctionMaybe<Nullable<string>>; filterRes?: FunctionMaybe<Nullable<number | string>>; filterUnits?: FunctionMaybe<Nullable<number | string>>; floodColor?: FunctionMaybe<Nullable<number | string>>; floodOpacity?: FunctionMaybe<Nullable<number | string>>; focusable?: FunctionMaybe<Nullable<number | string>>; fontFamily?: FunctionMaybe<Nullable<string>>; fontSize?: FunctionMaybe<Nullable<number | string>>; fontSizeAdjust?: FunctionMaybe<Nullable<number | string>>; fontStretch?: FunctionMaybe<Nullable<number | string>>; fontStyle?: FunctionMaybe<Nullable<number | string>>; fontVariant?: FunctionMaybe<Nullable<number | string>>; fontWeight?: FunctionMaybe<Nullable<number | string>>; format?: FunctionMaybe<Nullable<number | string>>; from?: FunctionMaybe<Nullable<number | string>>; fx?: FunctionMaybe<Nullable<number | string>>; fy?: FunctionMaybe<Nullable<number | string>>; g1?: FunctionMaybe<Nullable<number | string>>; g2?: FunctionMaybe<Nullable<number | string>>; glyphName?: FunctionMaybe<Nullable<number | string>>; glyphOrientationHorizontal?: FunctionMaybe<Nullable<number | string>>; glyphOrientationVertical?: FunctionMaybe<Nullable<number | string>>; glyphRef?: FunctionMaybe<Nullable<number | string>>; gradientTransform?: FunctionMaybe<Nullable<string>>; gradientUnits?: FunctionMaybe<Nullable<string>>; hanging?: FunctionMaybe<Nullable<number | string>>; horizAdvX?: FunctionMaybe<Nullable<number | string>>; horizOriginX?: FunctionMaybe<Nullable<number | string>>; ideographic?: FunctionMaybe<Nullable<number | string>>; imageRendering?: FunctionMaybe<Nullable<number | string>>; in2?: FunctionMaybe<Nullable<number | string>>; in?: FunctionMaybe<Nullable<string>>; intercept?: FunctionMaybe<Nullable<number | string>>; k1?: FunctionMaybe<Nullable<number | string>>; k2?: FunctionMaybe<Nullable<number | string>>; k3?: FunctionMaybe<Nullable<number | string>>; k4?: FunctionMaybe<Nullable<number | string>>; k?: FunctionMaybe<Nullable<number | string>>; kernelMatrix?: FunctionMaybe<Nullable<number | string>>; kernelUnitLength?: FunctionMaybe<Nullable<number | string>>; kerning?: FunctionMaybe<Nullable<number | string>>; keyPoints?: FunctionMaybe<Nullable<number | string>>; keySplines?: FunctionMaybe<Nullable<number | string>>; keyTimes?: FunctionMaybe<Nullable<number | string>>; lengthAdjust?: FunctionMaybe<Nullable<number | string>>; letterSpacing?: FunctionMaybe<Nullable<number | string>>; lightingColor?: FunctionMaybe<Nullable<number | string>>; limitingConeAngle?: FunctionMaybe<Nullable<number | string>>; local?: FunctionMaybe<Nullable<number | string>>; markerEnd?: FunctionMaybe<Nullable<string>>; markerHeight?: FunctionMaybe<Nullable<number | string>>; markerMid?: FunctionMaybe<Nullable<string>>; markerStart?: FunctionMaybe<Nullable<string>>; markerUnits?: FunctionMaybe<Nullable<number | string>>; markerWidth?: FunctionMaybe<Nullable<number | string>>; mask?: FunctionMaybe<Nullable<string>>; maskContentUnits?: FunctionMaybe<Nullable<number | string>>; maskUnits?: FunctionMaybe<Nullable<number | string>>; mathematical?: FunctionMaybe<Nullable<number | string>>; mode?: FunctionMaybe<Nullable<number | string>>; numOctaves?: FunctionMaybe<Nullable<number | string>>; offset?: FunctionMaybe<Nullable<number | string>>; opacity?: FunctionMaybe<Nullable<number | string>>; operator?: FunctionMaybe<Nullable<number | string>>; order?: FunctionMaybe<Nullable<number | string>>; orient?: FunctionMaybe<Nullable<number | string>>; orientation?: FunctionMaybe<Nullable<number | string>>; origin?: FunctionMaybe<Nullable<number | string>>; overflow?: FunctionMaybe<Nullable<number | string>>; overlinePosition?: FunctionMaybe<Nullable<number | string>>; overlineThickness?: FunctionMaybe<Nullable<number | string>>; paintOrder?: FunctionMaybe<Nullable<number | string>>; panose1?: FunctionMaybe<Nullable<number | string>>; pathLength?: FunctionMaybe<Nullable<number | string>>; patternContentUnits?: FunctionMaybe<Nullable<string>>; patternTransform?: FunctionMaybe<Nullable<number | string>>; patternUnits?: FunctionMaybe<Nullable<string>>; pointerEvents?: FunctionMaybe<Nullable<number | string>>; points?: FunctionMaybe<Nullable<string>>; pointsAtX?: FunctionMaybe<Nullable<number | string>>; pointsAtY?: FunctionMaybe<Nullable<number | string>>; pointsAtZ?: FunctionMaybe<Nullable<number | string>>; preserveAlpha?: FunctionMaybe<Nullable<number | string>>; preserveAspectRatio?: FunctionMaybe<Nullable<string>>; primitiveUnits?: FunctionMaybe<Nullable<number | string>>; r?: FunctionMaybe<Nullable<number | string>>; radius?: FunctionMaybe<Nullable<number | string>>; refX?: FunctionMaybe<Nullable<number | string>>; refY?: FunctionMaybe<Nullable<number | string>>; renderingIntent?: FunctionMaybe<Nullable<number | string>>; repeatCount?: FunctionMaybe<Nullable<number | string>>; repeatDur?: FunctionMaybe<Nullable<number | string>>; requiredExtensions?: FunctionMaybe<Nullable<number | string>>; requiredFeatures?: FunctionMaybe<Nullable<number | string>>; restart?: FunctionMaybe<Nullable<number | string>>; result?: FunctionMaybe<Nullable<string>>; rotate?: FunctionMaybe<Nullable<number | string>>; rx?: FunctionMaybe<Nullable<number | string>>; ry?: FunctionMaybe<Nullable<number | string>>; scale?: FunctionMaybe<Nullable<number | string>>; seed?: FunctionMaybe<Nullable<number | string>>; shapeRendering?: FunctionMaybe<Nullable<number | string>>; slope?: FunctionMaybe<Nullable<number | string>>; spacing?: FunctionMaybe<Nullable<number | string>>; specularConstant?: FunctionMaybe<Nullable<number | string>>; specularExponent?: FunctionMaybe<Nullable<number | string>>; speed?: FunctionMaybe<Nullable<number | string>>; spreadMethod?: FunctionMaybe<Nullable<string>>; startOffset?: FunctionMaybe<Nullable<number | string>>; stdDeviation?: FunctionMaybe<Nullable<number | string>>; stemh?: FunctionMaybe<Nullable<number | string>>; stemv?: FunctionMaybe<Nullable<number | string>>; stitchTiles?: FunctionMaybe<Nullable<number | string>>; stopColor?: FunctionMaybe<Nullable<string>>; stopOpacity?: FunctionMaybe<Nullable<number | string>>; strikethroughPosition?: FunctionMaybe<Nullable<number | string>>; strikethroughThickness?: FunctionMaybe<Nullable<number | string>>; string?: FunctionMaybe<Nullable<number | string>>; stroke?: FunctionMaybe<Nullable<string>>; strokeDasharray?: FunctionMaybe<Nullable<string | number>>; strokeDashoffset?: FunctionMaybe<Nullable<string | number>>; strokeLinecap?: FunctionMaybe<Nullable<'butt' | 'round' | 'square' | 'inherit'>>; strokeLinejoin?: FunctionMaybe<Nullable<'miter' | 'round' | 'bevel' | 'inherit'>>; strokeMiterlimit?: FunctionMaybe<Nullable<string | number>>; strokeOpacity?: FunctionMaybe<Nullable<number | string>>; strokeWidth?: FunctionMaybe<Nullable<number | string>>; surfaceScale?: FunctionMaybe<Nullable<number | string>>; systemLanguage?: FunctionMaybe<Nullable<number | string>>; tableValues?: FunctionMaybe<Nullable<number | string>>; targetX?: FunctionMaybe<Nullable<number | string>>; targetY?: FunctionMaybe<Nullable<number | string>>; textAnchor?: FunctionMaybe<Nullable<string>>; textDecoration?: FunctionMaybe<Nullable<number | string>>; textLength?: FunctionMaybe<Nullable<number | string>>; textRendering?: FunctionMaybe<Nullable<number | string>>; to?: FunctionMaybe<Nullable<number | string>>; transform?: FunctionMaybe<Nullable<string>>; u1?: FunctionMaybe<Nullable<number | string>>; u2?: FunctionMaybe<Nullable<number | string>>; underlinePosition?: FunctionMaybe<Nullable<number | string>>; underlineThickness?: FunctionMaybe<Nullable<number | string>>; unicode?: FunctionMaybe<Nullable<number | string>>; unicodeBidi?: FunctionMaybe<Nullable<number | string>>; unicodeRange?: FunctionMaybe<Nullable<number | string>>; unitsPerEm?: FunctionMaybe<Nullable<number | string>>; vAlphabetic?: FunctionMaybe<Nullable<number | string>>; values?: FunctionMaybe<Nullable<string>>; vectorEffect?: FunctionMaybe<Nullable<number | string>>; version?: FunctionMaybe<Nullable<string>>; vertAdvY?: FunctionMaybe<Nullable<number | string>>; vertOriginX?: FunctionMaybe<Nullable<number | string>>; vertOriginY?: