Explore the key distinctions and functionalities between the first and second generations of Builder SDKs using the comprehensive comparison and feature tables below, tailored to help you select the most suitable SDK for your development needs.
The Builder SDKs are divided into two generations, Gen 1, and Gen 2. Use the table below to find the recommended SDK generation for your framework.
*Includes React-based frameworks such as Gatsby, Next.js Pages Router, and Next.js App Router.
**Includes Nuxt.
† Gen 1 SDK supports Angular versions up to 18. Gen 2 SDK requires Angular 17 or higher and is the recommended choice for new projects and Angular 19+.
The table below outlines the features available for Builder's SDKs.
Legend
✅ Full support
🔵 In development
⚠️ Partial support
(hover for a tooltip with details)
❌ Not supported
Legend
✅ Full support
🔵 In development
⚠️ Partial support
(hover for a tooltip with details)
❌ Not supported
Rendering your Builder content differs between Gen 1 and Gen 2.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/react';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/react';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/react';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/react';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/react';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-svelte';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-vue';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-vue';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-qwik';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react-native';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
import { Content, type BuilderContent } from '@builder.io/sdk-angular';
<builder-content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
import { Content, type BuilderContent } from '@builder.io/sdk-angular';
<builder-content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/react';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
In Gen 2 SDKs the component is Content.
import { Content } from '@builder.io/sdk-react';
<Content
model="page"
apiKey=YOUR_API_KEY
content={contentJson}
/>For recommended usage and a description of the props of the Content component, visit Using the Content Component.
In Gen 1 SDKs the component is BuilderComponent.
import { BuilderComponent } from '@builder.io/angular';
<BuilderComponent model="page" content={contentJSON} />For recommended usage and a description of the props and methods of BuilderComponent, visit Using BuilderComponent.
Fetching data differs between Gen 1 and Gen 2.
In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/react';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/react';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/react';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/react';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/react';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-svelte';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-vue';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-vue';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-qwik';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react-native';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-angular';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-angular';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY',});
In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/react';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
In Gen 2, import fetchOneEntry() and fetchEntries() to fetch single and multiple entries respectively. Additionally, note that the apiKey is a required field:
import { fetchOneEntry, fetchEntries } from '@builder.io/sdk-react';
const page = await fetchOneEntry({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});
const pages = await fetchEntries({
model: 'page',
fields: 'data.url,name',
apiKey: 'YOUR_API_KEY'
});In Gen 1, import builder and use the get() or getAll() helper:
import { builder } from '@builder.io/angular';
const page = await builder.get('page', {
fields: 'data.url, name',
});
const pages = await builder.getAll('page', {
fields: 'data.url,name',
});
For more information, visit the Content API documentation.
Registering custom components differs between Gen 1 and Gen 2.
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/react';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/react';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/react';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
When adding children, Builder's Gen 1 SDKs use withChildren(), while the Gen 2 SDKs require <Blocks>. For more information on the SDKs, visit SDK Comparision.
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/react';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/react';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-svelte';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-vue';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-vue';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-qwik';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react-native';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the builder-content component:
import { Content, type BuilderContent } from '@builder.io/sdk-angular';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to builder-content
<builder-content customComponents={customComponents} />
In Gen 2, create a customComponents array containing all the custom components, and pass that to builder-content:
import { Content, type BuilderContent } from '@builder.io/sdk-angular';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to builder-content
<builder-content customComponents={customComponents} />
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/react';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
In Gen 2, create a customComponents array containing all the custom components, and pass that as a prop to the Content component:
import { Content } from '@builder.io/sdk-react';
import { MyHero } from './MyHero';
// this array can contain as many custom components as you want
const customComponents = [
{
component: MyHero,
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
}
]
// pass the array to Content
<Content customComponents={customComponents} />
In Gen 1, import the Builder object and use registerComponent():
import { Builder } from '@builder.io/angular';
import { MyHero } from './MyHero';
Builder.registerComponent(MyHero, {
name: 'Hero',
inputs: [
{ name: 'title', type: 'string' },
],
});
For more information on custom components, visit Registering Custom Components.
Configuring the Visual Editor differs between React Gen 1 and React Gen 2.
In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/react';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})In Gen 2, import register:
import { register } from '@builder.io/sdk-react';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/react';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})In Gen 2, import register:
import { register } from '@builder.io/sdk-react';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/react';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})In Gen 2, import register:
import { register } from '@builder.io/sdk-react';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-react';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/react';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})In Gen 2, import register:
import { register } from '@builder.io/sdk-react';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/react';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})In Gen 2, import register:
import { register } from '@builder.io/sdk-svelte';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-vue';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-vue';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-qwik';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-react-native';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-angular';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 2, import register:
import { register } from '@builder.io/sdk-angular';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/react';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})In Gen 2, import register:
import { register } from '@builder.io/sdk-react';
register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' }
],
})For your custom menu to function properly, remember to include the customComponents property within your Content component.
<Content customComponents={[ heroInfo, doubleColumnsInfo ]} />In Gen 1, import Builder and use the register() helper:
import { Builder } from '@builder.io/angular';
Builder.register('insertMenu', {
name: 'Our components',
items: [
{ name: 'Hero', item: 'Hero' },
{ name: 'Double Columns', item: 'DoubleColumns' },
{ name: 'Triple Columns', item: 'TripleColumns' },
{ name: 'Dynamic Columns', item: 'DynamicColumns' },
],
})The table below lists the available package names by framework and generation. Use these names for installs and imports.
*Includes React-based frameworks such as Remix, Hydrogen, Gatsby, Next.js, and App Router.
**Includes Nuxt.
For fetching in advanced use cases, read Using Enrich to Fetch References and Symbols.