import { type Rec } from "@agyemanjp/standard"; import type { Children } from "../common"; import { type CSSColor, type CSSLength, type CSSProperties, type CSSProperty } from "./_styles"; import { type AnimationEventHandler, type ChangeEventHandler, type ClipboardEventHandler, type CompositionEventHandler, type DragEventHandler, type FocusEventHandler, type FormEventHandler, type GeneralEventHandler, type KeyboardEventHandler, type MouseEventHandler, type PointerEventHandler, type TouchEventHandler, type TransitionEventHandler, type UIEventHandler, type WheelEventHandler } from "./_events"; /** Converts an attributes property object to a string */ export declare function stringifyAttributes(props: HTMLAttributes & E): string; /** HTML (boolean) attributes set by their presence irrespective of their value. */ export declare const booleanAttributes: string[]; /** Attribute name conversions when passed to DOM setAttribute or rendered as HTML * From https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes and https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute * For directly settign an attribute on a DOM element, we assume the attribute name is already in the proper case * (as specified by the attribute typings) so no conversion is needed. */ export declare const attributeConversions: Rec; export type Attributes = {}; export type ClassAttributes = Attributes & {}; export type DOMAttributes = Attributes & { onCopy?: ClipboardEventHandler; onCopyCapture?: ClipboardEventHandler; onCut?: ClipboardEventHandler; onCutCapture?: ClipboardEventHandler; onPaste?: ClipboardEventHandler; onPasteCapture?: ClipboardEventHandler; onCompositionEnd?: CompositionEventHandler; onCompositionEndCapture?: CompositionEventHandler; onCompositionStart?: CompositionEventHandler; onCompositionStartCapture?: CompositionEventHandler; onCompositionUpdate?: CompositionEventHandler; onCompositionUpdateCapture?: CompositionEventHandler; onFocus?: FocusEventHandler; onFocusCapture?: FocusEventHandler; onBlur?: FocusEventHandler; onBlurCapture?: FocusEventHandler; onChange?: ChangeEventHandler; onChangeCapture?: FormEventHandler; onInput?: FormEventHandler; onInputCapture?: FormEventHandler; onReset?: FormEventHandler; onResetCapture?: FormEventHandler; onSubmit?: FormEventHandler; onSubmitCapture?: FormEventHandler; onInvalid?: FormEventHandler; onInvalidCapture?: FormEventHandler; onLoad?: GeneralEventHandler; onLoadCapture?: GeneralEventHandler; onError?: GeneralEventHandler; onErrorCapture?: GeneralEventHandler; onKeyDown?: KeyboardEventHandler; onKeyDownCapture?: KeyboardEventHandler; onKeyPress?: KeyboardEventHandler; onKeyPressCapture?: KeyboardEventHandler; onKeyUp?: KeyboardEventHandler; onKeyUpCapture?: KeyboardEventHandler; onAbort?: GeneralEventHandler; onAbortCapture?: GeneralEventHandler; onCanPlay?: GeneralEventHandler; onCanPlayCapture?: GeneralEventHandler; onCanPlayThrough?: GeneralEventHandler; onCanPlayThroughCapture?: GeneralEventHandler; onDurationChange?: GeneralEventHandler; onDurationChangeCapture?: GeneralEventHandler; onEmptied?: GeneralEventHandler; onEmptiedCapture?: GeneralEventHandler; onEncrypted?: GeneralEventHandler; onEncryptedCapture?: GeneralEventHandler; onEnded?: GeneralEventHandler; onEndedCapture?: GeneralEventHandler; onLoadedData?: GeneralEventHandler; onLoadedDataCapture?: GeneralEventHandler; onLoadedMetadata?: GeneralEventHandler; onLoadedMetadataCapture?: GeneralEventHandler; onLoadStart?: GeneralEventHandler; onLoadStartCapture?: GeneralEventHandler; onPause?: GeneralEventHandler; onPauseCapture?: GeneralEventHandler; onPlay?: GeneralEventHandler; onPlayCapture?: GeneralEventHandler; onPlaying?: GeneralEventHandler; onPlayingCapture?: GeneralEventHandler; onProgress?: GeneralEventHandler; onProgressCapture?: GeneralEventHandler; onRateChange?: GeneralEventHandler; onRateChangeCapture?: GeneralEventHandler; onSeeked?: GeneralEventHandler; onSeekedCapture?: GeneralEventHandler; onSeeking?: GeneralEventHandler; onSeekingCapture?: GeneralEventHandler; onStalled?: GeneralEventHandler; onStalledCapture?: GeneralEventHandler; onSuspend?: GeneralEventHandler; onSuspendCapture?: GeneralEventHandler; onTimeUpdate?: GeneralEventHandler; onTimeUpdateCapture?: GeneralEventHandler; onVolumeChange?: GeneralEventHandler; onVolumeChangeCapture?: GeneralEventHandler; onWaiting?: GeneralEventHandler; onWaitingCapture?: GeneralEventHandler; onClick?: MouseEventHandler; onClickCapture?: MouseEventHandler; onContextMenu?: MouseEventHandler; onContextMenuCapture?: MouseEventHandler; onDoubleClick?: MouseEventHandler; onDoubleClickCapture?: 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; onMouseLeave?: MouseEventHandler; onMouseMove?: MouseEventHandler; onMouseMoveCapture?: MouseEventHandler; onMouseOut?: MouseEventHandler; onMouseOutCapture?: MouseEventHandler; onMouseOver?: MouseEventHandler; onMouseOverCapture?: MouseEventHandler; onMouseUp?: MouseEventHandler; onMouseUpCapture?: MouseEventHandler; onSelect?: GeneralEventHandler; onSelectCapture?: GeneralEventHandler; onTouchCancel?: TouchEventHandler; onTouchCancelCapture?: TouchEventHandler; onTouchEnd?: TouchEventHandler; onTouchEndCapture?: TouchEventHandler; onTouchMove?: TouchEventHandler; onTouchMoveCapture?: TouchEventHandler; onTouchStart?: TouchEventHandler; onTouchStartCapture?: TouchEventHandler; onPointerDown?: PointerEventHandler; onPointerDownCapture?: PointerEventHandler; onPointerMove?: PointerEventHandler; onPointerMoveCapture?: PointerEventHandler; onPointerUp?: PointerEventHandler; onPointerUpCapture?: PointerEventHandler; onPointerCancel?: PointerEventHandler; onPointerCancelCapture?: PointerEventHandler; onPointerEnter?: PointerEventHandler; onPointerEnterCapture?: PointerEventHandler; onPointerLeave?: PointerEventHandler; onPointerLeaveCapture?: PointerEventHandler; onPointerOver?: PointerEventHandler; onPointerOverCapture?: PointerEventHandler; onPointerOut?: PointerEventHandler; onPointerOutCapture?: PointerEventHandler; onGotPointerCapture?: PointerEventHandler; onGotPointerCaptureCapture?: PointerEventHandler; onLostPointerCapture?: PointerEventHandler; onLostPointerCaptureCapture?: PointerEventHandler; onScroll?: UIEventHandler; onScrollCapture?: UIEventHandler; onWheel?: WheelEventHandler; onWheelCapture?: WheelEventHandler; onAnimationStart?: AnimationEventHandler; onAnimationStartCapture?: AnimationEventHandler; onAnimationEnd?: AnimationEventHandler; onAnimationEndCapture?: AnimationEventHandler; onAnimationIteration?: AnimationEventHandler; onAnimationIterationCapture?: AnimationEventHandler; onTransitionEnd?: TransitionEventHandler; onTransitionEndCapture?: TransitionEventHandler; }; export type HTMLAttributes = DOMAttributes & { children?: Children; accessKey?: string; className?: string; contentEditable?: boolean; contextMenu?: string; dir?: string; draggable?: boolean; hidden?: boolean; id?: string; lang?: string; placeholder?: string; slot?: string; spellCheck?: boolean; style?: CSSProperties; tabIndex?: number | string; title?: string; role?: string; about?: string; datatype?: string; inlist?: unknown; prefix?: string; property?: string; resource?: string; typeof?: string; vocab?: string; /** Controls whether inputted text is automatically capitalized and, if so, in what manner. */ autocapitalize?: ( /** No autocapitalization is applied (all letters default to lowercase) */ "off" | "none" /** The first letter of each sentence defaults to a capital letter; all other letters default to lowercase */ | "on" | "sentences" /** The first letter of each word defaults to a capital letter; all other letters default to lowercase */ | "words" /** All letters should default to uppercase */ | "characters"); autocorrect?: string; autosave?: string; color?: string; itemProp?: string; itemScope?: boolean; itemType?: string; itemID?: string; itemRef?: string; results?: number; security?: string; unselectable?: 'on' | 'off'; defaultChecked?: boolean; defaultValue?: string | string[]; suppressContentEditableWarning?: boolean; suppressHydrationWarning?: boolean; is?: string; inputMode?: string; radioGroup?: string; }; export type SVGAttributes = { [k in keyof _SVGAttributes]: _SVGAttributes[k]; }; export type _SVGAttributes = DOMAttributes & { children?: Children; className?: string; color?: string; id?: string; lang?: string; max?: number | string; media?: string; method?: string; min?: number | string; name?: string; style?: CSSProperties; target?: string; type?: string; width?: number | `${number}` | CSSLength; height?: number | `${number}` | CSSLength; role?: string; tabIndex?: number; 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?: number | string; 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?: "duplicate" | "wrap" | "none"; /** (For the SVG element ) Specifies the direction angle for the light source from * the XY plane towards the Z-axis, in degrees. * Note that the positive Z-axis points towards the viewer of the content. */ elevation?: number | `${number}`; enableBackground?: ("accumulate" | `new ${number} ${number} ${number} ${number}`); /** A semicolon-separated list of values that define an end value for the animation that can constrain the active duration. * You can use this attribute with the following SVG elements: , , , * @link https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/end */ end?: string; /** Defines the exponent of the gamma function. You can use this attribute with the following SVG elements: * , , , */ exponent?: number | `${number}`; /** (Deprecated) specifies whether referenced resources that are not part of the current document are required for * proper rendering of the given container or graphics element. * @deprecated */ externalResourcesRequired?: boolean | `${boolean}`; /** The fill attribute has two different meanings: * For shapes and text it's a presentation attribute that defines the color (or any SVG paint servers like gradients or patterns) used to paint the element; * for animation it defines the final state of the animation. */ fill?: CSSProperty<(CSSColor | "freeze" | "remove")>; /** Presentation attribute defining the opacity of the paint server (color, gradient, pattern, etc.) applied to a shape. * Default value = 1 */ fillOpacity?: CSSProperty; /** Presentation attribute defining the algorithm to use to determine the inside part of a shape. */ fillRule?: CSSProperty<("nonzero" | "evenodd")>; /** Presentation attribute that specifies the filter effects defined by the element that shall be applied to its element. */ filter?: CSSProperty<("none" | `url("${string}")` | `${"blur" | "brightness" | "contrast" | "grayscale" | "invert" | "opacity" | "saturate" | "sepia"}(${CSSLength})` | `drop-shadow(${string})` | `hue-rotate(${number}deg)`)>; /** (Deprecated) Width and height of the intermediate images in pixels of a filter primitive. */ filterRes?: `${number}` | `${number} ${number}`; /** Coordinate system for the attributes x, y, width and height. Can be used with the following SVG elements: */ filterUnits?: number | `${number}` | string; /** Color to use to flood the current filter primitive subregion. * You can use this attribute with the following SVG elements: , */ floodColor?: CSSColor; /** Opacity value to use across the current filter primitive subregion. * You can use this attribute with the following SVG elements: , */ floodOpacity?: number | `${number}` | `${number}%`; focusable?: boolean | `${boolean}`; /** Font family used to render text, specified as a prioritized list of font family names and/or generic family names. */ fontFamily?: CSSProperty; fontSize?: CSSProperty; fontSizeAdjust?: number | string; fontStretch?: number | string; fontStyle?: "normal" | "italic" | "oblique"; fontVariant?: "normal" | "small-caps"; fontWeight?: number | string; format?: 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 | `${number}` | `${number}%`; operator?: number | `${number}` | string; order?: number | `${number}` | string; orient?: number | `${number}` | string; orientation?: number | `${number}` | string; origin?: number | `${number}` | string; overflow?: number | `${number}` | string; overlinePosition?: number | string; overlineThickness?: number | string; paintOrder?: number | string; panose1?: number | 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?: number | string; 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; }; export interface AnchorHTMLAttributes extends HTMLAttributes { download?: unknown; href?: string; hrefLang?: string; media?: string; rel?: string; target?: string; type?: string; } export interface AudioHTMLAttributes extends MediaHTMLAttributes { } export interface AreaHTMLAttributes extends HTMLAttributes { alt?: string; coords?: string; download?: unknown; href?: string; hrefLang?: string; media?: string; rel?: string; shape?: string; target?: string; } export interface BaseHTMLAttributes extends HTMLAttributes { href?: string; target?: string; } export interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: string; } export type ButtonHTMLAttributes = HTMLAttributes & { autofocus?: boolean; disabled?: boolean; form?: string; formAction?: string; formEncType?: string; formMethod?: string; formNoValidate?: boolean; formTarget?: string; name?: string; type?: ( /** The button submits the form data to the server. This is the default if the attribute is not specified for buttons associated with a
, or if the attribute is an empty or invalid value. */ "submit" /** The button resets all the controls to their initial values, like . (This behavior tends to annoy users.) */ | "reset" /** The button has no default behavior, and does nothing when pressed by default. It can have client-side scripts listen to the element's events, which are triggered when the events occur. */ | "button"); value?: string | string[] | number; }; export interface CanvasHTMLAttributes extends HTMLAttributes { height?: number | string; width?: number | string; } export interface ColHTMLAttributes extends HTMLAttributes { span?: number; width?: number | string; } export interface ColgroupHTMLAttributes extends HTMLAttributes { span?: number; } export interface DetailsHTMLAttributes extends HTMLAttributes { open?: boolean; } export interface DelHTMLAttributes extends HTMLAttributes { cite?: string; dateTime?: string; } export interface DialogHTMLAttributes extends HTMLAttributes { open?: boolean; } export interface EmbedHTMLAttributes extends HTMLAttributes { height?: number | string; src?: string; type?: string; width?: number | string; } export interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: boolean; form?: string; name?: string; } export interface FormHTMLAttributes extends HTMLAttributes { /** Space-separated character encodings the server accepts. The browser uses them in the order in which they are listed. * The default value means the same encoding as the page. * (In previous versions of HTML, character encodings could also be delimited by commas.) */ acceptCharset?: string; /** Indicates whether input elements can by default have their values automatically completed by the browser. * autocomplete attributes on form elements override it on a . */ autocomplete?: ("off" | "on"); /** The URL that processes the form submission. This value can be overridden by a formaction attribute on * a button, input with type="submit", or input with type="image" element. * This attribute is ignored when method="dialog" is set. */ action?: string; /** If the value of the method attribute is post, enctype is the MIME type of the form submission. */ encType?: ("application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain"); /** The HTTP method to submit the form with. This value is overridden by formmethod attributes on * button, input with type="submit", or input with type="image" elements. */ method?: ("post" | "get" | "dialog"); name?: string; /** Indicates that the form shouldn't be validated when submitted. If this attribute is not set * (and therefore the form is validated), it can be overridden by a formnovalidate attribute on * a