Registering a custom block
To register a block with the Chai Builder, follow these steps.
-
Create a React component that represents your block.
-
Register the created component with the Chai Builder.
Chai Builder will automatically pass the necessary props to the component bases on the block configuration.
import { registerChaiBlock, MultilineText, Styles } from '@chaibuilder/blocks';
// NOTE: blockProps is automatically generated by the Chai Builder// which makes the block selectable.// `styles` is the styles object which enables the user to change the styles of the block.const SpecialHeading = ({blockProps, styles, content}) => { return ( <h1 {...blockProps} {...styles}>{content}</h1> );};
registerChaiBlock(SpecialHeading, { type: 'SpecialHeading', //unique block type label: 'Special Heading', category: 'Basic', props: { content: MultilineText({title: "Heading Conetent"}), styles: Styles({default: "text-3xl font-bold text-primary underline"}) }});
For more information on the block props configuration, see Controls.
That’s it! Your custom block is now registered and ready to be used within Chai Builder.