How to add a class to the element in a custom Gutenberg block

That documentation is for the base ButtonBlockAppender component in the @wordpress/block-editor package, and that component is exported with the name ButtonBlockerAppender (note the “Blocker” vs “Block”).

But your code is actually using InnerBlocks.ButtonBlockAppender which is an enhanced version of that base ButtonBlockAppender component, and as of writing, that enhanced version does not include the className prop — check the source (from the last commit in April 2020) where you can see BaseButtonBlockAppender is called without the className prop, and that BaseButtonBlockAppender is the one I’ve mentioned above (i.e. ButtonBlockerAppender).

So if you want that className prop, you can try one of these:

  1. Clone the enhanced version (i.e. InnerBlocks.ButtonBlockAppender) and include that className prop, but it’ll be up to you on how to clone it..

  2. Or don’t use that enhanced version, and use the base one instead. E.g.

    const { InnerBlocks, ButtonBlockerAppender } = wp.blockEditor;
    // or if you'd rather import:
    //import { InnerBlocks, ButtonBlockerAppender } from '@wordpress/block-editor';
    
    // Then in the block edit():
    <InnerBlocks
        renderAppender={() => (
            <ButtonBlockerAppender className="your-custom-class" />
        )}
    />