Configure Components for Lightning Pages and the Lightning App Builder
1. Add a New Interface to Your Component
To appear in the Lightning App Builder or on a Lightning page, a component must implement one of these interfaces.
Interface | Description |
---|---|
flexipage:availableForAllPageTypes | Makes your component available for record pages and any other type of page, including a Lightning app’s utility bar. |
flexipage:availableForRecordHome | If your component is designed for record pages only, implement this interface
instead of flexipage:availableForAllPageTypes.
|
clients:availableForMailAppAppPage | Enables your component to appear on a Mail App Lightning page in the Lightning App Builder and in the Outlook and Gmail integrations. |
lightning:availableForForecastingPage | Makes your component available for the forecasts page in Lightning. |
<aura:component implements="flexipage:availableForAllPageTypes" access="global">
<aura:attribute name="greeting" type="String" default="Hello" access="global" />
<aura:attribute name="subject" type="String" default="World" access="global" />
<div style="box">
<span class="greeting">{!v.greeting}</span>, {!v.subject}!
</div>
</aura:component>
2. Add a Design Resource to Your Component Bundle
Use a design resource to control which attributes are exposed to builder tools like the Lightning App Builder, Experience Builder, or Flow Builder. A design resource lives in the same folder as your .cmp resource, and describes the design-time behavior of the Aura component—information that visual tools need to display the component in a page or app.
For example, if you want to restrict a component to one or more objects, set a default value on an attribute, or make an Aura component attribute available for administrators to edit in the Lightning App Builder, you need a design resource in your component bundle.
<design:component label="Hello World">
<design:attribute name="subject" label="Subject" description="Name of the person you want to greet" />
<design:attribute name="greeting" label="Greeting" />
</design:component>
Design resources must be named componentName.design.
Optional: Add an SVG Resource to Your Component Bundle
You can use an SVG resource to define a custom icon for your component when it appears in the Lightning App Builder’s component pane. Include it in the component bundle.
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
width="400" height="400">
<circle cx="100" cy="100" r="50" stroke="black"
stroke-width="5" fill="red" />
</svg>
SVG resources must be named componentName.svg.