diff --git a/lib/src/transformers/node_transformers/passive_spacer_transformer.dart b/lib/src/transformers/node_transformers/passive_spacer_transformer.dart index 4cb5a19..800d39b 100644 --- a/lib/src/transformers/node_transformers/passive_spacer_transformer.dart +++ b/lib/src/transformers/node_transformers/passive_spacer_transformer.dart @@ -1,7 +1,7 @@ import 'package:codelessly_api/codelessly_api.dart'; import 'package:flutter/material.dart'; -import '../node_transformer.dart'; +import '../../../codelessly_sdk.dart'; class PassiveSpacerTransformer extends NodeWidgetTransformer { PassiveSpacerTransformer(super.getNode, super.manager); @@ -10,9 +10,8 @@ class PassiveSpacerTransformer extends NodeWidgetTransformer { final BaseNode parentNode = getNode(node.parentID); if (parentNode is! RowColumnMixin) { - throw Exception( - 'SpacerNode must be a child of a RowColumnNode to be rendered.' - ' ${node.name} is a child of [${parentNode.id}](${parentNode.name})', + return AdaptiveNodeBox( + node: node, ); } diff --git a/lib/src/transformers/widget_node_transformer_manager.dart b/lib/src/transformers/widget_node_transformer_manager.dart index 9a27206..8ead195 100644 --- a/lib/src/transformers/widget_node_transformer_manager.dart +++ b/lib/src/transformers/widget_node_transformer_manager.dart @@ -241,7 +241,7 @@ class AdaptiveNodeBox extends StatelessWidget { /// Creates a [AdaptiveNodeBox] that will fit its [child] to the size of the /// [node], taking into account the node's [BaseNode.horizontalFit] and /// [BaseNode.verticalFit]. - const AdaptiveNodeBox({super.key, required this.node, required this.child}); + const AdaptiveNodeBox({super.key, required this.node, this.child}); @override Widget build(BuildContext context) { diff --git a/lib/src/utils/extensions.dart b/lib/src/utils/extensions.dart index 3ef3289..61c1247 100644 --- a/lib/src/utils/extensions.dart +++ b/lib/src/utils/extensions.dart @@ -720,6 +720,16 @@ extension FitsExtension on BaseNode { bool canFillParent(BaseNode parent) => edgePins.inner(parent).isBothExpanded || isBothExpanded; + + bool isWrapOnAxis(AxisC axis) => switch (axis) { + AxisC.horizontal => isHorizontalWrap, + AxisC.vertical => isVerticalWrap, + }; + + bool doesFlexOnAxis(AxisC axis) => switch (axis) { + AxisC.horizontal => isHorizontalExpanded || isHorizontalFlexible, + AxisC.vertical => isVerticalExpanded || isVerticalFlexible, + }; } extension RowColumnMixinExtensions on RowColumnMixin {