From 3b122d3e0b6736017eef706eaf9ec7281d8a41d0 Mon Sep 17 00:00:00 2001 From: deadem Date: Mon, 23 Jan 2023 15:05:37 +0300 Subject: [PATCH 1/2] add exactOptionalPropertyTypes support to attributes --- src/jsx.d.ts | 1927 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 1341 insertions(+), 586 deletions(-) diff --git a/src/jsx.d.ts b/src/jsx.d.ts index ef3b0fcd9c..7754c0e045 100644 --- a/src/jsx.d.ts +++ b/src/jsx.d.ts @@ -72,9 +72,21 @@ export namespace JSXInternal { export interface SVGAttributes extends HTMLAttributes { - accentHeight?: number | string | SignalLike; - accumulate?: 'none' | 'sum' | SignalLike<'none' | 'sum'>; - additive?: 'replace' | 'sum' | SignalLike<'replace' | 'sum'>; + accentHeight?: + | number + | string + | undefined + | SignalLike; + accumulate?: + | 'none' + | 'sum' + | undefined + | SignalLike<'none' | 'sum' | undefined>; + additive?: + | 'replace' + | 'sum' + | undefined + | SignalLike<'replace' | 'sum' | undefined>; alignmentBaseline?: | 'auto' | 'baseline' @@ -89,6 +101,7 @@ export namespace JSXInternal { | 'hanging' | 'mathematical' | 'inherit' + | undefined | SignalLike< | 'auto' | 'baseline' @@ -103,266 +116,904 @@ export namespace JSXInternal { | 'hanging' | 'mathematical' | 'inherit' + | undefined >; - allowReorder?: 'no' | 'yes' | SignalLike<'no' | 'yes'>; - alphabetic?: number | string | SignalLike; - amplitude?: number | string | SignalLike; + allowReorder?: + | 'no' + | 'yes' + | undefined + | SignalLike<'no' | 'yes' | undefined>; + alphabetic?: + | number + | string + | undefined + | SignalLike; + amplitude?: + | number + | string + | undefined + | SignalLike; arabicForm?: | 'initial' | 'medial' | 'terminal' | 'isolated' - | SignalLike<'initial' | 'medial' | 'terminal' | 'isolated'>; - ascent?: number | string | SignalLike; - attributeName?: string | SignalLike; - attributeType?: string | SignalLike; - autoReverse?: number | string | SignalLike; - azimuth?: number | string | SignalLike; - baseFrequency?: number | string | SignalLike; - baselineShift?: number | string | SignalLike; - baseProfile?: number | string | SignalLike; - bbox?: number | string | SignalLike; - begin?: number | string | SignalLike; - bias?: number | string | SignalLike; - by?: number | string | SignalLike; - calcMode?: number | string | SignalLike; - capHeight?: number | string | SignalLike; - clip?: number | string | SignalLike; - clipPath?: string | SignalLike; - clipPathUnits?: number | string | SignalLike; - clipRule?: number | string | SignalLike; - colorInterpolation?: number | string | SignalLike; + | undefined + | SignalLike<'initial' | 'medial' | 'terminal' | 'isolated' | undefined>; + ascent?: + | number + | string + | undefined + | SignalLike; + attributeName?: string | undefined | SignalLike; + attributeType?: string | undefined | SignalLike; + autoReverse?: + | number + | string + | undefined + | SignalLike; + azimuth?: + | number + | string + | undefined + | SignalLike; + baseFrequency?: + | number + | string + | undefined + | SignalLike; + baselineShift?: + | number + | string + | undefined + | SignalLike; + baseProfile?: + | number + | string + | undefined + | SignalLike; + bbox?: + | number + | string + | undefined + | SignalLike; + begin?: + | number + | string + | undefined + | SignalLike; + bias?: + | number + | string + | undefined + | SignalLike; + by?: number | string | undefined | SignalLike; + calcMode?: + | number + | string + | undefined + | SignalLike; + capHeight?: + | number + | string + | undefined + | SignalLike; + clip?: + | number + | string + | undefined + | SignalLike; + clipPath?: string | undefined | SignalLike; + clipPathUnits?: + | number + | string + | undefined + | SignalLike; + clipRule?: + | number + | string + | undefined + | SignalLike; + colorInterpolation?: + | number + | string + | undefined + | SignalLike; colorInterpolationFilters?: | 'auto' | 'sRGB' | 'linearRGB' | 'inherit' - | SignalLike<'auto' | 'sRGB' | 'linearRGB' | 'inherit'>; - colorProfile?: number | string | SignalLike; - colorRendering?: number | string | SignalLike; - contentScriptType?: number | string | SignalLike; - contentStyleType?: number | string | SignalLike; - cursor?: number | string | SignalLike; - cx?: number | string | SignalLike; - cy?: number | string | SignalLike; - d?: string | SignalLike; - decelerate?: number | string | SignalLike; - descent?: number | string | SignalLike; - diffuseConstant?: number | string | SignalLike; - direction?: number | string | SignalLike; - display?: number | string | SignalLike; - divisor?: number | string | SignalLike; - dominantBaseline?: number | string | SignalLike; - dur?: number | string | SignalLike; - dx?: number | string | SignalLike; - dy?: number | string | SignalLike; - edgeMode?: number | string | SignalLike; - elevation?: number | string | SignalLike; - enableBackground?: number | string | SignalLike; - end?: number | string | SignalLike; - exponent?: number | string | SignalLike; - externalResourcesRequired?: number | string | SignalLike; - fill?: string | SignalLike; - fillOpacity?: number | string | SignalLike; + | undefined + | SignalLike<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined>; + colorProfile?: + | number + | string + | undefined + | SignalLike; + colorRendering?: + | number + | string + | undefined + | SignalLike; + contentScriptType?: + | number + | string + | undefined + | SignalLike; + contentStyleType?: + | number + | string + | undefined + | SignalLike; + cursor?: + | number + | string + | undefined + | SignalLike; + cx?: number | string | undefined | SignalLike; + cy?: number | string | undefined | SignalLike; + d?: string | undefined | SignalLike; + decelerate?: + | number + | string + | undefined + | SignalLike; + descent?: + | number + | string + | undefined + | SignalLike; + diffuseConstant?: + | number + | string + | undefined + | SignalLike; + direction?: + | number + | string + | undefined + | SignalLike; + display?: + | number + | string + | undefined + | SignalLike; + divisor?: + | number + | string + | undefined + | SignalLike; + dominantBaseline?: + | number + | string + | undefined + | SignalLike; + dur?: number | string | undefined | SignalLike; + dx?: number | string | undefined | SignalLike; + dy?: number | string | undefined | SignalLike; + edgeMode?: + | number + | string + | undefined + | SignalLike; + elevation?: + | number + | string + | undefined + | SignalLike; + enableBackground?: + | number + | string + | undefined + | SignalLike; + end?: number | string | undefined | SignalLike; + exponent?: + | number + | string + | undefined + | SignalLike; + externalResourcesRequired?: + | number + | string + | undefined + | SignalLike; + fill?: string | undefined | SignalLike; + fillOpacity?: + | number + | string + | undefined + | SignalLike; fillRule?: | 'nonzero' | 'evenodd' | 'inherit' - | SignalLike<'nonzero' | 'evenodd' | 'inherit'>; - filter?: string | SignalLike; - filterRes?: number | string | SignalLike; - filterUnits?: number | string | SignalLike; - floodColor?: number | string | SignalLike; - floodOpacity?: number | string | SignalLike; - focusable?: number | string | SignalLike; - fontFamily?: string | SignalLike; - fontSize?: number | string | SignalLike; - fontSizeAdjust?: number | string | SignalLike; - fontStretch?: number | string | SignalLike; - fontStyle?: number | string | SignalLike; - fontVariant?: number | string | SignalLike; - fontWeight?: number | string | SignalLike; - format?: number | string | SignalLike; - from?: number | string | SignalLike; - fx?: number | string | SignalLike; - fy?: number | string | SignalLike; - g1?: number | string | SignalLike; - g2?: number | string | SignalLike; - glyphName?: number | string | SignalLike; - glyphOrientationHorizontal?: number | string | SignalLike; - glyphOrientationVertical?: number | string | SignalLike; - glyphRef?: number | string | SignalLike; - gradientTransform?: string | SignalLike; - gradientUnits?: string | SignalLike; - hanging?: number | string | SignalLike; - horizAdvX?: number | string | SignalLike; - horizOriginX?: number | string | SignalLike; - ideographic?: number | string | SignalLike; - imageRendering?: number | string | SignalLike; - in2?: number | string | SignalLike; - in?: string | SignalLike; - intercept?: number | string | SignalLike; - k1?: number | string | SignalLike; - k2?: number | string | SignalLike; - k3?: number | string | SignalLike; - k4?: number | string | SignalLike; - k?: number | string | SignalLike; - kernelMatrix?: number | string | SignalLike; - kernelUnitLength?: number | string | SignalLike; - kerning?: number | string | SignalLike; - keyPoints?: number | string | SignalLike; - keySplines?: number | string | SignalLike; - keyTimes?: number | string | SignalLike; - lengthAdjust?: number | string | SignalLike; - letterSpacing?: number | string | SignalLike; - lightingColor?: number | string | SignalLike; - limitingConeAngle?: number | string | SignalLike; - local?: number | string | SignalLike; - markerEnd?: string | SignalLike; - markerHeight?: number | string | SignalLike; - markerMid?: string | SignalLike; - markerStart?: string | SignalLike; - markerUnits?: number | string | SignalLike; - markerWidth?: number | string | SignalLike; - mask?: string | SignalLike; - maskContentUnits?: number | string | SignalLike; - maskUnits?: number | string | SignalLike; - mathematical?: number | string | SignalLike; - mode?: number | string | SignalLike; - numOctaves?: number | string | SignalLike; - offset?: number | string | SignalLike; - opacity?: number | string | SignalLike; - operator?: number | string | SignalLike; - order?: number | string | SignalLike; - orient?: number | string | SignalLike; - orientation?: number | string | SignalLike; - origin?: number | string | SignalLike; - overflow?: number | string | SignalLike; - overlinePosition?: number | string | SignalLike; - overlineThickness?: number | string | SignalLike; - paintOrder?: number | string | SignalLike; - panose1?: number | string | SignalLike; - pathLength?: number | string | SignalLike; - patternContentUnits?: string | SignalLike; - patternTransform?: number | string | SignalLike; - patternUnits?: string | SignalLike; - pointerEvents?: number | string | SignalLike; - points?: string | SignalLike; - pointsAtX?: number | string | SignalLike; - pointsAtY?: number | string | SignalLike; - pointsAtZ?: number | string | SignalLike; - preserveAlpha?: number | string | SignalLike; - preserveAspectRatio?: string | SignalLike; - primitiveUnits?: number | string | SignalLike; - r?: number | string | SignalLike; - radius?: number | string | SignalLike; - refX?: number | string | SignalLike; - refY?: number | string | SignalLike; - renderingIntent?: number | string | SignalLike; - repeatCount?: number | string | SignalLike; - repeatDur?: number | string | SignalLike; - requiredExtensions?: number | string | SignalLike; - requiredFeatures?: number | string | SignalLike; - restart?: number | string | SignalLike; - result?: string | SignalLike; - rotate?: number | string | SignalLike; - rx?: number | string | SignalLike; - ry?: number | string | SignalLike; - scale?: number | string | SignalLike; - seed?: number | string | SignalLike; - shapeRendering?: number | string | SignalLike; - slope?: number | string | SignalLike; - spacing?: number | string | SignalLike; - specularConstant?: number | string | SignalLike; - specularExponent?: number | string | SignalLike; - speed?: number | string | SignalLike; - spreadMethod?: string | SignalLike; - startOffset?: number | string | SignalLike; - stdDeviation?: number | string | SignalLike; - stemh?: number | string | SignalLike; - stemv?: number | string | SignalLike; - stitchTiles?: number | string | SignalLike; - stopColor?: string | SignalLike; - stopOpacity?: number | string | SignalLike; - strikethroughPosition?: number | string | SignalLike; - strikethroughThickness?: number | string | SignalLike; - string?: number | string | SignalLike; - stroke?: string | SignalLike; - strokeDasharray?: string | number | SignalLike; - strokeDashoffset?: string | number | SignalLike; + | undefined + | SignalLike<'nonzero' | 'evenodd' | 'inherit' | undefined>; + filter?: string | undefined | SignalLike; + filterRes?: + | number + | string + | undefined + | SignalLike; + filterUnits?: + | number + | string + | undefined + | SignalLike; + floodColor?: + | number + | string + | undefined + | SignalLike; + floodOpacity?: + | number + | string + | undefined + | SignalLike; + focusable?: + | number + | string + | undefined + | SignalLike; + fontFamily?: string | undefined | SignalLike; + fontSize?: + | number + | string + | undefined + | SignalLike; + fontSizeAdjust?: + | number + | string + | undefined + | SignalLike; + fontStretch?: + | number + | string + | undefined + | SignalLike; + fontStyle?: + | number + | string + | undefined + | SignalLike; + fontVariant?: + | number + | string + | undefined + | SignalLike; + fontWeight?: + | number + | string + | undefined + | SignalLike; + format?: + | number + | string + | undefined + | SignalLike; + from?: + | number + | string + | undefined + | SignalLike; + fx?: number | string | undefined | SignalLike; + fy?: number | string | undefined | SignalLike; + g1?: number | string | undefined | SignalLike; + g2?: number | string | undefined | SignalLike; + glyphName?: + | number + | string + | undefined + | SignalLike; + glyphOrientationHorizontal?: + | number + | string + | undefined + | SignalLike; + glyphOrientationVertical?: + | number + | string + | undefined + | SignalLike; + glyphRef?: + | number + | string + | undefined + | SignalLike; + gradientTransform?: string | undefined | SignalLike; + gradientUnits?: string | undefined | SignalLike; + hanging?: + | number + | string + | undefined + | SignalLike; + horizAdvX?: + | number + | string + | undefined + | SignalLike; + horizOriginX?: + | number + | string + | undefined + | SignalLike; + ideographic?: + | number + | string + | undefined + | SignalLike; + imageRendering?: + | number + | string + | undefined + | SignalLike; + in2?: number | string | undefined | SignalLike; + in?: string | undefined | SignalLike; + intercept?: + | number + | string + | undefined + | SignalLike; + k1?: number | string | undefined | SignalLike; + k2?: number | string | undefined | SignalLike; + k3?: number | string | undefined | SignalLike; + k4?: number | string | undefined | SignalLike; + k?: number | string | undefined | SignalLike; + kernelMatrix?: + | number + | string + | undefined + | SignalLike; + kernelUnitLength?: + | number + | string + | undefined + | SignalLike; + kerning?: + | number + | string + | undefined + | SignalLike; + keyPoints?: + | number + | string + | undefined + | SignalLike; + keySplines?: + | number + | string + | undefined + | SignalLike; + keyTimes?: + | number + | string + | undefined + | SignalLike; + lengthAdjust?: + | number + | string + | undefined + | SignalLike; + letterSpacing?: + | number + | string + | undefined + | SignalLike; + lightingColor?: + | number + | string + | undefined + | SignalLike; + limitingConeAngle?: + | number + | string + | undefined + | SignalLike; + local?: + | number + | string + | undefined + | SignalLike; + markerEnd?: string | undefined | SignalLike; + markerHeight?: + | number + | string + | undefined + | SignalLike; + markerMid?: string | undefined | SignalLike; + markerStart?: string | undefined | SignalLike; + markerUnits?: + | number + | string + | undefined + | SignalLike; + markerWidth?: + | number + | string + | undefined + | SignalLike; + mask?: string | undefined | SignalLike; + maskContentUnits?: + | number + | string + | undefined + | SignalLike; + maskUnits?: + | number + | string + | undefined + | SignalLike; + mathematical?: + | number + | string + | undefined + | SignalLike; + mode?: + | number + | string + | undefined + | SignalLike; + numOctaves?: + | number + | string + | undefined + | SignalLike; + offset?: + | number + | string + | undefined + | SignalLike; + opacity?: + | number + | string + | undefined + | SignalLike; + operator?: + | number + | string + | undefined + | SignalLike; + order?: + | number + | string + | undefined + | SignalLike; + orient?: + | number + | string + | undefined + | SignalLike; + orientation?: + | number + | string + | undefined + | SignalLike; + origin?: + | number + | string + | undefined + | SignalLike; + overflow?: + | number + | string + | undefined + | SignalLike; + overlinePosition?: + | number + | string + | undefined + | SignalLike; + overlineThickness?: + | number + | string + | undefined + | SignalLike; + paintOrder?: + | number + | string + | undefined + | SignalLike; + panose1?: + | number + | string + | undefined + | SignalLike; + pathLength?: + | number + | string + | undefined + | SignalLike; + patternContentUnits?: string | undefined | SignalLike; + patternTransform?: + | number + | string + | undefined + | SignalLike; + patternUnits?: string | undefined | SignalLike; + pointerEvents?: + | number + | string + | undefined + | SignalLike; + points?: string | undefined | SignalLike; + pointsAtX?: + | number + | string + | undefined + | SignalLike; + pointsAtY?: + | number + | string + | undefined + | SignalLike; + pointsAtZ?: + | number + | string + | undefined + | SignalLike; + preserveAlpha?: + | number + | string + | undefined + | SignalLike; + preserveAspectRatio?: string | undefined | SignalLike; + primitiveUnits?: + | number + | string + | undefined + | SignalLike; + r?: number | string | undefined | SignalLike; + radius?: + | number + | string + | undefined + | SignalLike; + refX?: + | number + | string + | undefined + | SignalLike; + refY?: + | number + | string + | undefined + | SignalLike; + renderingIntent?: + | number + | string + | undefined + | SignalLike; + repeatCount?: + | number + | string + | undefined + | SignalLike; + repeatDur?: + | number + | string + | undefined + | SignalLike; + requiredExtensions?: + | number + | string + | undefined + | SignalLike; + requiredFeatures?: + | number + | string + | undefined + | SignalLike; + restart?: + | number + | string + | undefined + | SignalLike; + result?: string | undefined | SignalLike; + rotate?: + | number + | string + | undefined + | SignalLike; + rx?: number | string | undefined | SignalLike; + ry?: number | string | undefined | SignalLike; + scale?: + | number + | string + | undefined + | SignalLike; + seed?: + | number + | string + | undefined + | SignalLike; + shapeRendering?: + | number + | string + | undefined + | SignalLike; + slope?: + | number + | string + | undefined + | SignalLike; + spacing?: + | number + | string + | undefined + | SignalLike; + specularConstant?: + | number + | string + | undefined + | SignalLike; + specularExponent?: + | number + | string + | undefined + | SignalLike; + speed?: + | number + | string + | undefined + | SignalLike; + spreadMethod?: string | undefined | SignalLike; + startOffset?: + | number + | string + | undefined + | SignalLike; + stdDeviation?: + | number + | string + | undefined + | SignalLike; + stemh?: + | number + | string + | undefined + | SignalLike; + stemv?: + | number + | string + | undefined + | SignalLike; + stitchTiles?: + | number + | string + | undefined + | SignalLike; + stopColor?: string | undefined | SignalLike; + stopOpacity?: + | number + | string + | undefined + | SignalLike; + strikethroughPosition?: + | number + | string + | undefined + | SignalLike; + strikethroughThickness?: + | number + | string + | undefined + | SignalLike; + string?: + | number + | string + | undefined + | SignalLike; + stroke?: string | undefined | SignalLike; + strokeDasharray?: + | string + | number + | undefined + | SignalLike; + strokeDashoffset?: + | string + | number + | undefined + | SignalLike; strokeLinecap?: | 'butt' | 'round' | 'square' | 'inherit' - | SignalLike<'butt' | 'round' | 'square' | 'inherit'>; + | undefined + | SignalLike<'butt' | 'round' | 'square' | 'inherit' | undefined>; strokeLinejoin?: | 'miter' | 'round' | 'bevel' | 'inherit' - | SignalLike<'miter' | 'round' | 'bevel' | 'inherit'>; - strokeMiterlimit?: string | number | SignalLike; - strokeOpacity?: number | string | SignalLike; - strokeWidth?: number | string | SignalLike; - surfaceScale?: number | string | SignalLike; - systemLanguage?: number | string | SignalLike; - tableValues?: number | string | SignalLike; - targetX?: number | string | SignalLike; - targetY?: number | string | SignalLike; - textAnchor?: string | SignalLike; - textDecoration?: number | string | SignalLike; - textLength?: number | string | SignalLike; - textRendering?: number | string | SignalLike; - to?: number | string | SignalLike; - transform?: string | SignalLike; - u1?: number | string | SignalLike; - u2?: number | string | SignalLike; - underlinePosition?: number | string | SignalLike; - underlineThickness?: number | string | SignalLike; - unicode?: number | string | SignalLike; - unicodeBidi?: number | string | SignalLike; - unicodeRange?: number | string | SignalLike; - unitsPerEm?: number | string | SignalLike; - vAlphabetic?: number | string | SignalLike; - values?: string | SignalLike; - vectorEffect?: number | string | SignalLike; - version?: string | SignalLike; - vertAdvY?: number | string | SignalLike; - vertOriginX?: number | string | SignalLike; - vertOriginY?: number | string | SignalLike; - vHanging?: number | string | SignalLike; - vIdeographic?: number | string | SignalLike; - viewBox?: string | SignalLike; - viewTarget?: number | string | SignalLike; - visibility?: number | string | SignalLike; - vMathematical?: number | string | SignalLike; - widths?: number | string | SignalLike; - wordSpacing?: number | string | SignalLike; - writingMode?: number | string | SignalLike; - x1?: number | string | SignalLike; - x2?: number | string | SignalLike; - x?: number | string | SignalLike; - xChannelSelector?: string | SignalLike; - xHeight?: number | string | SignalLike; - xlinkActuate?: string | SignalLike; - xlinkArcrole?: string | SignalLike; - xlinkHref?: string | SignalLike; - xlinkRole?: string | SignalLike; - xlinkShow?: string | SignalLike; - xlinkTitle?: string | SignalLike; - xlinkType?: string | SignalLike; - xmlBase?: string | SignalLike; - xmlLang?: string | SignalLike; - xmlns?: string | SignalLike; - xmlnsXlink?: string | SignalLike; - xmlSpace?: string | SignalLike; - y1?: number | string | SignalLike; - y2?: number | string | SignalLike; - y?: number | string | SignalLike; - yChannelSelector?: string | SignalLike; - z?: number | string | SignalLike; - zoomAndPan?: string | SignalLike; + | undefined + | SignalLike<'miter' | 'round' | 'bevel' | 'inherit' | undefined>; + strokeMiterlimit?: + | string + | number + | undefined + | SignalLike; + strokeOpacity?: + | number + | string + | undefined + | SignalLike; + strokeWidth?: + | number + | string + | undefined + | SignalLike; + surfaceScale?: + | number + | string + | undefined + | SignalLike; + systemLanguage?: + | number + | string + | undefined + | SignalLike; + tableValues?: + | number + | string + | undefined + | SignalLike; + targetX?: + | number + | string + | undefined + | SignalLike; + targetY?: + | number + | string + | undefined + | SignalLike; + textAnchor?: string | undefined | SignalLike; + textDecoration?: + | number + | string + | undefined + | SignalLike; + textLength?: + | number + | string + | undefined + | SignalLike; + textRendering?: + | number + | string + | undefined + | SignalLike; + to?: number | string | undefined | SignalLike; + transform?: string | undefined | SignalLike; + u1?: number | string | undefined | SignalLike; + u2?: number | string | undefined | SignalLike; + underlinePosition?: + | number + | string + | undefined + | SignalLike; + underlineThickness?: + | number + | string + | undefined + | SignalLike; + unicode?: + | number + | string + | undefined + | SignalLike; + unicodeBidi?: + | number + | string + | undefined + | SignalLike; + unicodeRange?: + | number + | string + | undefined + | SignalLike; + unitsPerEm?: + | number + | string + | undefined + | SignalLike; + vAlphabetic?: + | number + | string + | undefined + | SignalLike; + values?: string | undefined | SignalLike; + vectorEffect?: + | number + | string + | undefined + | SignalLike; + version?: string | undefined | SignalLike; + vertAdvY?: + | number + | string + | undefined + | SignalLike; + vertOriginX?: + | number + | string + | undefined + | SignalLike; + vertOriginY?: + | number + | string + | undefined + | SignalLike; + vHanging?: + | number + | string + | undefined + | SignalLike; + vIdeographic?: + | number + | string + | undefined + | SignalLike; + viewBox?: string | undefined | SignalLike; + viewTarget?: + | number + | string + | undefined + | SignalLike; + visibility?: + | number + | string + | undefined + | SignalLike; + vMathematical?: + | number + | string + | undefined + | SignalLike; + widths?: + | number + | string + | undefined + | SignalLike; + wordSpacing?: + | number + | string + | undefined + | SignalLike; + writingMode?: + | number + | string + | undefined + | SignalLike; + x1?: number | string | undefined | SignalLike; + x2?: number | string | undefined | SignalLike; + x?: number | string | undefined | SignalLike; + xChannelSelector?: string | undefined | SignalLike; + xHeight?: + | number + | string + | undefined + | SignalLike; + xlinkActuate?: string | undefined | SignalLike; + xlinkArcrole?: string | undefined | SignalLike; + xlinkHref?: string | undefined | SignalLike; + xlinkRole?: string | undefined | SignalLike; + xlinkShow?: string | undefined | SignalLike; + xlinkTitle?: string | undefined | SignalLike; + xlinkType?: string | undefined | SignalLike; + xmlBase?: string | undefined | SignalLike; + xmlLang?: string | undefined | SignalLike; + xmlns?: string | undefined | SignalLike; + xmlnsXlink?: string | undefined | SignalLike; + xmlSpace?: string | undefined | SignalLike; + y1?: number | string | undefined | SignalLike; + y2?: number | string | undefined | SignalLike; + y?: number | string | undefined | SignalLike; + yChannelSelector?: string | undefined | SignalLike; + z?: number | string | undefined | SignalLike; + zoomAndPan?: string | undefined | SignalLike; } export interface PathAttributes { @@ -376,12 +1027,15 @@ export namespace JSXInternal { readonly currentTarget: Target; }; - export type TargetedAnimationEvent = - TargetedEvent; - export type TargetedClipboardEvent = - TargetedEvent; - export type TargetedCompositionEvent = - TargetedEvent; + export type TargetedAnimationEvent< + Target extends EventTarget + > = TargetedEvent; + export type TargetedClipboardEvent< + Target extends EventTarget + > = TargetedEvent; + export type TargetedCompositionEvent< + Target extends EventTarget + > = TargetedEvent; export type TargetedDragEvent = TargetedEvent< Target, DragEvent @@ -406,8 +1060,9 @@ export namespace JSXInternal { Target, TouchEvent >; - export type TargetedTransitionEvent = - TargetedEvent; + export type TargetedTransitionEvent< + Target extends EventTarget + > = TargetedEvent; export type TargetedUIEvent = TargetedEvent< Target, UIEvent @@ -427,8 +1082,9 @@ export namespace JSXInternal { export type ClipboardEventHandler = EventHandler< TargetedClipboardEvent >; - export type CompositionEventHandler = - EventHandler>; + export type CompositionEventHandler< + Target extends EventTarget + > = EventHandler>; export type DragEventHandler = EventHandler< TargetedDragEvent >; @@ -463,201 +1119,201 @@ export namespace JSXInternal { export interface DOMAttributes extends PreactDOMAttributes { // Image Events - onLoad?: GenericEventHandler; - onLoadCapture?: GenericEventHandler; - onError?: GenericEventHandler; - onErrorCapture?: GenericEventHandler; + onLoad?: GenericEventHandler | undefined; + onLoadCapture?: GenericEventHandler | undefined; + onError?: GenericEventHandler | undefined; + onErrorCapture?: GenericEventHandler | undefined; // Clipboard Events - onCopy?: ClipboardEventHandler; - onCopyCapture?: ClipboardEventHandler; - onCut?: ClipboardEventHandler; - onCutCapture?: ClipboardEventHandler; - onPaste?: ClipboardEventHandler; - onPasteCapture?: ClipboardEventHandler; + onCopy?: ClipboardEventHandler | undefined; + onCopyCapture?: ClipboardEventHandler | undefined; + onCut?: ClipboardEventHandler | undefined; + onCutCapture?: ClipboardEventHandler | undefined; + onPaste?: ClipboardEventHandler | undefined; + onPasteCapture?: ClipboardEventHandler | undefined; // Composition Events - onCompositionEnd?: CompositionEventHandler; - onCompositionEndCapture?: CompositionEventHandler; - onCompositionStart?: CompositionEventHandler; - onCompositionStartCapture?: CompositionEventHandler; - onCompositionUpdate?: CompositionEventHandler; - onCompositionUpdateCapture?: CompositionEventHandler; + onCompositionEnd?: CompositionEventHandler | undefined; + onCompositionEndCapture?: CompositionEventHandler | undefined; + onCompositionStart?: CompositionEventHandler | undefined; + onCompositionStartCapture?: CompositionEventHandler | undefined; + onCompositionUpdate?: CompositionEventHandler | undefined; + onCompositionUpdateCapture?: CompositionEventHandler | undefined; // Details Events - onToggle?: GenericEventHandler; + onToggle?: GenericEventHandler | undefined; // Focus Events - onFocus?: FocusEventHandler; - onFocusCapture?: FocusEventHandler; - onfocusin?: FocusEventHandler; - onfocusinCapture?: FocusEventHandler; - onfocusout?: FocusEventHandler; - onfocusoutCapture?: FocusEventHandler; - onBlur?: FocusEventHandler; - onBlurCapture?: FocusEventHandler; + onFocus?: FocusEventHandler | undefined; + onFocusCapture?: FocusEventHandler | undefined; + onfocusin?: FocusEventHandler | undefined; + onfocusinCapture?: FocusEventHandler | undefined; + onfocusout?: FocusEventHandler | undefined; + onfocusoutCapture?: FocusEventHandler | undefined; + onBlur?: FocusEventHandler | undefined; + onBlurCapture?: FocusEventHandler | undefined; // Form Events - onChange?: GenericEventHandler; - onChangeCapture?: GenericEventHandler; - onInput?: GenericEventHandler; - onInputCapture?: GenericEventHandler; - onBeforeInput?: GenericEventHandler; - onBeforeInputCapture?: GenericEventHandler; - onSearch?: GenericEventHandler; - onSearchCapture?: GenericEventHandler; - onSubmit?: GenericEventHandler; - onSubmitCapture?: GenericEventHandler; - onInvalid?: GenericEventHandler; - onInvalidCapture?: GenericEventHandler; - onReset?: GenericEventHandler; - onResetCapture?: GenericEventHandler; - onFormData?: GenericEventHandler; - onFormDataCapture?: GenericEventHandler; + onChange?: GenericEventHandler | undefined; + onChangeCapture?: GenericEventHandler | undefined; + onInput?: GenericEventHandler | undefined; + onInputCapture?: GenericEventHandler | undefined; + onBeforeInput?: GenericEventHandler | undefined; + onBeforeInputCapture?: GenericEventHandler | undefined; + onSearch?: GenericEventHandler | undefined; + onSearchCapture?: GenericEventHandler | undefined; + onSubmit?: GenericEventHandler | undefined; + onSubmitCapture?: GenericEventHandler | undefined; + onInvalid?: GenericEventHandler | undefined; + onInvalidCapture?: GenericEventHandler | undefined; + onReset?: GenericEventHandler | undefined; + onResetCapture?: GenericEventHandler | undefined; + onFormData?: GenericEventHandler | undefined; + onFormDataCapture?: GenericEventHandler | undefined; // Keyboard Events - onKeyDown?: KeyboardEventHandler; - onKeyDownCapture?: KeyboardEventHandler; - onKeyPress?: KeyboardEventHandler; - onKeyPressCapture?: KeyboardEventHandler; - onKeyUp?: KeyboardEventHandler; - onKeyUpCapture?: KeyboardEventHandler; + onKeyDown?: KeyboardEventHandler | undefined; + onKeyDownCapture?: KeyboardEventHandler | undefined; + onKeyPress?: KeyboardEventHandler | undefined; + onKeyPressCapture?: KeyboardEventHandler | undefined; + onKeyUp?: KeyboardEventHandler | undefined; + onKeyUpCapture?: KeyboardEventHandler | undefined; // Media Events - onAbort?: GenericEventHandler; - onAbortCapture?: GenericEventHandler; - onCanPlay?: GenericEventHandler; - onCanPlayCapture?: GenericEventHandler; - onCanPlayThrough?: GenericEventHandler; - onCanPlayThroughCapture?: GenericEventHandler; - onDurationChange?: GenericEventHandler; - onDurationChangeCapture?: GenericEventHandler; - onEmptied?: GenericEventHandler; - onEmptiedCapture?: GenericEventHandler; - onEncrypted?: GenericEventHandler; - onEncryptedCapture?: GenericEventHandler; - onEnded?: GenericEventHandler; - onEndedCapture?: GenericEventHandler; - onLoadedData?: GenericEventHandler; - onLoadedDataCapture?: GenericEventHandler; - onLoadedMetadata?: GenericEventHandler; - onLoadedMetadataCapture?: GenericEventHandler; - onLoadStart?: GenericEventHandler; - onLoadStartCapture?: GenericEventHandler; - onPause?: GenericEventHandler; - onPauseCapture?: GenericEventHandler; - onPlay?: GenericEventHandler; - onPlayCapture?: GenericEventHandler; - onPlaying?: GenericEventHandler; - onPlayingCapture?: GenericEventHandler; - onProgress?: GenericEventHandler; - onProgressCapture?: GenericEventHandler; - onRateChange?: GenericEventHandler; - onRateChangeCapture?: GenericEventHandler; - onSeeked?: GenericEventHandler; - onSeekedCapture?: GenericEventHandler; - onSeeking?: GenericEventHandler; - onSeekingCapture?: GenericEventHandler; - onStalled?: GenericEventHandler; - onStalledCapture?: GenericEventHandler; - onSuspend?: GenericEventHandler; - onSuspendCapture?: GenericEventHandler; - onTimeUpdate?: GenericEventHandler; - onTimeUpdateCapture?: GenericEventHandler; - onVolumeChange?: GenericEventHandler; - onVolumeChangeCapture?: GenericEventHandler; - onWaiting?: GenericEventHandler; - onWaitingCapture?: GenericEventHandler; + onAbort?: GenericEventHandler | undefined; + onAbortCapture?: GenericEventHandler | undefined; + onCanPlay?: GenericEventHandler | undefined; + onCanPlayCapture?: GenericEventHandler | undefined; + onCanPlayThrough?: GenericEventHandler | undefined; + onCanPlayThroughCapture?: GenericEventHandler | undefined; + onDurationChange?: GenericEventHandler | undefined; + onDurationChangeCapture?: GenericEventHandler | undefined; + onEmptied?: GenericEventHandler | undefined; + onEmptiedCapture?: GenericEventHandler | undefined; + onEncrypted?: GenericEventHandler | undefined; + onEncryptedCapture?: GenericEventHandler | undefined; + onEnded?: GenericEventHandler | undefined; + onEndedCapture?: GenericEventHandler | undefined; + onLoadedData?: GenericEventHandler | undefined; + onLoadedDataCapture?: GenericEventHandler | undefined; + onLoadedMetadata?: GenericEventHandler | undefined; + onLoadedMetadataCapture?: GenericEventHandler | undefined; + onLoadStart?: GenericEventHandler | undefined; + onLoadStartCapture?: GenericEventHandler | undefined; + onPause?: GenericEventHandler | undefined; + onPauseCapture?: GenericEventHandler | undefined; + onPlay?: GenericEventHandler | undefined; + onPlayCapture?: GenericEventHandler | undefined; + onPlaying?: GenericEventHandler | undefined; + onPlayingCapture?: GenericEventHandler | undefined; + onProgress?: GenericEventHandler | undefined; + onProgressCapture?: GenericEventHandler | undefined; + onRateChange?: GenericEventHandler | undefined; + onRateChangeCapture?: GenericEventHandler | undefined; + onSeeked?: GenericEventHandler | undefined; + onSeekedCapture?: GenericEventHandler | undefined; + onSeeking?: GenericEventHandler | undefined; + onSeekingCapture?: GenericEventHandler | undefined; + onStalled?: GenericEventHandler | undefined; + onStalledCapture?: GenericEventHandler | undefined; + onSuspend?: GenericEventHandler | undefined; + onSuspendCapture?: GenericEventHandler | undefined; + onTimeUpdate?: GenericEventHandler | undefined; + onTimeUpdateCapture?: GenericEventHandler | undefined; + onVolumeChange?: GenericEventHandler | undefined; + onVolumeChangeCapture?: GenericEventHandler | undefined; + onWaiting?: GenericEventHandler | undefined; + onWaitingCapture?: GenericEventHandler | undefined; // MouseEvents - onClick?: MouseEventHandler; - onClickCapture?: MouseEventHandler; - onContextMenu?: MouseEventHandler; - onContextMenuCapture?: MouseEventHandler; - onDblClick?: MouseEventHandler; - onDblClickCapture?: MouseEventHandler; - onDrag?: DragEventHandler; - onDragCapture?: DragEventHandler; - onDragEnd?: DragEventHandler; - onDragEndCapture?: DragEventHandler; - onDragEnter?: DragEventHandler; - onDragEnterCapture?: DragEventHandler; - onDragExit?: DragEventHandler; - onDragExitCapture?: DragEventHandler; - onDragLeave?: DragEventHandler; - onDragLeaveCapture?: DragEventHandler; - onDragOver?: DragEventHandler; - onDragOverCapture?: DragEventHandler; - onDragStart?: DragEventHandler; - onDragStartCapture?: DragEventHandler; - onDrop?: DragEventHandler; - onDropCapture?: DragEventHandler; - onMouseDown?: MouseEventHandler; - onMouseDownCapture?: MouseEventHandler; - onMouseEnter?: MouseEventHandler; - onMouseEnterCapture?: MouseEventHandler; - onMouseLeave?: MouseEventHandler; - onMouseLeaveCapture?: MouseEventHandler; - onMouseMove?: MouseEventHandler; - onMouseMoveCapture?: MouseEventHandler; - onMouseOut?: MouseEventHandler; - onMouseOutCapture?: MouseEventHandler; - onMouseOver?: MouseEventHandler; - onMouseOverCapture?: MouseEventHandler; - onMouseUp?: MouseEventHandler; - onMouseUpCapture?: MouseEventHandler; + onClick?: MouseEventHandler | undefined; + onClickCapture?: MouseEventHandler | undefined; + onContextMenu?: MouseEventHandler | undefined; + onContextMenuCapture?: MouseEventHandler | undefined; + onDblClick?: MouseEventHandler | undefined; + onDblClickCapture?: MouseEventHandler | undefined; + onDrag?: DragEventHandler | undefined; + onDragCapture?: DragEventHandler | undefined; + onDragEnd?: DragEventHandler | undefined; + onDragEndCapture?: DragEventHandler | undefined; + onDragEnter?: DragEventHandler | undefined; + onDragEnterCapture?: DragEventHandler | undefined; + onDragExit?: DragEventHandler | undefined; + onDragExitCapture?: DragEventHandler | undefined; + onDragLeave?: DragEventHandler | undefined; + onDragLeaveCapture?: DragEventHandler | undefined; + onDragOver?: DragEventHandler | undefined; + onDragOverCapture?: DragEventHandler | undefined; + onDragStart?: DragEventHandler | undefined; + onDragStartCapture?: DragEventHandler | undefined; + onDrop?: DragEventHandler | undefined; + onDropCapture?: DragEventHandler | undefined; + onMouseDown?: MouseEventHandler | undefined; + onMouseDownCapture?: MouseEventHandler | undefined; + onMouseEnter?: MouseEventHandler | undefined; + onMouseEnterCapture?: MouseEventHandler | undefined; + onMouseLeave?: MouseEventHandler | undefined; + onMouseLeaveCapture?: MouseEventHandler | undefined; + onMouseMove?: MouseEventHandler | undefined; + onMouseMoveCapture?: MouseEventHandler | undefined; + onMouseOut?: MouseEventHandler | undefined; + onMouseOutCapture?: MouseEventHandler | undefined; + onMouseOver?: MouseEventHandler | undefined; + onMouseOverCapture?: MouseEventHandler | undefined; + onMouseUp?: MouseEventHandler | undefined; + onMouseUpCapture?: MouseEventHandler | undefined; // Selection Events - onSelect?: GenericEventHandler; - onSelectCapture?: GenericEventHandler; + onSelect?: GenericEventHandler | undefined; + onSelectCapture?: GenericEventHandler | undefined; // Touch Events - onTouchCancel?: TouchEventHandler; - onTouchCancelCapture?: TouchEventHandler; - onTouchEnd?: TouchEventHandler; - onTouchEndCapture?: TouchEventHandler; - onTouchMove?: TouchEventHandler; - onTouchMoveCapture?: TouchEventHandler; - onTouchStart?: TouchEventHandler; - onTouchStartCapture?: TouchEventHandler; + onTouchCancel?: TouchEventHandler | undefined; + onTouchCancelCapture?: TouchEventHandler | undefined; + onTouchEnd?: TouchEventHandler | undefined; + onTouchEndCapture?: TouchEventHandler | undefined; + onTouchMove?: TouchEventHandler | undefined; + onTouchMoveCapture?: TouchEventHandler | undefined; + onTouchStart?: TouchEventHandler | undefined; + onTouchStartCapture?: TouchEventHandler | undefined; // Pointer Events - onPointerOver?: PointerEventHandler; - onPointerOverCapture?: PointerEventHandler; - onPointerEnter?: PointerEventHandler; - onPointerEnterCapture?: PointerEventHandler; - onPointerDown?: PointerEventHandler; - onPointerDownCapture?: PointerEventHandler; - onPointerMove?: PointerEventHandler; - onPointerMoveCapture?: PointerEventHandler; - onPointerUp?: PointerEventHandler; - onPointerUpCapture?: PointerEventHandler; - onPointerCancel?: PointerEventHandler; - onPointerCancelCapture?: PointerEventHandler; - onPointerOut?: PointerEventHandler; - onPointerOutCapture?: PointerEventHandler; - onPointerLeave?: PointerEventHandler; - onPointerLeaveCapture?: PointerEventHandler; - onGotPointerCapture?: PointerEventHandler; - onGotPointerCaptureCapture?: PointerEventHandler; - onLostPointerCapture?: PointerEventHandler; - onLostPointerCaptureCapture?: PointerEventHandler; + onPointerOver?: PointerEventHandler | undefined; + onPointerOverCapture?: PointerEventHandler | undefined; + onPointerEnter?: PointerEventHandler | undefined; + onPointerEnterCapture?: PointerEventHandler | undefined; + onPointerDown?: PointerEventHandler | undefined; + onPointerDownCapture?: PointerEventHandler | undefined; + onPointerMove?: PointerEventHandler | undefined; + onPointerMoveCapture?: PointerEventHandler | undefined; + onPointerUp?: PointerEventHandler | undefined; + onPointerUpCapture?: PointerEventHandler | undefined; + onPointerCancel?: PointerEventHandler | undefined; + onPointerCancelCapture?: PointerEventHandler | undefined; + onPointerOut?: PointerEventHandler | undefined; + onPointerOutCapture?: PointerEventHandler | undefined; + onPointerLeave?: PointerEventHandler | undefined; + onPointerLeaveCapture?: PointerEventHandler | undefined; + onGotPointerCapture?: PointerEventHandler | undefined; + onGotPointerCaptureCapture?: PointerEventHandler | undefined; + onLostPointerCapture?: PointerEventHandler | undefined; + onLostPointerCaptureCapture?: PointerEventHandler | undefined; // UI Events - onScroll?: UIEventHandler; - onScrollCapture?: UIEventHandler; + onScroll?: UIEventHandler | undefined; + onScrollCapture?: UIEventHandler | undefined; // Wheel Events - onWheel?: WheelEventHandler; - onWheelCapture?: WheelEventHandler; + onWheel?: WheelEventHandler | undefined; + onWheelCapture?: WheelEventHandler | undefined; // Animation Events - onAnimationStart?: AnimationEventHandler; - onAnimationStartCapture?: AnimationEventHandler; - onAnimationEnd?: AnimationEventHandler; - onAnimationEndCapture?: AnimationEventHandler; - onAnimationIteration?: AnimationEventHandler; - onAnimationIterationCapture?: AnimationEventHandler; + onAnimationStart?: AnimationEventHandler | undefined; + onAnimationStartCapture?: AnimationEventHandler | undefined; + onAnimationEnd?: AnimationEventHandler | undefined; + onAnimationEndCapture?: AnimationEventHandler | undefined; + onAnimationIteration?: AnimationEventHandler | undefined; + onAnimationIterationCapture?: AnimationEventHandler | undefined; // Transition Events onTransitionEnd?: TransitionEventHandler; @@ -668,58 +1324,67 @@ export namespace JSXInternal { extends ClassAttributes, DOMAttributes { // Standard HTML Attributes - accept?: string | SignalLike; - acceptCharset?: string | SignalLike; - accessKey?: string | SignalLike; - action?: string | SignalLike; - allow?: string | SignalLike; - allowFullScreen?: boolean | SignalLike; - allowTransparency?: boolean | SignalLike; - alt?: string | SignalLike; - as?: string | SignalLike; - async?: boolean | SignalLike; - autocomplete?: string | SignalLike; - autoComplete?: string | SignalLike; - autocorrect?: string | SignalLike; - autoCorrect?: string | SignalLike; - autofocus?: boolean | SignalLike; - autoFocus?: boolean | SignalLike; - autoPlay?: boolean | SignalLike; - capture?: boolean | string | SignalLike; - cellPadding?: number | string | SignalLike; - cellSpacing?: number | string | SignalLike; - charSet?: string | SignalLike; - challenge?: string | SignalLike; - checked?: boolean | SignalLike; - cite?: string | SignalLike; + accept?: string | undefined | SignalLike; + acceptCharset?: string | undefined | SignalLike; + accessKey?: string | undefined | SignalLike; + action?: string | undefined | SignalLike; + allow?: string | undefined | SignalLike; + allowFullScreen?: boolean | undefined | SignalLike; + allowTransparency?: boolean | undefined | SignalLike; + alt?: string | undefined | SignalLike; + as?: string | undefined | SignalLike; + async?: boolean | undefined | SignalLike; + autocomplete?: string | undefined | SignalLike; + autoComplete?: string | undefined | SignalLike; + autocorrect?: string | undefined | SignalLike; + autoCorrect?: string | undefined | SignalLike; + autofocus?: boolean | undefined | SignalLike; + autoFocus?: boolean | undefined | SignalLike; + autoPlay?: boolean | undefined | SignalLike; + capture?: boolean | string | undefined | SignalLike; + cellPadding?: number | string | undefined | SignalLike; + cellSpacing?: number | string | undefined | SignalLike; + charSet?: string | undefined | SignalLike; + challenge?: string | undefined | SignalLike; + checked?: boolean | undefined | SignalLike; + cite?: string | undefined | SignalLike; class?: string | undefined | SignalLike; className?: string | undefined | SignalLike; - cols?: number | SignalLike; - colSpan?: number | SignalLike; - content?: string | SignalLike; - contentEditable?: boolean | SignalLike; - contextMenu?: string | SignalLike; - controls?: boolean | SignalLike; - controlsList?: string | SignalLike; - coords?: string | SignalLike; - crossOrigin?: string | SignalLike; - data?: string | SignalLike; - dateTime?: string | SignalLike; - default?: boolean | SignalLike; - defaultChecked?: boolean | SignalLike; - defaultValue?: string | SignalLike; - defer?: boolean | SignalLike; - dir?: 'auto' | 'rtl' | 'ltr' | SignalLike<'auto' | 'rtl' | 'ltr'>; - disabled?: boolean | SignalLike; - disableRemotePlayback?: boolean | SignalLike; - download?: any; + cols?: number | undefined | SignalLike; + colSpan?: number | undefined | SignalLike; + content?: string | undefined | SignalLike; + contentEditable?: boolean | undefined | SignalLike; + contextMenu?: string | undefined | SignalLike; + controls?: boolean | undefined | SignalLike; + controlsList?: string | undefined | SignalLike; + coords?: string | undefined | SignalLike; + crossOrigin?: string | undefined | SignalLike; + data?: string | undefined | SignalLike; + dateTime?: string | undefined | SignalLike; + default?: boolean | undefined | SignalLike; + defaultChecked?: boolean | undefined | SignalLike; + defaultValue?: string | undefined | SignalLike; + defer?: boolean | undefined | SignalLike; + dir?: + | 'auto' + | 'rtl' + | 'ltr' + | undefined + | SignalLike<'auto' | 'rtl' | 'ltr' | undefined>; + disabled?: boolean | undefined | SignalLike; + disableRemotePlayback?: + | boolean + | undefined + | SignalLike; + download?: any | undefined; decoding?: | 'sync' | 'async' | 'auto' - | SignalLike<'sync' | 'async' | 'auto'>; - draggable?: boolean | SignalLike; - encType?: string | SignalLike; + | undefined + | SignalLike<'sync' | 'async' | 'auto' | undefined>; + draggable?: boolean | undefined | SignalLike; + encType?: string | undefined | SignalLike; enterkeyhint?: | 'enter' | 'done' @@ -728,67 +1393,87 @@ export namespace JSXInternal { | 'previous' | 'search' | 'send' + | undefined | SignalLike< - 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' + | 'enter' + | 'done' + | 'go' + | 'next' + | 'previous' + | 'search' + | 'send' + | undefined >; - form?: string | SignalLike; - formAction?: string | SignalLike; - formEncType?: string | SignalLike; - formMethod?: string | SignalLike; - formNoValidate?: boolean | SignalLike; - formTarget?: string | SignalLike; - frameBorder?: number | string | SignalLike; - headers?: string | SignalLike; - height?: number | string | SignalLike; - hidden?: boolean | SignalLike; - high?: number | SignalLike; - href?: string | SignalLike; - hrefLang?: string | SignalLike; - for?: string | SignalLike; - htmlFor?: string | SignalLike; - httpEquiv?: string | SignalLike; - icon?: string | SignalLike; - id?: string | SignalLike; - inputMode?: string | SignalLike; - integrity?: string | SignalLike; - is?: string | SignalLike; - keyParams?: string | SignalLike; - keyType?: string | SignalLike; - kind?: string | SignalLike; - label?: string | SignalLike; - lang?: string | SignalLike; - list?: string | SignalLike; - loading?: 'eager' | 'lazy' | SignalLike<'eager' | 'lazy'>; - loop?: boolean | SignalLike; - low?: number | SignalLike; - manifest?: string | SignalLike; - marginHeight?: number | SignalLike; - marginWidth?: number | SignalLike; - max?: number | string | SignalLike; - maxLength?: number | SignalLike; - media?: string | SignalLike; - mediaGroup?: string | SignalLike; - method?: string | SignalLike; - min?: number | string | SignalLike; - minLength?: number | SignalLike; - multiple?: boolean | SignalLike; - muted?: boolean | SignalLike; - name?: string | SignalLike; - nomodule?: boolean | SignalLike; - nonce?: string | SignalLike; - noValidate?: boolean | SignalLike; - open?: boolean | SignalLike; - optimum?: number | SignalLike; - part?: string | SignalLike; - pattern?: string | SignalLike; - ping?: string | SignalLike; - placeholder?: string | SignalLike; - playsInline?: boolean | SignalLike; - poster?: string | SignalLike; - preload?: string | SignalLike; - radioGroup?: string | SignalLike; - readonly?: boolean | SignalLike; - readOnly?: boolean | SignalLike; + form?: string | undefined | SignalLike; + formAction?: string | undefined | SignalLike; + formEncType?: string | undefined | SignalLike; + formMethod?: string | undefined | SignalLike; + formNoValidate?: boolean | undefined | SignalLike; + formTarget?: string | undefined | SignalLike; + frameBorder?: + | number + | string + | undefined + | SignalLike; + headers?: string | undefined | SignalLike; + height?: + | number + | string + | undefined + | SignalLike; + hidden?: boolean | undefined | SignalLike; + high?: number | undefined | SignalLike; + href?: string | undefined | SignalLike; + hrefLang?: string | undefined | SignalLike; + for?: string | undefined | SignalLike; + htmlFor?: string | undefined | SignalLike; + httpEquiv?: string | undefined | SignalLike; + icon?: string | undefined | SignalLike; + id?: string | undefined | SignalLike; + inputMode?: string | undefined | SignalLike; + integrity?: string | undefined | SignalLike; + is?: string | undefined | SignalLike; + keyParams?: string | undefined | SignalLike; + keyType?: string | undefined | SignalLike; + kind?: string | undefined | SignalLike; + label?: string | undefined | SignalLike; + lang?: string | undefined | SignalLike; + list?: string | undefined | SignalLike; + loading?: + | 'eager' + | 'lazy' + | undefined + | SignalLike<'eager' | 'lazy' | undefined>; + loop?: boolean | undefined | SignalLike; + low?: number | undefined | SignalLike; + manifest?: string | undefined | SignalLike; + marginHeight?: number | undefined | SignalLike; + marginWidth?: number | undefined | SignalLike; + max?: number | string | undefined | SignalLike; + maxLength?: number | undefined | SignalLike; + media?: string | undefined | SignalLike; + mediaGroup?: string | undefined | SignalLike; + method?: string | undefined | SignalLike; + min?: number | string | undefined | SignalLike; + minLength?: number | undefined | SignalLike; + multiple?: boolean | undefined | SignalLike; + muted?: boolean | undefined | SignalLike; + name?: string | undefined | SignalLike; + nomodule?: boolean | undefined | SignalLike; + nonce?: string | undefined | SignalLike; + noValidate?: boolean | undefined | SignalLike; + open?: boolean | undefined | SignalLike; + optimum?: number | undefined | SignalLike; + part?: string | undefined | SignalLike; + pattern?: string | undefined | SignalLike; + ping?: string | undefined | SignalLike; + placeholder?: string | undefined | SignalLike; + playsInline?: boolean | undefined | SignalLike; + poster?: string | undefined | SignalLike; + preload?: string | undefined | SignalLike; + radioGroup?: string | undefined | SignalLike; + readonly?: boolean | undefined | SignalLike; + readOnly?: boolean | undefined | SignalLike; referrerpolicy?: | 'no-referrer' | 'no-referrer-when-downgrade' @@ -798,6 +1483,7 @@ export namespace JSXInternal { | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' + | undefined | SignalLike< | 'no-referrer' | 'no-referrer-when-downgrade' @@ -807,45 +1493,67 @@ export namespace JSXInternal { | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' + | undefined >; - rel?: string | SignalLike; - required?: boolean | SignalLike; - reversed?: boolean | SignalLike; - role?: string | SignalLike; - rows?: number | SignalLike; - rowSpan?: number | SignalLike; - sandbox?: string | SignalLike; - scope?: string | SignalLike; - scoped?: boolean | SignalLike; - scrolling?: string | SignalLike; - seamless?: boolean | SignalLike; - selected?: boolean | SignalLike; - shape?: string | SignalLike; - size?: number | SignalLike; - sizes?: string | SignalLike; - slot?: string | SignalLike; - span?: number | SignalLike; - spellcheck?: boolean | SignalLike; - spellCheck?: boolean | SignalLike; - src?: string | SignalLike; - srcset?: string | SignalLike; - srcDoc?: string | SignalLike; - srcLang?: string | SignalLike; - srcSet?: string | SignalLike; - start?: number | SignalLike; - step?: number | string | SignalLike; - style?: string | CSSProperties | SignalLike; - summary?: string | SignalLike; - tabIndex?: number | SignalLike; - target?: string | SignalLike; - title?: string | SignalLike; - type?: string | SignalLike; - useMap?: string | SignalLike; - value?: string | string[] | number | SignalLike; - volume?: string | number | SignalLike; - width?: number | string | SignalLike; - wmode?: string | SignalLike; - wrap?: string | SignalLike; + rel?: string | undefined | SignalLike; + required?: boolean | undefined | SignalLike; + reversed?: boolean | undefined | SignalLike; + role?: string | undefined | SignalLike; + rows?: number | undefined | SignalLike; + rowSpan?: number | undefined | SignalLike; + sandbox?: string | undefined | SignalLike; + scope?: string | undefined | SignalLike; + scoped?: boolean | undefined | SignalLike; + scrolling?: string | undefined | SignalLike; + seamless?: boolean | undefined | SignalLike; + selected?: boolean | undefined | SignalLike; + shape?: string | undefined | SignalLike; + size?: number | undefined | SignalLike; + sizes?: string | undefined | SignalLike; + slot?: string | undefined | SignalLike; + span?: number | undefined | SignalLike; + spellcheck?: boolean | undefined | SignalLike; + spellCheck?: boolean | undefined | SignalLike; + src?: string | undefined | SignalLike; + srcset?: string | undefined | SignalLike; + srcDoc?: string | undefined | SignalLike; + srcLang?: string | undefined | SignalLike; + srcSet?: string | undefined | SignalLike; + start?: number | undefined | SignalLike; + step?: + | number + | string + | undefined + | SignalLike; + style?: + | string + | CSSProperties + | undefined + | SignalLike; + summary?: string | undefined | SignalLike; + tabIndex?: number | undefined | SignalLike; + target?: string | undefined | SignalLike; + title?: string | undefined | SignalLike; + type?: string | undefined | SignalLike; + useMap?: string | undefined | SignalLike; + value?: + | string + | string[] + | number + | undefined + | SignalLike; + volume?: + | string + | number + | undefined + | SignalLike; + width?: + | number + | string + | undefined + | SignalLike; + wmode?: string | undefined | SignalLike; + wrap?: string | undefined | SignalLike; // Non-standard Attributes autocapitalize?: @@ -855,8 +1563,15 @@ export namespace JSXInternal { | 'sentences' | 'words' | 'characters' + | undefined | SignalLike< - 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' + | 'off' + | 'none' + | 'on' + | 'sentences' + | 'words' + | 'characters' + | undefined >; autoCapitalize?: | 'off' @@ -865,29 +1580,39 @@ export namespace JSXInternal { | 'sentences' | 'words' | 'characters' + | undefined | SignalLike< - 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' + | 'off' + | 'none' + | 'on' + | 'sentences' + | 'words' + | 'characters' + | undefined >; - disablePictureInPicture?: boolean | SignalLike; - results?: number | SignalLike; - translate?: 'yes' | 'no' | SignalLike<'yes' | 'no'>; + disablePictureInPicture?: + | boolean + | undefined + | SignalLike; + results?: number | undefined | SignalLike; + translate?: 'yes' | 'no' | undefined | SignalLike<'yes' | 'no' | undefined>; // RDFa Attributes - about?: string | SignalLike; - datatype?: string | SignalLike; + about?: string | undefined | SignalLike; + datatype?: string | undefined | SignalLike; inlist?: any; - prefix?: string | SignalLike; - property?: string | SignalLike; - resource?: string | SignalLike; - typeof?: string | SignalLike; - vocab?: string | SignalLike; + prefix?: string | undefined | SignalLike; + property?: string | undefined | SignalLike; + resource?: string | undefined | SignalLike; + typeof?: string | undefined | SignalLike; + vocab?: string | undefined | SignalLike; // Microdata Attributes - itemProp?: string | SignalLike; - itemScope?: boolean | SignalLike; - itemType?: string | SignalLike; - itemID?: string | SignalLike; - itemRef?: string | SignalLike; + itemProp?: string | undefined | SignalLike; + itemScope?: boolean | undefined | SignalLike; + itemType?: string | undefined | SignalLike; + itemID?: string | undefined | SignalLike; + itemRef?: string | undefined | SignalLike; } export type DetailedHTMLProps< @@ -900,22 +1625,52 @@ export namespace JSXInternal { | 'scroll' | 'slide' | 'alternate' - | SignalLike<'scroll' | 'slide' | 'alternate'>; - bgColor?: string | SignalLike; + | undefined + | SignalLike<'scroll' | 'slide' | 'alternate' | undefined>; + bgColor?: string | undefined | SignalLike; direction?: | 'left' | 'right' | 'up' | 'down' - | SignalLike<'left' | 'right' | 'up' | 'down'>; - height?: number | string | SignalLike; - hspace?: number | string | SignalLike; - loop?: number | string | SignalLike; - scrollAmount?: number | string | SignalLike; - scrollDelay?: number | string | SignalLike; - trueSpeed?: boolean | SignalLike; - vspace?: number | string | SignalLike; - width?: number | string | SignalLike; + | undefined + | SignalLike<'left' | 'right' | 'up' | 'down' | undefined>; + height?: + | number + | string + | undefined + | SignalLike; + hspace?: + | number + | string + | undefined + | SignalLike; + loop?: + | number + | string + | undefined + | SignalLike; + scrollAmount?: + | number + | string + | undefined + | SignalLike; + scrollDelay?: + | number + | string + | undefined + | SignalLike; + trueSpeed?: boolean | undefined | SignalLike; + vspace?: + | number + | string + | undefined + | SignalLike; + width?: + | number + | string + | undefined + | SignalLike; } export interface IntrinsicElements { From 1581fe02aaa75dd8a294bd016e9561f14cf78b4a Mon Sep 17 00:00:00 2001 From: deadem Date: Tue, 24 Jan 2023 13:51:52 +0300 Subject: [PATCH 2/2] add exactOptionalPropertyTypes support to jsx and key attributes --- src/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.d.ts b/src/index.d.ts index cbf8040120..35f3258a9c 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -53,8 +53,8 @@ export type ComponentChild = export type ComponentChildren = ComponentChild[] | ComponentChild; export interface Attributes { - key?: Key; - jsx?: boolean; + key?: Key | undefined; + jsx?: boolean | undefined; } export interface ClassAttributes extends Attributes {