Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This feature is available on Beefree SDK Core plan and above. If you're on the Essentials plan, upgrade a development application for free to try this and other Core-level features.
The Content Tile Sorting option allows the host application to change the order of the content tiles in the editor’s sidebar. This allows the host application to display the content blocks that are most important for their users first, and even provide additional visibility for a Custom Addon.
To use this feature, the host application must simply pass in the preferred order inside the configuration passed at initialization, like so:
The host application can pass as many or as few content blocks as they want. If only one content tile is specified, then only that content tile will be placed at the top, and the rest of the content tiles will follow the default order.
For Custom/Partner AddOns, the host application passes the “Content Title” value found in the Addon section of the Beefree SDK Console Application Configuration.
This feature is available on Beefree SDK paid plans only.
You can choose whether to display the builder sidebar on the left or on the right side of the screen.
Available positions:
left
right
Here is the same sample application, with the same template and same content element selected, and the sidebar displayed on the left…
… and on the right.
The configuration document needs the following, new parameter:
Beefree SDK enables you to customize the appearance of a variety of elements. Reference the following sections to learn more about how you can customize appearance:
This feature is available on Beefree SDK paid plans only.
The default Beefree SDK theme is grayscale and generally can be used with any color scheme. In v3, you can now choose between a dark and light theme for the loading animation, so it can better fit the host application’s UI. If you would like to change the loading icon and/or have more granular control of the loading theme, please view our article about using custom CSS.
Available themes:
light
dark
This feature is available on Beefree SDK Core plan and above. If you're on the Essentials plan, upgrade a development application for free to try this and other Core-level features.
This Beefree SDK configuration allows you to change the builder’s appearance when rendered within your application so that it will blend even more seamlessly with the rest of your user interface.
Technically speaking, it allows you to change some parts of the CSS (Cascading Style Sheets) that controls the look & feel of the editor. If you want to use your own CSS, please refer to our Custom CSS feature.
To change the builder’s appearance with just one click – and to familiarize with this feature – try one of the available, pre-built themes. All of them were created based on UI best practices, such as using the right amount of contrast between elements.
You can apply one of these themes as is, or use them as a starting point. And you can roll back to the default theme at any time, if things go wrong.
Note that themes will not be applied automatically, but rather will change the Look & feel values displayed in the lower part of the page.
Once you’re happy with your selection, press Save to apply the new theme to your Beefree SDK application.
The properties that make up a theme are divided into sections for clarity and easy of use.
The basic settings for your theme. They provide control over the font used and the general color scheme.
Font URL
You can use a Web font by adding the URL of a public CSS file (e.g., https://fonts.googleapis.com/css?family=Roboto)
Font-family stack
Will be used as font-family property. Remember that – when using web fonts – a fallback value will help to deal with downtime or network issues.
Brand color palette
Use this section to configure basic properties of your color scheme. These colors will be displayed in buttons, active widgets, hover & selection helpers, etc.
The Primary color will be the most important color in your scheme, as it will identify highlighted elements. Here are two examples of how a highlighted row is rendered using two different themes (the default theme is shown at the top).
The stage is the area where the message is displayed while you design it. The main elements will inherit colors from General | Brand Color Palette so only the text color is available as an editable property.
This section controls the appearance of the right panel’s top tabs. You can add custom colors and even hide the default icons (which may be useful for some translations in order to create more real estate for the text labels). Here is an example (left: default theme, right: aubergine).
These sections will help you customize the tiles that are used for content items and row structures. Here is an example (left: default theme, right: aubergine).
This is the title bar that is displayed in the right side panel when you select an item on the editing stage. It displays important information and actions that can be performed on that item.
All the properties displayed in the right side panel when you select an item in the editing stage are a mix of shared widgets.
The following is a visual guide of the available customizations (left: default theme, right: aubergine).
This feature is available on Beefree SDK Superpowers plan and above. If you're on the Core or Essentials plan, upgrade a development application for free to try this and other Superpowers-level features.
To define a custom look and feel through a CSS stylesheet, assign the URL of your CSS file to the customCss
property in your JavaScript code, as shown in the following example.
You can customize the builder's CSS for different users by dynamically setting the customCss
property with a unique CSS file URL for each user. Simply concatenate the user-specific identifier to the base URL as shown in the example code.
Custom CSS is an advanced feature, which gives the host application great flexibility to customize the UI/UX of the builder. Please use this feature with caution. If you're looking to hide certain UI elements, we recommend you first check if that can be accomplished with Advanced Permissions, as it may be easier to implement.
When used properly, it is a powerful tool that can be leveraged to accomplish anything from applying custom styles with fine granularity to changing icons.
When misused, however, it may harm the user experience and the rendering capability of the builder’s stage. For example, styles applied to the stage via CSS will not be reflected in the preview or exported HTML.
For the best results, follow these best practices:
Avoid global styles. Do not use generic global styles (e.g., *
, p
, input
) that could affect the editing stage.
Use specific CSS selectors. Target elements using precise selectors (e.g., body.bee--cs h3
).
Do not inject scripts via CSS. JavaScript and other scripts should not be included in CSS.
Ensure HTTPS hosting. The custom CSS URL must be hosted over HTTPS.
Avoid third-party hosting. Do not link to CSS files hosted on GitHub or other third-party sources.
Do not style elements directly on the stage. These styles will not appear in the final HTML, which may create a confusing experience.
Only class names with the --cs
suffix are reliable for custom CSS. Avoid the following selectors:
Nested tag structures (e.g., div > div > div
)
Sibling selectors (e.g., input + label
)
Class names without --cs
(e.g., .icons__item
)
Prefixed class name selectors (e.g., div[class^="StageModuleIcons_itemRow"]
)
Class names without the --cs
suffix may change without prior notice. However, any updates to the HTML structure and --cs
classes will be communicated in advance.
Reference the following Sample Custom CSS Theme to see an example of how you can use custom CSS in your web application.
This feature is available on Beefree SDK Core plan and above. If you're on the Essentials plan, upgrade a development application for free to try this and other Core-level features.
The default tab configuration option lets the host application decide which content should be visible first in the sidebar when the editor is loaded.
In Beefree SDK v2, the default tab is the Content tab and this behavior could not be changed. It’s still the behavior that we recommend for most scenarios.
However, apps that rely heavily on pre-built custom rows, or saved row libraries, may now choose to highlight the Rows tab, using the following configuration options.
Available Options:
content
rows
settings
Building upon the default tab configuration option, in Beefree SDK v3 you may also re-organize the way tabs are ordered.
This feature is available on Beefree SDK Superpowers plan and above. If you're on the Core or Essentials plan, upgrade a development application for free to try this and other Superpowers-level features.
The Content Tile Grouping option allows the host application to group content tiles in the editor’s sidebar. This allows the host application to display the content blocks into distinct groups.
Content Tile Grouping supports:
Text labels
Special Characters
Emojis
Please note that emoji support may be determined by the OS or browsers used. Some browsers do not support, or may display emojis incorrectly.
To display custom groups, the application must pass the groups settings in the configuration at initialization, like so:
Custom groups can be collapsed and opened by default by changing the collapsable
and collapsedOnLoad
values.
Ungrouped tiles will be gathered at the bottom of the list under a group with no label.
Duplicated tiles are not allowed, e.g., you can’t have a tile twice in the sidebar.
An onWarning
notification is triggered whenever an unknown tile is added to the configuration.
If you want to organize or include AddOns, and Custom AddOns under a custom group, mention the name used in the Beefree SDK Console.
Please note, the AddOn needs to be enabled to appear in the sidebar.
A classnames change log where you can reference current and past changes to CSS classes.
This section includes a reference of the new classnames scheduled for release in March 2025. The new classnames will be related to Mobile Badge and Confirmation Dialogs. For more details, click the > symbol to expand the expandable content sections containing additional information.
This section includes a reference for new classnames related to Mobile Badge.
Reference the classname changes related to Content for Mobile Badge in the following expandable section.
Reference the classname changes related to Rows for Mobile Badge in the following expandable section.
This section includes a reference for new classnames related to Confirmation Dialogs.
Reference the classname changes related to Rows for Confirmation Dialogs in the following expandable section.
Reference the corresponding Custom Translations for Delete Row.
Reference the classname changes related to Columns for Confirmation Dialogs in the following expandable section.
Reference the corresponding Custom Translations for Delete Column.
Reference the classname changes related to Modules for Confirmation Dialogs in the following expandable section.
Reference the corresponding Custom Translations for Delete Module.
Reference the classname changes related to Rows for Confirmation Dialogs in the following expandable section.
Reference the corresponding Custom Translations for Hide Row on Mobile with Module Already Hidden on Desktop.
Reference the classname changes related to Rows for Confirmation Dialogs in the following expandable section.
Reference the corresponding Custom Translations for Remove Custom Display Condition.
Reference the classname changes related to File Manager for Confirmation Dialogs in the following expandable section.
Reference the corresponding Custom Translations for Confirm Delete Single File.
Reference the classnames added in the following expandable section.
Reference the corresponding Custom Translations for Confirm Delete Multiple Files.
Reference the classnames added in the following expandable section.
Reference the corresponding Custom Translations for Confirm Upload Existing File.
With Content Defaults, you can define how content looks when dragged into an email or page.
When adding new content elements through the Content tab, you may want a default style that matches one of these options:
your application’s color scheme;
your user’s branding guidelines;
the look & feel of the template used to create the message or page.
For example, here is how a button dragged into the stage looks by default:
The background color is always light blue (HEX code #3AAEE0).
The font size is always 16px.
The font is Arial, unless a different Default font was set for the template loaded in the editor.
The border radius is set at 4.
The CTA is a formally correct, but laconic “Button”.
Instead, when applying Content defaults, the button dragged by your users could look out of the box like this:
We’ve used a dark grey color (HEX code #555555), an Ubuntu font at 22px in Bold, with a border radius of 10 and a nice “READ MORE” call-to-action.
Content Defaults are part of the Configuration parameters passed to your Beefree application during startup, so you can have different sets of them for different users.
By setting up your Content defaults, you’ll be able to address styling and branding needs for you and your customers.
If your application uses dark grey for the primary CTA, then you probably would want a default button in the Beefree builders to follow that style.
If your application has brand settings that are used for your app’s UI or for assets managed in your application, you may want those to apply also to default content in the Beefree editors.
Since the Social block is one of the available Content defaults, you can define what social platforms – either present in the Beefree editors or added by you – are included when a social block is added to a message or page. For example, you can have a default social block with three platforms defined in the Beefree system and a fourth, custom one (Messenger):
To set up the content styles you will need to add the contentDefaults
object to beeConfig
:
You can add all the content styles, some of them or just one. It is up to your application to create them for all the users or for a segment, as there are no related server-side settings; basically you can customize them each time the editor starts.
All the contents use the same pattern, but the object must match the content schema for the type of content (described in the following section).
The title
content default inside the beeConfig
sets default properties and styling for title elements in the editor. It includes heading levels, alignment, padding, and mobile-specific styles to ensure consistency and responsiveness across different devices.
The text
content default within the beeConfig
provides a default HTML string and sets the styles for text blocks, including color, font, and line height. It also includes options for padding and visibility on mobile devices to ensure a consistent appearance across different screen sizes.
Please note that the default text inside html
is required.
The image content defaults in the BeeConfig define the properties for images, including attributes like alt
, src
, and href
, as well as styling details such as dimensions, border radius, and padding. It also specifies mobile-specific styles to ensure proper alignment and spacing on different devices.
Image Parameters
The row
content default in the BeeConfig specifies various styling properties for rows, including background colors, vertical alignment, border radius, and spacing. It also includes options for mobile-specific styles, such as stacking and padding configurations.
Row Parameters
The following table lists the row content default parameters and their corresponding descriptions and data types.
The button content default in the BeeConfig specifies the appearance and behavior of buttons, including attributes such as label, hyperlink, width, and styles like font, color, and padding. It also defines block options for padding and alignment, as well as mobile-specific styles for responsiveness.
The divider content default in the BeeConfig specifies the appearance of dividers, including properties such as width, line style, and alignment. It also defines block options for padding and visibility on mobile, as well as mobile-specific styles for alignment and padding.
The social content default in the BeeConfig specifies the display of social media icons, including their type, name, image properties, and link. It also defines the block options for alignment and padding, with specific styles for mobile devices.
The dynamic content default in the BeeConfig specifies the block options, including padding and the ability to hide content on mobile. This ensures a consistent design by managing spacing and visibility across different devices.
The video content default in the BeeConfig specifies block options, including padding and the ability to hide content on mobile devices, ensuring a consistent appearance across different platforms. Additionally, it defines mobile-specific styles to enhance the user experience on smaller screens.
The form content default in the BeeConfig defines the structure and styling for form elements, including fonts, colors, alignments, and padding, ensuring a consistent layout across different devices. It also includes options for mobile-specific styles to improve usability on smaller screens.
The icons content default in the BeeConfig specifies the properties for displaying icon items, such as the image source, text, size, and link attributes. It also includes styles for the icon's appearance and mobile-specific configurations to ensure proper alignment and padding across devices.
The menu content default in the BeeConfig defines the properties for menu items, including text, links, and target attributes. It also sets the styles for the menu's appearance and behavior, such as font styles, colors, spacing, and mobile-specific configurations like hamburger icon settings.
The spacer content in the BeeConfig is used to add vertical spacing between elements in the layout. It allows for hiding the spacer on mobile devices through the hideContentOnMobile
option.
The paragraph content configuration in BeeConfig specifies the default styles such as color, font size, alignment, line height, and spacing for paragraphs. It also defines block options and mobile styles to ensure consistent rendering on different devices.
The list content default in BeeConfig sets the basic styling for list elements, including options like color, font size, alignment, and list type. It also ensures consistent spacing and padding across devices by defining both block options and mobile-specific styles.
Additionally, listStyleType
supports the following: revert, auto, disc, circle, square, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman.
The carousel content default in BeeConfig sets the basic padding for carousel elements and provides an option to hide content on mobile devices. It also defines mobile-specific padding to ensure a consistent appearance across different screen sizes.
The table content default in BeeConfig specifies the initial styling and layout properties for table elements, including rows, cells, and headers. It sets text styles, colors, padding, alignment, and optional alternate row and header styles to ensure consistency across different table instances.
Note: If contentDefault
values for the Table module are incorrectly formatted, the following onWarning
will be triggered (this applies to incorrect values for rows and headers, not all contentDefaults
), and the default table will be used instead:
If the user tries to load a template that contains an improperly structured Table (for example, if a row does not contain all of its cells), the template will not load, and the onError
will be triggered.
The following code displays an example error for this scenario:
The general
content default in the BeeConfig specifies the overall styling for the email template, such as background color, content area width, and default font. These settings help maintain a consistent look and feel throughout the template.
This feature is available on Beefree SDK only.
If you’ve customized how the editor looks like, either through or , you may want default content to adhere to the same style.
borderRadius
String
30px
Defines the roundness of the image corners.
backgroundColor
String
Red
Sets the background color of the row.
contentAreaBackgroundColor
String
Green
Sets the background color of the content area within the row.
verticalAlign
String
bottom
Specifies the vertical alignment of the row content.
columnsBorderRadius
String
10px
Defines the roundness of the column corners.
columnsSpacing
String
20px
Sets the spacing between columns.
columnsStackOnMobile
Boolean
false
Determines if columns should stack on mobile devices.
columnsReverseStackOnMobile
Boolean
true
Specifies if the order of stacked columns should be reversed on mobile devices.
columnsPadding
String
42px
Defines the padding inside each column (the value applies to all padding sides).
columnsBackgroundColor
String
Yellow
Sets the background color for each column.
columnsPaddingLeft
String
25px
Defines the left padding for each column.
columnsPaddingRight
String
20px
Defines the right padding for each column.
columnsPaddingTop
String
15px
Defines the top padding for each column.
columnsPaddingBottom
String
10px
Defines the bottom padding for each column.
padding
String
20px
Defines the padding for the entire row (the value applies to all padding sides).
paddingLeft
String
25px
Defines the left padding for the entire row.
paddingRight
String
20px
Defines the right padding for the entire row.
paddingTop
String
15px
Defines the top padding for the entire row.
paddingBottom
String
10px
Defines the bottom padding for the entire row.