Skip to Content

@revideo/2d


@revideo/2d / components / IconProps

Interface: IconProps

Defined in: 2d/src/lib/components/Icon.ts:12 

Extends

Properties

alignContent?

optional alignContent?: SignalValue<FlexContent>

Defined in: 2d/src/lib/components/Layout.ts:89 

Inherited from

ImgProps.alignContent


alignItems?

optional alignItems?: SignalValue<FlexItems>

Defined in: 2d/src/lib/components/Layout.ts:90 

Inherited from

ImgProps.alignItems


alignSelf?

optional alignSelf?: SignalValue<FlexItems>

Defined in: 2d/src/lib/components/Layout.ts:91 

Inherited from

ImgProps.alignSelf


alpha?

optional alpha?: SignalValue<number>

Defined in: 2d/src/lib/components/Img.ts:49 

The alpha value of this image.

Remarks

Unlike opacity, the alpha value affects only the image itself, leaving the fill, stroke, and children intact.

Inherited from

ImgProps.alpha


antialiased?

optional antialiased?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Shape.ts:26 

Inherited from

ImgProps.antialiased


arrowSize?

optional arrowSize?: SignalValue<number>

Defined in: 2d/src/lib/components/Curve.ts:50 

Controls the size of the end and start arrows.

Remarks

To make the arrows visible make sure to enable startArrow and/or endArrow.

Inherited from

ImgProps.arrowSize


basis?

optional basis?: SignalValue<FlexBasis>

Defined in: 2d/src/lib/components/Layout.ts:83 

Inherited from

ImgProps.basis


bottom?

optional bottom?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:138 

The position of the bottom edge of this node.

Remarks

This shortcut property will set the node’s position so that the bottom edge ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.bottom


bottomLeft?

optional bottomLeft?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:183 

The position of the bottom left corner of this node.

Remarks

This shortcut property will set the node’s position so that the bottom left corner ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.bottomLeft


bottomRight?

optional bottomRight?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:192 

The position of the bottom right corner of this node.

Remarks

This shortcut property will set the node’s position so that the bottom right corner ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.bottomRight


cache?

optional cache?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Node.ts:99 

Inherited from

ImgProps.cache


cachePadding?

optional cachePadding?: SignalValue<PossibleSpacing>

Defined in: 2d/src/lib/components/Node.ts:119 

Controls the padding of the cached canvas used by this node.

Remarks

By default, the size of the cache is determined based on the bounding box of the node and its children. That includes effects such as stroke or shadow. This property can be used to expand the cache area further. Usually used to account for custom effects created by shaders.

Inherited from

ImgProps.cachePadding


cachePaddingBottom?

optional cachePaddingBottom?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:107 

Controls the padding of the cached canvas used by this node.

Remarks

By default, the size of the cache is determined based on the bounding box of the node and its children. That includes effects such as stroke or shadow. This property can be used to expand the cache area further. Usually used to account for custom effects created by shaders.

Inherited from

ImgProps.cachePaddingBottom


cachePaddingLeft?

optional cachePaddingLeft?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:111 

Controls the padding of the cached canvas used by this node.

Remarks

By default, the size of the cache is determined based on the bounding box of the node and its children. That includes effects such as stroke or shadow. This property can be used to expand the cache area further. Usually used to account for custom effects created by shaders.

Inherited from

ImgProps.cachePaddingLeft


cachePaddingRight?

optional cachePaddingRight?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:115 

Controls the padding of the cached canvas used by this node.

Remarks

By default, the size of the cache is determined based on the bounding box of the node and its children. That includes effects such as stroke or shadow. This property can be used to expand the cache area further. Usually used to account for custom effects created by shaders.

Inherited from

ImgProps.cachePaddingRight


cachePaddingTop?

optional cachePaddingTop?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:103 

Controls the padding of the cached canvas used by this node.

Remarks

By default, the size of the cache is determined based on the bounding box of the node and its children. That includes effects such as stroke or shadow. This property can be used to expand the cache area further. Usually used to account for custom effects created by shaders.

Inherited from

ImgProps.cachePaddingTop


children?

optional children?: SignalValue<ComponentChildren>

Defined in: 2d/src/lib/components/Node.ts:71 

Inherited from

ImgProps.children


clip?

optional clip?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Layout.ts:193 

Inherited from

ImgProps.clip


closed?

optional closed?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Curve.ts:22 

Whether the curve should be closed.

Remarks

Closed curves have their start and end points connected.

Inherited from

ImgProps.closed


color?

optional color?: SignalValue<PossibleColor>

Defined in: 2d/src/lib/components/Icon.ts:21 

The color of the icon

Remarks

Provide the color in one of the following formats:

  • named color like red, darkgray, …
  • hexadecimal string with # like #bada55, #141414 Value can be either RGB or RGBA: #bada55, #bada55aa (latter is partially transparent) The shorthand version (e.g. #abc for #aabbcc is also possible.)

columnGap?

optional columnGap?: SignalValue<Length>

Defined in: 2d/src/lib/components/Layout.ts:93 

Inherited from

ImgProps.columnGap


composite?

optional composite?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Node.ts:121 

Inherited from

ImgProps.composite


compositeOperation?

optional compositeOperation?: SignalValue<GlobalCompositeOperation>

Defined in: 2d/src/lib/components/Node.ts:122 

Inherited from

ImgProps.compositeOperation


cornerSharpness?

optional cornerSharpness?: SignalValue<number>

Defined in: 2d/src/lib/components/Rect.ts:31 

Controls the sharpness of smoothCorners.

Remarks

This property only affects the way rounded corners are drawn. To control the corner radius use the radius property.

Requires smoothCorners to be enabled to have any effect. By default, corner sharpness is set to 0.6 which represents a smooth, circle-like rounding. At 0 the edges are squared off.

Inherited from

ImgProps.cornerSharpness


direction?

optional direction?: SignalValue<FlexDirection>

Defined in: 2d/src/lib/components/Layout.ts:82 

Inherited from

ImgProps.direction


end?

optional end?: SignalValue<number>

Defined in: 2d/src/lib/components/Curve.ts:38 

A percentage from the start after which the curve should be clipped.

Remarks

The portion of the curve that comes after the given percentage will be made invisible.

This property is usefully for animating the curve appearing on the screen. The value of 0 means the very start of the curve (accounting for the startOffset) while 1 means the very end (accounting for the endOffset).

Inherited from

ImgProps.end


endArrow?

optional endArrow?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Curve.ts:46 

Whether to display an arrow at the end of the visible curve.

Remarks

Use arrowSize to control the size of the arrow.

Inherited from

ImgProps.endArrow


endOffset?

optional endOffset?: SignalValue<number>

Defined in: 2d/src/lib/components/Curve.ts:42 

The offset in pixels from the end of the curve.

Remarks

This property lets you specify where along the defined curve the actual visible portion ends. For example, setting it to 20 will make the last 20 pixels of the curve invisible.

This property is useful for trimming the curve using a fixed distance. If you want to animate the curve appearing on the screen, use end instead.

Inherited from

ImgProps.endOffset


fill?

optional fill?: SignalValue<PossibleCanvasStyle>

Defined in: 2d/src/lib/components/Shape.ts:18 

Inherited from

ImgProps.fill


filters?

optional filters?: SignalValue<Filter[]>

Defined in: 2d/src/lib/components/Node.ts:91 

Inherited from

ImgProps.filters


fontFamily?

optional fontFamily?: SignalValue<string>

Defined in: 2d/src/lib/components/Layout.ts:96 

Inherited from

ImgProps.fontFamily


fontSize?

optional fontSize?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:97 

Inherited from

ImgProps.fontSize


fontStyle?

optional fontStyle?: SignalValue<string>

Defined in: 2d/src/lib/components/Layout.ts:98 

Inherited from

ImgProps.fontStyle


fontWeight?

optional fontWeight?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:99 

Inherited from

ImgProps.fontWeight


gap?

optional gap?: SignalValue<Length>

Defined in: 2d/src/lib/components/Layout.ts:94 

Inherited from

ImgProps.gap


grow?

optional grow?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:84 

Inherited from

ImgProps.grow


height?

optional height?: SignalValue<Length>

Defined in: 2d/src/lib/components/Layout.ts:63 

Inherited from

ImgProps.height


icon

icon: SignalValue<string>

Defined in: 2d/src/lib/components/Icon.ts:16 

The identifier of the icon.

Remarks

You can find identifiers on Icônes . They can look like this:

  • mdi:language-typescript
  • ph:anchor-simple-bold
  • ph:activity-bold

justifyContent?

optional justifyContent?: SignalValue<FlexContent>

Defined in: 2d/src/lib/components/Layout.ts:88 

Inherited from

ImgProps.justifyContent


key?

optional key?: string

Defined in: 2d/src/lib/components/Node.ts:76 

Inherited from

ImgProps.key


layout?

optional layout?: LayoutMode

Defined in: 2d/src/lib/components/Layout.ts:59 

Inherited from

ImgProps.layout


left?

optional left?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:147 

The position of the left edge of this node.

Remarks

This shortcut property will set the node’s position so that the left edge ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.left


letterSpacing?

optional letterSpacing?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:101 

Inherited from

ImgProps.letterSpacing


lineCap?

optional lineCap?: SignalValue<CanvasLineCap>

Defined in: 2d/src/lib/components/Shape.ts:23 

Inherited from

ImgProps.lineCap


lineDash?

optional lineDash?: SignalValue<number[]>

Defined in: 2d/src/lib/components/Shape.ts:24 

Inherited from

ImgProps.lineDash


lineDashOffset?

optional lineDashOffset?: SignalValue<number>

Defined in: 2d/src/lib/components/Shape.ts:25 

Inherited from

ImgProps.lineDashOffset


lineHeight?

optional lineHeight?: SignalValue<Length>

Defined in: 2d/src/lib/components/Layout.ts:100 

Inherited from

ImgProps.lineHeight


lineJoin?

optional lineJoin?: SignalValue<CanvasLineJoin>

Defined in: 2d/src/lib/components/Shape.ts:22 

Inherited from

ImgProps.lineJoin


lineWidth?

optional lineWidth?: SignalValue<number>

Defined in: 2d/src/lib/components/Shape.ts:21 

Inherited from

ImgProps.lineWidth


margin?

optional margin?: SignalValue<PossibleSpacing>

Defined in: 2d/src/lib/components/Layout.ts:74 

Inherited from

ImgProps.margin


marginBottom?

optional marginBottom?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:71 

Inherited from

ImgProps.marginBottom


marginLeft?

optional marginLeft?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:72 

Inherited from

ImgProps.marginLeft


marginRight?

optional marginRight?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:73 

Inherited from

ImgProps.marginRight


marginTop?

optional marginTop?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:70 

Inherited from

ImgProps.marginTop


maxHeight?

optional maxHeight?: SignalValue<LengthLimit>

Defined in: 2d/src/lib/components/Layout.ts:65 

Inherited from

ImgProps.maxHeight


maxWidth?

optional maxWidth?: SignalValue<LengthLimit>

Defined in: 2d/src/lib/components/Layout.ts:64 

Inherited from

ImgProps.maxWidth


middle?

optional middle?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:120 

The position of the center of this node.

Remarks

This shortcut property will set the node’s position so that the center ends up in the given place. If present, overrides the NodeProps.position property. When offset is not set, this will be the same as the NodeProps.position.

Inherited from

ImgProps.middle


minHeight?

optional minHeight?: SignalValue<LengthLimit>

Defined in: 2d/src/lib/components/Layout.ts:67 

Inherited from

ImgProps.minHeight


minWidth?

optional minWidth?: SignalValue<LengthLimit>

Defined in: 2d/src/lib/components/Layout.ts:66 

Inherited from

ImgProps.minWidth


offset?

optional offset?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:109 

Inherited from

ImgProps.offset


offsetX?

optional offsetX?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:107 

Inherited from

ImgProps.offsetX


offsetY?

optional offsetY?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:108 

Inherited from

ImgProps.offsetY


opacity?

optional opacity?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:90 

Inherited from

ImgProps.opacity


padding?

optional padding?: SignalValue<PossibleSpacing>

Defined in: 2d/src/lib/components/Layout.ts:80 

Inherited from

ImgProps.padding


paddingBottom?

optional paddingBottom?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:77 

Inherited from

ImgProps.paddingBottom


paddingLeft?

optional paddingLeft?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:78 

Inherited from

ImgProps.paddingLeft


paddingRight?

optional paddingRight?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:79 

Inherited from

ImgProps.paddingRight


paddingTop?

optional paddingTop?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:76 

Inherited from

ImgProps.paddingTop


position?

optional position?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Node.ts:80 

Inherited from

ImgProps.position


radius?

optional radius?: SignalValue<PossibleSpacing>

Defined in: 2d/src/lib/components/Rect.ts:21 

Rounds the corners of this rectangle.

Remarks

The value represents the radius of the quarter circle that is used to round the corners. If the value is a number, the same radius is used for all corners. Passing an array of two to four numbers will set individual radii for each corner. Individual radii correspond to different corners depending on the number of values passed:

// top-left-and-bottom-right | top-right-and-bottom-left [10, 30] // top-left | top-right-and-bottom-left | bottom-right [10, 20, 30] // top-left | top-right | bottom-right | bottom-left [10, 20, 30, 40]

Inherited from

ImgProps.radius


ratio?

optional ratio?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:68 

Inherited from

ImgProps.ratio


ref?

optional ref?: ReferenceReceiver<any>

Defined in: 2d/src/lib/components/Node.ts:70 

Inherited from

ImgProps.ref


optional right?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:156 

The position of the right edge of this node.

Remarks

This shortcut property will set the node’s position so that the right edge ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.right


rotation?

optional rotation?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:81 

Inherited from

ImgProps.rotation


rowGap?

optional rowGap?: SignalValue<Length>

Defined in: 2d/src/lib/components/Layout.ts:92 

Inherited from

ImgProps.rowGap


scale?

optional scale?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Node.ts:84 

Inherited from

ImgProps.scale


scaleX?

optional scaleX?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:82 

Inherited from

ImgProps.scaleX


scaleY?

optional scaleY?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:83 

Inherited from

ImgProps.scaleY


shaders?

optional shaders?: PossibleShaderConfig

Defined in: 2d/src/lib/components/Node.ts:126 

Experimental

Inherited from

ImgProps.shaders


shadowBlur?

optional shadowBlur?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:94 

Inherited from

ImgProps.shadowBlur


shadowColor?

optional shadowColor?: SignalValue<PossibleColor>

Defined in: 2d/src/lib/components/Node.ts:93 

Inherited from

ImgProps.shadowColor


shadowOffset?

optional shadowOffset?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Node.ts:97 

Inherited from

ImgProps.shadowOffset


shadowOffsetX?

optional shadowOffsetX?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:95 

Inherited from

ImgProps.shadowOffsetX


shadowOffsetY?

optional shadowOffsetY?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:96 

Inherited from

ImgProps.shadowOffsetY


shrink?

optional shrink?: SignalValue<number>

Defined in: 2d/src/lib/components/Layout.ts:85 

Inherited from

ImgProps.shrink


size?

optional size?: SignalValue<PossibleVector2<Length>>

Defined in: 2d/src/lib/components/Layout.ts:106 

Inherited from

ImgProps.size


skew?

optional skew?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Node.ts:87 

Inherited from

ImgProps.skew


skewX?

optional skewX?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:85 

Inherited from

ImgProps.skewX


skewY?

optional skewY?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:86 

Inherited from

ImgProps.skewY


smoothCorners?

optional smoothCorners?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Rect.ts:26 

Enables corner smoothing.

Remarks

This property only affects the way rounded corners are drawn. To control the corner radius use the radius property.

When enabled, rounded corners are drawn continuously using Bézier curves rather than quarter circles. The sharpness of the curve can be controlled with cornerSharpness.

You can read more about corner smoothing in this article by Nick Lawrence .

Inherited from

ImgProps.smoothCorners


smoothing?

optional smoothing?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Img.ts:53 

Whether the image should be smoothed.

Remarks

When disabled, the image will be scaled using the nearest neighbor interpolation with no smoothing. The resulting image will appear pixelated.

Inherited from

ImgProps.smoothing


spawner?

optional spawner?: SignalValue<ComponentChildren>

Defined in: 2d/src/lib/components/Node.ts:75 

Deprecated

Use children instead.

Inherited from

ImgProps.spawner


src?

optional src?: SignalValue<string | null>

Defined in: 2d/src/lib/components/Img.ts:45 

The source of this image.

Inherited from

ImgProps.src


start?

optional start?: SignalValue<number>

Defined in: 2d/src/lib/components/Curve.ts:26 

A percentage from the start before which the curve should be clipped.

Remarks

The portion of the curve that comes before the given percentage will be made invisible.

This property is usefully for animating the curve appearing on the screen. The value of 0 means the very start of the curve (accounting for the startOffset) while 1 means the very end (accounting for the endOffset).

Inherited from

ImgProps.start


startArrow?

optional startArrow?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Curve.ts:34 

Whether to display an arrow at the start of the visible curve.

Remarks

Use arrowSize to control the size of the arrow.

Inherited from

ImgProps.startArrow


startOffset?

optional startOffset?: SignalValue<number>

Defined in: 2d/src/lib/components/Curve.ts:30 

The offset in pixels from the start of the curve.

Remarks

This property lets you specify where along the defined curve the actual visible portion starts. For example, setting it to 20 will make the first 20 pixels of the curve invisible.

This property is useful for trimming the curve using a fixed distance. If you want to animate the curve appearing on the screen, use start instead.

Inherited from

ImgProps.startOffset


stroke?

optional stroke?: SignalValue<PossibleCanvasStyle>

Defined in: 2d/src/lib/components/Shape.ts:19 

Inherited from

ImgProps.stroke


strokeFirst?

optional strokeFirst?: SignalValue<boolean>

Defined in: 2d/src/lib/components/Shape.ts:20 

Inherited from

ImgProps.strokeFirst


tagName?

optional tagName?: keyof HTMLElementTagNameMap

Defined in: 2d/src/lib/components/Layout.ts:60 

Inherited from

ImgProps.tagName


textAlign?

optional textAlign?: SignalValue<CanvasTextAlign>

Defined in: 2d/src/lib/components/Layout.ts:104 

Inherited from

ImgProps.textAlign


textDirection?

optional textDirection?: SignalValue<CanvasDirection>

Defined in: 2d/src/lib/components/Layout.ts:103 

Inherited from

ImgProps.textDirection


textWrap?

optional textWrap?: SignalValue<TextWrap>

Defined in: 2d/src/lib/components/Layout.ts:102 

Inherited from

ImgProps.textWrap


top?

optional top?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:129 

The position of the top edge of this node.

Remarks

This shortcut property will set the node’s position so that the top edge ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.top


topLeft?

optional topLeft?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:165 

The position of the top left corner of this node.

Remarks

This shortcut property will set the node’s position so that the top left corner ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.topLeft


topRight?

optional topRight?: SignalValue<PossibleVector2>

Defined in: 2d/src/lib/components/Layout.ts:174 

The position of the top right corner of this node.

Remarks

This shortcut property will set the node’s position so that the top right corner ends up in the given place. If present, overrides the NodeProps.position property.

Inherited from

ImgProps.topRight


width?

optional width?: SignalValue<Length>

Defined in: 2d/src/lib/components/Layout.ts:62 

Inherited from

ImgProps.width


wrap?

optional wrap?: SignalValue<FlexWrap>

Defined in: 2d/src/lib/components/Layout.ts:86 

Inherited from

ImgProps.wrap


x?

optional x?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:78 

Inherited from

ImgProps.x


y?

optional y?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:79 

Inherited from

ImgProps.y


zIndex?

optional zIndex?: SignalValue<number>

Defined in: 2d/src/lib/components/Node.ts:88 

Inherited from

ImgProps.zIndex

© 2026 Haven Technologies, Inc.
Interface: IconProps – Revideo