render method

Widget render({
  1. required Node node,
  2. required Size parentSize,
  3. Widget? child,
})

Implementation

Widget render({
  required final figma.Node node,
  required final Size parentSize,
  final Widget? child,
}) {
  if (!node.visible) return const SizedBox.shrink();

  final shapeAdapter = FigmaShapeAdapter(node);
  final decorationAdapter = FigmaDecorationAdapter(node);
  final constraintsAdapter = FigmaConstraintsAdapter(node, parentSize);

  shapeAdapter.validateShape();
  decorationAdapter.validateDecoration();

  Widget container = Container(
    width: shapeAdapter.size?.width,
    height: shapeAdapter.size?.height,
    decoration: decorationAdapter.createBoxDecoration(),
    child: child,
  );

  container = decorationAdapter.wrapWithBlurEffects(container);

  // Apply constraints
  return constraintsAdapter.applyConstraints(container);
}