add method

void add(
  1. String? className, [
  2. bool shouldAdd = true
])

Adds all of the CSS classes represented by a space-delimited list of classNames if shouldAdd is true.

Does not check for / remove duplicate CSS classes.

Is a noop if shouldAdd is false, className is null or className is an empty string.

shouldAdd makes conditional CSS classes a breeze:

@override
render() {
  var classes = forwardingClassNameBuilder()
    ..add('foo')
    ..add('foo--is-active', state.isActive)
    ..add('foo--is-disabled', state.isDisabled);

  return (Dom.div()
    ..addProps(copyUnconsumedDomProps())
    ..className = classes.toClassName()
  )(props.children);
}

Related: blacklist

Implementation

void add(String? className, [bool shouldAdd = true]) {
  if (!shouldAdd || className == null || className == '') {
    return;
  }

  if (_classNamesBuffer.isNotEmpty) {
    _classNamesBuffer.write(' ');
  }
  _classNamesBuffer.write(className);
}