Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
Code Examples for Document Builder
With custom components, the sky’s the limit, but these code samples can get you started on your own Document Builder customization journey.
Static Text
The header and medium header base components come with color and padding configuration. This code creates a medium header component.
1// Below is the code for the HTML block:
2<template>
3 <h2 class="slds-text-heading_medium" style={inlineStyle}>{text}</h2>
4</template>
5
6// Below is the code for the javascript block:
7import { LightningElement, api } from "lwc";
8
9export default class MediumHeaderText extends LightningElement {
10 @api text;
11 @api colorhex;
12 @api topPadding;
13 @api leftPadding;
14 @api rightPadding;
15 @api bottomPadding;
16
17 get inlineStyle() {
18 return `color:#${this.colorhex};
19padding:${this.topPadding}px ${this.rightPadding}px ${this.bottomPadding}px ${this.leftPadding}px`;
20 }
21}
22
23// Below is the extensible markup language block
24<?xml version="1.0" encoding="UTF-8" ?>
25<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
26 <apiVersion>57.0</apiVersion>
27 <isExposed>true</isExposed>
28 <targets>
29 <target>lightning__ServiceDocument</target>
30 </targets>
31 <targetConfigs>
32 <targetConfig targets="lightning__ServiceDocument">
33 <supportedFormFactors>
34 <supportedFormFactor type="Large" />
35 </supportedFormFactors>
36
37 <property name="text" type="string" default="A medium header" />
38 <property name="colorhex" type="string" default="1B3971" />
39 <property name="topPadding" type="string" default="0" />
40 <property name="rightPadding" type="string" default="0" />
41 <property name="leftPadding" type="string" default="0" />
42 <property name="bottomPadding" type="string" default="0" />
43 </targetConfig>
44 </targetConfigs>
45
46</LightningComponentBundle>Static Images
Here’s some sample code to create custom static images. This code creates a Static Image component.
1// Below is the HTML block
2<template>
3 <div>
4 <div class="image" style={inlineStyle}>
5 <img src={salesforceUrl} />
6 </div>
7 </div>
8</template>
9
10// Below is the JavaScript block
11import { LightningElement, api } from "lwc";
12import SALESFORCE_LOGO from "@salesforce/contentAssetUrl/salesforce";
13
14export default class DemoSalesforceLogo extends LightningElement {
15 @api width;
16 @api height;
17
18 // Expose the static resource URL for use in the template
19 get salesforceUrl() {
20 return SALESFORCE_LOGO;
21 }
22
23 get inlineStyle() {
24 return `width: ${this.width}px;height: ${this.height}px`;
25 }
26}
27
28// Below is the Extensible Markup Language block
29<?xml version="1.0" encoding="UTF-8" ?>
30<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
31 <apiVersion>54.0</apiVersion>
32 <isExposed>true</isExposed>
33 <targets>
34 <target>lightning__ServiceDocument</target>
35 </targets>
36 <targetConfigs>
37 <targetConfig targets="lightning__ServiceDocument">
38 <supportedFormFactors>
39 <supportedFormFactor type="Large" />
40 <supportedFormFactor type="Small" />
41 </supportedFormFactors>
42
43 <property name="width" type="integer" />
44 <property name="height" type="integer" />
45 </targetConfig>
46 </targetConfigs>
47
48</LightningComponentBundle>This code uses SFDX to deploy contentAssets.
1// Below is the XML block:
2<?xml version="1.0" encoding="UTF-8" ?>
3<ContentAsset xmlns="http://soap.sforce.com/2006/04/metadata">
4 <isVisibleByExternalUsers>true</isVisibleByExternalUsers>
5 <language>en_US</language>
6 <masterLabel>salesforce</masterLabel>
7 <relationships>
8 <organization>
9 <access>VIEWER</access>
10 </organization>
11 <workspace>
12 <access>INFERRED</access>
13 <isManagingWorkspace>true</isManagingWorkspace>
14 <name>sfdc_asset_company_assets</name>
15 </workspace>
16 </relationships>
17 <versions>
18 <version>
19 <number>1</number>
20 <pathOnClient>salesforce.png</pathOnClient>
21 </version>
22 </versions>
23</ContentAsset>