import type { StyleProps } from './style/lib/style.ts' import type { RemixNode } from './jsx.ts' import type { MixInput } from './mixin.ts' /** * Adapted from Preact: * - Source: https://github.com/preactjs/preact/blob/eee0c6ef834534498e433f0f7a3ef679efd24380/src/dom.d.ts * - License: MIT https://github.com/preactjs/preact/blob/eee0c6ef834534498e433f0f7a3ef679efd24380/LICENSE * - Copyright (c) 2015-present Jason Miller */ type Booleanish = boolean | 'true' | 'false' /** * Layout animation configuration for FLIP-based position animations. * All properties are optional - defaults are applied when `true` or `{}` is used. */ export interface LayoutAnimationConfig { /** Animation duration in milliseconds (default: 200) */ duration?: number /** CSS easing function (default: spring 'snappy' easing) */ easing?: string /** Include scale projection for size changes (default: true) */ size?: boolean } /** * Shared host-element props accepted by all built-in DOM element types. */ export interface HostProps { /** The reconciliation key for the element. */ key?: any /** Child nodes to render inside the element. */ children?: RemixNode /** Mixins to apply to the element. */ mix?: MixInput /** * Set the innerHTML of the element directly. * When provided, children are ignored. * Use with caution as this can expose XSS vulnerabilities if the content is not sanitized. */ innerHTML?: string } /** * Value wrapper used by host prop types that participate in tracked updates. */ export type Trackable = T /** * Props accepted by SVG elements. */ export interface SVGProps extends HTMLProps { /** The `accentHeight` SVG attribute. */ accentHeight?: Trackable /** The `accumulate` SVG attribute. */ accumulate?: Trackable<'none' | 'sum' | undefined> /** The `additive` SVG attribute. */ additive?: Trackable<'replace' | 'sum' | undefined> /** The `alignmentBaseline` SVG attribute. */ alignmentBaseline?: Trackable< | 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined > /** The `alignment-baseline` SVG attribute. */ 'alignment-baseline'?: Trackable< | 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined > /** The `allowReorder` SVG attribute. */ allowReorder?: Trackable<'no' | 'yes' | undefined> /** The `allow-reorder` SVG attribute. */ 'allow-reorder'?: Trackable<'no' | 'yes' | undefined> /** The `alphabetic` SVG attribute. */ alphabetic?: Trackable /** The `amplitude` SVG attribute. */ amplitude?: Trackable /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */ arabicForm?: Trackable<'initial' | 'medial' | 'terminal' | 'isolated' | undefined> /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-form */ 'arabic-form'?: Trackable<'initial' | 'medial' | 'terminal' | 'isolated' | undefined> /** The `ascent` SVG attribute. */ ascent?: Trackable /** The `attributeName` SVG attribute. */ attributeName?: Trackable /** The `attributeType` SVG attribute. */ attributeType?: Trackable /** The `azimuth` SVG attribute. */ azimuth?: Trackable /** The `baseFrequency` SVG attribute. */ baseFrequency?: Trackable /** The `baselineShift` SVG attribute. */ baselineShift?: Trackable /** The `baseline-shift` SVG attribute. */ 'baseline-shift'?: Trackable /** The `baseProfile` SVG attribute. */ baseProfile?: Trackable /** The `bbox` SVG attribute. */ bbox?: Trackable /** The `begin` SVG attribute. */ begin?: Trackable /** The `bias` SVG attribute. */ bias?: Trackable /** The `by` SVG attribute. */ by?: Trackable /** The `calcMode` SVG attribute. */ calcMode?: Trackable /** The `capHeight` SVG attribute. */ capHeight?: Trackable /** The `cap-height` SVG attribute. */ 'cap-height'?: Trackable /** The `clip` SVG attribute. */ clip?: Trackable /** The `clipPath` SVG attribute. */ clipPath?: Trackable /** The `clip-path` SVG attribute. */ 'clip-path'?: Trackable /** The `clipPathUnits` SVG attribute. */ clipPathUnits?: Trackable /** The `clipRule` SVG attribute. */ clipRule?: Trackable /** The `clip-rule` SVG attribute. */ 'clip-rule'?: Trackable /** The `colorInterpolation` SVG attribute. */ colorInterpolation?: Trackable /** The `color-interpolation` SVG attribute. */ 'color-interpolation'?: Trackable /** The `colorInterpolationFilters` SVG attribute. */ colorInterpolationFilters?: Trackable<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined> /** The `color-interpolation-filters` SVG attribute. */ 'color-interpolation-filters'?: Trackable<'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined> /** The `colorProfile` SVG attribute. */ colorProfile?: Trackable /** The `color-profile` SVG attribute. */ 'color-profile'?: Trackable /** The `colorRendering` SVG attribute. */ colorRendering?: Trackable /** The `color-rendering` SVG attribute. */ 'color-rendering'?: Trackable /** The `contentScriptType` SVG attribute. */ contentScriptType?: Trackable /** The `content-script-type` SVG attribute. */ 'content-script-type'?: Trackable /** The `contentStyleType` SVG attribute. */ contentStyleType?: Trackable /** The `content-style-type` SVG attribute. */ 'content-style-type'?: Trackable /** The `cursor` SVG attribute. */ cursor?: Trackable /** The `cx` SVG attribute. */ cx?: Trackable /** The `cy` SVG attribute. */ cy?: Trackable /** The `d` SVG attribute. */ d?: Trackable /** The `decelerate` SVG attribute. */ decelerate?: Trackable /** The `descent` SVG attribute. */ descent?: Trackable /** The `diffuseConstant` SVG attribute. */ diffuseConstant?: Trackable /** The `direction` SVG attribute. */ direction?: Trackable /** The `display` SVG attribute. */ display?: Trackable /** The `divisor` SVG attribute. */ divisor?: Trackable /** The `dominantBaseline` SVG attribute. */ dominantBaseline?: Trackable /** The `dominant-baseline` SVG attribute. */ 'dominant-baseline'?: Trackable /** The `dur` SVG attribute. */ dur?: Trackable /** The `dx` SVG attribute. */ dx?: Trackable /** The `dy` SVG attribute. */ dy?: Trackable /** The `edgeMode` SVG attribute. */ edgeMode?: Trackable /** The `elevation` SVG attribute. */ elevation?: Trackable /** The `enableBackground` SVG attribute. */ enableBackground?: Trackable /** The `enable-background` SVG attribute. */ 'enable-background'?: Trackable /** The `end` SVG attribute. */ end?: Trackable /** The `exponent` SVG attribute. */ exponent?: Trackable /** The `externalResourcesRequired` SVG attribute. */ externalResourcesRequired?: Trackable /** The `fill` SVG attribute. */ fill?: Trackable /** The `fillOpacity` SVG attribute. */ fillOpacity?: Trackable /** The `fill-opacity` SVG attribute. */ 'fill-opacity'?: Trackable /** The `fillRule` SVG attribute. */ fillRule?: Trackable<'nonzero' | 'evenodd' | 'inherit' | undefined> /** The `fill-rule` SVG attribute. */ 'fill-rule'?: Trackable<'nonzero' | 'evenodd' | 'inherit' | undefined> /** The `filter` SVG attribute. */ filter?: Trackable /** The `filterRes` SVG attribute. */ filterRes?: Trackable /** The `filterUnits` SVG attribute. */ filterUnits?: Trackable /** The `floodColor` SVG attribute. */ floodColor?: Trackable /** The `flood-color` SVG attribute. */ 'flood-color'?: Trackable /** The `floodOpacity` SVG attribute. */ floodOpacity?: Trackable /** The `flood-opacity` SVG attribute. */ 'flood-opacity'?: Trackable /** The `focusable` SVG attribute. */ focusable?: Trackable /** The `fontFamily` SVG attribute. */ fontFamily?: Trackable /** The `font-family` SVG attribute. */ 'font-family'?: Trackable /** The `fontSize` SVG attribute. */ fontSize?: Trackable /** The `font-size` SVG attribute. */ 'font-size'?: Trackable /** The `fontSizeAdjust` SVG attribute. */ fontSizeAdjust?: Trackable /** The `font-size-adjust` SVG attribute. */ 'font-size-adjust'?: Trackable /** The `fontStretch` SVG attribute. */ fontStretch?: Trackable /** The `font-stretch` SVG attribute. */ 'font-stretch'?: Trackable /** The `fontStyle` SVG attribute. */ fontStyle?: Trackable /** The `font-style` SVG attribute. */ 'font-style'?: Trackable /** The `fontVariant` SVG attribute. */ fontVariant?: Trackable /** The `font-variant` SVG attribute. */ 'font-variant'?: Trackable /** The `fontWeight` SVG attribute. */ fontWeight?: Trackable /** The `font-weight` SVG attribute. */ 'font-weight'?: Trackable /** The `format` SVG attribute. */ format?: Trackable /** The `from` SVG attribute. */ from?: Trackable /** The `fx` SVG attribute. */ fx?: Trackable /** The `fy` SVG attribute. */ fy?: Trackable /** The `g1` SVG attribute. */ g1?: Trackable /** The `g2` SVG attribute. */ g2?: Trackable /** The `glyphName` SVG attribute. */ glyphName?: Trackable /** The `glyph-name` SVG attribute. */ 'glyph-name'?: Trackable /** The `glyphOrientationHorizontal` SVG attribute. */ glyphOrientationHorizontal?: Trackable /** The `glyph-orientation-horizontal` SVG attribute. */ 'glyph-orientation-horizontal'?: Trackable /** The `glyphOrientationVertical` SVG attribute. */ glyphOrientationVertical?: Trackable /** The `glyph-orientation-vertical` SVG attribute. */ 'glyph-orientation-vertical'?: Trackable /** The `glyphRef` SVG attribute. */ glyphRef?: Trackable /** The `gradientTransform` SVG attribute. */ gradientTransform?: Trackable /** The `gradientUnits` SVG attribute. */ gradientUnits?: Trackable /** The `hanging` SVG attribute. */ hanging?: Trackable /** The `height` SVG attribute. */ height?: Trackable /** The `horizAdvX` SVG attribute. */ horizAdvX?: Trackable /** The `horiz-adv-x` SVG attribute. */ 'horiz-adv-x'?: Trackable /** The `horizOriginX` SVG attribute. */ horizOriginX?: Trackable /** The `horiz-origin-x` SVG attribute. */ 'horiz-origin-x'?: Trackable /** The `href` SVG attribute. */ href?: Trackable /** The `hreflang` SVG attribute. */ hreflang?: Trackable /** The `hrefLang` SVG attribute. */ hrefLang?: Trackable /** The `ideographic` SVG attribute. */ ideographic?: Trackable /** The `imageRendering` SVG attribute. */ imageRendering?: Trackable /** The `image-rendering` SVG attribute. */ 'image-rendering'?: Trackable /** The `in2` SVG attribute. */ in2?: Trackable /** The `in` SVG attribute. */ in?: Trackable /** The `intercept` SVG attribute. */ intercept?: Trackable /** The `k1` SVG attribute. */ k1?: Trackable /** The `k2` SVG attribute. */ k2?: Trackable /** The `k3` SVG attribute. */ k3?: Trackable /** The `k4` SVG attribute. */ k4?: Trackable /** The `k` SVG attribute. */ k?: Trackable /** The `kernelMatrix` SVG attribute. */ kernelMatrix?: Trackable /** The `kernelUnitLength` SVG attribute. */ kernelUnitLength?: Trackable /** The `kerning` SVG attribute. */ kerning?: Trackable /** The `keyPoints` SVG attribute. */ keyPoints?: Trackable /** The `keySplines` SVG attribute. */ keySplines?: Trackable /** The `keyTimes` SVG attribute. */ keyTimes?: Trackable /** The `lengthAdjust` SVG attribute. */ lengthAdjust?: Trackable /** The `letterSpacing` SVG attribute. */ letterSpacing?: Trackable /** The `letter-spacing` SVG attribute. */ 'letter-spacing'?: Trackable /** The `lightingColor` SVG attribute. */ lightingColor?: Trackable /** The `lighting-color` SVG attribute. */ 'lighting-color'?: Trackable /** The `limitingConeAngle` SVG attribute. */ limitingConeAngle?: Trackable /** The `local` SVG attribute. */ local?: Trackable /** The `markerEnd` SVG attribute. */ markerEnd?: Trackable /** The `marker-end` SVG attribute. */ 'marker-end'?: Trackable /** The `markerHeight` SVG attribute. */ markerHeight?: Trackable /** The `markerMid` SVG attribute. */ markerMid?: Trackable /** The `marker-mid` SVG attribute. */ 'marker-mid'?: Trackable /** The `markerStart` SVG attribute. */ markerStart?: Trackable /** The `marker-start` SVG attribute. */ 'marker-start'?: Trackable /** The `markerUnits` SVG attribute. */ markerUnits?: Trackable /** The `markerWidth` SVG attribute. */ markerWidth?: Trackable /** The `mask` SVG attribute. */ mask?: Trackable /** The `maskContentUnits` SVG attribute. */ maskContentUnits?: Trackable /** The `maskUnits` SVG attribute. */ maskUnits?: Trackable /** The `mathematical` SVG attribute. */ mathematical?: Trackable /** The `mode` SVG attribute. */ mode?: Trackable /** The `numOctaves` SVG attribute. */ numOctaves?: Trackable /** The `offset` SVG attribute. */ offset?: Trackable /** The `opacity` SVG attribute. */ opacity?: Trackable /** The `operator` SVG attribute. */ operator?: Trackable /** The `order` SVG attribute. */ order?: Trackable /** The `orient` SVG attribute. */ orient?: Trackable /** The `orientation` SVG attribute. */ orientation?: Trackable /** The `origin` SVG attribute. */ origin?: Trackable /** The `overflow` SVG attribute. */ overflow?: Trackable /** The `overlinePosition` SVG attribute. */ overlinePosition?: Trackable /** The `overline-position` SVG attribute. */ 'overline-position'?: Trackable /** The `overlineThickness` SVG attribute. */ overlineThickness?: Trackable /** The `overline-thickness` SVG attribute. */ 'overline-thickness'?: Trackable /** The `paintOrder` SVG attribute. */ paintOrder?: Trackable /** The `paint-order` SVG attribute. */ 'paint-order'?: Trackable /** The `panose1` SVG attribute. */ panose1?: Trackable /** The `panose-1` SVG attribute. */ 'panose-1'?: Trackable /** The `pathLength` SVG attribute. */ pathLength?: Trackable /** The `patternContentUnits` SVG attribute. */ patternContentUnits?: Trackable /** The `patternTransform` SVG attribute. */ patternTransform?: Trackable /** The `patternUnits` SVG attribute. */ patternUnits?: Trackable /** The `pointerEvents` SVG attribute. */ pointerEvents?: Trackable /** The `pointer-events` SVG attribute. */ 'pointer-events'?: Trackable /** The `points` SVG attribute. */ points?: Trackable /** The `pointsAtX` SVG attribute. */ pointsAtX?: Trackable /** The `pointsAtY` SVG attribute. */ pointsAtY?: Trackable /** The `pointsAtZ` SVG attribute. */ pointsAtZ?: Trackable /** The `preserveAlpha` SVG attribute. */ preserveAlpha?: Trackable /** The `preserveAspectRatio` SVG attribute. */ preserveAspectRatio?: Trackable /** The `primitiveUnits` SVG attribute. */ primitiveUnits?: Trackable /** The `r` SVG attribute. */ r?: Trackable /** The `radius` SVG attribute. */ radius?: Trackable /** The `refX` SVG attribute. */ refX?: Trackable /** The `refY` SVG attribute. */ refY?: Trackable /** The `renderingIntent` SVG attribute. */ renderingIntent?: Trackable /** The `rendering-intent` SVG attribute. */ 'rendering-intent'?: Trackable /** The `repeatCount` SVG attribute. */ repeatCount?: Trackable /** The `repeat-count` SVG attribute. */ 'repeat-count'?: Trackable /** The `repeatDur` SVG attribute. */ repeatDur?: Trackable /** The `repeat-dur` SVG attribute. */ 'repeat-dur'?: Trackable /** The `requiredExtensions` SVG attribute. */ requiredExtensions?: Trackable /** The `requiredFeatures` SVG attribute. */ requiredFeatures?: Trackable /** The `restart` SVG attribute. */ restart?: Trackable /** The `result` SVG attribute. */ result?: Trackable /** The `rotate` SVG attribute. */ rotate?: Trackable /** The `rx` SVG attribute. */ rx?: Trackable /** The `ry` SVG attribute. */ ry?: Trackable /** The `scale` SVG attribute. */ scale?: Trackable /** The `seed` SVG attribute. */ seed?: Trackable /** The `shapeRendering` SVG attribute. */ shapeRendering?: Trackable /** The `shape-rendering` SVG attribute. */ 'shape-rendering'?: Trackable /** The `slope` SVG attribute. */ slope?: Trackable /** The `spacing` SVG attribute. */ spacing?: Trackable /** The `specularConstant` SVG attribute. */ specularConstant?: Trackable /** The `specularExponent` SVG attribute. */ specularExponent?: Trackable /** The `speed` SVG attribute. */ speed?: Trackable /** The `spreadMethod` SVG attribute. */ spreadMethod?: Trackable /** The `startOffset` SVG attribute. */ startOffset?: Trackable /** The `stdDeviation` SVG attribute. */ stdDeviation?: Trackable /** The `stemh` SVG attribute. */ stemh?: Trackable /** The `stemv` SVG attribute. */ stemv?: Trackable /** The `stitchTiles` SVG attribute. */ stitchTiles?: Trackable /** The `stopColor` SVG attribute. */ stopColor?: Trackable /** The `stop-color` SVG attribute. */ 'stop-color'?: Trackable /** The `stopOpacity` SVG attribute. */ stopOpacity?: Trackable /** The `stop-opacity` SVG attribute. */ 'stop-opacity'?: Trackable /** The `strikethroughPosition` SVG attribute. */ strikethroughPosition?: Trackable /** The `strikethrough-position` SVG attribute. */ 'strikethrough-position'?: Trackable /** The `strikethroughThickness` SVG attribute. */ strikethroughThickness?: Trackable /** The `strikethrough-thickness` SVG attribute. */ 'strikethrough-thickness'?: Trackable /** The `string` SVG attribute. */ string?: Trackable /** The `stroke` SVG attribute. */ stroke?: Trackable /** The `strokeDasharray` SVG attribute. */ strokeDasharray?: Trackable /** The `stroke-dasharray` SVG attribute. */ 'stroke-dasharray'?: Trackable /** The `strokeDashoffset` SVG attribute. */ strokeDashoffset?: Trackable /** The `stroke-dashoffset` SVG attribute. */ 'stroke-dashoffset'?: Trackable /** The `strokeLinecap` SVG attribute. */ strokeLinecap?: Trackable<'butt' | 'round' | 'square' | 'inherit' | undefined> /** The `stroke-linecap` SVG attribute. */ 'stroke-linecap'?: Trackable<'butt' | 'round' | 'square' | 'inherit' | undefined> /** The `strokeLinejoin` SVG attribute. */ strokeLinejoin?: Trackable<'miter' | 'round' | 'bevel' | 'inherit' | undefined> /** The `stroke-linejoin` SVG attribute. */ 'stroke-linejoin'?: Trackable<'miter' | 'round' | 'bevel' | 'inherit' | undefined> /** The `strokeMiterlimit` SVG attribute. */ strokeMiterlimit?: Trackable /** The `stroke-miterlimit` SVG attribute. */ 'stroke-miterlimit'?: Trackable /** The `strokeOpacity` SVG attribute. */ strokeOpacity?: Trackable /** The `stroke-opacity` SVG attribute. */ 'stroke-opacity'?: Trackable /** The `strokeWidth` SVG attribute. */ strokeWidth?: Trackable /** The `stroke-width` SVG attribute. */ 'stroke-width'?: Trackable /** The `surfaceScale` SVG attribute. */ surfaceScale?: Trackable /** The `systemLanguage` SVG attribute. */ systemLanguage?: Trackable /** The `tableValues` SVG attribute. */ tableValues?: Trackable /** The `targetX` SVG attribute. */ targetX?: Trackable /** The `targetY` SVG attribute. */ targetY?: Trackable /** The `textAnchor` SVG attribute. */ textAnchor?: Trackable /** The `text-anchor` SVG attribute. */ 'text-anchor'?: Trackable /** The `textDecoration` SVG attribute. */ textDecoration?: Trackable /** The `text-decoration` SVG attribute. */ 'text-decoration'?: Trackable /** The `textLength` SVG attribute. */ textLength?: Trackable /** The `textRendering` SVG attribute. */ textRendering?: Trackable /** The `text-rendering` SVG attribute. */ 'text-rendering'?: Trackable /** The `to` SVG attribute. */ to?: Trackable /** The `transform` SVG attribute. */ transform?: Trackable /** The `transformOrigin` SVG attribute. */ transformOrigin?: Trackable /** The `transform-origin` SVG attribute. */ 'transform-origin'?: Trackable /** The `type` SVG attribute. */ type?: Trackable /** The `u1` SVG attribute. */ u1?: Trackable /** The `u2` SVG attribute. */ u2?: Trackable /** The `underlinePosition` SVG attribute. */ underlinePosition?: Trackable /** The `underline-position` SVG attribute. */ 'underline-position'?: Trackable /** The `underlineThickness` SVG attribute. */ underlineThickness?: Trackable /** The `underline-thickness` SVG attribute. */ 'underline-thickness'?: Trackable /** The `unicode` SVG attribute. */ unicode?: Trackable /** The `unicodeBidi` SVG attribute. */ unicodeBidi?: Trackable /** The `unicode-bidi` SVG attribute. */ 'unicode-bidi'?: Trackable /** The `unicodeRange` SVG attribute. */ unicodeRange?: Trackable /** The `unicode-range` SVG attribute. */ 'unicode-range'?: Trackable /** The `unitsPerEm` SVG attribute. */ unitsPerEm?: Trackable /** The `units-per-em` SVG attribute. */ 'units-per-em'?: Trackable /** The `vAlphabetic` SVG attribute. */ vAlphabetic?: Trackable /** The `v-alphabetic` SVG attribute. */ 'v-alphabetic'?: Trackable /** The `values` SVG attribute. */ values?: Trackable /** The `vectorEffect` SVG attribute. */ vectorEffect?: Trackable /** The `vector-effect` SVG attribute. */ 'vector-effect'?: Trackable /** The `version` SVG attribute. */ version?: Trackable /** The `vertAdvY` SVG attribute. */ vertAdvY?: Trackable /** The `vert-adv-y` SVG attribute. */ 'vert-adv-y'?: Trackable /** The `vertOriginX` SVG attribute. */ vertOriginX?: Trackable /** The `vert-origin-x` SVG attribute. */ 'vert-origin-x'?: Trackable /** The `vertOriginY` SVG attribute. */ vertOriginY?: Trackable /** The `vert-origin-y` SVG attribute. */ 'vert-origin-y'?: Trackable /** The `vHanging` SVG attribute. */ vHanging?: Trackable /** The `v-hanging` SVG attribute. */ 'v-hanging'?: Trackable /** The `vIdeographic` SVG attribute. */ vIdeographic?: Trackable /** The `v-ideographic` SVG attribute. */ 'v-ideographic'?: Trackable /** The `viewBox` SVG attribute. */ viewBox?: Trackable /** The `viewTarget` SVG attribute. */ viewTarget?: Trackable /** The `visibility` SVG attribute. */ visibility?: Trackable /** The `vMathematical` SVG attribute. */ vMathematical?: Trackable /** The `v-mathematical` SVG attribute. */ 'v-mathematical'?: Trackable /** The `width` SVG attribute. */ width?: Trackable /** The `wordSpacing` SVG attribute. */ wordSpacing?: Trackable /** The `word-spacing` SVG attribute. */ 'word-spacing'?: Trackable /** The `writingMode` SVG attribute. */ writingMode?: Trackable /** The `writing-mode` SVG attribute. */ 'writing-mode'?: Trackable /** The `x1` SVG attribute. */ x1?: Trackable /** The `x2` SVG attribute. */ x2?: Trackable /** The `x` SVG attribute. */ x?: Trackable /** The `xChannelSelector` SVG attribute. */ xChannelSelector?: Trackable /** The `xHeight` SVG attribute. */ xHeight?: Trackable /** The `x-height` SVG attribute. */ 'x-height'?: Trackable /** The `xlinkActuate` SVG attribute. */ xlinkActuate?: Trackable /** The `xlink:actuate` SVG attribute. */ 'xlink:actuate'?: Trackable /** The `xlinkArcrole` SVG attribute. */ xlinkArcrole?: Trackable /** The `xlink:arcrole` SVG attribute. */ 'xlink:arcrole'?: Trackable /** The `xlinkHref` SVG attribute. */ xlinkHref?: Trackable /** The `xlink:href` SVG attribute. */ 'xlink:href'?: Trackable /** The `xlinkRole` SVG attribute. */ xlinkRole?: Trackable /** The `xlink:role` SVG attribute. */ 'xlink:role'?: Trackable /** The `xlinkShow` SVG attribute. */ xlinkShow?: Trackable /** The `xlink:show` SVG attribute. */ 'xlink:show'?: Trackable /** The `xlinkTitle` SVG attribute. */ xlinkTitle?: Trackable /** The `xlink:title` SVG attribute. */ 'xlink:title'?: Trackable /** The `xlinkType` SVG attribute. */ xlinkType?: Trackable /** The `xlink:type` SVG attribute. */ 'xlink:type'?: Trackable /** The `xmlBase` SVG attribute. */ xmlBase?: Trackable /** The `xml:base` SVG attribute. */ 'xml:base'?: Trackable /** The `xmlLang` SVG attribute. */ xmlLang?: Trackable /** The `xml:lang` SVG attribute. */ 'xml:lang'?: Trackable /** The `xmlns` SVG attribute. */ xmlns?: Trackable /** The `xmlnsXlink` SVG attribute. */ xmlnsXlink?: Trackable /** The `xmlSpace` SVG attribute. */ xmlSpace?: Trackable /** The `xml:space` SVG attribute. */ 'xml:space'?: Trackable /** The `y1` SVG attribute. */ y1?: Trackable /** The `y2` SVG attribute. */ y2?: Trackable /** The `y` SVG attribute. */ y?: Trackable /** The `yChannelSelector` SVG attribute. */ yChannelSelector?: Trackable /** The `z` SVG attribute. */ z?: Trackable /** The `zoomAndPan` SVG attribute. */ zoomAndPan?: Trackable } /** * Minimal props for SVG path data. */ export interface PathProps { /** The SVG path data string. */ d: string } // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ /** * WAI-ARIA attributes accepted by host elements. */ export interface AriaProps { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ 'aria-activedescendant'?: Trackable /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ 'aria-atomic'?: Trackable /** * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be * presented if they are made. */ 'aria-autocomplete'?: Trackable<'none' | 'inline' | 'list' | 'both' | undefined> /** * Defines a string value that labels the current element, which is intended to be converted into Braille. * @see aria-label. */ 'aria-braillelabel'?: Trackable /** * Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. * @see aria-roledescription. */ 'aria-brailleroledescription'?: Trackable /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ 'aria-busy'?: Trackable /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed * @see aria-selected. */ 'aria-checked'?: Trackable /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ 'aria-colcount'?: Trackable /** * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. * @see aria-colcount * @see aria-colspan. */ 'aria-colindex'?: Trackable /** * Defines a human readable text alternative of aria-colindex. * @see aria-rowindextext. */ 'aria-colindextext'?: Trackable /** * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-colindex * @see aria-rowspan. */ 'aria-colspan'?: Trackable /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ 'aria-controls'?: Trackable /** Indicates the element that represents the current item within a container or set of related elements. */ 'aria-current'?: Trackable< Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' | undefined > /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ 'aria-describedby'?: Trackable /** * Defines a string value that describes or annotates the current element. * @see related aria-describedby. */ 'aria-description'?: Trackable /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ 'aria-details'?: Trackable /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden * @see aria-readonly. */ 'aria-disabled'?: Trackable /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ 'aria-dropeffect'?: Trackable<'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' | undefined> /** * Identifies the element that provides an error message for the object. * @see aria-invalid * @see aria-describedby. */ 'aria-errormessage'?: Trackable /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ 'aria-expanded'?: Trackable /** * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, * allows assistive technology to override the general default of reading in document source order. */ 'aria-flowto'?: Trackable /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ 'aria-grabbed'?: Trackable /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ 'aria-haspopup'?: Trackable< Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined > /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ 'aria-hidden'?: Trackable /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ 'aria-invalid'?: Trackable /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ 'aria-keyshortcuts'?: Trackable /** * Defines a string value that labels the current element. * @see aria-labelledby. */ 'aria-label'?: Trackable /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ 'aria-labelledby'?: Trackable /** Defines the hierarchical level of an element within a structure. */ 'aria-level'?: Trackable /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ 'aria-live'?: Trackable<'off' | 'assertive' | 'polite' | undefined> /** Indicates whether an element is modal when displayed. */ 'aria-modal'?: Trackable /** Indicates whether a text box accepts multiple lines of input or only a single line. */ 'aria-multiline'?: Trackable /** Indicates that the user may select more than one item from the current selectable descendants. */ 'aria-multiselectable'?: Trackable /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ 'aria-orientation'?: Trackable<'horizontal' | 'vertical' | undefined> /** * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. * @see aria-controls. */ 'aria-owns'?: Trackable /** * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. * A hint could be a sample value or a brief description of the expected format. */ 'aria-placeholder'?: Trackable /** * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-setsize. */ 'aria-posinset'?: Trackable /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked * @see aria-selected. */ 'aria-pressed'?: Trackable /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ 'aria-readonly'?: Trackable /** * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ 'aria-relevant'?: Trackable< | 'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals' | undefined > /** Indicates that user input is required on the element before a form may be submitted. */ 'aria-required'?: Trackable /** Defines a human-readable, author-localized description for the role of an element. */ 'aria-roledescription'?: Trackable /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ 'aria-rowcount'?: Trackable /** * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. * @see aria-rowcount * @see aria-rowspan. */ 'aria-rowindex'?: Trackable /** * Defines a human readable text alternative of aria-rowindex. * @see aria-colindextext. */ 'aria-rowindextext'?: Trackable /** * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-rowindex * @see aria-colspan. */ 'aria-rowspan'?: Trackable /** * Indicates the current "selected" state of various widgets. * @see aria-checked * @see aria-pressed. */ 'aria-selected'?: Trackable /** * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-posinset. */ 'aria-setsize'?: Trackable /** Indicates if items in a table or grid are sorted in ascending or descending order. */ 'aria-sort'?: Trackable<'none' | 'ascending' | 'descending' | 'other' | undefined> /** Defines the maximum allowed value for a range widget. */ 'aria-valuemax'?: Trackable /** Defines the minimum allowed value for a range widget. */ 'aria-valuemin'?: Trackable /** * Defines the current value for a range widget. * @see aria-valuetext. */ 'aria-valuenow'?: Trackable /** Defines the human readable text alternative of aria-valuenow for a range widget. */ 'aria-valuetext'?: Trackable } // All the WAI-ARIA 1.2 role attribute values from https://www.w3.org/TR/wai-aria-1.2/#role_definitions export type WAIAriaRole = | 'alert' | 'alertdialog' | 'application' | 'article' | 'banner' | 'blockquote' | 'button' | 'caption' | 'cell' | 'checkbox' | 'code' | 'columnheader' | 'combobox' | 'command' | 'complementary' | 'composite' | 'contentinfo' | 'definition' | 'deletion' | 'dialog' | 'directory' | 'document' | 'emphasis' | 'feed' | 'figure' | 'form' | 'grid' | 'gridcell' | 'group' | 'heading' | 'img' | 'input' | 'insertion' | 'landmark' | 'link' | 'list' | 'listbox' | 'listitem' | 'log' | 'main' | 'marquee' | 'math' | 'meter' | 'menu' | 'menubar' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'navigation' | 'none' | 'note' | 'option' | 'paragraph' | 'presentation' | 'progressbar' | 'radio' | 'radiogroup' | 'range' | 'region' | 'roletype' | 'row' | 'rowgroup' | 'rowheader' | 'scrollbar' | 'search' | 'searchbox' | 'section' | 'sectionhead' | 'select' | 'separator' | 'slider' | 'spinbutton' | 'status' | 'strong' | 'structure' | 'subscript' | 'superscript' | 'switch' | 'tab' | 'table' | 'tablist' | 'tabpanel' | 'term' | 'textbox' | 'time' | 'timer' | 'toolbar' | 'tooltip' | 'tree' | 'treegrid' | 'treeitem' | 'widget' | 'window' | 'none presentation' // All the Digital Publishing WAI-ARIA 1.0 role attribute values from https://www.w3.org/TR/dpub-aria-1.0/#role_definitions export type DPubAriaRole = | 'doc-abstract' | 'doc-acknowledgments' | 'doc-afterword' | 'doc-appendix' | 'doc-backlink' | 'doc-biblioentry' | 'doc-bibliography' | 'doc-biblioref' | 'doc-chapter' | 'doc-colophon' | 'doc-conclusion' | 'doc-cover' | 'doc-credit' | 'doc-credits' | 'doc-dedication' | 'doc-endnote' | 'doc-endnotes' | 'doc-epigraph' | 'doc-epilogue' | 'doc-errata' | 'doc-example' | 'doc-footnote' | 'doc-foreword' | 'doc-glossary' | 'doc-glossref' | 'doc-index' | 'doc-introduction' | 'doc-noteref' | 'doc-notice' | 'doc-pagebreak' | 'doc-pagelist' | 'doc-part' | 'doc-preface' | 'doc-prologue' | 'doc-pullquote' | 'doc-qna' | 'doc-subtitle' | 'doc-tip' | 'doc-toc' export type AriaRole = WAIAriaRole | DPubAriaRole /** * Comprehensive HTML attributes shared by specialized element prop interfaces. */ export interface AllHTMLProps extends HostProps, AriaProps { // Standard HTML Attributes /** The `accept` HTML attribute. */ accept?: Trackable /** The `acceptCharset` HTML attribute. */ acceptCharset?: Trackable /** The `accept-charset` HTML attribute. */ 'accept-charset'?: Trackable /** The `accessKey` HTML attribute. */ accessKey?: Trackable /** The `accesskey` HTML attribute. */ accesskey?: Trackable /** The `action` HTML attribute. */ action?: Trackable /** The `allow` HTML attribute. */ allow?: Trackable /** The `allowFullScreen` HTML attribute. */ allowFullScreen?: Trackable /** The `allowTransparency` HTML attribute. */ allowTransparency?: Trackable /** The `alt` HTML attribute. */ alt?: Trackable /** The `as` HTML attribute. */ as?: Trackable /** The `async` HTML attribute. */ async?: Trackable /** The `autocomplete` HTML attribute. */ autocomplete?: Trackable /** The `autoComplete` HTML attribute. */ autoComplete?: Trackable /** The `autocorrect` HTML attribute. */ autocorrect?: Trackable /** The `autoCorrect` HTML attribute. */ autoCorrect?: Trackable /** The `autofocus` HTML attribute. */ autofocus?: Trackable /** The `autoFocus` HTML attribute. */ autoFocus?: Trackable /** The `autoPlay` HTML attribute. */ autoPlay?: Trackable /** The `autoplay` HTML attribute. */ autoplay?: Trackable /** The `capture` HTML attribute. */ capture?: Trackable /** The `cellPadding` HTML attribute. */ cellPadding?: Trackable /** The `cellSpacing` HTML attribute. */ cellSpacing?: Trackable /** The `charSet` HTML attribute. */ charSet?: Trackable /** The `charset` HTML attribute. */ charset?: Trackable /** The `challenge` HTML attribute. */ challenge?: Trackable /** The `checked` HTML attribute. */ checked?: Trackable /** The `cite` HTML attribute. */ cite?: Trackable /** The `class` HTML attribute. */ class?: Trackable /** The `className` HTML attribute. */ className?: Trackable /** The `cols` HTML attribute. */ cols?: Trackable /** The `colSpan` HTML attribute. */ colSpan?: Trackable /** The `colspan` HTML attribute. */ colspan?: Trackable /** The `content` HTML attribute. */ content?: Trackable /** The `contentEditable` HTML attribute. */ contentEditable?: Trackable /** The `contenteditable` HTML attribute. */ contenteditable?: Trackable /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contextmenu */ contextMenu?: Trackable /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contextmenu */ contextmenu?: Trackable /** The `controls` HTML attribute. */ controls?: Trackable /** The `controlslist` HTML attribute. */ controlslist?: Trackable /** The `controlsList` HTML attribute. */ controlsList?: Trackable /** The `coords` HTML attribute. */ coords?: Trackable /** The `crossOrigin` HTML attribute. */ crossOrigin?: Trackable /** The `crossorigin` HTML attribute. */ crossorigin?: Trackable /** The `currentTime` HTML attribute. */ currentTime?: Trackable /** The `data` HTML attribute. */ data?: Trackable /** The `dateTime` HTML attribute. */ dateTime?: Trackable /** The `datetime` HTML attribute. */ datetime?: Trackable /** The `default` HTML attribute. */ default?: Trackable /** The `defaultChecked` HTML attribute. */ defaultChecked?: Trackable /** The `defaultMuted` HTML attribute. */ defaultMuted?: Trackable /** The `defaultPlaybackRate` HTML attribute. */ defaultPlaybackRate?: Trackable /** The `defaultValue` HTML attribute. */ defaultValue?: Trackable /** The `defer` HTML attribute. */ defer?: Trackable /** The `dir` HTML attribute. */ dir?: Trackable<'auto' | 'rtl' | 'ltr' | undefined> /** The `disabled` HTML attribute. */ disabled?: Trackable /** The `disableremoteplayback` HTML attribute. */ disableremoteplayback?: Trackable /** The `disableRemotePlayback` HTML attribute. */ disableRemotePlayback?: Trackable /** The `download` HTML attribute. */ download?: Trackable /** The `decoding` HTML attribute. */ decoding?: Trackable<'sync' | 'async' | 'auto' | undefined> /** The `draggable` HTML attribute. */ draggable?: Trackable /** The `encType` HTML attribute. */ encType?: Trackable /** The `enctype` HTML attribute. */ enctype?: Trackable /** The `enterkeyhint` HTML attribute. */ enterkeyhint?: Trackable< 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined > /** The `elementTiming` HTML attribute. */ elementTiming?: Trackable /** The `elementtiming` HTML attribute. */ elementtiming?: Trackable /** The `exportparts` HTML attribute. */ exportparts?: Trackable /** The `for` HTML attribute. */ for?: Trackable /** The `form` HTML attribute. */ form?: Trackable /** The `formAction` HTML attribute. */ formAction?: Trackable /** The `formaction` HTML attribute. */ formaction?: Trackable /** The `formEncType` HTML attribute. */ formEncType?: Trackable /** The `formenctype` HTML attribute. */ formenctype?: Trackable /** The `formMethod` HTML attribute. */ formMethod?: Trackable /** The `formmethod` HTML attribute. */ formmethod?: Trackable /** The `formNoValidate` HTML attribute. */ formNoValidate?: Trackable /** The `formnovalidate` HTML attribute. */ formnovalidate?: Trackable /** The `formTarget` HTML attribute. */ formTarget?: Trackable /** The `formtarget` HTML attribute. */ formtarget?: Trackable /** The `frameBorder` HTML attribute. */ frameBorder?: Trackable /** The `frameborder` HTML attribute. */ frameborder?: Trackable /** The `headers` HTML attribute. */ headers?: Trackable /** The `height` HTML attribute. */ height?: Trackable /** The `hidden` HTML attribute. */ hidden?: Trackable /** The `high` HTML attribute. */ high?: Trackable /** The `href` HTML attribute. */ href?: Trackable /** The `hrefLang` HTML attribute. */ hrefLang?: Trackable /** The `hreflang` HTML attribute. */ hreflang?: Trackable /** The `htmlFor` HTML attribute. */ htmlFor?: Trackable /** The `httpEquiv` HTML attribute. */ httpEquiv?: Trackable /** The `http-equiv` HTML attribute. */ 'http-equiv'?: Trackable /** The `icon` HTML attribute. */ icon?: Trackable /** The `id` HTML attribute. */ id?: Trackable /** The `indeterminate` HTML attribute. */ indeterminate?: Trackable /** The `inert` HTML attribute. */ inert?: Trackable /** The `inputMode` HTML attribute. */ inputMode?: Trackable /** The `inputmode` HTML attribute. */ inputmode?: Trackable /** The `integrity` HTML attribute. */ integrity?: Trackable /** The `is` HTML attribute. */ is?: Trackable /** The `keyParams` HTML attribute. */ keyParams?: Trackable /** The `keyType` HTML attribute. */ keyType?: Trackable /** The `kind` HTML attribute. */ kind?: Trackable /** The `label` HTML attribute. */ label?: Trackable /** The `lang` HTML attribute. */ lang?: Trackable /** The `list` HTML attribute. */ list?: Trackable /** The `loading` HTML attribute. */ loading?: Trackable<'eager' | 'lazy' | undefined> /** The `loop` HTML attribute. */ loop?: Trackable /** The `low` HTML attribute. */ low?: Trackable /** The `manifest` HTML attribute. */ manifest?: Trackable /** The `marginHeight` HTML attribute. */ marginHeight?: Trackable /** The `marginWidth` HTML attribute. */ marginWidth?: Trackable /** The `max` HTML attribute. */ max?: Trackable /** The `maxLength` HTML attribute. */ maxLength?: Trackable /** The `maxlength` HTML attribute. */ maxlength?: Trackable /** The `media` HTML attribute. */ media?: Trackable /** The `mediaGroup` HTML attribute. */ mediaGroup?: Trackable /** The `method` HTML attribute. */ method?: Trackable /** The `min` HTML attribute. */ min?: Trackable /** The `minLength` HTML attribute. */ minLength?: Trackable /** The `minlength` HTML attribute. */ minlength?: Trackable /** The `multiple` HTML attribute. */ multiple?: Trackable /** The `muted` HTML attribute. */ muted?: Trackable /** The `name` HTML attribute. */ name?: Trackable /** The `nomodule` HTML attribute. */ nomodule?: Trackable /** The `nonce` HTML attribute. */ nonce?: Trackable /** The `noValidate` HTML attribute. */ noValidate?: Trackable /** The `novalidate` HTML attribute. */ novalidate?: Trackable /** The `open` HTML attribute. */ open?: Trackable /** The `optimum` HTML attribute. */ optimum?: Trackable /** The `part` HTML attribute. */ part?: Trackable /** The `pattern` HTML attribute. */ pattern?: Trackable /** The `ping` HTML attribute. */ ping?: Trackable /** The `placeholder` HTML attribute. */ placeholder?: Trackable /** The `playsInline` HTML attribute. */ playsInline?: Trackable /** The `playsinline` HTML attribute. */ playsinline?: Trackable /** The `playbackRate` HTML attribute. */ playbackRate?: Trackable /** The `popover` HTML attribute. */ popover?: Trackable<'auto' | 'hint' | 'manual' | boolean | undefined> /** The `popovertarget` HTML attribute. */ popovertarget?: Trackable /** The `popoverTarget` HTML attribute. */ popoverTarget?: Trackable /** The `popovertargetaction` HTML attribute. */ popovertargetaction?: Trackable<'hide' | 'show' | 'toggle' | undefined> /** The `popoverTargetAction` HTML attribute. */ popoverTargetAction?: Trackable<'hide' | 'show' | 'toggle' | undefined> /** The `poster` HTML attribute. */ poster?: Trackable /** The `preload` HTML attribute. */ preload?: Trackable<'auto' | 'metadata' | 'none' | undefined> /** The `preservesPitch` HTML attribute. */ preservesPitch?: Trackable /** The `radioGroup` HTML attribute. */ radioGroup?: Trackable /** The `readonly` HTML attribute. */ readonly?: Trackable /** The `readOnly` HTML attribute. */ readOnly?: Trackable /** The `referrerpolicy` HTML attribute. */ referrerpolicy?: Trackable< | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' | undefined > /** The `rel` HTML attribute. */ rel?: Trackable /** The `required` HTML attribute. */ required?: Trackable /** The `reversed` HTML attribute. */ reversed?: Trackable /** The `role` HTML attribute. */ role?: Trackable /** The `rows` HTML attribute. */ rows?: Trackable /** The `rowSpan` HTML attribute. */ rowSpan?: Trackable /** The `rowspan` HTML attribute. */ rowspan?: Trackable /** The `sandbox` HTML attribute. */ sandbox?: Trackable /** The `scope` HTML attribute. */ scope?: Trackable /** The `scoped` HTML attribute. */ scoped?: Trackable /** The `scrolling` HTML attribute. */ scrolling?: Trackable /** The `seamless` HTML attribute. */ seamless?: Trackable /** The `selected` HTML attribute. */ selected?: Trackable /** The `shape` HTML attribute. */ shape?: Trackable /** The `size` HTML attribute. */ size?: Trackable /** The `sizes` HTML attribute. */ sizes?: Trackable /** The `slot` HTML attribute. */ slot?: Trackable /** The `span` HTML attribute. */ span?: Trackable /** The `spellcheck` HTML attribute. */ spellcheck?: Trackable /** The `src` HTML attribute. */ src?: Trackable /** The `srcDoc` HTML attribute. */ srcDoc?: Trackable /** The `srcdoc` HTML attribute. */ srcdoc?: Trackable /** The `srcLang` HTML attribute. */ srcLang?: Trackable /** The `srclang` HTML attribute. */ srclang?: Trackable /** The `srcSet` HTML attribute. */ srcSet?: Trackable /** The `srcset` HTML attribute. */ srcset?: Trackable /** The `srcObject` HTML attribute. */ srcObject?: Trackable /** The `start` HTML attribute. */ start?: Trackable /** The `step` HTML attribute. */ step?: Trackable /** The `style` HTML attribute. */ style?: Trackable /** The `summary` HTML attribute. */ summary?: Trackable /** The `tabIndex` HTML attribute. */ tabIndex?: Trackable /** The `tabindex` HTML attribute. */ tabindex?: Trackable /** The `target` HTML attribute. */ target?: Trackable /** The `title` HTML attribute. */ title?: Trackable /** The `type` HTML attribute. */ type?: Trackable /** The `useMap` HTML attribute. */ useMap?: Trackable /** The `usemap` HTML attribute. */ usemap?: Trackable /** The `value` HTML attribute. */ value?: Trackable /** The `volume` HTML attribute. */ volume?: Trackable /** The `width` HTML attribute. */ width?: Trackable /** The `wmode` HTML attribute. */ wmode?: Trackable /** The `wrap` HTML attribute. */ wrap?: Trackable // Non-standard Attributes /** The `autocapitalize` HTML attribute. */ autocapitalize?: Trackable< 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined > /** The `autoCapitalize` HTML attribute. */ autoCapitalize?: Trackable< 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined > /** The `disablePictureInPicture` HTML attribute. */ disablePictureInPicture?: Trackable /** The `results` HTML attribute. */ results?: Trackable /** The `translate` HTML attribute. */ translate?: Trackable // RDFa Attributes /** The `about` HTML attribute. */ about?: Trackable /** The `datatype` HTML attribute. */ datatype?: Trackable /** The `inlist` HTML attribute. */ inlist?: Trackable /** The `prefix` HTML attribute. */ prefix?: Trackable /** The `property` HTML attribute. */ property?: Trackable /** The `resource` HTML attribute. */ resource?: Trackable /** The `typeof` HTML attribute. */ typeof?: Trackable /** The `vocab` HTML attribute. */ vocab?: Trackable // Microdata Attributes /** The `itemProp` HTML attribute. */ itemProp?: Trackable /** The `itemprop` HTML attribute. */ itemprop?: Trackable /** The `itemScope` HTML attribute. */ itemScope?: Trackable /** The `itemscope` HTML attribute. */ itemscope?: Trackable /** The `itemType` HTML attribute. */ itemType?: Trackable /** The `itemtype` HTML attribute. */ itemtype?: Trackable /** The `itemID` HTML attribute. */ itemID?: Trackable /** The `itemid` HTML attribute. */ itemid?: Trackable /** The `itemRef` HTML attribute. */ itemRef?: Trackable /** The `itemref` HTML attribute. */ itemref?: Trackable } /** * Core global HTML attributes accepted by most host elements. */ export interface HTMLProps extends HostProps, AriaProps { // Standard HTML Attributes /** The `accesskey` HTML attribute. */ accesskey?: Trackable /** The `accessKey` HTML attribute. */ accessKey?: Trackable /** The `autocapitalize` HTML attribute. */ autocapitalize?: Trackable< 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined > /** The `autoCapitalize` HTML attribute. */ autoCapitalize?: Trackable< 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined > /** The `autocorrect` HTML attribute. */ autocorrect?: Trackable /** The `autoCorrect` HTML attribute. */ autoCorrect?: Trackable /** The `autofocus` HTML attribute. */ autofocus?: Trackable /** The `autoFocus` HTML attribute. */ autoFocus?: Trackable /** The `class` HTML attribute. */ class?: Trackable /** The `className` HTML attribute. */ className?: Trackable /** The `contenteditable` HTML attribute. */ contenteditable?: Trackable /** The `contentEditable` HTML attribute. */ contentEditable?: Trackable /** The `dir` HTML attribute. */ dir?: Trackable<'auto' | 'rtl' | 'ltr' | undefined> /** The `draggable` HTML attribute. */ draggable?: Trackable /** The `enterkeyhint` HTML attribute. */ enterkeyhint?: Trackable< 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined > /** The `exportparts` HTML attribute. */ exportparts?: Trackable /** The `hidden` HTML attribute. */ hidden?: Trackable /** The `id` HTML attribute. */ id?: Trackable /** The `inert` HTML attribute. */ inert?: Trackable /** The `inputmode` HTML attribute. */ inputmode?: Trackable /** The `inputMode` HTML attribute. */ inputMode?: Trackable /** The `is` HTML attribute. */ is?: Trackable /** The `lang` HTML attribute. */ lang?: Trackable /** The `nonce` HTML attribute. */ nonce?: Trackable /** The `part` HTML attribute. */ part?: Trackable /** The `popover` HTML attribute. */ popover?: Trackable<'auto' | 'hint' | 'manual' | boolean | undefined> /** The `slot` HTML attribute. */ slot?: Trackable /** The `spellcheck` HTML attribute. */ spellcheck?: Trackable /** The `style` HTML attribute. */ style?: Trackable /** The `tabindex` HTML attribute. */ tabindex?: Trackable /** The `tabIndex` HTML attribute. */ tabIndex?: Trackable /** The `title` HTML attribute. */ title?: Trackable /** The `translate` HTML attribute. */ translate?: Trackable // WAI-ARIA Attributes // Most elements only allow a subset of roles and so this // is overwritten in many of the per-element interfaces below /** The `role` HTML attribute. */ role?: Trackable // Non-standard Attributes /** The `disablePictureInPicture` HTML attribute. */ disablePictureInPicture?: Trackable /** The `elementtiming` HTML attribute. */ elementtiming?: Trackable /** The `elementTiming` HTML attribute. */ elementTiming?: Trackable /** The `results` HTML attribute. */ results?: Trackable // RDFa Attributes /** The `about` HTML attribute. */ about?: Trackable /** The `datatype` HTML attribute. */ datatype?: Trackable /** The `inlist` HTML attribute. */ inlist?: Trackable /** The `prefix` HTML attribute. */ prefix?: Trackable /** The `property` HTML attribute. */ property?: Trackable /** The `resource` HTML attribute. */ resource?: Trackable /** The `typeof` HTML attribute. */ typeof?: Trackable /** The `vocab` HTML attribute. */ vocab?: Trackable // Microdata Attributes /** The `itemid` HTML attribute. */ itemid?: Trackable /** The `itemID` HTML attribute. */ itemID?: Trackable /** The `itemprop` HTML attribute. */ itemprop?: Trackable /** The `itemProp` HTML attribute. */ itemProp?: Trackable /** The `itemref` HTML attribute. */ itemref?: Trackable /** The `itemRef` HTML attribute. */ itemRef?: Trackable /** The `itemscope` HTML attribute. */ itemscope?: Trackable /** The `itemScope` HTML attribute. */ itemScope?: Trackable /** The `itemtype` HTML attribute. */ itemtype?: Trackable /** The `itemType` HTML attribute. */ itemType?: Trackable } export type HTMLAttributeReferrerPolicy = | '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' export type HTMLAttributeAnchorTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {}) /** * Props accepted by `` elements. */ export interface PartialAnchorHTMLProps extends HTMLProps { /** The `download` HTML attribute. */ download?: Trackable /** The `hreflang` HTML attribute. */ hreflang?: Trackable /** The `hrefLang` HTML attribute. */ hrefLang?: Trackable /** The `media` HTML attribute. */ media?: Trackable /** The `ping` HTML attribute. */ ping?: Trackable /** The `rel` HTML attribute. */ rel?: Trackable /** The `target` HTML attribute. */ target?: Trackable /** The `type` HTML attribute. */ type?: Trackable /** The `referrerpolicy` HTML attribute. */ referrerpolicy?: Trackable /** The `referrerPolicy` HTML attribute. */ referrerPolicy?: Trackable // Non-standard Attributes /** The `rmx-target` HTML attribute. */ 'rmx-target'?: Trackable /** The `rmx-src` HTML attribute. */ 'rmx-src'?: Trackable /** The `rmx-reset-scroll` HTML attribute. */ 'rmx-reset-scroll'?: Trackable } export type AnchorAriaRoles = | { href: Trackable role?: Trackable< | 'link' | 'button' | 'checkbox' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'radio' | 'switch' | 'tab' | 'treeitem' | 'doc-backlink' | 'doc-biblioref' | 'doc-glossref' | 'doc-noteref' | undefined > } | { href?: never role?: Trackable } /** * Props accepted by `` elements. */ export type AccessibleAnchorHTMLProps = Omit< PartialAnchorHTMLProps, 'role' > & AnchorAriaRoles /** * Props accepted by `` elements. */ export interface AnchorHTMLProps extends PartialAnchorHTMLProps { /** The `href` HTML attribute. */ href?: Trackable /** The `role` HTML attribute. */ role?: Trackable } /** * Props accepted by `` elements. */ export interface PartialAreaHTMLProps extends HTMLProps { /** The `alt` HTML attribute. */ alt?: Trackable /** The `coords` HTML attribute. */ coords?: Trackable /** The `download` HTML attribute. */ download?: Trackable /** The `hreflang` HTML attribute. */ hreflang?: Trackable /** The `hrefLang` HTML attribute. */ hrefLang?: Trackable /** The `media` HTML attribute. */ media?: Trackable /** The `referrerpolicy` HTML attribute. */ referrerpolicy?: Trackable /** The `referrerPolicy` HTML attribute. */ referrerPolicy?: Trackable /** The `rel` HTML attribute. */ rel?: Trackable /** The `shape` HTML attribute. */ shape?: Trackable /** The `target` HTML attribute. */ target?: Trackable } export type AreaAriaRoles = | { href: Trackable role?: Trackable<'link' | undefined> } | { href?: never role?: Trackable<'button' | 'link' | undefined> } /** * Props accepted by `` elements. */ export type AccessibleAreaHTMLProps = Omit< PartialAreaHTMLProps, 'role' > & AreaAriaRoles /** * Props accepted by `` elements. */ export interface AreaHTMLProps extends PartialAreaHTMLProps { /** The `href` HTML attribute. */ href?: Trackable /** The `role` HTML attribute. */ role?: Trackable<'button' | 'link' | undefined> } /** * Props accepted by `
` elements. */ export interface ArticleHTMLProps extends HTMLProps { /** The `role` HTML attribute. */ role?: Trackable< | 'article' | 'application' | 'document' | 'feed' | 'main' | 'none' | 'presentation' | 'region' | undefined > } /** * Props accepted by `