target.value;
  }

  render() {
    return e(React.Fragment, null,
      e('input', {onInput: this.onInput.bind(this)}, null),
      e('button', {
        onClick: () => this.props.onNewBook(this.state),
      }, `new book`),
    );
  }
}

function ColorButton (props) {
  return e('button', {className: props.color, disabled: !props.enabled}, 'button ' + props.nested.index);
}

const ButtonGrid = React.memo(function() {
  const buttons = [];
  for (let i = 0; i < 9; ++i) {
    buttons.push(e(ColorButton, {
 