padding function

Node padding({
  1. required Node child,
  2. double? all,
  3. double? horizontal,
  4. double? vertical,
  5. double? top,
  6. double? right,
  7. double? bottom,
  8. double? left,
})

Wraps a single child with padding.

Implementation

Node padding({
  required Node child,
  double? all,
  double? horizontal,
  double? vertical,
  double? top,
  double? right,
  double? bottom,
  double? left,
}) {
  final parts = <String>[];
  if (all != null) {
    parts.add('padding: ${all}px');
  } else {
    if (vertical != null) {
      parts.add('padding-top: ${vertical}px');
      parts.add('padding-bottom: ${vertical}px');
    }
    if (horizontal != null) {
      parts.add('padding-left: ${horizontal}px');
      parts.add('padding-right: ${horizontal}px');
    }
    if (top != null) parts.add('padding-top: ${top}px');
    if (right != null) parts.add('padding-right: ${right}px');
    if (bottom != null) parts.add('padding-bottom: ${bottom}px');
    if (left != null) parts.add('padding-left: ${left}px');
  }
  return Node(
    tag: 'div',
    attrs: {'style': parts.join('; ')},
    children: [child],
  );
}