wrapWithPaddingAndScroll function

List<Widget> wrapWithPaddingAndScroll(
  1. BaseNode node,
  2. List<Widget> children, {
  3. required AlignmentModel stackAlignment,
  4. bool applyPadding = true,
})

Implementation

List<Widget> wrapWithPaddingAndScroll(
  BaseNode node,
  List<Widget> children, {
  required AlignmentModel stackAlignment,
  bool applyPadding = true,
}) {
  if (children.isEmpty) return children;

  final EdgeInsets resolvedPadding =
      node.innerBoxLocal.edgeInsets.flutterEdgeInsets;

  if (node is FrameNode && node.isScrollable) {
    return [
      wrapWithPaddedScrollable(
        node: node,
        padding: applyPadding ? resolvedPadding : null,
        clipBehavior: defaultGetClipBehavior(node),
        child: Stack(
          clipBehavior: Clip.none,
          alignment:
              stackAlignment.flutterAlignment ?? AlignmentDirectional.topStart,
          children: children,
        ),
      ),
    ];
  }

  return wrapWithPadding(
    node,
    children,
    stackAlignment: stackAlignment,
    applyPadding: applyPadding,
  );
}