Using Presets
Presets allow you to reuse styles. They are based on CSS classes and serve as an alternative to roles.
Defining Presets
NUI offers three ways of declaring Presets
Global Presets
Global presets are declared as simple classes in the theme.css
.card {
padding: 20px;
border-radius: 15px
}Form Presets
Form Presets are the easiest way of defining presets within the designer. You can define presets for a specific form if multiple components in it (and any forms nested inside it) are using the same type of styles.
To add a form preset, drag and drop the Preset component anywhere in the form. You can define a name and css for the preset in the component properties. The css property follows a simpler syntax
The above example can be rewritten in form preset as
name - "card"
css - "padding: 20px"
A preset bar is added on top of your component (only in Anvil Designer) that lets you see all the presets added to the form. You can use the bar to quickly view and edit presets

Any style from the Form presets is removed when the form is removed from the screen,
Local Presets
You can also define component-specific presets in the designer. These presets are local and won't be applied to any other component (even if the other component uses the same preset name)
These can be defined in the css property of the component and used for managing specific states for a component
Presets within Presets
You can also define another preset within a preset. The child preset will only be applied when a component already has the parent preset. You can use it to manage specific states for a component
In Global Presets
In Form Presets
In the css property
In Local Presets
In the css property
Adding and Managing Presets
Both global and local can be added and managed using both the designer and code.
Adding Presets to a component
In Designer
You can define presets in the Anvil Designer by adding one preset per line

In Code
Appending Presets
You can append a new preset to the component using the add_preset method. If the preset is not there, it will be added.
Removing Presets
You can remove a preset from the component by using the remove_preset method. If the preset exists, it will be removed.
Toggling Presets
You can also directly toggle a preset using the toggle_preset method. If the preset is already applied, it will be removed. Otherwise, it will be added.
Last updated