import React from 'react' export type Booleanish = boolean | 'true' | 'false' /** * Common SVG properties * * this is a copy of React's SVGAttributes */ export type SvgAttributes = { // Attributes which also defined in HTMLAttributes // See comment in SVGDOMPropertyConfig.js color?: string | undefined height?: number | undefined id?: string | undefined lang?: string | undefined max?: number | string | undefined media?: string | undefined method?: string | undefined min?: number | string | undefined name?: string | undefined target?: string | undefined type?: string | undefined width?: number | undefined // Other HTML properties supported by SVG elements in browsers role?: React.AriaRole | undefined tabIndex?: number | undefined crossOrigin?: 'anonymous' | 'use-credentials' | '' | undefined // SVG Specific attributes accentHeight?: number | string | undefined accumulate?: 'none' | 'sum' | undefined additive?: 'replace' | 'sum' | undefined alignmentBaseline?: | 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined allowReorder?: 'no' | 'yes' | undefined alphabetic?: number | string | undefined amplitude?: number | string | undefined arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined ascent?: number | string | undefined attributeName?: string | undefined attributeType?: string | undefined autoReverse?: Booleanish | undefined azimuth?: number | string | undefined baseFrequency?: number | string | undefined baselineShift?: number | string | undefined baseProfile?: number | string | undefined bbox?: number | string | undefined begin?: number | string | undefined bias?: number | string | undefined by?: number | string | undefined calcMode?: number | string | undefined capHeight?: number | string | undefined clip?: number | string | undefined clipPath?: string | undefined clipPathUnits?: number | string | undefined clipRule?: number | string | undefined colorInterpolation?: number | string | undefined colorInterpolationFilters?: | 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined colorProfile?: number | string | undefined colorRendering?: number | string | undefined contentScriptType?: number | string | undefined contentStyleType?: number | string | undefined cursor?: number | string | undefined cx?: number | undefined cy?: number | undefined d?: string | undefined decelerate?: number | string | undefined descent?: number | string | undefined diffuseConstant?: number | string | undefined direction?: number | string | undefined display?: number | string | undefined divisor?: number | string | undefined dominantBaseline?: number | string | undefined dur?: number | string | undefined dx?: number | string | undefined dy?: number | string | undefined edgeMode?: number | string | undefined elevation?: number | string | undefined enableBackground?: number | string | undefined end?: number | string | undefined exponent?: number | string | undefined externalResourcesRequired?: Booleanish | undefined fill?: string | undefined fillOpacity?: number | string | undefined fillRule?: 'nonzero' | 'evenodd' | 'inherit' | undefined filter?: string | undefined filterRes?: number | string | undefined filterUnits?: number | string | undefined floodColor?: number | string | undefined floodOpacity?: number | string | undefined focusable?: Booleanish | 'auto' | undefined fontFamily?: string | undefined fontSize?: number | string | undefined fontSizeAdjust?: number | string | undefined fontStretch?: number | string | undefined fontStyle?: number | string | undefined fontVariant?: number | string | undefined fontWeight?: number | string | undefined format?: number | string | undefined fr?: number | string | undefined from?: number | string | undefined fx?: number | string | undefined fy?: number | string | undefined g1?: number | string | undefined g2?: number | string | undefined glyphName?: number | string | undefined glyphOrientationHorizontal?: number | string | undefined glyphOrientationVertical?: number | string | undefined glyphRef?: number | string | undefined gradientTransform?: string | undefined gradientUnits?: string | undefined hanging?: number | string | undefined horizAdvX?: number | string | undefined horizOriginX?: number | string | undefined href?: string | undefined ideographic?: number | string | undefined imageRendering?: number | string | undefined in2?: number | string | undefined in?: string | undefined intercept?: number | string | undefined k1?: number | string | undefined k2?: number | string | undefined k3?: number | string | undefined k4?: number | string | undefined k?: number | string | undefined kernelMatrix?: number | string | undefined kernelUnitLength?: number | string | undefined kerning?: number | string | undefined keyPoints?: number | string | undefined keySplines?: number | string | undefined keyTimes?: number | string | undefined lengthAdjust?: number | string | undefined letterSpacing?: number | string | undefined lightingColor?: number | string | undefined limitingConeAngle?: number | string | undefined local?: number | string | undefined markerEnd?: string | undefined markerHeight?: number | string | undefined markerMid?: string | undefined markerStart?: string | undefined markerUnits?: number | string | undefined markerWidth?: number | string | undefined mask?: string | undefined maskContentUnits?: number | string | undefined maskUnits?: number | string | undefined mathematical?: number | string | undefined mode?: number | string | undefined numOctaves?: number | string | undefined offset?: number | string | undefined opacity?: number | string | undefined operator?: number | string | undefined order?: number | string | undefined orient?: number | string | undefined orientation?: number | string | undefined origin?: number | string | undefined overflow?: number | string | undefined overlinePosition?: number | string | undefined overlineThickness?: number | string | undefined paintOrder?: number | string | undefined panose1?: number | string | undefined path?: string | undefined pathLength?: number | string | undefined patternContentUnits?: string | undefined patternTransform?: number | string | undefined patternUnits?: string | undefined pointerEvents?: number | string | undefined points?: string | undefined pointsAtX?: number | string | undefined pointsAtY?: number | string | undefined pointsAtZ?: number | string | undefined preserveAlpha?: Booleanish | undefined preserveAspectRatio?: string | undefined primitiveUnits?: number | string | undefined r?: number | string | undefined radius?: number | string | undefined refX?: number | string | undefined refY?: number | string | undefined renderingIntent?: number | string | undefined repeatCount?: number | string | undefined repeatDur?: number | string | undefined requiredExtensions?: number | string | undefined requiredFeatures?: number | string | undefined restart?: number | string | undefined result?: string | undefined rotate?: number | string | undefined rx?: number | string | undefined ry?: number | string | undefined scale?: number | string | undefined seed?: number | string | undefined shapeRendering?: number | string | undefined slope?: number | string | undefined spacing?: number | string | undefined specularConstant?: number | string | undefined specularExponent?: number | string | undefined speed?: number | string | undefined spreadMethod?: string | undefined startOffset?: number | string | undefined stdDeviation?: number | string | undefined stemh?: number | string | undefined stemv?: number | string | undefined stitchTiles?: number | string | undefined stopColor?: string | undefined stopOpacity?: number | string | undefined strikethroughPosition?: number | string | undefined strikethroughThickness?: number | string | undefined string?: number | string | undefined stroke?: string | undefined strokeDasharray?: string | number | undefined strokeDashoffset?: string | number | undefined strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit' | undefined strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined strokeMiterlimit?: number | string | undefined strokeOpacity?: number | string | undefined strokeWidth?: number | string | undefined surfaceScale?: number | string | undefined systemLanguage?: number | string | undefined tableValues?: number | string | undefined targetX?: number | string | undefined targetY?: number | string | undefined textAnchor?: string | undefined textDecoration?: number | string | undefined textLength?: number | string | undefined textRendering?: number | string | undefined to?: number | string | undefined transform?: string | undefined u1?: number | string | undefined u2?: number | string | undefined underlinePosition?: number | string | undefined underlineThickness?: number | string | undefined unicode?: number | string | undefined unicodeBidi?: number | string | undefined unicodeRange?: number | string | undefined unitsPerEm?: number | string | undefined vAlphabetic?: number | string | undefined values?: string | undefined vectorEffect?: number | string | undefined version?: string | undefined vertAdvY?: number | string | undefined vertOriginX?: number | string | undefined vertOriginY?: number | string | undefined vHanging?: number | string | undefined vIdeographic?: number | string | undefined viewBox?: string | undefined viewTarget?: number | string | undefined visibility?: number | string | undefined vMathematical?: number | string | undefined widths?: number | string | undefined wordSpacing?: number | string | undefined writingMode?: number | string | undefined x1?: number | undefined x2?: number | undefined x?: number | undefined xChannelSelector?: string | undefined xHeight?: number | string | undefined xlinkActuate?: string | undefined xlinkArcrole?: string | undefined xlinkHref?: string | undefined xlinkRole?: string | undefined xlinkShow?: string | undefined xlinkTitle?: string | undefined xlinkType?: string | undefined xmlBase?: string | undefined xmlLang?: string | undefined xmlns?: string | undefined xmlnsXlink?: string | undefined xmlSpace?: string | undefined y1?: number | undefined y2?: number | undefined y?: number | undefined yChannelSelector?: string | undefined z?: number | string | undefined zoomAndPan?: string | undefined } export type EventsHandlers = { // Clipboard Events onCopy?: React.ClipboardEventHandler | undefined onCopyCapture?: React.ClipboardEventHandler | undefined onCut?: React.ClipboardEventHandler | undefined onCutCapture?: React.ClipboardEventHandler | undefined onPaste?: React.ClipboardEventHandler | undefined onPasteCapture?: React.ClipboardEventHandler | undefined // Composition Events onCompositionEnd?: React.CompositionEventHandler | undefined onCompositionEndCapture?: React.CompositionEventHandler | undefined onCompositionStart?: React.CompositionEventHandler | undefined onCompositionStartCapture?: React.CompositionEventHandler | undefined onCompositionUpdate?: React.CompositionEventHandler | undefined onCompositionUpdateCapture?: React.CompositionEventHandler | undefined // Focus Events onFocus?: React.FocusEventHandler | undefined onFocusCapture?: React.FocusEventHandler | undefined onBlur?: React.FocusEventHandler | undefined onBlurCapture?: React.FocusEventHandler | undefined // Form Events onChange?: React.FormEventHandler | undefined onChangeCapture?: React.FormEventHandler | undefined onBeforeInput?: React.FormEventHandler | undefined onBeforeInputCapture?: React.FormEventHandler | undefined onInput?: React.FormEventHandler | undefined onInputCapture?: React.FormEventHandler | undefined onReset?: React.FormEventHandler | undefined onResetCapture?: React.FormEventHandler | undefined onSubmit?: React.FormEventHandler | undefined onSubmitCapture?: React.FormEventHandler | undefined onInvalid?: React.FormEventHandler | undefined onInvalidCapture?: React.FormEventHandler | undefined // Image Events onLoad?: React.ReactEventHandler | undefined onLoadCapture?: React.ReactEventHandler | undefined onError?: React.ReactEventHandler | undefined // also a Media Event onErrorCapture?: React.ReactEventHandler | undefined // also a Media Event // Keyboard Events onKeyDown?: React.KeyboardEventHandler | undefined onKeyDownCapture?: React.KeyboardEventHandler | undefined onKeyPress?: React.KeyboardEventHandler | undefined onKeyPressCapture?: React.KeyboardEventHandler | undefined onKeyUp?: React.KeyboardEventHandler | undefined onKeyUpCapture?: React.KeyboardEventHandler | undefined // Media Events onAbort?: React.ReactEventHandler | undefined onAbortCapture?: React.ReactEventHandler | undefined onCanPlay?: React.ReactEventHandler | undefined onCanPlayCapture?: React.ReactEventHandler | undefined onCanPlayThrough?: React.ReactEventHandler | undefined onCanPlayThroughCapture?: React.ReactEventHandler | undefined onDurationChange?: React.ReactEventHandler | undefined onDurationChangeCapture?: React.ReactEventHandler | undefined onEmptied?: React.ReactEventHandler | undefined onEmptiedCapture?: React.ReactEventHandler | undefined onEncrypted?: React.ReactEventHandler | undefined onEncryptedCapture?: React.ReactEventHandler | undefined onEnded?: React.ReactEventHandler | undefined onEndedCapture?: React.ReactEventHandler | undefined onLoadedData?: React.ReactEventHandler | undefined onLoadedDataCapture?: React.ReactEventHandler | undefined onLoadedMetadata?: React.ReactEventHandler | undefined onLoadedMetadataCapture?: React.ReactEventHandler | undefined onLoadStart?: React.ReactEventHandler | undefined onLoadStartCapture?: React.ReactEventHandler | undefined onPause?: React.ReactEventHandler | undefined onPauseCapture?: React.ReactEventHandler | undefined onPlay?: React.ReactEventHandler | undefined onPlayCapture?: React.ReactEventHandler | undefined onPlaying?: React.ReactEventHandler | undefined onPlayingCapture?: React.ReactEventHandler | undefined onProgress?: React.ReactEventHandler | undefined onProgressCapture?: React.ReactEventHandler | undefined onRateChange?: React.ReactEventHandler | undefined onRateChangeCapture?: React.ReactEventHandler | undefined onSeeked?: React.ReactEventHandler | undefined onSeekedCapture?: React.ReactEventHandler | undefined onSeeking?: React.ReactEventHandler | undefined onSeekingCapture?: React.ReactEventHandler | undefined onStalled?: React.ReactEventHandler | undefined onStalledCapture?: React.ReactEventHandler | undefined onSuspend?: React.ReactEventHandler | undefined onSuspendCapture?: React.ReactEventHandler | undefined onTimeUpdate?: React.ReactEventHandler | undefined onTimeUpdateCapture?: React.ReactEventHandler | undefined onVolumeChange?: React.ReactEventHandler | undefined onVolumeChangeCapture?: React.ReactEventHandler | undefined onWaiting?: React.ReactEventHandler | undefined onWaitingCapture?: React.ReactEventHandler | undefined // MouseEvents onAuxClick?: React.MouseEventHandler | undefined onAuxClickCapture?: React.MouseEventHandler | undefined onClick?: React.MouseEventHandler | undefined onClickCapture?: React.MouseEventHandler | undefined onContextMenu?: React.MouseEventHandler | undefined onContextMenuCapture?: React.MouseEventHandler | undefined onDoubleClick?: React.MouseEventHandler | undefined onDoubleClickCapture?: React.MouseEventHandler | undefined onDrag?: React.DragEventHandler | undefined onDragCapture?: React.DragEventHandler | undefined onDragEnd?: React.DragEventHandler | undefined onDragEndCapture?: React.DragEventHandler | undefined onDragEnter?: React.DragEventHandler | undefined onDragEnterCapture?: React.DragEventHandler | undefined onDragExit?: React.DragEventHandler | undefined onDragExitCapture?: React.DragEventHandler | undefined onDragLeave?: React.DragEventHandler | undefined onDragLeaveCapture?: React.DragEventHandler | undefined onDragOver?: React.DragEventHandler | undefined onDragOverCapture?: React.DragEventHandler | undefined onDragStart?: React.DragEventHandler | undefined onDragStartCapture?: React.DragEventHandler | undefined onDrop?: React.DragEventHandler | undefined onDropCapture?: React.DragEventHandler | undefined onMouseDown?: React.MouseEventHandler | undefined onMouseDownCapture?: React.MouseEventHandler | undefined onMouseEnter?: React.MouseEventHandler | undefined onMouseLeave?: React.MouseEventHandler | undefined onMouseMove?: React.MouseEventHandler | undefined onMouseMoveCapture?: React.MouseEventHandler | undefined onMouseOut?: React.MouseEventHandler | undefined onMouseOutCapture?: React.MouseEventHandler | undefined onMouseOver?: React.MouseEventHandler | undefined onMouseOverCapture?: React.MouseEventHandler | undefined onMouseUp?: React.MouseEventHandler | undefined onMouseUpCapture?: React.MouseEventHandler | undefined // Selection Events onSelect?: React.ReactEventHandler | undefined onSelectCapture?: React.ReactEventHandler | undefined // Touch Events onTouchCancel?: React.TouchEventHandler | undefined onTouchCancelCapture?: React.TouchEventHandler | undefined onTouchEnd?: React.TouchEventHandler | undefined onTouchEndCapture?: React.TouchEventHandler | undefined onTouchMove?: React.TouchEventHandler | undefined onTouchMoveCapture?: React.TouchEventHandler | undefined onTouchStart?: React.TouchEventHandler | undefined onTouchStartCapture?: React.TouchEventHandler | undefined // Pointer Events onPointerDown?: React.PointerEventHandler | undefined onPointerDownCapture?: React.PointerEventHandler | undefined onPointerMove?: React.PointerEventHandler | undefined onPointerMoveCapture?: React.PointerEventHandler | undefined onPointerUp?: React.PointerEventHandler | undefined onPointerUpCapture?: React.PointerEventHandler | undefined onPointerCancel?: React.PointerEventHandler | undefined onPointerCancelCapture?: React.PointerEventHandler | undefined onPointerEnter?: React.PointerEventHandler | undefined onPointerEnterCapture?: React.PointerEventHandler | undefined onPointerLeave?: React.PointerEventHandler | undefined onPointerLeaveCapture?: React.PointerEventHandler | undefined onPointerOver?: React.PointerEventHandler | undefined onPointerOverCapture?: React.PointerEventHandler | undefined onPointerOut?: React.PointerEventHandler | undefined onPointerOutCapture?: React.PointerEventHandler | undefined onGotPointerCapture?: React.PointerEventHandler | undefined onGotPointerCaptureCapture?: React.PointerEventHandler | undefined onLostPointerCapture?: React.PointerEventHandler | undefined onLostPointerCaptureCapture?: React.PointerEventHandler | undefined // UI Events onScroll?: React.UIEventHandler | undefined onScrollCapture?: React.UIEventHandler | undefined // Wheel Events onWheel?: React.WheelEventHandler | undefined onWheelCapture?: React.WheelEventHandler | undefined // Animation Events onAnimationStart?: React.AnimationEventHandler | undefined onAnimationStartCapture?: React.AnimationEventHandler | undefined onAnimationEnd?: React.AnimationEventHandler | undefined onAnimationEndCapture?: React.AnimationEventHandler | undefined onAnimationIteration?: React.AnimationEventHandler | undefined onAnimationIterationCapture?: React.AnimationEventHandler | undefined // Transition Events onTransitionEnd?: React.TransitionEventHandler | undefined onTransitionEndCapture?: React.TransitionEventHandler | undefined }