Updates to components API

These new and updated functions are now available in the Designer API:

Beta

These methods are in public beta and may change with future releases.

Retrieving a component by name

You can now retrieve a component by its name and optionally its group with the new webflow.getComponentByName() function (Beta):

1// Fetch a component by name only
2const heroSection = await webflow.getComponentByName('Hero');
3console.log(heroSection.id);
4
5// Fetch a component scoped to a group
6const marketingHero = await webflow.getComponentByName('Marketing', 'Hero');
7console.log(marketingHero.id);

For more information, see Get component by name (Beta).

Getting component variants

The new functions component.getVariants() and component.getSelectedVariant() get the variants of a component and the selected variant of a component, as in these examples:

1const component = (await webflow.getAllComponents())[0];
2const variants = await component.getVariants();
3console.log(variants);
4// [
5// { id: 'base', name: 'Primary', isSelected: true },
6// { id: 'xxxx', name: 'Secondary', isSelected: false },
7// ]
8// Find which variant the user is currently editing
9const activeVariant = variants.find(v => v.isSelected);
10console.log(`Currently editing: ${activeVariant?.name}`);
1const selectedVariant = await heroComponent.getSelectedVariant();
2/*
3{
4 id: 'variant-123',
5 name: 'Secondary Hero',
6 isSelected: true,
7}
8*/
9// When no variant is explicitly selected, returns base
10const base = await heroComponent.getSelectedVariant();
11/*
12{
13 id: 'base',
14 name: 'Primary',
15 isSelected: true,
16}
17*/

For more information, see: