preact
Version:
Fast 3kb React-compatible Virtual DOM library.
1,764 lines (1,726 loc) • 103 kB
TypeScript
// Users who only use Preact for SSR might not specify "dom" in their lib in tsconfig.json
/// <reference lib="dom" />
import {
ClassAttributes,
Component,
ComponentChild,
ComponentType,
FunctionComponent,
PreactDOMAttributes,
VNode
} from './index';
type Defaultize<Props, Defaults> =
// Distribute over unions
Props extends any // Make any properties included in Default optional
? Partial<Pick<Props, Extract<keyof Props, keyof Defaults>>> & // Include the remaining properties from Props
Pick<Props, Exclude<keyof Props, keyof Defaults>>
: never;
type Booleanish = boolean | 'true' | 'false';
export namespace JSXInternal {
export type LibraryManagedAttributes<Component, Props> = Component extends {
defaultProps: infer Defaults;
}
? Defaultize<Props, Defaults>
: Props;
export interface IntrinsicAttributes {
key?: any;
}
export type ElementType<P = any> =
| {
[K in keyof IntrinsicElements]: P extends IntrinsicElements[K]
? K
: never;
}[keyof IntrinsicElements]
| ComponentType<P>;
export interface Element extends VNode<any> {}
export type ElementClass = Component<any, any> | FunctionComponent<any>;
export interface ElementAttributesProperty {
props: any;
}
export interface ElementChildrenAttribute {
children: any;
}
export type DOMCSSProperties = {
[key in keyof Omit<
CSSStyleDeclaration,
| 'item'
| 'setProperty'
| 'removeProperty'
| 'getPropertyValue'
| 'getPropertyPriority'
>]?: string | number | null | undefined;
};
export type AllCSSProperties = {
[key: string]: string | number | null | undefined;
};
export interface CSSProperties extends AllCSSProperties, DOMCSSProperties {
cssText?: string | null;
}
export interface SignalLike<T> {
value: T;
peek(): T;
subscribe(fn: (value: T) => void): () => void;
}
export type Signalish<T> = T | SignalLike<T>;
export type UnpackSignal<T> = T extends SignalLike<infer V> ? V : T;
export interface SVGAttributes<Target extends EventTarget = SVGElement>
extends HTMLAttributes<Target> {
accentHeight?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
accumulate?:
| 'none'
| 'sum'
| undefined
| SignalLike<'none' | 'sum' | undefined>;
additive?:
| 'replace'
| 'sum'
| undefined
| SignalLike<'replace' | 'sum' | undefined>;
alignmentBaseline?:
| 'auto'
| 'baseline'
| 'before-edge'
| 'text-before-edge'
| 'middle'
| 'central'
| 'after-edge'
| 'text-after-edge'
| 'ideographic'
| 'alphabetic'
| 'hanging'
| 'mathematical'
| 'inherit'
| undefined
| SignalLike<
| 'auto'
| 'baseline'
| 'before-edge'
| 'text-before-edge'
| 'middle'
| 'central'
| 'after-edge'
| 'text-after-edge'
| 'ideographic'
| 'alphabetic'
| 'hanging'
| 'mathematical'
| 'inherit'
| undefined
>;
'alignment-baseline'?:
| 'auto'
| 'baseline'
| 'before-edge'
| 'text-before-edge'
| 'middle'
| 'central'
| 'after-edge'
| 'text-after-edge'
| 'ideographic'
| 'alphabetic'
| 'hanging'
| 'mathematical'
| 'inherit'
| undefined
| SignalLike<
| 'auto'
| 'baseline'
| 'before-edge'
| 'text-before-edge'
| 'middle'
| 'central'
| 'after-edge'
| 'text-after-edge'
| 'ideographic'
| 'alphabetic'
| 'hanging'
| 'mathematical'
| 'inherit'
| undefined
>;
allowReorder?:
| 'no'
| 'yes'
| undefined
| SignalLike<'no' | 'yes' | undefined>;
'allow-reorder'?:
| 'no'
| 'yes'
| undefined
| SignalLike<'no' | 'yes' | undefined>;
alphabetic?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
amplitude?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */
arabicForm?:
| 'initial'
| 'medial'
| 'terminal'
| 'isolated'
| undefined
| SignalLike<'initial' | 'medial' | 'terminal' | 'isolated' | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */
'arabic-form'?:
| 'initial'
| 'medial'
| 'terminal'
| 'isolated'
| undefined
| SignalLike<'initial' | 'medial' | 'terminal' | 'isolated' | undefined>;
ascent?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
attributeName?: string | undefined | SignalLike<string | undefined>;
attributeType?: string | undefined | SignalLike<string | undefined>;
autoReverse?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
azimuth?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
baseFrequency?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
baselineShift?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'baseline-shift'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
baseProfile?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
bbox?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
begin?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
bias?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
by?: number | string | undefined | SignalLike<number | string | undefined>;
calcMode?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
capHeight?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'cap-height'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
clip?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
clipPath?: string | undefined | SignalLike<string | undefined>;
'clip-path'?: string | undefined | SignalLike<string | undefined>;
clipPathUnits?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
clipRule?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'clip-rule'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
colorInterpolation?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'color-interpolation'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
colorInterpolationFilters?:
| 'auto'
| 'sRGB'
| 'linearRGB'
| 'inherit'
| undefined
| SignalLike<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined>;
'color-interpolation-filters'?:
| 'auto'
| 'sRGB'
| 'linearRGB'
| 'inherit'
| undefined
| SignalLike<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined>;
colorProfile?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'color-profile'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
colorRendering?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'color-rendering'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
contentScriptType?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'content-script-type'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
contentStyleType?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'content-style-type'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
cursor?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
cx?: number | string | undefined | SignalLike<number | string | undefined>;
cy?: number | string | undefined | SignalLike<number | string | undefined>;
d?: string | undefined | SignalLike<string | undefined>;
decelerate?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
descent?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
diffuseConstant?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
direction?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
display?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
divisor?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
dominantBaseline?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'dominant-baseline'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
dur?: number | string | undefined | SignalLike<number | string | undefined>;
dx?: number | string | undefined | SignalLike<number | string | undefined>;
dy?: number | string | undefined | SignalLike<number | string | undefined>;
edgeMode?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
elevation?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
enableBackground?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'enable-background'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
end?: number | string | undefined | SignalLike<number | string | undefined>;
exponent?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
externalResourcesRequired?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fill?: string | undefined | SignalLike<string | undefined>;
fillOpacity?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'fill-opacity'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fillRule?:
| 'nonzero'
| 'evenodd'
| 'inherit'
| undefined
| SignalLike<'nonzero' | 'evenodd' | 'inherit' | undefined>;
'fill-rule'?:
| 'nonzero'
| 'evenodd'
| 'inherit'
| undefined
| SignalLike<'nonzero' | 'evenodd' | 'inherit' | undefined>;
filter?: string | undefined | SignalLike<string | undefined>;
filterRes?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
filterUnits?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
floodColor?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'flood-color'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
floodOpacity?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'flood-opacity'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
focusable?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fontFamily?: string | undefined | SignalLike<string | undefined>;
'font-family'?: string | undefined | SignalLike<string | undefined>;
fontSize?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'font-size'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fontSizeAdjust?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'font-size-adjust'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fontStretch?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'font-stretch'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fontStyle?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'font-style'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fontVariant?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'font-variant'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fontWeight?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'font-weight'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
format?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
from?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
fx?: number | string | undefined | SignalLike<number | string | undefined>;
fy?: number | string | undefined | SignalLike<number | string | undefined>;
g1?: number | string | undefined | SignalLike<number | string | undefined>;
g2?: number | string | undefined | SignalLike<number | string | undefined>;
glyphName?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'glyph-name'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
glyphOrientationHorizontal?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'glyph-orientation-horizontal'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
glyphOrientationVertical?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'glyph-orientation-vertical'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
glyphRef?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
gradientTransform?: string | undefined | SignalLike<string | undefined>;
gradientUnits?: string | undefined | SignalLike<string | undefined>;
hanging?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
horizAdvX?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'horiz-adv-x'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
horizOriginX?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'horiz-origin-x'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
ideographic?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
imageRendering?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'image-rendering'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
in2?: number | string | undefined | SignalLike<number | string | undefined>;
in?: string | undefined | SignalLike<string | undefined>;
intercept?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
k1?: number | string | undefined | SignalLike<number | string | undefined>;
k2?: number | string | undefined | SignalLike<number | string | undefined>;
k3?: number | string | undefined | SignalLike<number | string | undefined>;
k4?: number | string | undefined | SignalLike<number | string | undefined>;
k?: number | string | undefined | SignalLike<number | string | undefined>;
kernelMatrix?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
kernelUnitLength?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
kerning?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
keyPoints?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
keySplines?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
keyTimes?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
lengthAdjust?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
letterSpacing?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'letter-spacing'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
lightingColor?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'lighting-color'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
limitingConeAngle?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
local?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
markerEnd?: string | undefined | SignalLike<string | undefined>;
'marker-end'?: string | undefined | SignalLike<string | undefined>;
markerHeight?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
markerMid?: string | undefined | SignalLike<string | undefined>;
'marker-mid'?: string | undefined | SignalLike<string | undefined>;
markerStart?: string | undefined | SignalLike<string | undefined>;
'marker-start'?: string | undefined | SignalLike<string | undefined>;
markerUnits?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
markerWidth?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
mask?: string | undefined | SignalLike<string | undefined>;
maskContentUnits?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
maskUnits?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
mathematical?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
mode?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
numOctaves?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
offset?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
opacity?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
operator?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
order?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
orient?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
orientation?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
origin?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
overflow?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
overlinePosition?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'overline-position'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
overlineThickness?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'overline-thickness'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
paintOrder?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'paint-order'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
panose1?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'panose-1'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
pathLength?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
patternContentUnits?: string | undefined | SignalLike<string | undefined>;
patternTransform?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
patternUnits?: string | undefined | SignalLike<string | undefined>;
pointerEvents?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'pointer-events'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
points?: string | undefined | SignalLike<string | undefined>;
pointsAtX?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
pointsAtY?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
pointsAtZ?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
preserveAlpha?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
preserveAspectRatio?: string | undefined | SignalLike<string | undefined>;
primitiveUnits?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
r?: number | string | undefined | SignalLike<number | string | undefined>;
radius?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
refX?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
refY?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
renderingIntent?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'rendering-intent'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
repeatCount?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'repeat-count'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
repeatDur?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'repeat-dur'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
requiredExtensions?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
requiredFeatures?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
restart?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
result?: string | undefined | SignalLike<string | undefined>;
rotate?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
rx?: number | string | undefined | SignalLike<number | string | undefined>;
ry?: number | string | undefined | SignalLike<number | string | undefined>;
scale?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
seed?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
shapeRendering?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'shape-rendering'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
slope?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
spacing?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
specularConstant?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
specularExponent?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
speed?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
spreadMethod?: string | undefined | SignalLike<string | undefined>;
startOffset?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
stdDeviation?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
stemh?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
stemv?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
stitchTiles?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
stopColor?: string | undefined | SignalLike<string | undefined>;
'stop-color'?: string | undefined | SignalLike<string | undefined>;
stopOpacity?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'stop-opacity'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
strikethroughPosition?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'strikethrough-position'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
strikethroughThickness?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'strikethrough-thickness'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
string?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
stroke?: string | undefined | SignalLike<string | undefined>;
strokeDasharray?:
| string
| number
| undefined
| SignalLike<number | string | undefined>;
'stroke-dasharray'?:
| string
| number
| undefined
| SignalLike<number | string | undefined>;
strokeDashoffset?:
| string
| number
| undefined
| SignalLike<number | string | undefined>;
'stroke-dashoffset'?:
| string
| number
| undefined
| SignalLike<number | string | undefined>;
strokeLinecap?:
| 'butt'
| 'round'
| 'square'
| 'inherit'
| undefined
| SignalLike<'butt' | 'round' | 'square' | 'inherit' | undefined>;
'stroke-linecap'?:
| 'butt'
| 'round'
| 'square'
| 'inherit'
| undefined
| SignalLike<'butt' | 'round' | 'square' | 'inherit' | undefined>;
strokeLinejoin?:
| 'miter'
| 'round'
| 'bevel'
| 'inherit'
| undefined
| SignalLike<'miter' | 'round' | 'bevel' | 'inherit' | undefined>;
'stroke-linejoin'?:
| 'miter'
| 'round'
| 'bevel'
| 'inherit'
| undefined
| SignalLike<'miter' | 'round' | 'bevel' | 'inherit' | undefined>;
strokeMiterlimit?:
| string
| number
| undefined
| SignalLike<number | string | undefined>;
'stroke-miterlimit'?:
| string
| number
| undefined
| SignalLike<number | string | undefined>;
strokeOpacity?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'stroke-opacity'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
strokeWidth?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'stroke-width'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
surfaceScale?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
systemLanguage?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
tableValues?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
targetX?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
targetY?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
textAnchor?: string | undefined | SignalLike<string | undefined>;
'text-anchor'?: string | undefined | SignalLike<string | undefined>;
textDecoration?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'text-decoration'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
textLength?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
textRendering?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
to?: number | string | undefined | SignalLike<number | string | undefined>;
transform?: string | undefined | SignalLike<string | undefined>;
u1?: number | string | undefined | SignalLike<number | string | undefined>;
u2?: number | string | undefined | SignalLike<number | string | undefined>;
underlinePosition?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'underline-position'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
underlineThickness?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'underline-thickness'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
unicode?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
unicodeBidi?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'unicode-bidi'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
unicodeRange?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'unicode-range'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
unitsPerEm?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'units-per-em'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
vAlphabetic?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'v-alphabetic'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
values?: string | undefined | SignalLike<string | undefined>;
vectorEffect?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'vector-effect'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
version?: string | undefined | SignalLike<string | undefined>;
vertAdvY?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'vert-adv-y'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
vertOriginX?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'vert-origin-x'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
vertOriginY?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'vert-origin-y'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
vHanging?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'v-hanging'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
vIdeographic?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'v-ideographic'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
viewBox?: string | undefined | SignalLike<string | undefined>;
viewTarget?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
visibility?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
vMathematical?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'v-mathematical'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
widths?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
wordSpacing?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'word-spacing'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
writingMode?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'writing-mode'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
x1?: number | string | undefined | SignalLike<number | string | undefined>;
x2?: number | string | undefined | SignalLike<number | string | undefined>;
x?: number | string | undefined | SignalLike<number | string | undefined>;
xChannelSelector?: string | undefined | SignalLike<string | undefined>;
xHeight?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
'x-height'?:
| number
| string
| undefined
| SignalLike<number | string | undefined>;
xlinkActuate?: string | undefined | SignalLike<string | undefined>;
'xlink:actuate'?: SVGAttributes['xlinkActuate'];
xlinkArcrole?: string | undefined | SignalLike<string | undefined>;
'xlink:arcrole'?: string | undefined | SignalLike<string | undefined>;
xlinkHref?: string | undefined | SignalLike<string | undefined>;
'xlink:href'?: string | undefined | SignalLike<string | undefined>;
xlinkRole?: string | undefined | SignalLike<string | undefined>;
'xlink:role'?: string | undefined | SignalLike<string | undefined>;
xlinkShow?: string | undefined | SignalLike<string | undefined>;
'xlink:show'?: string | undefined | SignalLike<string | undefined>;
xlinkTitle?: string | undefined | SignalLike<string | undefined>;
'xlink:title'?: string | undefined | SignalLike<string | undefined>;
xlinkType?: string | undefined | SignalLike<string | undefined>;
'xlink:type'?: string | undefined | SignalLike<string | undefined>;
xmlBase?: string | undefined | SignalLike<string | undefined>;
'xml:base'?: string | undefined | SignalLike<string | undefined>;
xmlLang?: string | undefined | SignalLike<string | undefined>;
'xml:lang'?: string | undefined | SignalLike<string | undefined>;
xmlns?: string | undefined | SignalLike<string | undefined>;
xmlnsXlink?: string | undefined | SignalLike<string | undefined>;
xmlSpace?: string | undefined | SignalLike<string | undefined>;
'xml:space'?: string | undefined | SignalLike<string | undefined>;
y1?: number | string | undefined | SignalLike<number | string | undefined>;
y2?: number | string | undefined | SignalLike<number | string | undefined>;
y?: number | string | undefined | SignalLike<number | string | undefined>;
yChannelSelector?: string | undefined | SignalLike<string | undefined>;
z?: number | string | undefined | SignalLike<number | string | undefined>;
zoomAndPan?: string | undefined | SignalLike<string | undefined>;
}
export interface PathAttributes {
d: string;
}
export type TargetedEvent<
Target extends EventTarget = EventTarget,
TypedEvent extends Event = Event
> = Omit<TypedEvent, 'currentTarget'> & {
readonly currentTarget: Target;
};
export type TargetedAnimationEvent<Target extends EventTarget> =
TargetedEvent<Target, AnimationEvent>;
export type TargetedClipboardEvent<Target extends EventTarget> =
TargetedEvent<Target, ClipboardEvent>;
export type TargetedCompositionEvent<Target extends EventTarget> =
TargetedEvent<Target, CompositionEvent>;
export type TargetedDragEvent<Target extends EventTarget> = TargetedEvent<
Target,
DragEvent
>;
export type TargetedFocusEvent<Target extends EventTarget> = TargetedEvent<
Target,
FocusEvent
>;
export type TargetedInputEvent<Target extends EventTarget> = TargetedEvent<
Target,
InputEvent
>;
export type TargetedKeyboardEvent<Target extends EventTarget> = TargetedEvent<
Target,
KeyboardEvent
>;
export type TargetedMouseEvent<Target extends EventTarget> = TargetedEvent<
Target,
MouseEvent
>;
export type TargetedPointerEvent<Target extends EventTarget> = TargetedEvent<
Target,
PointerEvent
>;
export type TargetedSubmitEvent<Target extends EventTarget> = TargetedEvent<
Target,
SubmitEvent
>;
export type TargetedTouchEvent<Target extends EventTarget> = TargetedEvent<
Target,
TouchEvent
>;
export type TargetedTransitionEvent<Target extends EventTarget> =
TargetedEvent<Target, TransitionEvent>;
export type TargetedUIEvent<Target extends EventTarget> = TargetedEvent<
Target,
UIEvent
>;
export type TargetedWheelEvent<Target extends EventTarget> = TargetedEvent<
Target,
WheelEvent
>;
export type TargetedPictureInPictureEvent<Target extends EventTarget> =
TargetedEvent<Target, PictureInPictureEvent>;
export type EventHandler<E extends TargetedEvent> = {
bivarianceHack(event: E): void;
}['bivarianceHack'];
export type AnimationEventHandler<Target extends EventTarget> = EventHandler<
TargetedAnimationEvent<Target>
>;
export type ClipboardEventHandler<Target extends EventTarget> = EventHandler<
TargetedClipboardEvent<Target>
>;
export type CompositionEventHandler<Target extends EventTarget> =
EventHandler<TargetedCompositionEvent<Target>>;
export type DragEventHandler<Target extends EventTarget> = EventHandler<
TargetedDragEvent<Target>
>;
export type FocusEventHandler<Target extends EventTarget> = EventHandler<
TargetedFocusEvent<Target>
>;
export type GenericEventHandler<Target extends EventTarget> = EventHandler<
TargetedEvent<Target>
>;
export type InputEventHandler<Target extends EventTarget> = EventHandler<
TargetedInputEvent<Target>
>;
export type KeyboardEventHandler<Target extends EventTarget> = EventHandler<
TargetedKeyboardEvent<Target>
>;
export type MouseEventHandler<Target extends EventTarget> = EventHandler<
TargetedMouseEvent<Target>
>;
export type PointerEventHandler<Target extends EventTarget> = EventHandler<
TargetedPointerEvent<Target>
>;
export type SubmitEventHandler<Target extends EventTarget> = EventHandler<
TargetedSubmitEvent<Target>
>;
export type TouchEventHandler<Target extends EventTarget> = EventHandler<
TargetedTouchEvent<Target>
>;
export type TransitionEventHandler<Target extends EventTarget> = EventHandler<
TargetedTransitionEvent<Target>
>;
export type UIEventHandler<Target extends EventTarget> = EventHandler<
TargetedUIEvent<Target>
>;
export type WheelEventHandler<Target extends EventTarget> = EventHandler<
TargetedWheelEvent<Target>
>;
export type PictureInPictureEventHandler<Target extends EventTarget> =
EventHandler<TargetedPictureInPictureEvent<Target>>;
export interface DOMAttributes<Target extends EventTarget>
extends PreactDOMAttributes {
// Image Events
onLoad?: GenericEventHandler<Target> | undefined;
onLoadCapture?: GenericEventHandler<Target> | undefined;
onError?: GenericEventHandler<Target> | undefined;
onErrorCapture?: GenericEventHandler<Target> | undefined;
// Clipboard Events
onCopy?: ClipboardEventHandler<Target> | undefined;
onCopyCapture?: ClipboardEventHandler<Target> | undefined;
onCut?: ClipboardEventHandler<Target> | undefined;
onCutCapture?: ClipboardEventHandler<Target> | undefined;
onPaste?: ClipboardEventHandler<Target> | undefined;
onPasteCapture?: ClipboardEventHandler<Target> | undefined;
// Composition Events
onCompositionEnd?: CompositionEventHandler<Target> | undefined;
onCompositionEndCapture?: CompositionEventHandler<Target> | undefined;
onCompositionStart?: CompositionEventHandler<Target> | undefined;
onCompositionStartCapture?: CompositionEventHandler<Target> | undefined;
onCompositionUpdate?: CompositionEventHandler<Target> | undefined;
onCompositionUpdateCapture?: CompositionEventHandler<Target> | undefined;
// Details Events
onToggle?: GenericEventHandler<Target> | undefined;
// Dialog Events
onClose?: GenericEventHandler<Target> | undefined;
onCancel?: GenericEventHandler<Target> | undefined;
// Focus Events
onFocus?: FocusEventHandler<Target> | undefined;
onFocusCapture?: FocusEventHandler<Target> | undefined;
onFocusIn?: FocusEventHandler<Target> | undefined;
onFocusInCapture?: FocusEventHandler<Target> | undefined;
onFocusOut?: FocusEventHandler<Target> | undefined;
onFocusOutCapture?: FocusEventHandler<Target> | undefined;
onBlur?: FocusEventHandler<Target> | undefined;
onBlurCapture?: FocusEventHandler<Target> | undefined;
// Form Events
onChange?: GenericEventHandler<Target> | undefined;
onChangeCapture?: GenericEventHandler<Target> | undefined;
onInput?: InputEventHandler<Target> | undefined;
onInputCapture?: InputEventHandler<Target> | undefined;
onBeforeInput?: InputEventHandler<Target> | undefined;
onBeforeInputCapture?: InputEventHandler<Target> | undefined;
onSearch?: GenericEventHandler<Target> | undefined;
onSearchCapture?: GenericEventHandler<Target> | undefined;
onSubmit?: SubmitEventHandler<Target> | undefined;
onSubmitCapture?: SubmitEventHandler<Target> | undefined;
onInvalid?: GenericEventHandler<Target> | undefined;
onInvalidCapture?: GenericEventHandler<Target> | undefined;
onReset?: GenericEventHandler<Target> | undefined;
onResetCapture?: GenericEventHandler<Target> | undefined;
onFormData?: GenericEventHandler<Target> | undefined;
onFormDataCapture?: GenericEventHandler<Target> | undefined;
// Keyboard Events
onKeyDown?: KeyboardEventHandler<Target> | undefined;
onKeyDownCapture?: KeyboardEventHandler<Target> | undefined;
onKeyPress?: KeyboardEventHandler<Target> | undefined;
onKeyPressCapture?: KeyboardEventHandler<Target> | undefined;
onKeyUp?: KeyboardEventHandler<Target> | undefined;
onKeyUpCapture?: KeyboardEventHandler<Target> | undefined;
// Media Events
onAbort?: GenericEventHandler<Target> | undefined;
onAbortCapture?: GenericEventHandler<Target> | undefined;
onCanPlay?: GenericEventHandler<Target> | undefined;
onCanPlayCapture?: GenericEventHandler<Target> | undefined;
onCanPlayThrough?: GenericEventHandler<Target> | undefined;
onCanPlayThroughCapture?: GenericEventHandler<Target> | undefined;
onDurationChange?: GenericEventHandler<Target> | undefined;
onDurationChangeCapture?: GenericEventHandler<Target> | undefined;
onEmptied?: GenericEventHandler<Target> | undefined;
onEmptiedCapture?: GenericEventHandler<Target> | undefined;
onEncrypted?: GenericEventHandler<Target> | undefined;
onEncryptedCapture?: GenericEventHandler<Target> | undefined;
onEnded?: GenericEventHandler<Target> | undefined;
onEndedCapture?: GenericEventHandler<Target> | undefined;
onLoadedData?: GenericEventHandler<Target> | undefined;
onLoadedDataCapture?: GenericEventHandler<Target> | undefined;
onLoadedMetadata?: GenericEventHandler<Target> | undefined;
onLoadedMetadataCapture?: GenericEventHandler<Target> | undefined;
onLoadStart?: GenericEventHandler<Target> | undefined;
onLoadStartCapture?: GenericEventHandler<Target> | undefined;
onPause?: GenericEventHandler<Target> | undefined;
onPauseCapture?: GenericEventHandler<Target> | undefined;
onPlay?: GenericEventHandler<Target> | undefined;
onPlayCapture?: GenericEventHandler<Target> | undefined;
onPlaying?: GenericEventHandler<Target> | undefined;
onPlayingCapture?: GenericEventHandler<Target> | undefined;
onProgress?: GenericEventHandler<Target> | undefined;
onProgressCapture?: GenericEventHandler<Target> | undefined;
onRateChange?: GenericEventHandler<Target> | undefined;
onRateChangeCapture?: GenericEventHandler<Target> | undefined;
onSeeked?: GenericEventHandler<Target> | undefined;
onSeekedCapture?: GenericEventHandler<Target> | undefined;
onSeeking?: GenericEventHandler<Target> | undefined;
onSeekingCapture?: GenericEventHandler<Target> | undefined;
onStalled?: GenericEventHandler<Target> | undefined;
onStalledCapture?: GenericEventHandler<Target> | undefined;
onSuspend?: GenericEventHandler<Target> | undefined;
onSuspendCapture?: GenericEventHandler<Target> | undefined;
onTimeUpdate?: GenericEventHandler<Target> | undefined;
onTimeUpdateCapture?: GenericEventHandler<Target> | undefined;
onVolumeChange?: GenericEventHandler<Target> | undefined;
onVolumeChangeCapture?: GenericEventHandler<Target> | undefined;
onWaiting?: GenericEventHandler<Target> | undefined;
onWaitingCapture?: GenericEventHandler<Target> | undefined;
// MouseEvents
onClick?: MouseEventHandler<Target> | undefined;
onClickCapture?: MouseEventHandler<Target> | undefined;
onContextMenu?: MouseEventHandler<Target> | undefined;
onContextMenuCapture?: MouseEventHandler<Target> | undefined;
onDblClick?: MouseEventHandler<Target> | undefined;
onDblClickCapture?: MouseEventHandler<Target> | undefined;
onDrag?: DragEventHandler<Target> | undefined;
onDragCapture?: DragEventHandler<Target> | undefined;
onDragEnd?: DragEventHandler<Target> | undefined;
onDragEndCapture?: DragEventHandler<Target> | undefined;
onDragEnter?: DragEventHandler<Target> | undefined;
onDragEnterCapture?: DragEventHandler<Target> | undefined;
onDragExit?: DragEventHandler<Target> | undefined;
onDragExitCapture?: DragEventHandler<Target> | undefined;
onDragLeave?: DragEventHandler<Target> | undefined;
onDragLeaveCapture?: DragEventHandler<Target> | undefined;
onDragOver?: DragEventHandler<Target> | undefined;
onDragOverCapture?: DragEventHandler<Target> | undefined;
onDragStart?: DragEventHandler<Target> | undefined;
onDragStartCapture?: DragEventHandler<Target> | undefined;
onDrop?: DragEventHandler<Target> | undefined;
onDropCapture?: DragEventHandler<Target> | undefined;
onMouseDown?: MouseEventHandler<Target> | undefined;
onMouseDownCapture?: MouseEventHandler<Target> | undefined;
onMouseEnter?: MouseEventHandler<Target> | undefined;
onMouseEnterCapture?: MouseEventHandler<Target> | undefined;
onMouseLeave?: MouseEventHandler<Target> | undefined;
onMouseLeaveCapture?: MouseEventHandler<Target> | undefined;
onMouseMove?: MouseEventHandler<Target> | undefined;
onMouseMoveCapture?: MouseEventHandler<Target> | undefined;
onMouseOut?: MouseEventHandler<Target> | undefined;
onMouseOutCapture?: MouseEventHandler<Target> | undefined;
onMouseOver?: MouseEventHandler<Target> | undefined;
onMouseOverCapture?: MouseEventHandler<Target> | undefined;
onMouseUp?: MouseEventHandler<Target> | undefined;
onMouseUpCapture?: MouseEventHandler<Target> | undefined;
// Selection Events
onSelect?: GenericEventHandler<Target> | undefined;
onSelectCapture?: GenericEventHandler<Target> | undefined;
// Touch Events
onTouchCancel?: TouchEventHandler<Target> | undefined;
onTouchCancelCapture?: TouchEventHandler<Target> | undefined;
onTouchEnd?: TouchEventHandler<Target> | undefined;
onTouchEndCapture?: TouchEventHandler<Target> | undefined;
onTouchMove?: TouchEventHandler<Target> | undefined;
onTouchMoveCapture?: TouchEventHandler<Target> | undefined;
onTouchStart?: TouchEventHandler<Target> | undefined;
onTouchStartCapture?: TouchEventHandler<Target> | undefined;
// Pointer Events
onPointerOver?: PointerEventHandler<Target> | undefined;
onPointerOverCapture?: PointerEventHandler<Target> | undefined;
onPointerEnter?: PointerEventHandler<Target> | undefined;
onPointerEnterCapture?: PointerEventHandler<Target> | undefined;
onPointerDown?: PointerEventHandler<Target> | undefined;
onPointerDownCapture?: PointerEventHandler<Target> | undefined;
onPointerMove?: PointerEventHandler<Target> | undefined;
onPointerMoveCapture?: PointerEventHandler<Target> | undefined;
onPointerUp?: PointerEventHandler<Target> | undefined;
onPointerUpCapture?: PointerEventHandler<Target> | undefined;
onPointerCancel?: PointerEventHandler<Target> | undefined;
onPointerCancelCapture?: PointerEventHandler<Target> | undefined;
onPointerOut?: PointerEventHandler<Target> | undefined;
onPointerOutCapture?: PointerEventHandler<Target> | undefined;
onPointerLeave?: PointerEventHandler<Target> | undefined;
onPointerLeaveCapture?: PointerEventHandler<Target> | undefined;
onGotPointerCapture?: PointerEventHandler<Target> | undefined;
onGotPointerCaptureCapture?: PointerEventHandler<Target> | undefined;
onLostPointerCapture?: PointerEventHandler<Target> | undefined;
onLostPointerCaptureCapture?: PointerEventHandler<Target> | undefined;
// UI Events
onScroll?: UIEventHandler<Target> | undefined;
onScrollEnd?: UIEventHandler<Target> | undefined;
onScrollCapture?: UIEventHandler<Target> | undefined;
// Wheel Events
onWheel?: WheelEventHandler<Target> | undefined;
onWheelCapture?: WheelEventHandler<Target> | undefined;
// Animation Events
onAnimationStart?: AnimationEventHandler<Target> | undefined;
onAnimationStartCapture?: AnimationEventHandler<Target> | undefined;
onAnimationEnd?: AnimationEventHandler<Target> | undefined;
onAnimationEndCapture?: AnimationEventHandler<Target> | undefined;
onAnimationIteration?: AnimationEventHandler<Target> | undefined;
onAnimationIterationCapture?: AnimationEventHandler<Target> | undefined;
// Transition Events
onTransitionCancel?: TransitionEventHandler<Target>;
onTransitionCancelCapture?: TransitionEventHandler<Target>;
onTransitionEnd?: TransitionEventHandler<Target>;
onTransitionEndCapture?: TransitionEventHandler<Target>;
onTransitionRun?: TransitionEventHandler<Target>;
onTransitionRunCapture?: TransitionEventHandler<Target>;
onTransitionStart?: TransitionEventHandler<Target>;
onTransitionStartCapture?: TransitionEventHandler<Target>;
// PictureInPicture Events
onEnterPictureInPicture?: PictureInPictureEventHandler<Target>;
onEnterPictureInPictureCapture?: PictureInPictureEventHandler<Target>;
onLeavePictureInPicture?: PictureInPictureEventHandler<Target>;
onLeavePictureInPictureCapture?: PictureInPictureEventHandler<Target>;
onResize?: PictureInPictureEventHandler<Target>;
onResizeCapture?: PictureInPictureEventHandler<Target>;
}
// All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
export interface AriaAttributes {
/** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
'aria-activedescendant'?: Signalish<string | undefined>;
/** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
'aria-atomic'?: Signalish<Booleanish | undefined>;
/**
* Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
* presented if they are made.