import { DirectiveResult } from 'lit/directive.js'; import { ClassInfo, ClassMapDirective } from 'lit/directives/class-map.js'; import { StyleMapDirective } from 'lit/directives/style-map.js'; import { ChangeEventHandlerUnion, CustomAttributes, EventHandlerUnion, FocusEventHandlerUnion, InputEventHandlerUnion } from './baseTypes.ts'; import { JsxNode } from './types.ts'; import { Properties as CssProperties } from 'csstype'; /** * Some attributes accepts numbers as a number or as a string, while also * accepting "inherit". Define the type as `number | string | "inherit"` rather * than `number | string` to keep things more self-documenting. */ type HtmlAutocapitalize = "characters" | "none" | "off" | "on" | "sentences" | "words"; type HtmlDir = "auto" | "ltr" | "rtl"; type HtmlFormEncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain"; type HtmlFormMethod = "dialog" | "get" | "post"; type HtmlCrossOrigin = "" | "anonymous" | "use-credentials"; type HtmlIframeSandbox = "allow-downloads-without-user-activation" | "allow-downloads" | "allow-forms" | "allow-modals" | "allow-orientation-lock" | "allow-pointer-lock" | "allow-popups-to-escape-sandbox" | "allow-popups" | "allow-presentation" | "allow-same-origin" | "allow-scripts" | "allow-storage-access-by-user-activation" | "allow-top-navigation-by-user-activation" | "allow-top-navigation-to-custom-protocols" | "allow-top-navigation"; type HtmlLinkAs = "audio" | "document" | "embed" | "fetch" | "font" | "image" | "object" | "script" | "style" | "track" | "video" | "worker"; /** * Attributes that are common to HTMLElements and SVGElements * * @remarks * Name uses consecutive capitalized letters to avoid a breaking change. We can * batch breaking changes in a single release in the future. */ export interface DOMAttributes extends CustomAttributes, GlobalEventHandlersCamelCase { children?: JsxNode; class?: ClassInfo | DirectiveResult | string; /** * The **`innerHTML`** property of the Element interface gets or sets the HTML or XML markup contained within the element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/innerHTML) */ innerHTML?: string; /** * The **`innerText`** property of the HTMLElement interface represents the rendered text content of a node and its descendants. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText) */ innerText?: number | string; /** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */ textContent?: number | string; } export interface GlobalEventHandlersCamelCase { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/abort_event) */ onAbort?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationcancel_event) */ onAnimationCancel?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationend_event) */ onAnimationEnd?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationiteration_event) */ onAnimationIteration?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animationstart_event) */ onAnimationStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/auxclick_event) */ onAuxClick?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/beforeinput_event) */ onBeforeInput?: InputEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/beforematch_event) */ onBeforeMatch?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/beforetoggle_event) */ onBeforeToggle?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/blur_event) */ onBlur?: FocusEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/cancel_event) */ onCancel?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplay_event) */ onCanPlay?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/canplaythrough_event) */ onCanPlayThrough?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/change_event) */ onChange?: ChangeEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/click_event) */ onClick?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close_event) */ onClose?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/compositionend_event) */ onCompositionEnd?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/compositionstart_event) */ onCompositionStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/compositionupdate_event) */ onCompositionUpdate?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/contextlost_event) */ onContextLost?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/contextmenu_event) */ onContextMenu?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/contextrestored_event) */ onContextRestored?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/copy_event) */ onCopy?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/cuechange_event) */ onCueChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/cut_event) */ onCut?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/dblclick_event) */ onDblClick?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drag_event) */ onDrag?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragend_event) */ onDragEnd?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragenter_event) */ onDragEnter?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragleave_event) */ onDragLeave?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragover_event) */ onDragOver?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dragstart_event) */ onDragStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/drop_event) */ onDrop?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/durationchange_event) */ onDurationChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/emptied_event) */ onEmptied?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ended_event) */ onEnded?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/error_event) */ onError?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/focus_event) */ onFocus?: FocusEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Element/focusin_event) */ onFocusIn?: FocusEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Element/focusout_event) */ onFocusOut?: FocusEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/formdata_event) */ onFormData?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/fullscreenchange_event) */ onFullscreenChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/fullscreenerror_event) */ onFullscreenError?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/gotpointercapture_event) */ onGotPointerCapture?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/input_event) */ onInput?: InputEventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/invalid_event) */ onInvalid?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keydown_event) */ onKeyDown?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/keyup_event) */ onKeyUp?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/load_event) */ onLoad?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadeddata_event) */ onLoadedData?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadedmetadata_event) */ onLoadedMetadata?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadstart_event) */ onLoadStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/lostpointercapture_event) */ onLostPointerCapture?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousedown_event) */ onMouseDown?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseenter_event) */ onMouseEnter?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseleave_event) */ onMouseLeave?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mousemove_event) */ onMouseMove?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseout_event) */ onMouseOut?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseover_event) */ onMouseOver?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/mouseup_event) */ onMouseUp?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/paste_event) */ onPaste?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/pause_event) */ onPause?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play_event) */ onPlay?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/playing_event) */ onPlaying?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointercancel_event) */ onPointerCancel?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerdown_event) */ onPointerDown?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerenter_event) */ onPointerEnter?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerleave_event) */ onPointerLeave?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointermove_event) */ onPointerMove?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerout_event) */ onPointerOut?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerover_event) */ onPointerOver?: EventHandlerUnion; /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerrawupdate_event) */ onPointerRawUpdate?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/pointerup_event) */ onPointerUp?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/progress_event) */ onProgress?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/ratechange_event) */ onRateChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reset_event) */ onReset?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/resize_event) */ onResize?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scroll_event) */ onScroll?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scrollend_event) */ onScrollEnd?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/securitypolicyviolation_event) */ onSecurityPolicyViolation?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeked_event) */ onSeeked?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeking_event) */ onSeeking?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/select_event) */ onSelect?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/selectionchange_event) */ onSelectionChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Node/selectstart_event) */ onSelectStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/slotchange_event) */ onSlotChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/stalled_event) */ onStalled?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/submit_event) */ onSubmit?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/suspend_event) */ onSuspend?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/timeupdate_event) */ onTimeUpdate?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/toggle_event) */ onToggle?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchcancel_event) */ onTouchCancel?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchend_event) */ onTouchEnd?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchmove_event) */ onTouchMove?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/touchstart_event) */ onTouchStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitioncancel_event) */ onTransitionCancel?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionend_event) */ onTransitionEnd?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionrun_event) */ onTransitionRun?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/transitionstart_event) */ onTransitionStart?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/volumechange_event) */ onVolumeChange?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/waiting_event) */ onWaiting?: EventHandlerUnion; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/wheel_event) */ onWheel?: EventHandlerUnion; } /** * All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ * * @remarks * If attribute is settable as a property, that is preferred - such aria * attributes are in camelCase in this interface. Some are settable as * DOM attribute only - such names are in kebab-case. */ export interface AriaAttributes { /** * Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. * * @remarks * While HTML attributes on regular HTML elements are case-insensitive, when * the same common attributes are set on a foreign HTML elements (SVG/Math), * they are case sensitive. Thus, we can't author this as * "aria-activeDescendant" */ ["aria-activedescendant"]?: string; /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see ariaOwns. */ ["aria-controls"]?: string; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ ["aria-describedby"]?: string; /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby */ ["aria-details"]?: string; /** * Identifies the element that provides an error message for the object. * @see ariaInvalid * @see aria-describedby */ ["aria-errormessage"]?: string; /** * 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"]?: string; /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby */ ["aria-labelledby"]?: string; /** * 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"]?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaActiveDescendantElement) */ ariaActiveDescendantElement?: Element; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAtomic) */ ariaAtomic?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete) */ ariaAutoComplete?: "both" | "inline" | "list" | "none"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleLabel) */ ariaBrailleLabel?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleRoleDescription) */ ariaBrailleRoleDescription?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy) */ ariaBusy?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaChecked) */ ariaChecked?: boolean | "false" | "mixed" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColCount) */ ariaColCount?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndex) */ ariaColIndex?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColSpan) */ ariaColSpan?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaControlsElements) */ ariaControlsElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaCurrent) */ ariaCurrent?: boolean | "date" | "false" | "location" | "page" | "step" | "time" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescribedByElements) */ ariaDescribedByElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDescription) */ ariaDescription?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDetailsElements) */ ariaDetailsElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaDisabled) */ ariaDisabled?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaErrorMessageElements) */ ariaErrorMessageElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaExpanded) */ ariaExpanded?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaFlowToElements) */ ariaFlowToElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHasPopup) */ ariaHasPopup?: boolean | "dialog" | "false" | "grid" | "listbox" | "menu" | "tree" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaHidden) */ ariaHidden?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaInvalid) */ ariaInvalid?: boolean | "false" | "grammar" | "spelling" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaKeyShortcuts) */ ariaKeyShortcuts?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabel) */ ariaLabel?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLabelledByElements) */ ariaLabelledByElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLevel) */ ariaLevel?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaLive) */ ariaLive?: "assertive" | "off" | "polite"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaModal) */ ariaModal?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiLine) */ ariaMultiLine?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiSelectable) */ ariaMultiSelectable?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOrientation) */ ariaOrientation?: "horizontal" | "vertical"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaOwnsElements) */ ariaOwnsElements?: Element[]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPlaceholder) */ ariaPlaceholder?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPosInSet) */ ariaPosInSet?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaPressed) */ ariaPressed?: boolean | "false" | "mixed" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaReadOnly) */ ariaReadOnly?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRelevant) */ ariaRelevant?: "additions removals" | "additions text" | "additions" | "all" | "removals additions" | "removals text" | "removals" | "text additions" | "text removals" | "text"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRequired) */ ariaRequired?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRoleDescription) */ ariaRoleDescription?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowCount) */ ariaRowCount?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndex) */ ariaRowIndex?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowSpan) */ ariaRowSpan?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSelected) */ ariaSelected?: boolean | "false" | "true"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSetSize) */ ariaSetSize?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaSort) */ ariaSort?: "ascending" | "descending" | "none" | "other"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMax) */ ariaValueMax?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMin) */ ariaValueMin?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueNow) */ ariaValueNow?: number | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaValueText) */ ariaValueText?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/role) */ role?: "alert" | "alertdialog" | "application" | "article" | "banner" | "button" | "cell" | "checkbox" | "columnheader" | "combobox" | "complementary" | "contentinfo" | "definition" | "dialog" | "directory" | "document" | "feed" | "figure" | "form" | "grid" | "gridcell" | "group" | "heading" | "img" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "marquee" | "math" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "meter" | "navigation" | "none" | "note" | "option" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem"; } /** * @remarks * Name uses consecutive capitalized letters to avoid a breaking change. We can * batch breaking changes in a single release in the future. */ export interface HTMLAttributes extends AriaAttributes, DOMAttributes { /** * The **`HTMLElement.accessKey`** property sets the keystroke which a user can press to jump to a given element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey) */ accessKey?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndexText) */ ariaColIndexText?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndexText) */ ariaRowIndexText?: string; /** * The **`autocapitalize`** property of the HTMLElement interface represents the element's capitalization behavior for user input. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize) */ autocapitalize?: HtmlAutocapitalize; /** * The **`autocorrect`** property of the HTMLElement interface controls whether or not autocorrection of editable text is enabled for spelling and/or punctuation errors. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocorrect) */ autocorrect?: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autofocus) */ autofocus?: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/contentEditable) */ contentEditable?: boolean | "inherit" | "plaintext-only"; /** * The **`HTMLElement.dir`** property indicates the text writing directionality of the content of the current element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir) */ dir?: HtmlDir; /** * The **`draggable`** property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable) */ draggable?: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/enterKeyHint) */ enterKeyHint?: "done" | "enter" | "go" | "next" | "previous" | "search" | "send"; exportParts?: string; /** * The HTMLElement property **`hidden`** reflects the value of the element's `hidden` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidden) */ hidden?: boolean | "hidden" | "until-found"; /** * The **`id`** property of the Element interface represents the element's identifier, reflecting the **`id`** global attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/id) */ id?: string; /** * The HTMLElement property **`inert`** reflects the value of the element's `inert` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert) */ inert?: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode) */ inputMode?: "decimal" | "email" | "none" | "numeric" | "search" | "tel" | "text" | "url"; itemid?: string; itemprop?: string; itemref?: string; itemscope?: boolean; itemtype?: string; /** * The **`lang`** property of the HTMLElement interface indicates the base language of an element's attribute values and text content, in the form of a MISSING: RFC(5646, 'BCP 47 language identifier tag')]. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang) */ lang?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/nonce) */ nonce?: string; /** * The **`part`** property of the Element interface represents the part identifier(s) of the element (i.e., set using the `part` attribute), returned as a DOMTokenList. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/part) */ part?: string; /** * The **`popover`** property of the HTMLElement interface gets and sets an element's popover state via JavaScript (`'auto'`, `'hint'`, or `'manual'`), and can be used for feature detection. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover) */ popover?: boolean | "auto" | "manual"; /** * The **`slot`** property of the Element interface returns the name of the shadow DOM slot the element is inserted in. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/slot) */ slot?: string; /** * The **`spellcheck`** property of the HTMLElement interface represents a boolean value that controls the spell-checking hint. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck) */ spellcheck?: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/style) */ style?: CssProperties | DirectiveResult | string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/tabIndex) */ tabIndex?: number | string; /** * The **`HTMLElement.title`** property represents the title of the element: the text usually displayed in a 'tooltip' popup when the mouse is over the node. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/title) */ title?: string; /** * The **`translate`** property of the HTMLElement interface indicates whether an element's attribute values and the values of its Text node children are to be translated when the page is localized, or whether to leave them unchanged. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate) */ translate?: boolean; /** * The **`writingSuggestions`** property of the HTMLElement interface is a string indicating if browser-provided writing suggestions should be enabled under the scope of the element or not. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/writingSuggestions) */ writingSuggestions?: string; } interface HtmlAnchorAttributes extends HTMLAttributes { /** * The **`HTMLAnchorElement.download`** property is a string indicating that the linked resource is intended to be downloaded rather than displayed in the browser. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/download) */ download?: string; /** * Returns the hyperlink's URL. * * Can be set, to change the URL. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/href) */ href?: string; /** * The **`hreflang`** property of the HTMLAnchorElement interface is a string that is the language of the linked resource. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/hreflang) */ hreflang?: string; /** * The **`ping`** property of the HTMLAnchorElement interface is a space-separated list of URLs. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/ping) */ ping?: string; /** * The **`HTMLAnchorElement.referrerPolicy`** property reflect the HTML `referrerpolicy` attribute of the A string; one of the following: - `no-referrer` - : The Referer header will be omitted entirely. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/referrerPolicy) */ referrerPolicy?: ReferrerPolicy; /** * The **`HTMLAnchorElement.rel`** property reflects the `rel` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/rel) */ rel?: string; /** * The **`HTMLAnchorElement.relList`** read-only property reflects the `rel` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/relList) */ relList?: string; /** * The **`target`** property of the HTMLAnchorElement interface is a string that indicates where to display the linked resource. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/target) */ target?: string; /** * The **`type`** property of the HTMLAnchorElement interface is a string that indicates the MIME type of the linked resource. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/type) */ type?: string; } interface HtmlAudioAttributes extends HtmlMediaAttributes { } interface HtmlAreaAttributes extends HTMLAttributes { /** * The **`alt`** property of the HTMLAreaElement interface specifies the text of the hyperlink, defining the textual label for an image map's link. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/alt) */ alt?: string; /** * The **`coords`** property of the HTMLAreaElement interface specifies the coordinates of the element's shape as a list of floating-point numbers. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/coords) */ coords?: string; /** * The **`download`** property of the HTMLAreaElement interface is a string indicating that the linked resource is intended to be downloaded rather than displayed in the browser. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/download) */ download?: string; /** * Returns the hyperlink's URL. * * Can be set, to change the URL. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/href) */ href?: string; /** * The **`ping`** property of the HTMLAreaElement interface is a space-separated list of URLs. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/ping) */ ping?: string; /** * The **`HTMLAreaElement.referrerPolicy`** property reflect the HTML `referrerpolicy` attribute of the resource. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/referrerPolicy) */ referrerPolicy?: ReferrerPolicy; /** * The **`HTMLAreaElement.rel`** property reflects the `rel` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/rel) */ rel?: string; /** * The **`HTMLAreaElement.relList`** read-only property reflects the `rel` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/relList) */ relList?: string; /** * The **`shape`** property of the HTMLAreaElement interface specifies the shape of an image map area. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/shape) */ shape?: "circle" | "default" | "poly" | "rect"; /** * The **`target`** property of the HTMLAreaElement interface is a string that indicates where to display the linked resource. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/target) */ target?: string; } interface HtmlBaseAttributes extends HTMLAttributes { /** * The **`href`** property of the HTMLBaseElement interface contains a string that is the URL to use as the base for relative URLs. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement/href) */ href?: string; /** * The `target` property of the HTMLBaseElement interface is a string that represents the default target tab to show the resulting output for hyperlinks and form elements. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement/target) */ target?: string; } interface HtmlBlockquoteAttributes extends HTMLAttributes { /** * The **`cite`** property of the HTMLQuoteElement interface indicates the URL for the source of the quotation. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLQuoteElement/cite) */ cite?: string; } interface HtmlButtonAttributes extends HTMLAttributes { /** * The **`HTMLButtonElement.disabled`** property indicates whether the control is disabled, meaning that it does not accept any clicks. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/disabled) */ disabled?: boolean; form?: string; /** * The **`formAction`** property of the HTMLButtonElement interface is the URL of the program that is executed on the server when the form that owns this control is submitted. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formAction) */ formAction?: string; /** * The **`formEnctype`** property of the HTMLButtonElement interface is the MIME_type of the content sent to the server when the form is submitted. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formEnctype) */ formEnctype?: HtmlFormEncType; /** * The **`formMethod`** property of the HTMLButtonElement interface is the HTTP method used to submit the form if the button element is the control that submits the form. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formMethod) */ formMethod?: HtmlFormMethod; /** * The **`formNoValidate`** property of the HTMLButtonElement interface is a boolean value indicating if the form will bypass constraint validation when submitted via the button. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formNoValidate) */ formNoValidate?: boolean; /** * The **`formTarget`** property of the HTMLButtonElement interface is the tab, window, or iframe where the response of the submitted form is to be displayed. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formTarget) */ formTarget?: string; /** * The **`name`** property of the HTMLButtonElement interface indicates the name of the button element or the empty string if the element has no name. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/name) */ name?: string; popoverTarget?: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/popoverTargetAction) */ popoverTargetAction?: "hide" | "show" | "toggle"; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/popoverTargetElement) */ popoverTargetElement?: HTMLElement; /** * The **`type`** property of the HTMLButtonElement interface is a string that indicates the behavior type of the button element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/type) */ type?: "button" | "reset" | "submit"; /** * The **`value`** property of the HTMLButtonElement interface represents the value of the button element as a string, or the empty string if no value is set. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/value) */ value?: number | string; } interface HtmlCanvasAttributes extends HTMLAttributes { /** * The **`HTMLCanvasElement.height`** property is a positive `integer` reflecting the `height` HTML attribute of the canvas element interpreted in CSS pixels. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/height) */ height?: number | string; /** * The **`HTMLCanvasElement.width`** property is a positive `integer` reflecting the `width` HTML attribute of the canvas element interpreted in CSS pixels. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/width) */ width?: number | string; } interface HtmlColAttributes extends HTMLAttributes { /** * The **`span`** read-only property of the HTMLTableColElement interface represents the number of columns this col or colgroup must span; this lets the column occupy space across multiple columns of the table. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/span) */ span?: number | string; } interface HtmlColgroupAttributes extends HTMLAttributes { /** * The **`span`** read-only property of the HTMLTableColElement interface represents the number of columns this col or colgroup must span; this lets the column occupy space across multiple columns of the table. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/span) */ span?: number | string; } interface HtmlDataAttributes extends HTMLAttributes { /** * The **`value`** property of the HTMLDataElement interface returns a string reflecting the `value` HTML attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataElement/value) */ value?: number | string; } interface HtmlModAttributes extends HTMLAttributes { /** * The **`cite`** property of the HTMLModElement interface indicates the URL of the resource explaining the modification. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement/cite) */ cite?: string; /** * The **`dateTime`** property of the HTMLModElement interface is a string containing a machine-readable date with an optional time value. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement/dateTime) */ dateTime?: string; } interface HtmlDetailsAttributes extends HTMLAttributes { /** * The **`name`** property of the HTMLDetailsElement interface reflects the `name` attribute of details elements. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/name) */ name?: string; /** * The **`open`** property of the `open` HTML attribute, indicating whether the details's contents (not counting the summary) is to be shown to the user. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDetailsElement/open) */ open?: boolean; } interface HtmlDialogAttributes extends HTMLAttributes { /** * The **`open`** property of the `open` HTML attribute, indicating whether the dialog is available for interaction. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/open) */ open?: boolean; /** * The **`returnValue`** property of the HTMLDialogElement interface is a string representing the return value for a dialog element when it's closed. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/returnValue) */ returnValue?: string; } interface HtmlEmbedAttributes extends HTMLAttributes { /** * The **`height`** property of the HTMLEmbedElement interface returns a string that reflects the `height` attribute of the embed element, indicating the displayed height of the resource in CSS pixels. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/height) */ height?: number | string; /** * The **`src`** property of the HTMLEmbedElement interface returns a string that indicates the URL of the resource being embedded. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/src) */ src?: string; /** * The **`type`** property of the HTMLEmbedElement interface returns a string that reflects the `type` attribute of the embed element, indicating the MIME type of the resource. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/type) */ type?: string; /** * The **`width`** property of the HTMLEmbedElement interface returns a string that reflects the `width` attribute of the embed element, indicating the displayed width of the resource in CSS pixels. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/width) */ width?: number | string; } interface HtmlFieldsetAttributes extends HTMLAttributes { /** * The **`disabled`** property of the HTMLFieldSetElement interface is a boolean value that reflects the fieldset element's `disabled` attribute, which indicates whether the control is disabled. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/disabled) */ disabled?: boolean; form?: string; /** * The **`name`** property of the HTMLFieldSetElement interface indicates the name of the fieldset element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/name) */ name?: string; } interface HtmlFormAttributes extends HTMLAttributes { /** * The **`HTMLFormElement.acceptCharset`** property represents the character encoding for the given form element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/acceptCharset) */ acceptCharset?: string; /** * The **`HTMLFormElement.action`** property represents the action of the form element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/action) */ action?: string; /** * The **`autocomplete`** property of the HTMLFormElement interface indicates whether the value of the form's controls can be automatically completed by the browser. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/autocomplete) */ autocomplete?: "off" | "on"; /** * The **`HTMLFormElement.encoding`** property is an alternative name for the HTMLFormElement.enctype element on the DOM HTMLFormElement object. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/encoding) */ encoding?: HtmlFormEncType; /** * The **`HTMLFormElement.enctype`** property is the MIME_type of content that is used to submit the form to the server. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/enctype) */ enctype?: HtmlFormEncType; /** * The **`HTMLFormElement.method`** property represents the Unless explicitly specified, the default method is 'get'. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/method) */ method?: HtmlFormMethod; /** * The **`HTMLFormElement.name`** property represents the name of the current form element as a string. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/name) */ name?: string; /** * The **`noValidate`** property of the HTMLFormElement interface is a boolean value indicating if the form will bypass constraint validation when submitted. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/noValidate) */ noValidate?: boolean; /** * The **`rel`** property of the HTMLFormElement interface reflects the `rel` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/rel) */ rel?: string; /** * The **`relList`** read-only property of the HTMLFormElement interface reflects the `rel` attribute. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/relList) */ relList?: string; /** * The **`target`** property of the HTMLFormElement interface represents the target of the form's action (i.e., the frame in which to render its output). * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/target) */ target?: string; } interface HtmlIframeAttributes extends HTMLAttributes { /** * The **`allow`** property of the HTMLIFrameElement interface indicates the Permissions Policy specified for this `