From 67c50ebfa5d5d58c5b515d0ef9fb2f0de39e0f13 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 24 Feb 2025 07:58:06 -0800 Subject: [PATCH] [flow] Typed SVG elements Summary: Changelog: [feature] Added types for JSX intrinsics, which will cause new errors and show autocomplete for DOM intrinsics like `div` Reviewed By: SamChou19815 Differential Revision: D70043919 fbshipit-source-id: f001923b6c011aa445b5f597e6411e7a533158af --- lib/react-dom.js | 558 +++++++++++++++++- .../autocomplete_react/autocomplete_react.exp | 83 ++- tests/component_syntax/component_syntax.exp | 32 +- 3 files changed, 635 insertions(+), 38 deletions(-) diff --git a/lib/react-dom.js b/lib/react-dom.js index 1808c411d55..2e5169f6c96 100644 --- a/lib/react-dom.js +++ b/lib/react-dom.js @@ -281,27 +281,65 @@ declare type $JSXIntrinsics = { video: ReactDOM$HTMLElementJSXIntrinsicTyped, wbr: ReactDOM$HTMLElementJSXIntrinsicTyped, // SVG - svg: ReactDOM$SVGElementJSXIntrinsic, - animate: ReactDOM$SVGElementJSXIntrinsic, - circle: ReactDOM$SVGElementJSXIntrinsic, - defs: ReactDOM$SVGElementJSXIntrinsic, - ellipse: ReactDOM$SVGElementJSXIntrinsic, - g: ReactDOM$SVGElementJSXIntrinsic, - image: ReactDOM$SVGElementJSXIntrinsic, - line: ReactDOM$SVGElementJSXIntrinsic, - linearGradient: ReactDOM$SVGElementJSXIntrinsic, - mask: ReactDOM$SVGElementJSXIntrinsic, - path: ReactDOM$SVGElementJSXIntrinsic, - pattern: ReactDOM$SVGElementJSXIntrinsic, - polygon: ReactDOM$SVGElementJSXIntrinsic, - polyline: ReactDOM$SVGElementJSXIntrinsic, - radialGradient: ReactDOM$SVGElementJSXIntrinsic, - rect: ReactDOM$SVGElementJSXIntrinsic, - stop: ReactDOM$SVGElementJSXIntrinsic, - symbol: ReactDOM$SVGElementJSXIntrinsic, - text: ReactDOM$SVGElementJSXIntrinsic, - tspan: ReactDOM$SVGElementJSXIntrinsic, - use: ReactDOM$SVGElementJSXIntrinsic, + svg: ReactDOM$SVGElementJSXIntrinsicTyped, + animate: ReactDOM$SVGElementJSXIntrinsicTyped, + animateMotion: ReactDOM$SVGElementJSXIntrinsicTyped, + animateTransform: ReactDOM$SVGElementJSXIntrinsicTyped, + circle: ReactDOM$SVGElementJSXIntrinsicTyped, + clipPath: ReactDOM$SVGElementJSXIntrinsicTyped, + defs: ReactDOM$SVGElementJSXIntrinsicTyped, + desc: ReactDOM$SVGElementJSXIntrinsicTyped, + ellipse: ReactDOM$SVGElementJSXIntrinsicTyped, + feBlend: ReactDOM$SVGElementJSXIntrinsicTyped, + feColorMatrix: ReactDOM$SVGElementJSXIntrinsicTyped, + feComponentTransfer: ReactDOM$SVGElementJSXIntrinsicTyped, + feComposite: ReactDOM$SVGElementJSXIntrinsicTyped, + feConvolveMatrix: ReactDOM$SVGElementJSXIntrinsicTyped, + feDiffuseLighting: ReactDOM$SVGElementJSXIntrinsicTyped, + feDisplacementMap: ReactDOM$SVGElementJSXIntrinsicTyped, + feDistantLight: ReactDOM$SVGElementJSXIntrinsicTyped, + feDropShadow: ReactDOM$SVGElementJSXIntrinsicTyped, + feFlood: ReactDOM$SVGElementJSXIntrinsicTyped, + feFuncA: ReactDOM$SVGElementJSXIntrinsicTyped, + feFuncB: ReactDOM$SVGElementJSXIntrinsicTyped, + feFuncG: ReactDOM$SVGElementJSXIntrinsicTyped, + feFuncR: ReactDOM$SVGElementJSXIntrinsicTyped, + feGaussianBlur: ReactDOM$SVGElementJSXIntrinsicTyped, + feImage: ReactDOM$SVGElementJSXIntrinsicTyped, + feMerge: ReactDOM$SVGElementJSXIntrinsicTyped, + feMergeNode: ReactDOM$SVGElementJSXIntrinsicTyped, + feMorphology: ReactDOM$SVGElementJSXIntrinsicTyped, + feOffset: ReactDOM$SVGElementJSXIntrinsicTyped, + fePointLight: ReactDOM$SVGElementJSXIntrinsicTyped, + feSpecularLighting: ReactDOM$SVGElementJSXIntrinsicTyped, + feSpotLight: ReactDOM$SVGElementJSXIntrinsicTyped, + feTile: ReactDOM$SVGElementJSXIntrinsicTyped, + feTurbulence: ReactDOM$SVGElementJSXIntrinsicTyped, + filter: ReactDOM$SVGElementJSXIntrinsicTyped, + foreignObject: ReactDOM$SVGElementJSXIntrinsicTyped, + g: ReactDOM$SVGElementJSXIntrinsicTyped, + image: ReactDOM$SVGElementJSXIntrinsicTyped, + line: ReactDOM$SVGElementJSXIntrinsicTyped, + linearGradient: ReactDOM$SVGElementJSXIntrinsicTyped, + marker: ReactDOM$SVGElementJSXIntrinsicTyped, + mask: ReactDOM$SVGElementJSXIntrinsicTyped, + metadata: ReactDOM$SVGElementJSXIntrinsicTyped, + mpath: ReactDOM$SVGElementJSXIntrinsicTyped, + path: ReactDOM$SVGElementJSXIntrinsicTyped, + pattern: ReactDOM$SVGElementJSXIntrinsicTyped, + polygon: ReactDOM$SVGElementJSXIntrinsicTyped, + polyline: ReactDOM$SVGElementJSXIntrinsicTyped, + radialGradient: ReactDOM$SVGElementJSXIntrinsicTyped, + rect: ReactDOM$SVGElementJSXIntrinsicTyped, + set: ReactDOM$SVGElementJSXIntrinsicTyped, + stop: ReactDOM$SVGElementJSXIntrinsicTyped, + switch: ReactDOM$SVGElementJSXIntrinsicTyped, + symbol: ReactDOM$SVGElementJSXIntrinsicTyped, + text: ReactDOM$SVGElementJSXIntrinsicTyped, + textPath: ReactDOM$SVGElementJSXIntrinsicTyped, + tspan: ReactDOM$SVGElementJSXIntrinsicTyped, + use: ReactDOM$SVGElementJSXIntrinsicTyped, + view: ReactDOM$SVGElementJSXIntrinsicTyped, }; type ReactDOM$HTMLElementJSXIntrinsic = { @@ -324,6 +362,16 @@ type ReactDOM$SVGElementJSXIntrinsic = { ... }; +type ReactDOM$SVGElementJSXIntrinsicTyped = {| + instance: Instance, + props: { + ...Props, + ...ReactDOM$EventHandlers, + // We add data props here to avoid spreading errors + [StringPrefix<'data-'>]: ReactDOM$DataPropValues, + }, +|}; + // Override this if you want to add custom props to all HTML elements type ReactDOM$CustomHTMLElementProps = $ReadOnly<{||}>; @@ -1633,3 +1681,471 @@ type ReactDOM$videoInstance = HTMLVideoElement; type ReactDOM$wbrProps = ReactDOM$SelfClosingHTMLElementProps; type ReactDOM$wbrInstance = HTMLElement; + +type ReactDOM$SVGElementProps = {| + ...ReactDOM$ReactSpecificProps, + ...ReactDOM$AriaAttributes, + + // Attributes which also defined in HTMLAttributes + className?: ?string, + color?: ?string, + height?: ?(number | string), + id?: ?string, + lang?: ?string, + max?: ?(number | string), + media?: ?string, + method?: ?string, + min?: ?(number | string), + name?: ?string, + style?: ?any, + target?: ?string, + type?: ?string, + width?: ?(number | string), + + // Other HTML properties supported by SVG elements in browsers + role?: ?string, + tabIndex?: ?number, + crossOrigin?: ?ReactDOM$CrossOrigin, + + // SVG Specific attributes + accentHeight?: ?(number | string), + accumulate?: ?('none' | 'sum'), + additive?: ?('replace' | 'sum'), + alignmentBaseline?: ?( + | 'auto' + | 'baseline' + | 'before-edge' + | 'text-before-edge' + | 'middle' + | 'central' + | 'after-edge' + | 'text-after-edge' + | 'ideographic' + | 'alphabetic' + | 'hanging' + | 'mathematical' + | 'inherit' + ), + allowReorder?: ?('no' | 'yes'), + alphabetic?: ?(number | string), + amplitude?: ?(number | string), + arabicForm?: ?('initial' | 'medial' | 'terminal' | 'isolated'), + ascent?: ?(number | string), + attributeName?: ?string, + attributeType?: ?string, + autoReverse?: ?ReactDOM$BooleanishString, + azimuth?: ?(number | string), + baseFrequency?: ?(number | string), + baselineShift?: ?(number | string), + baseProfile?: ?(number | string), + bbox?: ?(number | string), + begin?: ?(number | string), + bias?: ?(number | string), + by?: ?(number | string), + calcMode?: ?(number | string), + capHeight?: ?(number | string), + clip?: ?(number | string), + clipPath?: ?string, + clipPathUnits?: ?(number | string), + clipRule?: ?(number | string), + colorInterpolation?: ?(number | string), + colorInterpolationFilters?: ?('auto' | 'sRGB' | 'linearRGB' | 'inherit'), + colorProfile?: ?(number | string), + colorRendering?: ?(number | string), + contentScriptType?: ?(number | string), + contentStyleType?: ?(number | string), + cursor?: ?(number | string), + cx?: ?(number | string), + cy?: ?(number | string), + d?: ?string, + decelerate?: ?(number | string), + descent?: ?(number | string), + diffuseConstant?: ?(number | string), + direction?: ?(number | string), + display?: ?(number | string), + divisor?: ?(number | string), + dominantBaseline?: ?(number | string), + dur?: ?(number | string), + dx?: ?(number | string), + dy?: ?(number | string), + edgeMode?: ?(number | string), + elevation?: ?(number | string), + enableBackground?: ?(number | string), + end?: ?(number | string), + exponent?: ?(number | string), + externalResourcesRequired?: ?ReactDOM$BooleanishString, + fill?: ?string, + fillOpacity?: ?(number | string), + fillRule?: ?('nonzero' | 'evenodd' | 'inherit'), + filter?: ?string, + filterRes?: ?(number | string), + filterUnits?: ?(number | string), + floodColor?: ?(number | string), + floodOpacity?: ?(number | string), + focusable?: ?(ReactDOM$BooleanishString | 'auto'), + fontFamily?: ?string, + fontSize?: ?(number | string), + fontSizeAdjust?: ?(number | string), + fontStretch?: ?(number | string), + fontStyle?: ?(number | string), + fontVariant?: ?(number | string), + fontWeight?: ?(number | string), + format?: ?(number | string), + fr?: ?(number | string), + from?: ?(number | string), + fx?: ?(number | string), + fy?: ?(number | string), + g1?: ?(number | string), + g2?: ?(number | string), + glyphName?: ?(number | string), + glyphOrientationHorizontal?: ?(number | string), + glyphOrientationVertical?: ?(number | string), + glyphRef?: ?(number | string), + gradientTransform?: ?string, + gradientUnits?: ?string, + hanging?: ?(number | string), + horizAdvX?: ?(number | string), + horizOriginX?: ?(number | string), + href?: ?string, + ideographic?: ?(number | string), + imageRendering?: ?(number | string), + in2?: ?(number | string), + in?: ?string, + intercept?: ?(number | string), + k1?: ?(number | string), + k2?: ?(number | string), + k3?: ?(number | string), + k4?: ?(number | string), + k?: ?(number | string), + kernelMatrix?: ?(number | string), + kernelUnitLength?: ?(number | string), + kerning?: ?(number | string), + keyPoints?: ?(number | string), + keySplines?: ?(number | string), + keyTimes?: ?(number | string), + lengthAdjust?: ?(number | string), + letterSpacing?: ?(number | string), + lightingColor?: ?(number | string), + limitingConeAngle?: ?(number | string), + local?: ?(number | string), + markerEnd?: ?string, + markerHeight?: ?(number | string), + markerMid?: ?string, + markerStart?: ?string, + markerUnits?: ?(number | string), + markerWidth?: ?(number | string), + mask?: ?string, + maskContentUnits?: ?(number | string), + maskUnits?: ?(number | string), + mathematical?: ?(number | string), + mode?: ?(number | string), + numOctaves?: ?(number | string), + offset?: ?(number | string), + opacity?: ?(number | string), + operator?: ?(number | string), + order?: ?(number | string), + orient?: ?(number | string), + orientation?: ?(number | string), + origin?: ?(number | string), + overflow?: ?(number | string), + overlinePosition?: ?(number | string), + overlineThickness?: ?(number | string), + paintOrder?: ?(number | string), + panose1?: ?(number | string), + path?: ?string, + pathLength?: ?(number | string), + patternContentUnits?: ?string, + patternTransform?: ?(number | string), + patternUnits?: ?string, + pointerEvents?: ?(number | string), + points?: ?string, + pointsAtX?: ?(number | string), + pointsAtY?: ?(number | string), + pointsAtZ?: ?(number | string), + preserveAlpha?: ?ReactDOM$BooleanishString, + preserveAspectRatio?: ?string, + primitiveUnits?: ?(number | string), + r?: ?(number | string), + radius?: ?(number | string), + refX?: ?(number | string), + refY?: ?(number | string), + renderingIntent?: ?(number | string), + repeatCount?: ?(number | string), + repeatDur?: ?(number | string), + requiredExtensions?: ?(number | string), + requiredFeatures?: ?(number | string), + restart?: ?(number | string), + result?: ?string, + rotate?: ?(number | string), + rx?: ?(number | string), + ry?: ?(number | string), + scale?: ?(number | string), + seed?: ?(number | string), + shapeRendering?: ?(number | string), + slope?: ?(number | string), + spacing?: ?(number | string), + specularConstant?: ?(number | string), + specularExponent?: ?(number | string), + speed?: ?(number | string), + spreadMethod?: ?string, + startOffset?: ?(number | string), + stdDeviation?: ?(number | string), + stemh?: ?(number | string), + stemv?: ?(number | string), + stitchTiles?: ?(number | string), + stopColor?: ?string, + stopOpacity?: ?(number | string), + strikethroughPosition?: ?(number | string), + strikethroughThickness?: ?(number | string), + string?: ?(number | string), + stroke?: ?string, + strokeDasharray?: ?(string | number), + strokeDashoffset?: ?(string | number), + strokeLinecap?: ?('butt' | 'round' | 'square' | 'inherit'), + strokeLinejoin?: ?('miter' | 'round' | 'bevel' | 'inherit'), + strokeMiterlimit?: ?(number | string), + strokeOpacity?: ?(number | string), + strokeWidth?: ?(number | string), + surfaceScale?: ?(number | string), + systemLanguage?: ?(number | string), + tableValues?: ?(number | string), + targetX?: ?(number | string), + targetY?: ?(number | string), + textAnchor?: ?string, + textDecoration?: ?(number | string), + textLength?: ?(number | string), + textRendering?: ?(number | string), + to?: ?(number | string), + transform?: ?string, + u1?: ?(number | string), + u2?: ?(number | string), + underlinePosition?: ?(number | string), + underlineThickness?: ?(number | string), + unicode?: ?(number | string), + unicodeBidi?: ?(number | string), + unicodeRange?: ?(number | string), + unitsPerEm?: ?(number | string), + vAlphabetic?: ?(number | string), + values?: ?string, + vectorEffect?: ?(number | string), + version?: ?string, + vertAdvY?: ?(number | string), + vertOriginX?: ?(number | string), + vertOriginY?: ?(number | string), + vHanging?: ?(number | string), + vIdeographic?: ?(number | string), + viewBox?: ?string, + viewTarget?: ?(number | string), + visibility?: ?(number | string), + vMathematical?: ?(number | string), + widths?: ?(number | string), + wordSpacing?: ?(number | string), + writingMode?: ?(number | string), + x1?: ?(number | string), + x2?: ?(number | string), + x?: ?(number | string), + xChannelSelector?: ?string, + xHeight?: ?(number | string), + xlinkActuate?: ?string, + xlinkArcrole?: ?string, + xlinkHref?: ?string, + xlinkRole?: ?string, + xlinkShow?: ?string, + xlinkTitle?: ?string, + xlinkType?: ?string, + xmlBase?: ?string, + xmlLang?: ?string, + xmlns?: ?string, + xmlnsXlink?: ?string, + xmlSpace?: ?string, + y1?: ?(number | string), + y2?: ?(number | string), + y?: ?(number | string), + yChannelSelector?: ?string, + z?: ?(number | string), + zoomAndPan?: ?string, + ...ReactDOM$CustomSVGProps, +|}; + +// SVG Elements + +type ReactDOM$CustomSVGProps = {| + line_height?: ?(number | string), +|}; + +type ReactDOM$svgProps = ReactDOM$SVGElementProps; +type ReactDOM$svgInstance = Element; + +type ReactDOM$animateProps = ReactDOM$SVGElementProps; +type ReactDOM$animateInstance = Element; + +type ReactDOM$animateMotionProps = ReactDOM$SVGElementProps; +type ReactDOM$animateMotionInstance = Element; + +type ReactDOM$animateTransformProps = ReactDOM$SVGElementProps; +type ReactDOM$animateTransformInstance = Element; + +type ReactDOM$circleProps = ReactDOM$SVGElementProps; +type ReactDOM$circleInstance = Element; + +type ReactDOM$clipPathProps = ReactDOM$SVGElementProps; +type ReactDOM$clipPathInstance = Element; + +type ReactDOM$defsProps = ReactDOM$SVGElementProps; +type ReactDOM$defsInstance = Element; + +type ReactDOM$descProps = ReactDOM$SVGElementProps; +type ReactDOM$descInstance = Element; + +type ReactDOM$ellipseProps = ReactDOM$SVGElementProps; +type ReactDOM$ellipseInstance = Element; + +type ReactDOM$feBlendProps = ReactDOM$SVGElementProps; +type ReactDOM$feBlendInstance = Element; + +type ReactDOM$feColorMatrixProps = ReactDOM$SVGElementProps; +type ReactDOM$feColorMatrixInstance = Element; + +type ReactDOM$feComponentTransferProps = ReactDOM$SVGElementProps; +type ReactDOM$feComponentTransferInstance = Element; + +type ReactDOM$feCompositeProps = ReactDOM$SVGElementProps; +type ReactDOM$feCompositeInstance = Element; + +type ReactDOM$feConvolveMatrixProps = ReactDOM$SVGElementProps; +type ReactDOM$feConvolveMatrixInstance = Element; + +type ReactDOM$feDiffuseLightingProps = ReactDOM$SVGElementProps; +type ReactDOM$feDiffuseLightingInstance = Element; + +type ReactDOM$feDisplacementMapProps = ReactDOM$SVGElementProps; +type ReactDOM$feDisplacementMapInstance = Element; + +type ReactDOM$feDistantLightProps = ReactDOM$SVGElementProps; +type ReactDOM$feDistantLightInstance = Element; + +type ReactDOM$feDropShadowProps = ReactDOM$SVGElementProps; +type ReactDOM$feDropShadowInstance = Element; + +type ReactDOM$feFloodProps = ReactDOM$SVGElementProps; +type ReactDOM$feFloodInstance = Element; + +type ReactDOM$feFuncAProps = ReactDOM$SVGElementProps; +type ReactDOM$feFuncAInstance = Element; + +type ReactDOM$feFuncBProps = ReactDOM$SVGElementProps; +type ReactDOM$feFuncBInstance = Element; + +type ReactDOM$feFuncGProps = ReactDOM$SVGElementProps; +type ReactDOM$feFuncGInstance = Element; + +type ReactDOM$feFuncRProps = ReactDOM$SVGElementProps; +type ReactDOM$feFuncRInstance = Element; + +type ReactDOM$feGaussianBlurProps = ReactDOM$SVGElementProps; +type ReactDOM$feGaussianBlurInstance = Element; + +type ReactDOM$feImageProps = ReactDOM$SVGElementProps; +type ReactDOM$feImageInstance = Element; + +type ReactDOM$feMergeProps = ReactDOM$SVGElementProps; +type ReactDOM$feMergeInstance = Element; + +type ReactDOM$feMergeNodeProps = ReactDOM$SVGElementProps; +type ReactDOM$feMergeNodeInstance = Element; + +type ReactDOM$feMorphologyProps = ReactDOM$SVGElementProps; +type ReactDOM$feMorphologyInstance = Element; + +type ReactDOM$feOffsetProps = ReactDOM$SVGElementProps; +type ReactDOM$feOffsetInstance = Element; + +type ReactDOM$fePointLightProps = ReactDOM$SVGElementProps; +type ReactDOM$fePointLightInstance = Element; + +type ReactDOM$feSpecularLightingProps = ReactDOM$SVGElementProps; +type ReactDOM$feSpecularLightingInstance = Element; + +type ReactDOM$feSpotLightProps = ReactDOM$SVGElementProps; +type ReactDOM$feSpotLightInstance = Element; + +type ReactDOM$feTileProps = ReactDOM$SVGElementProps; +type ReactDOM$feTileInstance = Element; + +type ReactDOM$feTurbulenceProps = ReactDOM$SVGElementProps; +type ReactDOM$feTurbulenceInstance = Element; + +type ReactDOM$filterProps = ReactDOM$SVGElementProps; +type ReactDOM$filterInstance = Element; + +type ReactDOM$foreignObjectProps = ReactDOM$SVGElementProps; +type ReactDOM$foreignObjectInstance = Element; + +type ReactDOM$gProps = ReactDOM$SVGElementProps; +type ReactDOM$gInstance = Element; + +type ReactDOM$imageProps = ReactDOM$SVGElementProps; +type ReactDOM$imageInstance = Element; + +type ReactDOM$lineProps = ReactDOM$SVGElementProps; +type ReactDOM$lineInstance = Element; + +type ReactDOM$linearGradientProps = ReactDOM$SVGElementProps; +type ReactDOM$linearGradientInstance = Element; + +type ReactDOM$markerProps = ReactDOM$SVGElementProps; +type ReactDOM$markerInstance = Element; + +type ReactDOM$maskProps = ReactDOM$SVGElementProps; +type ReactDOM$maskInstance = Element; + +type ReactDOM$metadataProps = ReactDOM$SVGElementProps; +type ReactDOM$metadataInstance = Element; + +type ReactDOM$mpathProps = ReactDOM$SVGElementProps; +type ReactDOM$mpathInstance = Element; + +type ReactDOM$pathProps = ReactDOM$SVGElementProps; +type ReactDOM$pathInstance = Element; + +type ReactDOM$patternProps = ReactDOM$SVGElementProps; +type ReactDOM$patternInstance = Element; + +type ReactDOM$polygonProps = ReactDOM$SVGElementProps; +type ReactDOM$polygonInstance = Element; + +type ReactDOM$polylineProps = ReactDOM$SVGElementProps; +type ReactDOM$polylineInstance = Element; + +type ReactDOM$radialGradientProps = ReactDOM$SVGElementProps; +type ReactDOM$radialGradientInstance = Element; + +type ReactDOM$rectProps = ReactDOM$SVGElementProps; +type ReactDOM$rectInstance = Element; + +type ReactDOM$setProps = ReactDOM$SVGElementProps; +type ReactDOM$setInstance = Element; + +type ReactDOM$stopProps = ReactDOM$SVGElementProps; +type ReactDOM$stopInstance = Element; + +type ReactDOM$switchProps = ReactDOM$SVGElementProps; +type ReactDOM$switchInstance = Element; + +type ReactDOM$symbolProps = ReactDOM$SVGElementProps; +type ReactDOM$symbolInstance = Element; + +type ReactDOM$textProps = ReactDOM$SVGElementProps; +type ReactDOM$textInstance = Element; + +type ReactDOM$textPathProps = ReactDOM$SVGElementProps; +type ReactDOM$textPathInstance = Element; + +type ReactDOM$tspanProps = ReactDOM$SVGElementProps; +type ReactDOM$tspanInstance = Element; + +type ReactDOM$useProps = ReactDOM$SVGElementProps; +type ReactDOM$useInstance = Element; + +type ReactDOM$viewProps = ReactDOM$SVGElementProps; +type ReactDOM$viewInstance = Element; diff --git a/tests/autocomplete_react/autocomplete_react.exp b/tests/autocomplete_react/autocomplete_react.exp index 62a474e6651..dbe9d165b15 100644 --- a/tests/autocomplete_react/autocomplete_react.exp +++ b/tests/autocomplete_react/autocomplete_react.exp @@ -26,9 +26,14 @@ Flags: --pretty {"name":"caption","type":"JSX Intrinsic"}, {"name":"circle","type":"JSX Intrinsic"}, {"name":"cite","type":"JSX Intrinsic"}, + {"name":"clipPath","type":"JSX Intrinsic"}, {"name":"code","type":"JSX Intrinsic"}, {"name":"col","type":"JSX Intrinsic"}, - {"name":"colgroup","type":"JSX Intrinsic"} + {"name":"colgroup","type":"JSX Intrinsic"}, + {"name":"feColorMatrix","type":"JSX Intrinsic"}, + {"name":"feComponentTransfer","type":"JSX Intrinsic"}, + {"name":"feComposite","type":"JSX Intrinsic"}, + {"name":"feConvolveMatrix","type":"JSX Intrinsic"} ] } @@ -47,6 +52,8 @@ Flags: --pretty {"name":"abbr","type":"JSX Intrinsic"}, {"name":"address","type":"JSX Intrinsic"}, {"name":"animate","type":"JSX Intrinsic"}, + {"name":"animateMotion","type":"JSX Intrinsic"}, + {"name":"animateTransform","type":"JSX Intrinsic"}, {"name":"area","type":"JSX Intrinsic"}, {"name":"article","type":"JSX Intrinsic"}, {"name":"aside","type":"JSX Intrinsic"}, @@ -64,6 +71,7 @@ Flags: --pretty {"name":"caption","type":"JSX Intrinsic"}, {"name":"circle","type":"JSX Intrinsic"}, {"name":"cite","type":"JSX Intrinsic"}, + {"name":"clipPath","type":"JSX Intrinsic"}, {"name":"code","type":"JSX Intrinsic"}, {"name":"col","type":"JSX Intrinsic"}, {"name":"colgroup","type":"JSX Intrinsic"}, @@ -72,6 +80,7 @@ Flags: --pretty {"name":"dd","type":"JSX Intrinsic"}, {"name":"defs","type":"JSX Intrinsic"}, {"name":"del","type":"JSX Intrinsic"}, + {"name":"desc","type":"JSX Intrinsic"}, {"name":"details","type":"JSX Intrinsic"}, {"name":"dfn","type":"JSX Intrinsic"}, {"name":"dialog","type":"JSX Intrinsic"}, @@ -81,10 +90,37 @@ Flags: --pretty {"name":"ellipse","type":"JSX Intrinsic"}, {"name":"em","type":"JSX Intrinsic"}, {"name":"embed","type":"JSX Intrinsic"}, + {"name":"feBlend","type":"JSX Intrinsic"}, + {"name":"feColorMatrix","type":"JSX Intrinsic"}, + {"name":"feComponentTransfer","type":"JSX Intrinsic"}, + {"name":"feComposite","type":"JSX Intrinsic"}, + {"name":"feConvolveMatrix","type":"JSX Intrinsic"}, + {"name":"feDiffuseLighting","type":"JSX Intrinsic"}, + {"name":"feDisplacementMap","type":"JSX Intrinsic"}, + {"name":"feDistantLight","type":"JSX Intrinsic"}, + {"name":"feDropShadow","type":"JSX Intrinsic"}, + {"name":"feFlood","type":"JSX Intrinsic"}, + {"name":"feFuncA","type":"JSX Intrinsic"}, + {"name":"feFuncB","type":"JSX Intrinsic"}, + {"name":"feFuncG","type":"JSX Intrinsic"}, + {"name":"feFuncR","type":"JSX Intrinsic"}, + {"name":"feGaussianBlur","type":"JSX Intrinsic"}, + {"name":"feImage","type":"JSX Intrinsic"}, + {"name":"feMerge","type":"JSX Intrinsic"}, + {"name":"feMergeNode","type":"JSX Intrinsic"}, + {"name":"feMorphology","type":"JSX Intrinsic"}, + {"name":"feOffset","type":"JSX Intrinsic"}, + {"name":"fePointLight","type":"JSX Intrinsic"}, + {"name":"feSpecularLighting","type":"JSX Intrinsic"}, + {"name":"feSpotLight","type":"JSX Intrinsic"}, + {"name":"feTile","type":"JSX Intrinsic"}, + {"name":"feTurbulence","type":"JSX Intrinsic"}, {"name":"fieldset","type":"JSX Intrinsic"}, {"name":"figcaption","type":"JSX Intrinsic"}, {"name":"figure","type":"JSX Intrinsic"}, + {"name":"filter","type":"JSX Intrinsic"}, {"name":"footer","type":"JSX Intrinsic"}, + {"name":"foreignObject","type":"JSX Intrinsic"}, {"name":"form","type":"JSX Intrinsic"}, {"name":"g","type":"JSX Intrinsic"}, {"name":"h1","type":"JSX Intrinsic"}, @@ -115,12 +151,15 @@ Flags: --pretty {"name":"main","type":"JSX Intrinsic"}, {"name":"map","type":"JSX Intrinsic"}, {"name":"mark","type":"JSX Intrinsic"}, + {"name":"marker","type":"JSX Intrinsic"}, {"name":"mask","type":"JSX Intrinsic"}, {"name":"media","type":"JSX Intrinsic"}, {"name":"menu","type":"JSX Intrinsic"}, {"name":"menuitem","type":"JSX Intrinsic"}, {"name":"meta","type":"JSX Intrinsic"}, + {"name":"metadata","type":"JSX Intrinsic"}, {"name":"meter","type":"JSX Intrinsic"}, + {"name":"mpath","type":"JSX Intrinsic"}, {"name":"nav","type":"JSX Intrinsic"}, {"name":"noscript","type":"JSX Intrinsic"}, {"name":"object","type":"JSX Intrinsic"}, @@ -148,6 +187,7 @@ Flags: --pretty {"name":"script","type":"JSX Intrinsic"}, {"name":"section","type":"JSX Intrinsic"}, {"name":"select","type":"JSX Intrinsic"}, + {"name":"set","type":"JSX Intrinsic"}, {"name":"slot","type":"JSX Intrinsic"}, {"name":"small","type":"JSX Intrinsic"}, {"name":"source","type":"JSX Intrinsic"}, @@ -159,12 +199,14 @@ Flags: --pretty {"name":"summary","type":"JSX Intrinsic"}, {"name":"sup","type":"JSX Intrinsic"}, {"name":"svg","type":"JSX Intrinsic"}, + {"name":"switch","type":"JSX Intrinsic"}, {"name":"symbol","type":"JSX Intrinsic"}, {"name":"table","type":"JSX Intrinsic"}, {"name":"tbody","type":"JSX Intrinsic"}, {"name":"td","type":"JSX Intrinsic"}, {"name":"text","type":"JSX Intrinsic"}, {"name":"textarea","type":"JSX Intrinsic"}, + {"name":"textPath","type":"JSX Intrinsic"}, {"name":"tfoot","type":"JSX Intrinsic"}, {"name":"th","type":"JSX Intrinsic"}, {"name":"thead","type":"JSX Intrinsic"}, @@ -178,6 +220,7 @@ Flags: --pretty {"name":"use","type":"JSX Intrinsic"}, {"name":"var","type":"JSX Intrinsic"}, {"name":"video","type":"JSX Intrinsic"}, + {"name":"view","type":"JSX Intrinsic"}, {"name":"wbr","type":"JSX Intrinsic"} ] } @@ -193,6 +236,8 @@ Flags: --pretty {"name":"abbr","type":"JSX Intrinsic"}, {"name":"address","type":"JSX Intrinsic"}, {"name":"animate","type":"JSX Intrinsic"}, + {"name":"animateMotion","type":"JSX Intrinsic"}, + {"name":"animateTransform","type":"JSX Intrinsic"}, {"name":"area","type":"JSX Intrinsic"}, {"name":"article","type":"JSX Intrinsic"}, {"name":"aside","type":"JSX Intrinsic"}, @@ -210,6 +255,7 @@ Flags: --pretty {"name":"caption","type":"JSX Intrinsic"}, {"name":"circle","type":"JSX Intrinsic"}, {"name":"cite","type":"JSX Intrinsic"}, + {"name":"clipPath","type":"JSX Intrinsic"}, {"name":"code","type":"JSX Intrinsic"}, {"name":"col","type":"JSX Intrinsic"}, {"name":"colgroup","type":"JSX Intrinsic"}, @@ -218,6 +264,7 @@ Flags: --pretty {"name":"dd","type":"JSX Intrinsic"}, {"name":"defs","type":"JSX Intrinsic"}, {"name":"del","type":"JSX Intrinsic"}, + {"name":"desc","type":"JSX Intrinsic"}, {"name":"details","type":"JSX Intrinsic"}, {"name":"dfn","type":"JSX Intrinsic"}, {"name":"dialog","type":"JSX Intrinsic"}, @@ -227,10 +274,37 @@ Flags: --pretty {"name":"ellipse","type":"JSX Intrinsic"}, {"name":"em","type":"JSX Intrinsic"}, {"name":"embed","type":"JSX Intrinsic"}, + {"name":"feBlend","type":"JSX Intrinsic"}, + {"name":"feColorMatrix","type":"JSX Intrinsic"}, + {"name":"feComponentTransfer","type":"JSX Intrinsic"}, + {"name":"feComposite","type":"JSX Intrinsic"}, + {"name":"feConvolveMatrix","type":"JSX Intrinsic"}, + {"name":"feDiffuseLighting","type":"JSX Intrinsic"}, + {"name":"feDisplacementMap","type":"JSX Intrinsic"}, + {"name":"feDistantLight","type":"JSX Intrinsic"}, + {"name":"feDropShadow","type":"JSX Intrinsic"}, + {"name":"feFlood","type":"JSX Intrinsic"}, + {"name":"feFuncA","type":"JSX Intrinsic"}, + {"name":"feFuncB","type":"JSX Intrinsic"}, + {"name":"feFuncG","type":"JSX Intrinsic"}, + {"name":"feFuncR","type":"JSX Intrinsic"}, + {"name":"feGaussianBlur","type":"JSX Intrinsic"}, + {"name":"feImage","type":"JSX Intrinsic"}, + {"name":"feMerge","type":"JSX Intrinsic"}, + {"name":"feMergeNode","type":"JSX Intrinsic"}, + {"name":"feMorphology","type":"JSX Intrinsic"}, + {"name":"feOffset","type":"JSX Intrinsic"}, + {"name":"fePointLight","type":"JSX Intrinsic"}, + {"name":"feSpecularLighting","type":"JSX Intrinsic"}, + {"name":"feSpotLight","type":"JSX Intrinsic"}, + {"name":"feTile","type":"JSX Intrinsic"}, + {"name":"feTurbulence","type":"JSX Intrinsic"}, {"name":"fieldset","type":"JSX Intrinsic"}, {"name":"figcaption","type":"JSX Intrinsic"}, {"name":"figure","type":"JSX Intrinsic"}, + {"name":"filter","type":"JSX Intrinsic"}, {"name":"footer","type":"JSX Intrinsic"}, + {"name":"foreignObject","type":"JSX Intrinsic"}, {"name":"form","type":"JSX Intrinsic"}, {"name":"g","type":"JSX Intrinsic"}, {"name":"h1","type":"JSX Intrinsic"}, @@ -261,12 +335,15 @@ Flags: --pretty {"name":"main","type":"JSX Intrinsic"}, {"name":"map","type":"JSX Intrinsic"}, {"name":"mark","type":"JSX Intrinsic"}, + {"name":"marker","type":"JSX Intrinsic"}, {"name":"mask","type":"JSX Intrinsic"}, {"name":"media","type":"JSX Intrinsic"}, {"name":"menu","type":"JSX Intrinsic"}, {"name":"menuitem","type":"JSX Intrinsic"}, {"name":"meta","type":"JSX Intrinsic"}, + {"name":"metadata","type":"JSX Intrinsic"}, {"name":"meter","type":"JSX Intrinsic"}, + {"name":"mpath","type":"JSX Intrinsic"}, {"name":"nav","type":"JSX Intrinsic"}, {"name":"noscript","type":"JSX Intrinsic"}, {"name":"object","type":"JSX Intrinsic"}, @@ -294,6 +371,7 @@ Flags: --pretty {"name":"script","type":"JSX Intrinsic"}, {"name":"section","type":"JSX Intrinsic"}, {"name":"select","type":"JSX Intrinsic"}, + {"name":"set","type":"JSX Intrinsic"}, {"name":"slot","type":"JSX Intrinsic"}, {"name":"small","type":"JSX Intrinsic"}, {"name":"source","type":"JSX Intrinsic"}, @@ -305,12 +383,14 @@ Flags: --pretty {"name":"summary","type":"JSX Intrinsic"}, {"name":"sup","type":"JSX Intrinsic"}, {"name":"svg","type":"JSX Intrinsic"}, + {"name":"switch","type":"JSX Intrinsic"}, {"name":"symbol","type":"JSX Intrinsic"}, {"name":"table","type":"JSX Intrinsic"}, {"name":"tbody","type":"JSX Intrinsic"}, {"name":"td","type":"JSX Intrinsic"}, {"name":"text","type":"JSX Intrinsic"}, {"name":"textarea","type":"JSX Intrinsic"}, + {"name":"textPath","type":"JSX Intrinsic"}, {"name":"tfoot","type":"JSX Intrinsic"}, {"name":"th","type":"JSX Intrinsic"}, {"name":"thead","type":"JSX Intrinsic"}, @@ -324,6 +404,7 @@ Flags: --pretty {"name":"use","type":"JSX Intrinsic"}, {"name":"var","type":"JSX Intrinsic"}, {"name":"video","type":"JSX Intrinsic"}, + {"name":"view","type":"JSX Intrinsic"}, {"name":"wbr","type":"JSX Intrinsic"} ] } diff --git a/tests/component_syntax/component_syntax.exp b/tests/component_syntax/component_syntax.exp index 9ffe65a9b83..a63b35cbac5 100644 --- a/tests/component_syntax/component_syntax.exp +++ b/tests/component_syntax/component_syntax.exp @@ -2482,8 +2482,8 @@ Cannot cast `intrinsicProp.children` to empty because `$Iterable` [1] is incompa ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2500,8 +2500,8 @@ Cannot cast `intrinsicProp.children` to empty because `React.Element` [1] is inc ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2518,8 +2518,8 @@ Cannot cast `intrinsicProp.children` to empty because `React.Portal` [1] is inco ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2535,8 +2535,8 @@ Cannot cast `intrinsicProp.children` to empty because boolean [1] is incompatibl ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2552,8 +2552,8 @@ Cannot cast `intrinsicProp.children` to empty because null [1] is incompatible w ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2569,8 +2569,8 @@ Cannot cast `intrinsicProp.children` to empty because number [1] is incompatible ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2586,8 +2586,8 @@ Cannot cast `intrinsicProp.children` to empty because string [1] is incompatible ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node @@ -2603,8 +2603,8 @@ Cannot cast `intrinsicProp.children` to empty because undefined [1] is incompati ^^^^^^^^^^^^^^^^^^^^^^ References: - /react-dom.js:800:14 - 800| children?: React$Node, + /react-dom.js:848:14 + 848| children?: React$Node, ^^^^^^^^^^ [1] propsof.js:14:26 14| (intrinsicProp.children: empty); // children is ?React.Node