ComponentNode class

A component is a reusable piece of design that can be applied to different frames. Components can contain other components.

Inheritance
Available extensions
Annotations
  • @JsonSerializable()
  • @CopyWith()

Constructors

ComponentNode({required String id, required bool visible, required bool locked, required List<Paint> fills, required List<Paint> strokes, required List<ExportSetting> exportSettings, required List<Node?>? children, required double opacity, required LayoutPositioning layoutPositioning, required bool itemReverseZIndex, required bool strokesIncludedInLayout, required CounterAxisSizingMode counterAxisSizingMode, required double horizontalPadding, required double verticalPadding, required double itemSpacing, required List<LayoutGrid> layoutGrids, required OverflowDirection overflowDirection, required List<Effect> effects, required bool isMask, required bool isMaskOutline, required CounterAxisAlignItems counterAxisAlignItems, required PrimaryAxisAlignItems primaryAxisAlignItems, required PrimaryAxisSizingMode primaryAxisSizingMode, required double paddingBottom, required double paddingLeft, required double paddingRight, required double paddingTop, required Vector2D? size, required Map<String, ComponentPropertyDefinition> componentPropertyDefinitions, Map<StyleTypeKey, String>? styles, Map<String, String>? componentPropertyReferences, SizeRectangle? absoluteBoundingBox, SizeRectangle? absoluteRenderBounds, double? rotation, String? name, dynamic pluginData, dynamic sharedPluginData, String? type, double? strokeWeight, StrokeAlign? strokeAlign, double? cornerRadius, List<double>? rectangleCornerRadii, BlendMode? blendMode, required bool preserveRatio, required double layoutGrow, LayoutConstraint? constraints, LayoutAlign? layoutAlign, String? transitionNodeID, double? transitionDuration, List<List<double>>? relativeTransform, bool? clipsContent, LayoutMode? layoutMode, StrokeWeights? individualStrokeWeights})
ComponentNode.fromJson(Map<String, dynamic> json)
factory

Properties

absoluteBoundingBox SizeRectangle?
Bounding box of the node in absolute space coordinates.
finalinherited
absoluteRenderBounds SizeRectangle?
The bounds of the rendered node in the file in absolute space coordinates.
finalinherited
blendMode BlendMode?
How this node blends with nodes behind it in the scene.
finalinherited
children List<Node?>?
An array of nodes that are direct children of this node.
finalinherited
clipsContent bool?
Whether or not this node clip content outside of its bounds.
finalinherited
componentPropertyDefinitions Map<String, ComponentPropertyDefinition>
A mapping of name to ComponentPropertyDefinition for every component property on this component. Each property has a type, defaultValue, and ther optional values.
final
componentPropertyReferences Map<String, String>?
A mapping of a layer's property to component property name of component properties attached to this node. The component property name can be used to look up more information on the corresponding component's or component set's componentPropertyDefinitions.
finalinherited
constraints LayoutConstraint?
Horizontal and vertical layout constraints for node.
finalinherited
cornerRadius double?
Radius of each corner of the frame if a single radius is set for all corners.
finalinherited
counterAxisAlignItems CounterAxisAlignItems
Determines how the auto-layout frame’s children should be aligned in the counter axis direction. This property is only applicable for auto-layout frames.
finalinherited
counterAxisSizingMode CounterAxisSizingMode
Whether the counter axis has a fixed length (determined by the user) or an automatic length (determined by the layout engine). This property is only applicable for auto-layout frames.
finalinherited
effects List<Effect>
An array of effects attached to this node.
finalinherited
exportSettings List<ExportSetting>
An array of export settings representing images to export from node.
finalinherited
fills List<Paint>
An array of fill paints applied to the node.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
horizontalPadding double
The horizontal padding between the borders of the frame and its children. This property is only applicable for auto-layout frames.
finalinherited
id String
A string uniquely identifying this node within the document.
finalinherited
individualStrokeWeights StrokeWeights?
The weight of strokes on the node per side, if they vary.
finalinherited
isMask bool
Does this node mask sibling nodes in front of it?
finalinherited
isMaskOutline bool
Does this mask ignore fill style (like gradients) and effects?
finalinherited
itemReverseZIndex bool
Determines the canvas stacking order of layers in this frame. When true, the first layer will be draw on top. This property is only applicable for auto-layout frames.
finalinherited
itemSpacing double
The distance between children of the frame. This property is only applicable for auto-layout frames.
finalinherited
layoutAlign LayoutAlign?
How the layer is aligned inside an auto-layout frame. This property is only provided for direct children of auto-layout frames.
finalinherited
layoutGrids List<LayoutGrid>
An array of layout grids attached to this node. Group nodes do not have this attribute.
finalinherited
layoutGrow double
This property is applicable only for direct children of auto-layout frames, ignored otherwise. Determines whether a layer should stretch along the parent’s primary axis. A 0 corresponds to a fixed size and 1 corresponds to stretch.
finalinherited
layoutMode LayoutMode?
Whether this layer uses auto-layout to position its children.
finalinherited
layoutPositioning LayoutPositioning
Determines whether a layer's size and position should be determined by auto-layout settings or manually adjustable.
finalinherited
locked bool
If true, layer is locked and cannot be edited.
finalinherited
name String?
The name given to the node by the user in the tool.
finalinherited
opacity double
Opacity of the node.
finalinherited
overflowDirection OverflowDirection
Defines the scrolling behavior of the frame, if there exist contents outside of the frame boundaries. The frame can either scroll vertically, horizontally, or in both directions to the extents of the content contained within it. This behavior can be observed in a prototype.
finalinherited
paddingBottom double
The padding betweeen the bottom border of the frame and its children. This property is only applicable for auto-layout frames.
finalinherited
paddingLeft double
The padding betweeen the left border of the frame and its children. This property is only applicable for auto-layout frames.
finalinherited
paddingRight double
The padding betweeen the right border of the frame and its children. This property is only applicable for auto-layout frames.
finalinherited
paddingTop double
The padding betweeen the top border of the frame and its children. This property is only applicable for auto-layout frames.
finalinherited
pluginData → dynamic
Data written by plugins that is visible only to the plugin that wrote it. Requires the pluginData to include the ID of the plugin.
finalinherited
preserveRatio bool
Keep height and width constrained to same ratio.
finalinherited
primaryAxisAlignItems PrimaryAxisAlignItems
Determines how the auto-layout frame’s children should be aligned in the primary axis direction. This property is only applicable for auto-layout frames.
finalinherited
primaryAxisSizingMode PrimaryAxisSizingMode
Whether the primary axis has a fixed length (determined by the user) or an automatic length (determined by the layout engine). This property is only applicable for auto-layout frames.
finalinherited
props List<Object?>
The list of properties that will be used to determine whether two instances are equal.
no setterinherited
rectangleCornerRadii List<double>?
Array of length 4 of the radius of each corner of the frame, starting in the top left and proceeding clockwise.
finalinherited
relativeTransform List<List<double>>?
The top two rows of a matrix that represents the 2D transform of this node relative to its parent. The bottom row of the matrix is implicitly always (0, 0, 1). Use to transform coordinates in geometry. Only present if geometry=paths is passed.
finalinherited
rotation double?
The rotation of the node, if not 0.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sharedPluginData → dynamic
Data written by plugins that is visible to all plugins. Requires the pluginData parameter to include the string "shared".
finalinherited
size Vector2D?
Width and height of element. This is different from the width and height of the bounding box in that the absolute bounding box represents the element after scaling and rotation. Only present if geometry=paths is passed.
finalinherited
stringify bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited
strokeAlign StrokeAlign?
Position of stroke relative to vector outline, as a string enum.
finalinherited
strokes List<Paint>
An array of stroke paints applied to the node.
finalinherited
strokesIncludedInLayout bool
Determines whether strokes are included in layout calculations. When true, auto-layout frames behave like css "box-sizing: border-box". This property is only applicable for auto-layout frames.
finalinherited
strokeWeight double?
The weight of strokes on the node.
finalinherited
styles Map<StyleTypeKey, String>?
A mapping of a StyleType to style ID (see Style) of styles present on this node. The style ID can be used to look up more information about the style in the top-level styles field.
finalinherited
transitionDuration double?
The duration of the prototyping transition on this node (in milliseconds).
finalinherited
transitionNodeID String?
Node ID of node to transition to in prototyping.
finalinherited
type String?
The type of the node. This is usually the same as the Node subtype classes (e.g. Frame, Component etc.), but can be different in the case of foreign nodes.
finalinherited
verticalPadding double
The vertical padding between the borders of the frame and its children. This property is only applicable for auto-layout frames.
finalinherited
visible bool
Whether or not the node is visible on the canvas.
finalinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited