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

Using Custom CSS

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

Presets Bar

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