UNPKG

@antv/x6

Version:

JavaScript diagramming library that uses SVG and HTML for rendering.

1,109 lines (1,042 loc) 30.1 kB
import * as CSS from './csstype' type Booleanish = boolean | 'true' | 'false' export interface HTMLProps extends AllHTMLAttributes {} export interface SVGProps extends SVGAttributes {} export interface CSSProperties extends CSS.Properties<string | number> { /** * The index signature was removed to enable closed typing for style * using CSSType. You're able to use type assertion or module augmentation * to add properties or an index signature of your own. * * For examples and more information, visit: * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors */ } // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ 'aria-activedescendant'?: string /** 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'?: boolean | 'false' | 'true' /** * 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'?: 'none' | 'inline' | 'list' | 'both' /** 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'?: boolean | 'false' | 'true' /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed @see aria-selected. */ 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ 'aria-colcount'?: number /** * 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'?: number /** * 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'?: number /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ 'aria-controls'?: string /** Indicates the element that represents the current item within a container or set of related elements. */ 'aria-current'?: | boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' /** * 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 /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden @see aria-readonly. */ 'aria-disabled'?: boolean | 'false' | 'true' /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. */ 'aria-errormessage'?: string /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ 'aria-expanded'?: boolean | 'false' | 'true' /** * 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 /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ 'aria-grabbed'?: boolean | 'false' | 'true' /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ 'aria-haspopup'?: | boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ 'aria-hidden'?: boolean | 'false' | 'true' /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ 'aria-keyshortcuts'?: string /** * Defines a string value that labels the current element. * @see aria-labelledby. */ 'aria-label'?: string /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ 'aria-labelledby'?: string /** Defines the hierarchical level of an element within a structure. */ 'aria-level'?: number /** 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'?: 'off' | 'assertive' | 'polite' /** Indicates whether an element is modal when displayed. */ 'aria-modal'?: boolean | 'false' | 'true' /** Indicates whether a text box accepts multiple lines of input or only a single line. */ 'aria-multiline'?: boolean | 'false' | 'true' /** Indicates that the user may select more than one item from the current selectable descendants. */ 'aria-multiselectable'?: boolean | 'false' | 'true' /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ 'aria-orientation'?: 'horizontal' | 'vertical' /** * 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 /** * 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'?: string /** * 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'?: number /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked @see aria-selected. */ 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ 'aria-readonly'?: boolean | 'false' | 'true' /** * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ 'aria-relevant'?: 'additions' | 'additions text' | 'all' | 'removals' | 'text' /** Indicates that user input is required on the element before a form may be submitted. */ 'aria-required'?: boolean | 'false' | 'true' /** Defines a human-readable, author-localized description for the role of an element. */ 'aria-roledescription'?: string /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ 'aria-rowcount'?: number /** * 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'?: number /** * 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'?: number /** * Indicates the current "selected" state of various widgets. * @see aria-checked @see aria-pressed. */ 'aria-selected'?: boolean | 'false' | 'true' /** * 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'?: number /** Indicates if items in a table or grid are sorted in ascending or descending order. */ 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' /** Defines the maximum allowed value for a range widget. */ 'aria-valuemax'?: number /** Defines the minimum allowed value for a range widget. */ 'aria-valuemin'?: number /** * Defines the current value for a range widget. * @see aria-valuetext. */ 'aria-valuenow'?: number /** Defines the human readable text alternative of aria-valuenow for a range widget. */ 'aria-valuetext'?: string } interface HTMLAttributes extends AriaAttributes { // React-specific Attributes defaultChecked?: boolean defaultValue?: string | number | string[] suppressContentEditableWarning?: boolean suppressHydrationWarning?: boolean // Standard HTML Attributes accessKey?: string class?: string contentEditable?: Booleanish | 'inherit' contextMenu?: string dir?: string draggable?: Booleanish hidden?: boolean id?: string lang?: string placeholder?: string slot?: string spellCheck?: Booleanish style?: CSSProperties tabIndex?: number title?: string translate?: 'yes' | 'no' // Unknown radioGroup?: string // <command>, <menuitem> // WAI-ARIA role?: string // RDFa Attributes about?: string datatype?: string inlist?: any prefix?: string property?: string resource?: string typeof?: string vocab?: string // Non-standard Attributes autoCapitalize?: string autoCorrect?: string autoSave?: string color?: string itemProp?: string itemScope?: boolean itemType?: string itemID?: string itemRef?: string results?: number security?: string unselectable?: 'on' | 'off' // Living Standard /** * Hints at the type of data that might be entered by the user while editing the element or its contents * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute */ inputMode?: | 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' /** * Specify that a standard HTML element should behave like a defined custom built-in element * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is */ is?: string } interface AllHTMLAttributes extends HTMLAttributes { // Standard HTML Attributes accept?: string acceptCharset?: string action?: string allowFullScreen?: boolean allowTransparency?: boolean alt?: string as?: string async?: boolean autoComplete?: string autoFocus?: boolean autoPlay?: boolean capture?: boolean | string cellPadding?: number | string cellSpacing?: number | string charSet?: string challenge?: string checked?: boolean cite?: string classID?: string cols?: number colSpan?: number content?: string controls?: boolean coords?: string crossOrigin?: string data?: string dateTime?: string default?: boolean defer?: boolean disabled?: boolean download?: any encType?: string form?: string formAction?: string formEncType?: string formMethod?: string formNoValidate?: boolean formTarget?: string frameBorder?: number | string headers?: string height?: number | string high?: number href?: string hrefLang?: string htmlFor?: string httpEquiv?: string integrity?: string keyParams?: string keyType?: string kind?: string label?: string list?: string loop?: boolean low?: number manifest?: string marginHeight?: number marginWidth?: number max?: number | string maxLength?: number media?: string mediaGroup?: string method?: string min?: number | string minLength?: number multiple?: boolean muted?: boolean name?: string nonce?: string noValidate?: boolean open?: boolean optimum?: number pattern?: string placeholder?: string playsInline?: boolean poster?: string preload?: string readOnly?: boolean rel?: string required?: boolean reversed?: boolean rows?: number rowSpan?: number sandbox?: string scope?: string scoped?: boolean scrolling?: string seamless?: boolean selected?: boolean shape?: string size?: number sizes?: string span?: number src?: string srcDoc?: string srcLang?: string srcSet?: string start?: number step?: number | string summary?: string target?: string type?: string useMap?: string value?: string | string[] | number width?: number | string wmode?: string wrap?: string } export interface AnchorHTMLAttributes extends HTMLAttributes { download?: any href?: string hrefLang?: string media?: string ping?: string rel?: string target?: string type?: string referrerPolicy?: string } // eslint-disable-next-line:no-empty-interface export interface AudioHTMLAttributes extends MediaHTMLAttributes {} export interface AreaHTMLAttributes extends HTMLAttributes { alt?: string coords?: string download?: any 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 interface ButtonHTMLAttributes extends HTMLAttributes { autoFocus?: boolean disabled?: boolean form?: string formAction?: string formEncType?: string formMethod?: string formNoValidate?: boolean formTarget?: string name?: string type?: 'submit' | 'reset' | '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 DataHTMLAttributes extends HTMLAttributes { value?: string | string[] | 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 { acceptCharset?: string action?: string autoComplete?: string encType?: string method?: string name?: string noValidate?: boolean target?: string } export interface HtmlHTMLAttributes extends HTMLAttributes { manifest?: string } export interface IframeHTMLAttributes extends HTMLAttributes { allow?: string allowFullScreen?: boolean allowTransparency?: boolean frameBorder?: number | string height?: number | string marginHeight?: number marginWidth?: number name?: string referrerPolicy?: string sandbox?: string scrolling?: string seamless?: boolean src?: string srcDoc?: string width?: number | string } export interface ImgHTMLAttributes extends HTMLAttributes { alt?: string crossOrigin?: 'anonymous' | 'use-credentials' | '' decoding?: 'async' | 'auto' | 'sync' height?: number | string loading?: 'eager' | 'lazy' referrerPolicy?: 'no-referrer' | 'origin' | 'unsafe-url' sizes?: string src?: string srcSet?: string useMap?: string width?: number | string } export interface InsHTMLAttributes extends HTMLAttributes { cite?: string dateTime?: string } export interface InputHTMLAttributes extends HTMLAttributes { accept?: string alt?: string autoComplete?: string autoFocus?: boolean capture?: boolean | string // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: boolean crossOrigin?: string disabled?: boolean form?: string formAction?: string formEncType?: string formMethod?: string formNoValidate?: boolean formTarget?: string height?: number | string list?: string max?: number | string maxLength?: number min?: number | string minLength?: number multiple?: boolean name?: string pattern?: string placeholder?: string readOnly?: boolean required?: boolean size?: number src?: string step?: number | string type?: string value?: string | string[] | number width?: number | string } export interface KeygenHTMLAttributes extends HTMLAttributes { autoFocus?: boolean challenge?: string disabled?: boolean form?: string keyType?: string keyParams?: string name?: string } export interface LabelHTMLAttributes extends HTMLAttributes { form?: string htmlFor?: string } export interface LiHTMLAttributes extends HTMLAttributes { value?: string | string[] | number } export interface LinkHTMLAttributes extends HTMLAttributes { as?: string crossOrigin?: string href?: string hrefLang?: string integrity?: string media?: string rel?: string sizes?: string type?: string } export interface MapHTMLAttributes extends HTMLAttributes { name?: string } export interface MenuHTMLAttributes extends HTMLAttributes { type?: string } export interface MediaHTMLAttributes extends HTMLAttributes { autoPlay?: boolean controls?: boolean controlsList?: string crossOrigin?: string loop?: boolean mediaGroup?: string muted?: boolean playsinline?: boolean preload?: string src?: string } export interface MetaHTMLAttributes extends HTMLAttributes { charSet?: string content?: string httpEquiv?: string name?: string } export interface MeterHTMLAttributes extends HTMLAttributes { form?: string high?: number low?: number max?: number | string min?: number | string optimum?: number value?: string | string[] | number } export interface QuoteHTMLAttributes extends HTMLAttributes { cite?: string } export interface ObjectHTMLAttributes extends HTMLAttributes { classID?: string data?: string form?: string height?: number | string name?: string type?: string useMap?: string width?: number | string wmode?: string } export interface OlHTMLAttributes extends HTMLAttributes { reversed?: boolean start?: number type?: '1' | 'a' | 'A' | 'i' | 'I' } export interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: boolean label?: string } export interface OptionHTMLAttributes extends HTMLAttributes { disabled?: boolean label?: string selected?: boolean value?: string | string[] | number } export interface OutputHTMLAttributes extends HTMLAttributes { form?: string htmlFor?: string name?: string } export interface ParamHTMLAttributes extends HTMLAttributes { name?: string value?: string | string[] | number } export interface ProgressHTMLAttributes extends HTMLAttributes { max?: number | string value?: string | string[] | number } export interface ScriptHTMLAttributes extends HTMLAttributes { async?: boolean charSet?: string crossOrigin?: string defer?: boolean integrity?: string noModule?: boolean nonce?: string src?: string type?: string } export interface SelectHTMLAttributes extends HTMLAttributes { autoComplete?: string autoFocus?: boolean disabled?: boolean form?: string multiple?: boolean name?: string required?: boolean size?: number value?: string | string[] | number } export interface SourceHTMLAttributes extends HTMLAttributes { media?: string sizes?: string src?: string srcSet?: string type?: string } export interface StyleHTMLAttributes extends HTMLAttributes { media?: string nonce?: string scoped?: boolean type?: string } export interface TableHTMLAttributes extends HTMLAttributes { cellPadding?: number | string cellSpacing?: number | string summary?: string } export interface TextareaHTMLAttributes extends HTMLAttributes { autoComplete?: string autoFocus?: boolean cols?: number dirName?: string disabled?: boolean form?: string maxLength?: number minLength?: number name?: string placeholder?: string readOnly?: boolean required?: boolean rows?: number value?: string | string[] | number wrap?: string } export interface TdHTMLAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | 'justify' | 'char' colSpan?: number headers?: string rowSpan?: number scope?: string abbr?: string valign?: 'top' | 'middle' | 'bottom' | 'baseline' } export interface ThHTMLAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | 'justify' | 'char' colSpan?: number headers?: string rowSpan?: number scope?: string abbr?: string } export interface TimeHTMLAttributes extends HTMLAttributes { dateTime?: string } export interface TrackHTMLAttributes extends HTMLAttributes { default?: boolean kind?: string label?: string src?: string srcLang?: string } export interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: number | string playsInline?: boolean poster?: string width?: number | string disablePictureInPicture?: boolean } export interface WebViewHTMLAttributes extends HTMLAttributes { allowFullScreen?: boolean allowpopups?: boolean autoFocus?: boolean autosize?: boolean blinkfeatures?: string disableblinkfeatures?: string disableguestresize?: boolean disablewebsecurity?: boolean guestinstance?: string httpreferrer?: string nodeintegration?: boolean partition?: string plugins?: boolean preload?: string src?: string useragent?: string webpreferences?: string } export interface SVGAttributes extends AriaAttributes { class?: string color?: string height?: number | 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 | string // Other HTML properties supported by SVG elements in browsers role?: string tabIndex?: number crossOrigin?: 'anonymous' | 'use-credentials' | '' // SVG Specific attributes accentHeight?: number | string accumulate?: 'none' | 'sum' additive?: 'replace' | 'sum' alignmentBaseline?: | 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' allowReorder?: 'no' | 'yes' alphabetic?: number | string amplitude?: number | string arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated' ascent?: number | string attributeName?: string attributeType?: string autoReverse?: Booleanish azimuth?: number | string baseFrequency?: number | string baselineShift?: number | string baseProfile?: number | string bbox?: number | string begin?: number | string bias?: number | string by?: number | string calcMode?: number | string capHeight?: number | string clip?: number | string clipPath?: string clipPathUnits?: number | string clipRule?: number | string colorInterpolation?: number | string colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' colorProfile?: number | string colorRendering?: number | string contentScriptType?: number | string contentStyleType?: number | string cursor?: number | string cx?: number | string cy?: number | string d?: string decelerate?: number | string descent?: number | string diffuseConstant?: number | string direction?: number | string display?: number | string divisor?: number | string dominantBaseline?: number | string dur?: number | string dx?: number | string dy?: number | string edgeMode?: number | string elevation?: number | string enableBackground?: number | string end?: number | string exponent?: number | string externalResourcesRequired?: Booleanish fill?: string fillOpacity?: number | string fillRule?: 'nonzero' | 'evenodd' | 'inherit' filter?: string filterRes?: number | string filterUnits?: number | string floodColor?: number | string floodOpacity?: number | string focusable?: Booleanish | 'auto' fontFamily?: string fontSize?: number | string fontSizeAdjust?: number | string fontStretch?: number | string fontStyle?: number | string fontVariant?: number | string 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 | string operator?: number | string order?: number | string orient?: number | string orientation?: number | string origin?: number | string overflow?: number | string overlinePosition?: number | string overlineThickness?: number | string paintOrder?: number | string panose1?: number | string path?: string pathLength?: number | string patternContentUnits?: string patternTransform?: number | string patternUnits?: string pointerEvents?: number | string points?: string pointsAtX?: number | string pointsAtY?: number | string pointsAtZ?: number | string preserveAlpha?: Booleanish 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 }